软件测试的艺术第二章总结

软件测试的定义

测试是为发现错误而执行程序的过程

软件测试的心理学

经过测试来增长程序的价值,是指测试提升了程序的可靠性或质量。提升了程序的可靠性,是指找出并最终修改了程序的错误。所以不要只是为了证实程序可以正确运行而去测试程序;相反,
应该一开始就假设程序中隐藏着错误(这种假设对于几乎全部的程序都成立),而后测试程序,发现尽量多的错误
若是咱们的目的是证实程序中不存在错误,那就会在潜意识中倾向于实现这个目标,也就是说,咱们会倾向于选择可能较少致使程序失效的测试数据。另外一方面,若是咱们的目标在于证实程序中存在错误,咱们设计的测试数据就有可能更多地发现间题
把程序当成病人,要找出病因

软件测试的原则

  1. 测试用例中一个必需部分是对预期输出或结果的定义
  2. 程序员应当避免测试本身编写的程序
  3. 编写软件的组织不该当测试本身编写的软件
  4. 应当完全检查每一个测试的执行结果
  5. 测试用例的编写不只应当根据有效和预期的输入状况,并且也应当根据无效和未预料到的输入状况
  6. 检查程序是否“未作其应该作的”仅是测试的一半,测试的另外一半是检查程序是否“作了其不该该作的”
  7. 应避免测试用例用后即弃,除非软件自己就是一个一次性的软件
  8. 计划测试工做时不该默许假定不会发现错误
  9. 程序某部分存在更多错误的可能性,与该部分已发现错误的数目成正比
  10. 软件测试是一项极富创造性、极具智力挑战性的工做

总结

  1. 软件测试是为发现错误而执行程序的过程
  2. 一个好的测试用例具备较高的发现某个还没有发现的错误的可能性
  3. 一个成功的测试用例可以发现某个还没有发现的错误
相关文章
相关标签/搜索