软件测试


网站首页 | 软件测试论坛 | 软件测试培训 | 软件测试博客 | 软件测试杂志 | 软件测试沙龙 | 软件测试下载 | 软件测试顾问
业界新闻 | 软件测试人才 | 软件测试技术 | 软件测试工具 | 行业软件测试 | 软件测试管理 | 软件质量专栏 | 软件开发专栏
当前位置:首页>>软件测试技术>>其他相关>>正文
如何实施SQA
文章出处:计算机世界报 作者:何晓源 王慧文 发布时间:2005-11-16

        SQA(软件质量保证)是CMM2级中的一个重要关键过程区域,它是贯穿于整个软件过程的第三方独立审查活动,在CMM的过程中充当重要角色。

  SQA的目的是向管理者提供对软件过程进行全面监控的手段,包括评审和审计软件产品和活动,验证它们是否符合相应的规程和标准,同时给项目管理者提供这些评审和审计的结果。因此,满足SQA是达到CMM2级要求的重要步骤之一。


背景


  对任何制造业企业来说,质量保证活动都是必不可少的。第一个正式的质量保证和控制职能部门于1916年在贝尔实验室出现,此后迅速风靡整个制造业。软件的质量标准首先出现在20世纪70年代军方的软件开发合同中,此后得到了广泛的应用。在软件越来越普及的今天,"软件质量保证"更成为软件开发企业和最终用户所关心的问题。


  实践证明,软件质量保证活动在提高软件质量方面卓有成效。IBM360/370系统软件的开发经验证明了这一点,IBM的有关报告指出,在8年的时间里,软件质量提高了3~5倍,而SQA是其质量体系中的一个重要组成部分。


目标


  SQA组织并不负责生产高质量的软件产品和制定质量计划,这些都是软件开发人员的工作。SQA组织的责任是审计软件经理和软件工程组的质量活动并鉴别活动中出现的偏差。


  软件质量保证的目标是以独立审查的方式监控软件生产任务的执行,给开发人员和管理层提供反映产品质量的信息和数据,辅助软件工程组得到高质量的软件产品,其主要工作包括以下三个方面:


  ● 通过监控软件的开发过程来保证产品的质量;
  ● 保证生产出的软件和软件开发过程符合相应的标准与规程;
  ● 保证软件产品、软件过程中存在的不符合问题得到处理,必要时将问题反映给高级管理者。


  从软件质量保证的目标中可以看出,SQA人员的工作与软件开发工作是紧密结合的,需要与项目人员沟通。因此SQA人员与项目人员的合作态度是完成软件质量保证目标的关键,如果合作态度是敌意的或者是挑剔的,则软件质量保证的目标就难以顺利实现。


任务


  软件质量保证的主要作用是给管理者提供实现软件过程的保证,因此SQA组织要保证如下内容的实现:


  ● 选定的开发方法被采用;
  ● 选定的标准和规程得到采用和遵循;
  ● 进行独立的审查;
  ● 偏离标准和规程的问题得到及时的反映和处理;
  ● 项目定义的每个软件任务得到实际的执行。


  相应地,软件质量保证的主要任务有以下方面:


● SQA审计与评审


  其中,SQA审计包括对软件工作产品、软件工具和设备的审计,评价这几项内容是否符合组织规定的标准。SQA评审的主要任务是保证软件工程组的活动与预定义的软件过程一致,确保软件过程在软件产品的生产中得到遵循。


● SQA报告


  SQA人员应记录工作的结果,并写入到报告之中,发布给相关的人员。SQA报告的发布应遵循3条基本原则:SQA和高级管理者之间应有直接沟通的渠道、SQA报告必须发布给软件工程组但不必发布给项目管理人员、在可能的情况下向关心软件质量的人发布SQA报告。


● 处理不符合问题


  这是SQA的一个重要的任务,SQA人员要对工作过程中发现的不符合问题进行处理,及时向有关人员及高级管理者反映。在处理问题的过程中要遵循两个原则:其一,对符合标准过程的活动,SQA人员应该积极地报告活动的进展情况以及这些活动在符合标准方面的效果;其二,对不符合标准过程的活动,SQA要报告其不符合性以及它对产品的影响,同时提出改进建议。


