1、测试只是展示缺陷。测试只能表明有缺陷存在,但不能证明没有缺陷,测试能降低未发现缺陷留存的概率,却不能证明软件是绝对正确的。
2、穷尽测试是不可能的。测试所有的输入和条件组合是不可能的,可以取而代之的是基于风险和优先级的测试。
3、缺陷簇生。要对缺陷发生率高的模块投入更多的测试。少量的模块往往隐藏了大部分的缺陷。缺陷发生率高的模块往往与需求不清、设计不当、编码复杂度高等内在原因关联,所以从风险的角度来看必然较高。
4、杀虫剂悖论。相同的测试再重复多次后就无法再找到缺陷了。测试用例要不断评审修改,不断添加新的和不同的测试,就有可能找到更多缺陷。
5、测试是上下文关联的。测试在不同上下文环境中的执行是不同的。
6、无错谬论。即使修改了系统中存在的大部分缺陷,但若系统本身背离了用户需求,那么发现和修复缺陷就毫无帮助了。
7、Good-enough原则,权衡投入和产出比原则。
8、所有测试都应追溯到用户需求。
9、越早测试越好,测试过程与开发过程应是相互结合的。
10、测试的规模由小到大,从单元测试再到系统测试。
11、为了尽可能的发现错误,应由独立的第三方进行测试。不能为了便于测试擅自修改程序。
12、既应该测试软件应该做什么,也应该测试软件不应该做什么。
09-17
240
05-09
03-23
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交