(以下翻译文本:下划线部分表示Lydia的注解和心得;斜体表示翻译有疑问,待确认。)
作者:Glenford J.Myers 第3版2012年,第2版是2004 ,第1版是1997年。这是读原文自己的整理的,现在深深相信,读外文资料必须读原文,那种原汁原味的味道,必须自己品尝。
经典值得回味与敬礼!
一、测试心理学
有时测试者的态度比测试过程的本身更重。
定义:测试是为了发现错误而执行程序的过程。
Testing is the process of executing a program with the intent of finding errors.
而不是验证程序的错误。这会将测试工作引向两个不同的方向。
一个不成功的测试用例是一个让测试没有找到错误的用例。
测试的经济学
黑盒测试 数据驱动测试或输入输出驱动测试
白盒测试,逻辑驱动测试
“完全路径测试是一个完整测试”的说法是错误的。原因是:
穷尽路径并不保证程序是符合规格说明书的。
如果程序本身的错误就是缺少路径,则测试不到。
穷尽路径,有时候测试不到对数据敏感的错误。
二、测试的十项原则
1、测试用例必须有预期值
2、不测试自己的程序(会测试的开发人员其实会更受欢迎。)
3、一个开发团队不能测自己的程序 (这点现在已经有不同的观点了,现在更认为开发和测试应该融合而不是独立)
4、审核所有的测试结果
5、测试用例要涉及所有的有效和无效范畴
6、测试的另一半工作是,测试不希望程序执行的部分
7、避免无效测试用例
8、不要在默认假定程序没有错误的前提下做测试计划
9、在程序一个部分找到错误,那么可能这个部分会存在更多的错误。(最近思考如何进行错误预测?运用马尔可夫链,可行么?)
10、测试是一项极具智慧创造挑战的工作。
测试的三个铁律:
测试是为找到错误而执行程序的过程。
一个好的测试用例是最大可能的检测出从未找到的错误。
一个成功的测试用例是能检测出未找到错误的用例。