软件测试和软件质量保证经常作为易混淆的两个知识点进行对比考察,只要明白了两者本质的区别,那么就不难进行分辨。软件测试人员的一项重要任务是提高软件质量,但不等于说软件测试人员就是软件质量保证人员,因为测试只是质量保证工作中的一个环节。软件质量保证和软件测试是软件质量工程的两个不同层面的工作。
下面我们就从定义的角度来进行分析。
软件测试:根据软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例,并利用这些测试用例去运行程序,以发现程序的错误。
软件测试虽然也与开发过程紧密相关,但关心的不是过程的活动,而是对过程的产物以及开发出的软件进行剖析。测试人员要“执行”软件,对过程中的产物——开发文档和源代码进行走查,运行软件,以找出问题,报告质量。对测试中发现的问题的分析、追踪与回归测试也是软件测试中的重要工作,因此软件测试是保证软件质量的一个重要环节。
软件质量保证:在1991年软件产品质量评价国际标准ISO 9126中定义的"软件质量”是:软件满足规定或潜在用户需求特性的总和。到1999年,软件“产品评价”国际标准ISO 14598经典的"软件质量”定义是:软件特性的总和,软件满足规定或潜在用户需求的能力。
质量保证的重要工作通过预防、检查与改进来保证软件质量。采用“全面质量管理”和“过程改进”的原理开展质量保证工作。所关注的是软件质量的检查与测量,虽然在活动中也有一些测试活动,但所关注的是软件质量的检查与测量。工作是软件生命周期的管理以及验证软件是否满足规定的质量和用户的需求,因此主要着眼于软件开发活动中的过程、步骤和产物,而不是对软件进行剖析找出问题或评估。
对于二者的区别,进一步总结如下:
(1)从性质上看:软件测试属于技术性工作,软件质量保证属于管理性工作;
(2)从对象上看:软件测试的对象是软件产品,主要在研发部门,软件质量保证的对象是整个软件过程,覆盖公司层面的各个领域;
(3)从手段上看:软件测试以事后检验为主,软件质量保证则强调缺陷的预防。
下面是近几年软件测试原则考察过的真题,分别在2012年、2017年和2018年考察过,以后仍是考试出题的重点,大家要重视起来。
【2012年55题】以下关于软件质量和软件测试的说法,不正确的是( )。
A. 软件测试不等于软件质量保证
B. 软件质量并不是完全依靠软件测试来保证的
C. 软件的质量要靠不断的提高技术水平和改进软件开发过程来保证
D. 软件测试不能有效的提高软件质量
解析:本题考查软件质量保证与软件测试的关系。
软件测试能有效提高软件质量,正确答案为D
【2017年54题】以下关于软件测试和软件质量保证的叙述中,不正确的是( )
A、软件测试是软件质量保证的一个环节
B、质量保证通过预防、检查与改进来保证软件质量
C、质量保证关心的是开发过程的产物而不是活动本身
D、测试中所作的操作是为了找出更多问题
解析:本题考查软件测试和软件质量保证的基础知识。
软件测试关心的是过程的产物,软件质量保证关心的是活动本身。
故正确答案为C。
【2018年54题】以下关于软件质量保证的叙述中,不正确的是( ) 。
A.软件质量是指软件满足规定或潜在用户需求的能力
B.质量保证通过预防、检查与改进来保证软件质量
C.质量保证关心的是开发过程活动本身
D.质量保证的工作主要是通过测试找出更多问题
解析:本题考查软件测试和软件质量保证的基础知识。
软件测试的工作主要是通过测试找出更多问题,而软件质量保证通过预防、检查与改进来保证软件质量。
故正确答案为:D。
作者唯一官方个人微信公众号(昊洋与你一起成长):HYJY20180101
写于2021年7月21日
作者:昊洋讲师
版权所有,侵权必究




