1.3 Seven Testing Principles
2015-06-23
Principle 1 - Testing shows presence of defects(测试显示存在缺陷)
Testing can show that defects are present, but cannot prove that there are no defects. Testing can reduces the probability of undiscovered defects remaining in software, but even if no defects are found, it is not a proof of correctness.
测试可以显示存在缺陷,但不能证明系统不存在缺陷。测试可以减少软件中存在未被发现缺陷的可能性,但即使测试没有发现任何缺陷,也不能证明软件或系统是完全正确的。
Principle 2 - Exhaustive testing is impossible(穷尽测试是不可行的)
Testing everything (all combination of input and precondition) is not feasible except for trivial cases. Instead of exhaustive testing, risk analysis and priorites should be used to focus testing efferts.
除了小型项目,进行完全(各种输入和前提条件的组合)的测试是不可行的。通过运用风险分析和不同系统功能的测试优先级,来确定测试的关注点,从而替代穷尽测试。
Principle 3 - Early testing(测试尽早介入)
To find defects early, testing activities shall be started as early as possible in the software or system development of life cycle, and should focus on defined objectives.
为了尽早发现缺陷,在软件或系统开发生命周期中,测试活动应该尽可能早的介入,并且应该将关注点放在已经定义的测试目标上。
Principle 4 - Defect clustering(缺陷集群性)
Testing effert shall be focused proportionally to the expected and later observed defect density. A small number of modules usually contains most of the defects discovered during pre-release testing, or is responsible for most of the operational failures
测试工作的分配比例应该与预期的和后期观察到的缺陷分布模块相适应。少数模块通常包含大部分在测试版本中发现的缺陷或失效。
Principle 5 - Pesticide paradox(杀虫剂悖论)
If the same tests are repeat over and over again, eventually the same set of test cases will no longer find new defect. To overcome this "Pesticide paradox", test cases need to be regularly reviewed and revised, and new and different tests need to be written to exercise different part of the software or system to find potentially more defects.
采用同样的测试用例多次重复进行测试,最后将不再能够发现新的缺陷。为了克服这种“杀虫剂悖论”,测试用例需要进行定期评审和修改,同时需要不断增加新的不同的测试用例来测试软件或系统的不同部分,从而发现潜在的更多的缺陷。
Principle 6 - Testing is context dependent(测试活动依赖于测试背景)
Testing is done differently in different contexts. For example, safety-critical software is tested differently from an e-commerce site.
针对不同的测试背景,进行不同的的测试活动。比如,对安全关键的软件进行测试,与对一般的电子商务软件的测试是不一样的。
Principle7 - Absence-of-errors fallacy(不存在缺陷(就是有用系统)的谬论)
Finding and fixing defects does not help if the system built is unusable and does not fulfill the users‘ need and expectation.
假如系统无法使用,或者系统不能完成客户的需求和期望,发现和修改缺陷是没有任何意义的。