软件测试和质量管理是一回事吗?
1、基本概念:
软件测试(Software Testing),是验证软件的逻辑是否正确、功能是否完整、系统是否安全和质量是否可靠的过程。
软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。
质量管理(Quality Management),是指确定质量方针、目标和职责,并通过质量体系中的质量策划、质量控制、质量和质量改进来使其实现的所有管理职能的全部活动。并说明质量管理是各级管理者的职责,但必须由最高领导者来推动,实施中涉及到单位的全体成员。在质量管理活动中,必须考虑经济因素。
2、属性对比:
类型
“软件测试”是技术类型的岗位,如软件测试工程,自动化测试工程等,而“质量管理”是管理类型的岗位,如QA(Quality Assurance)、QC(Quality Control)、QM(Quality Manager)、QE(Quality Engineer)。
面向的对象
“软件测试”面向的是产品,而“质量管理”面向的是过程。
生存周期
“软件测试”贯穿于整个产品研发生命周期(狭义上来说,它存在于“编码”之后。),而“质量管理”是贯穿于整个企业的流程体系,存在于企业所有部门的各个流程环节,软件测试只是其中一个环节而已。
强调
“软件测试”强调的是事后通过相应的技术活工具对产品做检查,从而质量,而“质量管理”强调的是在跟产品研发有关的所有环节做流程规范约束和检查,提前预防问题的发生,从而确保质量。
组织结构
软件测试部门,与研发部门和项目管理部在整个项目过程中形成三足鼎立之势,直接向技术总监汇报,而“质量管理部门”常见的则是企业级的部门,与任何部门都没有隶属关系,直接向企业管理层汇报。
3、个人补充:
质量管理体系是一种管理体系流程,也可以说是一种方法论,它采用的是PDCA(戴明环)这种核心基础方法,对大多数领域的产品质量管理都是可用且有效的;
我原来在企业做过2年的内审,简单说来,不管是ISO 9000还是CMMI,要做的事其实“很简单”:
●把你正在做事的流程说出来;
●按你所说的流程去做事;
●把你所做事和流程都记录下来;
●检查你所做的事和流程;
●根据检查出来的问题,持续改进并实践;
软件测试部门在质量管理体系里,其实可以作为一个承上启下的角色,市场/客服部门反馈上来的现网问题,测试统计分析之后,找到可以预防问题再次发生的改进点,再交由QA推动实施和检查,形成一个质量管理体系里的小闭环。