3 QA与QC、测试之间的关系
3.1 QA和QC
QA和QC区别在于:
.QC:检验产品的质量,保证产品符合客户的需求;是产品质量检查者;
.QA:评审过程和产品的质量,特别要保证过程被正确执行,通过保证过程质量来保证产品质量 。
由上面的区别可知,QC进行质量控制,向管理层反馈质量信息;QA则确保QC和过程实施者按照过程进行质量控制活动,按照过程将检查结果向管理层汇报。软件开发过程和的QC工作通常就是对软件工作产品的技术评审(如同行评审等)。
在这样的原则下,简单而言QA只要检查项目按照过程进行了某项活动没有,产出了某个产品没有;而QC来检查产品是否符合质量要求。
3.2 QA与测试
下图显示了一个企业的开发过程、支持过程的关系。
从现代软件工程的观点来看,测试应是软件生命周期过程的一个不可缺少的阶段,是确保规定的需求得以满足,上图的流程模型体现了这一点。而QA活动则是贯穿于整个软件生命周期过程及其支持过程,包括培训、采购等活动,以确保所策划的过程得以实施。QA活动和测试过程可能同时关注同一个产品,但是关注的角度不同。
应该在项目的早期阶段开始QA过程,以便确定有益于项目的计划、过程、标准和规程并且满足项目需求和组织方针。从事质量保证的人要参加计划、过程、标准和规程的确定,以确保它们适合于项目的需要和适合于进行质量保证评价。
4 实施QA活动的方法
4.1 QA的工作流程
图4描述了QA的一般工作流程。
图4 QA的工作流程
应指定在生存周期中将进行评价的特定过程和产品。可以根据抽样方式或客观准则进行指定;这些准则要与组织的方针和项目需求以及需要一致。