软件测试和质量管理是一回事吗?
发布时间:2021-08-13

如今越来越多的软件企业朝着规模化、规范化、个性化发展,所需招聘的软件测试人员数量也随之增多。不少没有计算机基础的同学,通过学习软件测试技术,进入IT领域,最终拿到了一份令人心动的offer。这的确是一件让人兴奋的事情。



但是前两天,笔者跟一个想转行做软件测试的小伙伴交流时,他的一句“软件测试就是质量管理”,让我顿感新手在没进入测试行业以前,对软件测试行业的了解是不足的。为了更好的让新手们对软件测试有一个精准的认知,今天,我们就一起来对“软件测试”和“质量管理”做一个区分。

 


1、 概念区分点


想要区分两个事物,最好的办法就是先从两个事物的定义下手。


根据软件测试的经典定义来说,软件测试就是在规定的条件下,对应用程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。


换句话说,我们可以通过测试,来验证软件的逻辑是否正确、功能是否完整、系统是否安全和质量是否可靠的过程,等等。


而质量管理则不同,它的定义是:指确定质量方针、目标和职责,并通过质量体系中的质量策划、控制、保证和改进来使其实现的全部活动。



简单来说,质量管理是一种人为自上而下的质量管理活动,这种行为是必须考虑紧急条件的,由最高级领导推动完成的。


由此观之,测试只是质量保证工作中的一个环节。软件测试和软件质量保证是软件质量工程的两个不同层面的工作。



2、 属性区分点


(1)组织结构


从组织结构上来说,软件测试部门与项目管理部门是两个独立的部门,两者之间没有隶属关系,都与产品研发部门密不可分,也都可以直接向公司管理层汇报。

 

(2)面向对象


从整体来看,软件测试主要面向的是软件产品本身,而质量管理面向的是质量监督的过程。一个主要是在产品研发环节;另一个则是从研发到产品上市,再到客户使用的整个流程里。两者并不会冲突。

 

(3)岗位/职位


软件测试领域的岗位非常多,比如:测试工程师、自动化测试工程师、接口测试工程师、安全测试工程师、性能测试工程师,等等;



而质量管理领域的岗位,则包括:QA(质量保证)、QC(质量控制)、QM(质量经理)、QE(质量工程师)等。


二者的岗位不同,工作内容也有较大区分。

 

(4)生命周期


从某种层面来说,软件测试可以说是贯穿于整个产品的生产研发生命周期里。在产品消亡后,软件测试也伴随着消亡了;


而质量管理则不同,它贯穿于整个公司的流程体系中,存在于企业所有部门的各个流程和环节中。可以说,软件测试只是质量管理其中的一环。

 

(5)时间节点


软件测试的主要发生在产品已经研发落地后,而质量管理则是强调提前预问题发生,从而确保质量达标。

 

(6)补充:软件测试的价值


另外,还有一点值得我们注意的,就是软件测试的价值。那么,软件测试的价值到底在哪里?笔者以为,主要有这么几点:


1)随着项目开展,可以迅速地发现重要问题,解决关键性漏洞;


2)当软件的某一些功能被构想出来的时候,我们可以利用测试来作为例子,从而帮助澄清需求点;


3)通过不断反馈产品存在的问题,可以更好地帮助决策者做出正确的决定;


4)好的bug report还可以帮助开发人员快速定位问题根源,有效提升工作效率;



3、 个人看法和意见


(1)与质量管理息息相关的,是质量体系标准。


质量管理体系既是一种管理体系流程,也是一种方法论,它主要以ISO 9000(国际标准化的品质管理)和CMMI(软件能力成熟度集成模型)为标准,以此作为产品质量监管的导向。

 

(2)无论是ISO 9000还是说CMMI,其实质主要是做这些内容:


①记录你的工作流程;

②按照既定的流程,完成对应的事务;

③检查上一个步骤你完成的事务;

⑤根据检查的结果,持续改进并重复这个流程。

 

(3)对于企业来说,测试部门在质量管理体系里,主要扮演了一个承上启下的角色。



一方面,在开发阶段查漏补缺,收集意见;另一方面,根据相应的统计记录,可以预防老问题重现,推动软件产品的实施和检查工作,形成质量管理体系里的一个小闭环。

 


4、 写在最后


总的来说,质量管理贯穿于企业生产、采购、营销等方方面面。它甚至还涉及到公司的每一个部门,每一位员工。如果企业对产品质量不重视,员工就不会具备良好的质量意识,产品质量就很难达到要求,就不可能得到广大用户的认同。


而软件测试工程师,作为企业的一员,作为产品质量监管中重要的一环,更应配合质量管理,完善企业的质检体系。打好配合关,企业的业绩才能更上一层楼。


相关阅读
/