实施


  软件质量保证任务的实现需要考虑几方面的问题。首先,要考虑SQA人员的素质。SQA人员的责任是审查软件设计、开发人员的活动,验证他们是否将选定的标准、方法和规程应用到活动中去,因此,SQA工作的有效执行需要SQA人员掌握专业的技术,例如质量控制知识、统计学知识等。其次,SQA人员的经验对任务的实现同样重要。应该选择那些经验丰富的人来做SQA,同时为SQA人员进行专门的培训,以使他们能够胜任这项工作。第三,组织应当建立文档化的开发标准和规程,使SQA人员在工作时有一个依据、判断的标准,如果没有这些标准,SQA人员就无法准确地判断开发活动中的问题,容易引发不必要的争论。第四,高级管理者必须重视软件质量保证活动。在一些组织的软件生产过程中,高级管理者不重视软件质量保证活动,对SQA人员发现的问题不及时处理。如此一来,软件质量保证就流于形式,很难发挥它应有的作用。第五,SQA人员在工作过程中一定要抓住问题的重点与本质,不要陷入对细节的争论之中。SQA人员应集中审查定义的软件过程是否得到了实现,及时纠正那些疏漏或执行得不完全的步骤,以此来保证软件产品的质量。


  此外,做好软件质量保证工作还应该有一个计划,用以规定软件质量保证活动的目标,执行审查所参照的标准和处理的方式。对于一般性项目,可采用通用的软件质量保证计划,而对于那些有着特殊质量要求的项目,则必须根据项目自身的特点制定专门的计划。


  总之,软件质量保证是软件过程中的独立审查活动,它从一个侧面反映了现行软件过程能力的成熟度水平。软件质量保证活动是贯穿整个软件过程的,那种到编码之后才开始关心质量的做法是极其错误的。


站内搜索
相关文章
◎软件测试入门书籍(2)
◎制定项目的测试策略
◎软件测试的人际关系
◎测试实践:Eclipse 之 JUnit
◎测试经验交流
◎软件测试常用术语表
热门文章
◎软件测试工程师面试问题选登
◎一个初级测试工程师的工作总结
◎软件测试常用术语表
◎测试人员面试三步曲
◎DOS命令大全
◎什么样的测试人员是好的测试人员
◎软件测试基本方法
◎好的测试工程师应具备的素质
◎软件测试入门书籍(2)
◎我在软件公司成长的三年
◎面试官最爱问的问题背后真相
◎软件测试工程师面试题
◎应届毕业生少走弯路的十条忠告
◎有关软件测试的术语定义集锦
◎微软的软件测试方法(一)
◎我的测试经历(1)
◎全景记录:软件测试工程师的一天
◎软件测试步骤
◎谈谈对测试职业的看法
◎漫谈软件测试工程师的角色定位
◎测试需要掌握什么
◎软件测试员自身素质培养
◎测试小技巧集锦之一黑盒测试
◎近10年最强的50本计算机图书,您读过几本?
◎软件测试人员职业发展助手
◎测试要点总结
◎如何制定成功的测试计划
◎测试的主要评测方法(1)
◎什么是ERP,通俗版解释
◎测试经验交流
◎软件测试及其支持工具
◎编写优秀Bug报告的艺术
◎软件产品测试标准
◎从程序员到测试工程师
◎微软的软件测试方法(二)
◎软件测试应遵循的八条原则
◎测试版本大全
◎我的测试经历(2)
◎测试人员的挑战
◎网管和黑客都必须知道的命令
◎QA活动的理解与实施
◎Alpha和Beta测试简介
◎网络最经典命令行
◎想编写出优秀技术文档,先学学这四招
◎个人职业生涯规划发展
◎你适合做测试吗?
◎软件测试的误区
◎我的测试经历(3)
◎软件测试的心理学问题
◎软件测试组织与方法

Google提供的广告