一、软件测试基础
软件测试是指在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
软件的正确性证明尚未得到根本的解决,软件测试仍是发现软件错误和缺陷的主要手段。
测试用例是由测试数据和预期结果构成的。
- 为了发现程序中的错误,应竭力设计能暴露错误的测试用例
- 好的测试用例是发现至今为止尚未发现的错误。
- 一次成功的测试是发现了至今尚未发现的错误的测试。
二、软件测试准则
- 应该尽早地、不断的进行测试,软件测试贯穿于开发过程的始终。
- 所有测试都应该能追溯到用户需求。
- 应该从小规模测试开始,并逐步进行大规模测试。
- 应该远在测试之前就制定出测试计划。
- 80%的错误可能出现在20%的程序模块中。
- 应该由独立的第三方从事测试工作。
- 对非法和非预期的输入数据也要像合法数据一样编写测试用例。
- 检查软件是否做了应该做的事仅是成功一半,另一半是看软件是否做了不该做的事。
- 在规划测试时不要设想程序中不会查出错误。
- 测试只能证明软件中有错误,不能证明软件中没有错误。
- 缺陷集群性:少数模块常集中大部分缺陷(如帕累托法则)。
- 杀虫剂悖论:重复相同测试会降低发现新缺陷的概率,需更新用例。
- 避免开发者自测:独立