定义
在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
测试就是发现错误而执行程序的过程。
原则
- 保证测试的覆盖度,但是穷举测试是不可能的。
- 所有的测试都应该追溯到用户。
- 越早测越好,测试过程与开发过程应该是互相结合的。
- 测试的规模 从小到大,从单元测试到系统测试。
- 不能为了便于测试而擅自修改程序。
- 既应该测试软件能做什么,也应该测试软件不能做什么。
度量
- 测试覆盖率
- 缺陷发现率
- 测试成功率(或者说用例通过率)
测试做到什么程度并没有一个固定答案。只要满足两个显式条件和一个隐含条件就要一直进行。
显式条件:
- 项目风险
- 项目经费
隐含条件:
- 老板们从当前的测试结果已经获得了足够的信心,或者彻底摧毁了信心。只要他们还在犹豫咱就得继续干活。