10.1 正确认识软件测试

10.1.1 原则和理念

  1. 所有的测试都应追溯到用户需求。

  2. 设计测试用例(测什么,怎么测)时,应该考虑各种情况,多角度,多思维,正向思维,逆向思维。

  3. 测试人员早期参与软件项目,尽早的开展测试执行工作。测试人员要持续关注开发过程,要对测试的全过程进行全程的跟踪。测试活动应该是循环往复、不断的进行。测试从项目的一开始就要启动,并持续进行,以便于无论何时必须停止,都已经做了充分的测试。

  4. 对软件的所有产品进行全面的测试,软件开发及测试人员(有时包括用户)全面的参与到测试工作中。

  5. 测试工作应该由独立的专业的软件测试机构来完成。

  6. 制定严格的测试计划并遵照执行,妥善保存一切测试过程文档。

  7. 对测试出的错误结果一定要有一个确认的过程(描述缺陷报告)。

  8. 了解Pareto原则,测试发现的错误中80%很可能起源于20%的模块中。

  9. 穷举,完全测试是不可能的,测试需要终止。

  10. 注意回归测试的关联性。

  11. 杀虫剂悖论。

10.1.2 软件测试的误区

  1. 调试和测试是一样的。

  2. 测试组应当为保证质量负责。

  3. 过分依赖Beta测试。

  4. 把测试作为新员工的一个过渡工作。

  5. 不合格的开发人员安排做测试。

  6. 关注于测试的执行而忽略测试的设计。

  7. 测试自动化是万能的。

  8. 测试是可以穷尽的。

  9. 测试是为了证明软件的正确性。