在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
软件测试的目的:
• 测试是程序的执行过程,目的在于发现错误
• 一个成功的测试用例在于发现至今未发现的错误
• 一个成功的测试是发现了至今未发现的错误的测试
• 确保产品完成了它所承诺或公布的功能,并且用户可以访问到的功能都有明确的书面说明。
• 确保产品满足性能和效率的要求
• 确保产品是健壮的和适应用户环境的
软件测试的原则:
• 测试用例中一个必须部分是对预期输出或接过进行定义
• 程序员应避免测试自己编写的程序
• 编写软件的组织不应当测试自己编写的软件
• 应当彻底检查每个测试的执行结果
• 测试用例的编写不仅应当根据有效和预料到的输入情况,而且也应当根据无效和未预料到的输入情况
• 检擦程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了其不应该做的”
• 应避免测试用例用后即弃,除非软件本身就是个一次性的软件
• 计划测试工作时不应默许假定不会发现错误
• 程序某部分存在更多错误的可能性,与该部分已经发现错误的数量成正比
• 软件测试是一项极富创造性,极具智力的挑战性的工作