软件测试的心理学:
对于测试,更合理的定义应该是:测试是为发现错误而执行程序的过程;
错误的理解:只是为了程序能够正确运行而去测试程序;应该一开始就假设程序中隐藏着错误。
软件测试的原则:
原则1:测试用例中一个必须部分是对预期输出或结果的定义;
一个测试用例必须包括两部分:
a、对程序输入数据的描述;
b、对程序在上述输入数据下的正确输出结果的精确描述。
原则2:程序员应当避免测试自己编写的程序;
原则3:编写软件的组织不应当测试自己编写的软件;
原则4:应当彻底检查每个测试的执行结果;
原则5:测试用例的编写不仅应当根据有效和预期的输入情况,而且也应当根据无效和未预料到的输入情况;
原则6:检查程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了其不应该做的”。
原则7:应避免测试用例用后即弃,除非软件本就是一个一次性的软件;
原则8:计划测试工作时不应默许假定不会发生错误;
原则9:程序某部分存在更多错误的可能性,与该部分已经发生错误的数量成正比;
原则10:软件测试是一项极富创造性、极具智力挑战性的工作。