软件测试的主要目的是什么

目前提到的软件测试,不仅仅局限在测试执行上,而是贯穿于整个开发生命周期中,包含了静态测试(例如评审)和动态测试。测试目的会随着不同测试阶段而有所侧重点,主要体现在:

1)发现缺陷

尽早和尽量多的发现被测对象中的缺陷,应该是测试人员测试过程中最常提起的一个测试目标,也是所谓测试价值的一个的重要体现。发现缺陷的目的是推动开发人员定位和修复问题,测试人员通过再测试和回归测试,确保开发人员已修复缺陷,并没有影响原来正常的区域,从而提高产品质量。开发生命周期的每个阶段,都应该有测试的参与,并尽量多的发现本阶段的缺陷,从而大大提高本阶段的缺陷阶段遏制能力,从而提高测试效率、降低成本和提高质量。

 

软件产品的质量是多维度的,因此软件测试的关注点不仅仅在被测对象的功能上面,各种非功能质量属性都应该是测试的关注点。更多的产品质量属性可参考标准ISO 9126 - 软件产品质量。

 

2)增加信心

当测试过程中发现很少或没有发现缺陷时,测试就可以帮助树立对于软件产品质量的信心。除了没有发现缺陷时可以降低风险增加信心之外。通过测试增加信心还体现在:

(1)确认Verification:确认软件产品描述的需求已经得到正确实现;

(2)验证Validation:被测对象可以按照用户/客户的要求工作(客户/用户是多个层面的含义,不仅包括最终的用户);

 

例如:假如我们参加用户现场的验收测试,此时测试的主要目的是为了确保软件产品可以正常工作,从而增加用户对使用产品质量的信心。

 

3)提供信息

测试过程的每个阶段都在为开发过程提供信息,包括给软件产品的不同利益干系人提供不同维度不同详细程度的信息。提供信息的主要目的是帮助利益干系人作出正确的决策:

(1)评估质量:通过测试过程提供的各种数据,可以帮助利益干系人评估被测软件产品的质量。例如:根据测试过程中发现缺陷的累积趋势、测试执行的进度数据、执行通过率和覆盖率等,可以判断软件产品是否满足计划中定义的质量要求;

(2)评估进度:通过提供的各种数据,可以帮助管理人员作出是否能及时发布软件产品的决策,包括评估:测试执行进度是否在计划范畴内、开发修复缺陷进度是否满足质量和发布要求等;

 

评估产品质量和进度情况,测试过程中提供的数据是非常重要的输入。

 

4)预防缺陷

测试过程中发现的缺陷,以及遗漏到用户现场的缺陷,都应该对它们进行缺陷根本原因分析,找到引入缺陷的主要原因。从测试角度也要分析为什么能发现缺陷,以及为什么缺陷会遗漏到用户现场。

 

缺陷根本原因分析的目的是从以前软件开发和测试过程中吸取经验和教训,避免同样的问题重复发生,从而改进开发和测试过程。过程改进反过来可以预防相同的缺陷再次引入或遗漏,从而提高软件产品质量,这也是软件质量保证的重要一环。

 

发现缺陷、增加信心、提供信息和预防缺陷这4个测试目的同样贯穿于整个生命周期,并且4个测试目标是相互支持和补充的。同时,不同阶段、不同利益干系人对不同测试目标的要求和详细程度都会不一样。

 

分享完毕,希望对你有所帮助!

你可能感兴趣的:(Tester个人能力成长专栏)