-

质量管理/测试/自动化

2019-05-16

软件质量管理的目的是通过分析质量要素和质量目标,制定合适的质量计划,整合技术评审、软件测试、质量保证、缺陷(或问题)跟踪等手段,保证软件开发质量。

关键活动与流程
软件质量管理的流程,关键活动是“制定质量计划”、“技术评审”、“软件测试”、“质量保证”、“缺陷跟踪和问题跟踪”。
在技术评审、软件测试和质量保证活动中发现的缺陷和问题,都采用缺陷跟踪工具和问题跟踪工具来管理。




技术评审
技术评审的目的是通过同行专家对工作成果的评审进行讨论,尽早地发现工作成果中的缺陷,并帮助开发人员及时消除缺陷,从而有效地提高产品的质量。
技术评审的主要好处有:
• 通过消除工作成果的缺陷而提高产品的质量。
• 技术评审可以在任何开发阶段执行,不必等到软件可以运行之际,越早消除缺陷就越能降低开发成本。
• 开发人员能够及时地得到同行专家的帮助和指导,无疑会加深对工作成果的理解,更好地预防缺陷,一定程度上提高了开发生产率。
理论上讲,为了确保产品的质量,产品的所有工作成果都应当接受技术评审。现实中,为了节约时间,允许人们有选择地对工作成果进行技术评审。在制定质量计划的时候,应该确定技术评审计划。
技术评审是团体活动,一般地,机构没有专职的技术评审人员,当需要技术评审的时候临时组织人员就可以了。质量人员应当参与重要的技术评审会议,这样既监督了技术评审,又加深对工作成果的了解。

软件测试

技术评审和软件测试的目的都是为了消除软件的缺陷,两者的主要区别是:(1)前者无需运行软件,评审人员和作者把工作成果摆放在桌面上讨论;(2)后者一定要运行软件来查找缺陷。
技术评审在软件测试之前执行,尤其是在需求开发和系统设计阶段。相比而言,软件测试的工作量通常比技术评审的大,发现的缺陷也更多。
软件测试的主要工作有: • 制定测试计划 • 设计测试用例 • 执行测试 • 缺陷跟踪 • 消除缺陷

质量保证
QA: Quality Assurance
质量保证的实质:检查项目的“工作过程和工作成果”是否符合既定的规范。
符合规范的工作成果不见得就是高质量的,但是明显不符合规范的工作成果十有八九是质量不合格的。
质量保证的要点:找出明显不符合规范的工作过程和工作成果,及时指导开发人员纠正问题,切勿吹毛求疵或者在无关痛痒的地方查来查去。
质量人员在执行质量保证工作的时候,如果发现质量问题,应该立即记录下来。较好使用问题跟踪工具(或者缺陷跟踪工具),有助于提高工作效率。
质量人员首先设法在项目内部解决已经发现的质量问题,与项目成员协商,给出解决措施。在项目内难以解决的质量问题,由上级领导给出解决措施。

开发QA/QC框架和测试内容:
• 工程单元测试框架
• 自动化的构建和发布结构
• QA/QC 白盒及黑盒测试,用户验收测试
• 系统级的端对端测试
• QA/QC 自动控制框架和脚本


分享