1. 定义
软件测试是使用人工或者自动的手段来运行或者测定某个软件系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
在软件投入使用前,要经过一系列的严格测试,才能保证交付质量。对于软件质量而言,QC、QA、QM是三个常见且易混淆的概念。
a.QC: Quality Control(质量控制) 测试人员负责,通过验证的方法保证质量达到要求
b.QA: Quality Assurance(质量保证) 过程保证人员负责,通过过程的方法保证质量达到要求
c.QM: Quality Management(质量管理) 质量管理人员负责,一般为负责质量的管理者,通过制定过程、协调资源等一系列的手段为QA、QC工作创造良好的环境和条件
2.下图可以更清晰的解释QC、QA和QM三者的区别:
从QC到QA再到QM是一个循序渐进的变革过程,体现了质量管理理论的发展脉络。
在日常工作当中,我们最需要厘清的是QA和软件测试的关系。QA是质量保证,而软件测试是质量保证的一种手段。QA不仅包括软件测试,还包括流程和产品方面的规范化管理措施等。大部分公司QA等价于软件测试,这种理念其实还停留在QC阶段,是针对编码结果的检验,忽略了需求分析和系统设计阶段的质量验证。
3. 测试模型
随着软件测试理论和技术的发展,测试人员通过大量