测试是为发现错误而执行程序的过程
1.1心理上:
软件测试被视为试图发现程序错误(假设其存在)的破坏性的过程。
通过对错误的不断研究是实现软件质量改进的最佳途径。
1.2经济上:黑盒测试、白盒测试
黑盒测试:数据驱动的测试或输入/输出驱动的测试;测试目标与程序内部的机制和结构完全 无关,二是将重点集中放在发现程序不按其规范正确运行的环境条件,穷举输入测试是无 法实现的。
白盒测试:逻辑驱动的测试;允许我们检查程序的内部结构,常常忽略程序的规范。
1.3.1测试用例中一个必需部分是对预期输出或结果的定义。 对程序的输入的描述; 对程序在上述输入数据下的正确输出结果的精确描述。
1.3.2程序员应当避免测试自己编写的程序 程序自己编写的错误无所改变思维方式来尽力暴露组级程序中的错误
1.3.3编写软件的组织不应当测试自己编写的软件 更经济的方法是由客观、独立的第三方来进行测试
1.3.4应当彻底检查每个测试的执行结果 如果执行结果没检查后续测试中发现的错误可能是前面测试遗漏掉的
1.3.5测试用例的编写不仅应根据有效和预期的输入情况,也应根据无效和未预料到的输入情况
1.3.6检查程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了其不应该做的” 必须检查程序是否有我们不希望的辅佐幼
1.3.7应避免测试用例用后即弃,除非软件本事就是一个一次性的软件
1.3.8计划测试工作时不应默许假定不会发生错误
1.3.9程序某部分存在更多错误的可能性,与该部分已发现错误的数量成正比
1.3.10软件测试是一项极富创造性、极具智力挑战性的工作
软件测试是为发现错误而执行程序的过程
一个好的测试用例具有较高的发现某个尚未发现的错误的可能性
一个成功的测试用例能够发现某个尚未发现的错误