2.1 软件测试的心理学
“测试是为发现错误而执行程序的过程”
2.2 软件测试的经济学
通过有限的测试用例,最大限度地提高发现问题的数量,取得最好的测试效果。
-
黑盒测试:数据驱动(输入/输出驱动)的测试,测试数据完全来源于软件规范,无需了解程序的内部结构
-
白盒测试:逻辑驱动测试,检查程序的内部结构
2.3 软件测试的原则
1.测试用例中一个必须部分是对预期输出或结果的定义。
测试用例必须包含两个部分:
- 对程序输入数据的描述
- 对程序在上述输入数据下的正确输出结果的精确描述。
2.程序员应当避免测试自己编写的程序。
3.编写软件的组织部应当测试自己的编写的软件。
4.应当彻底检查每个测试的结果。
5.测试用例的编写不仅应当根据有效和预期的输入情况,而且也应当根据无效和未预料到的输入情况。
6.检查程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了不应该做的”。
7.应避免测试用例用后即弃,除非软件本身就是一个一次性的软件。
保留测试用例,当程序其他部件发生更动后重新执行,这就是我们所谓的“回归测试”。
8.计划测试工作时不应默许假定不会发现错误。
9.程序某部分存在更多错误的可能性与该部分已发现错误的数量成正比。
10.软件测试是一项极富创造性,极具智力挑战的工作。