一、对教材与参考资料阅读后关于软件质量保障你的体会是什么?

         软件质量保障工作是软件团队为了让软件达到事先定义的质量标准而进行的所有活动,包括测试工作。软件质量保证是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。软件质量保证的目的是使软件过程对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。软件质量保证组在项目开始时就一起参与建立计划、标准和过程。这些将使软件项目满足机构方针的要求。而软件测试是运用一定的流程和工具,验证软件能实现预先设计的功能和特性,工作的流程和结果通常是可以量化的。软件的质量保障和软件测试有很大的区别。

         一个好的软件的质量保障是满足期望,其中包括用户的期望、客户的期望、产品的期望、文化的期望等。

         一个好的软件质量保障实施的五个步骤: 

  • 目标:以用户需求和开发任务为依据,对质量需求准则、质量设计准则的质量特性设定质量目标进行评价,研发出符合用户需求的软件。
  • 计划:设定适合于待开发软件的评测检查项目,一般设定20-30个。
  • 执行:在开发标准和质量评价准则的指导下,制作高质量的规格说明书和程序。
  • 检查:以计划阶段设定的质量评价准则进行评价,算出得分,以图形的形式表示出来,比较评价结果的质量得分和质量目标,确定是否合格,通过一定的软件流程,在预计的时间内发布 “足够好” 的软件
  • 改进:对评价发现的问题进行改进活动,并通过数据和其他方式展现所开发的软件是可以维护和继续发展的,重复计划到改进的过程直到开发项目完成。
二、如果你是一个项目的QA,那么你认为你的工作职责范围是什么?
        QA(QUALITY ASSURANCE,中文意思是“质量保证”,其在ISO8402:1994中的定义是“为了提供足够的信任表明实体能够满足质量要求,而在质量管理体系中实施并根据需要进行证实的全部有计划和有系统的活动”。有些推行ISO9000的组织会设置这样的部门或岗位,负责ISO9000标准所要求的有关质量保证的职能,担任这类工作的人员就叫做QA人员 。

 

QA

全称

QUALITY ASSURANCE(质量保证)

角色

QA工程师

定义

为了确保软件开发过程和结果符合预期的结果,依照过程和计划采取的一系列活动及其结果评价。

目的

QA是质量管理职位,很多大公司有专门的质量管理部。在项目开发过程,会由QA进行全程的监督,查看是否按照CMMI的标准进行软件开发。文档是否齐备,开发基线是否明确,是否存在风险,BUG的削减是否能够完成目标之类的。
减少并纠正实际的软件开发过程和软件开发结果与预期的软件开发过程和软件开发结果的不符合的情况。

工作的职责范围

监控公司质量保证体系的运行状况,审计项目的实际执行情况和公司规范之间的差异,并提出具体改进的建议和统计分析报告。

是过程、产品的质量审计者。

工作类别

软件项目阶段职责

工作内容

工作产品

项目启动

定义产品质量标准

参与项目规划的评审

产品质量指标

项目计划

编制QA计划

过程审计

项目QA计划

QA阶段工作报告

需求分析

阶段交付物审计

过程审计

QA阶段工作报告

设计

阶段交付物审计

过程审计

QA阶段工作报告

编码

阶段交付物审计

过程审计

QA阶段工作报告

测试

阶段交付物审计

过程审计

QA阶段工作报告

实施

产品质量状态评估

过程审计

项目交付审计

产品质量评估报告

QA阶段工作报告


三、如果你是一个项目经理,那么你认为这你的项目中需要专职的QA么?还是只需有Test即可?如果一旦出现问题,你如何界定由谁担责?

        如果我是一个项目经理,我认为在我的项目中需要专职的QA,测试人员和QA一起合作完成项目,积极沟通,每个人都可以充当QA的工作,报告一些bug等,但是最后需要有一个角色对QA这件事情负责,软件发布时也要拿到此人的签字保证。一个团队中既不能存在之间角色的绩效而做优化、画地为牢的分工也不能有毫无明确责任的分工,项目人员相互推脱责任、不认真对待项目的,我觉得这是一个团队中的大忌,每一个团队人员要充分授权和信任(Empower team members),各司其职,对项目共同负责(Establish clear accountability and shared responsibility)会使一个团队更加具有凝聚力和创造力,有分工是好事,分工是社会和行业进化的结果,不同的软件和服务需要不同的方式和程度的测试,所以QA是有存在的必要的。