软件测试原则

所有的测试软件测试都应追溯到用户需求

这是因为软件测试的目的是使用户完成预定的任务,并满足用户的需求,而软件测试的所揭示的缺陷和错误使软件达不到用户的目标,满足不了用户的需求。

应当将“尽早地和不断地进行软件测试”作为软件测试者的座右铭

测试需求贯穿整个软件的生命周期,缺陷修复成本随着各个阶段的靠后而提升。从平时的醒目中已看出,需求阶段引入的bug不比设计阶段少,如何保证好需求的稳定有效已经至关重要。

完全测试是不可能地,测试需要终止

即Zero Bug与Good Enough;本条给我们灌输的是一种测试执行通过的标准。显示任何测试通过不可能达到0bug。那我们就应该达到Good Enough。这条原则是一种权衡投入/产出比的原则:测试既不能不充分也能过,我们需要制定测试通过标准和测试内容,比如:遗留的bug数&严重程度,测试用例的执行率&通过率等来解决上面的问题。

软件测试无法显示软件潜在的缺陷

进行测试时可以查找并报告发现的软件缺陷和错误,但是不能保证软件的缺陷和错误能全部找到,继续进一部测试可能还会找到一些,也就是说测试只能证明软件存在错误而不能证明软件没有错误。

充分注意测试中的集群现象

即80-20原则;这条主要想告诉我们的就是缺陷的集群现象,发现缺陷越多的模块就需要投入更多的人力精力去测试。

程序员应避免检查自己的程序

为了达到测试目的,应由客观、公正、严格的独立的测试部门或者独立的第三方测试机构进行测试。

尽量避免测试的随意性

制定严格的测试计划,并把测试时间安排的尽量宽松,有组织、有计划、有步骤的开展测试活动。

回归测试的关联性

回归测试的关联性一定要引起充分注意。修改一个错误而引起更多错误出现的现象并不少见。

关注程序不该做的事

检查程序应该完成哪些功能,这只是测试工作的一半,测试工作的另一半是,检查程序完成了哪些不应该完成的功能。