编写好的测试

来看看我能否清晰地表达我想在这里申明的更重要的事情。

好的测试作者需要细心地分析性地思考两个测试用例之间存在什么样的差别,和它们之间的差别是否是 有意的无意的

有意的差别当然是正常的,但是产生歪曲结果的无意的差异实在太容易了。你不得不非常非常小心地回避这种歪曲。另外,你可能预期一个差异,但是你的意图是什么对于你的测试的其他读者来讲不那么明显,所以他们可能会错误地怀疑(或者相信!)你的测试。你如何搞定这个呢?

编写更好,更清晰的测试。 另外,花些时间用文档确切地记录下你的测试意图是什么(使用jsPerf.com的“Description”字段,或/和代码注释),即使是微小的细节。明确地表示有意的差别,这将帮助其他人和未来的你自己更好地找出那些可能歪曲测试结果的无意的差别。

将与你的测试无关的东西隔离开来,通过在页面或测试的setup设置中预先声明它们,使它们位于测试计时部分的外面。

与将你的真实代码限制在很小的一块,并脱离上下文环境来进行基准分析相比,测试与基准分析在它们包含更大的上下文环境(但仍然有意义)时表现更好。这些测试将会趋向于运行得更慢,这意味着你发现的任何差别都在上下文环境中更有意义。