⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 200603081234105.html

📁 软件工程的红包书
💻 HTML
📖 第 1 页 / 共 3 页
字号:
<html>
<head><title>软件质量保证</title></head>
<center><h1>软件质量保证</h1></center>
<div><P align=right><FONT face=Verdana><FONT color=#f70938><FONT face=黑体><a href="200604112229525.html" tppabs="http://www.itisedu.com/phrase/200604112229525.html" target="_new">中科永联</a>高级技术培训中心(</FONT><FONT face=黑体>www.itisedu.com</FONT><FONT face=黑体>)<IMG src="2006327212414345.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/2006327212414345.jpg" border=0></FONT></FONT></FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="200603081234105.html" tppabs="http://www.itisedu.com/phrase/200603081234105.html" target="_new">软件质量保证</a>(<a href="200604231326095.html" tppabs="http://www.itisedu.com/phrase/200604231326095.html" target="_new">SQA</a>)是建立一套有计划,有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。 </FONT></P>
<P><FONT face=Verdana>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a href="200604232134205.html" tppabs="http://www.itisedu.com/phrase/200604232134205.html" target="_new">软件</a>质量保证的目的是使<a href="200602282140185.html" tppabs="http://www.itisedu.com/phrase/200602282140185.html" target="_new">软件过程</a>对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。软件质量保证组在项目开始时就一起参与建立计划、标准和过程。这些将使软件项目满足机构方针的要求。 </FONT></P><FONT face=Verdana>
<P><BR><STRONG>一、基本目标</STRONG></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 目标 1: 软件质量保证工作是有计划进行的。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 目标 2: 客观地验证软件项目产品和工作是否遵循恰当的标准、步骤和<a href="200603101518295.html" tppabs="http://www.itisedu.com/phrase/200603101518295.html" target="_new">需求</a>。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 目标 3: 将软件质量保证工作及结果通知给相关组别和个人。<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 目标 4: 高级管理层接触到在项目内部不能解决的不符合<a href="200603090857555.html" tppabs="http://www.itisedu.com/phrase/200603090857555.html" target="_new">类</a>问题。<BR>&nbsp;<BR><STRONG>二、QA的由来</STRONG></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们知道,国外很多的大公司,QA的职责就是测试(主要是<a href="200603111950135.html" tppabs="http://www.itisedu.com/phrase/200603111950135.html" target="_new">系统测试</a>),比如IBM、CA、PeopleSoft等。其实在最初,几乎所有的公司都是这样的。后来,由于缺乏有效的项目计划和<a href="200604240825565.html" tppabs="http://www.itisedu.com/phrase/200604240825565.html" target="_new">项目管理</a>,留给系统测试的时间很少(注:我以前做的一个项目,项目经理就明确告诉我系统测试就1天,没得商量)。另外,需求变化太快,没有完整的需求文档,测试人员就只能根据自己的想象来测试。这样一来,测试就很难保障产品的质量,事先预防的QA职能就应运而生。 <BR>事先预防其实是借鉴了TQM的思想,而且也符合<a href="200602281725525.html" tppabs="http://www.itisedu.com/phrase/200602281725525.html" target="_new">软件工程</a>“缺陷越早发现越早修改越经济”的原则。这些思想的渊源还可以追溯到中国古代的典故中,比如曲突徙薪、扁鹊论医术等。特别是扁鹊论医术这个典故,我偶然在国外的一篇文章中看到了(后来在林锐的文章中也看到了),常感叹我们国人连祖先的思想文化遗产都丢的差不多了。 </P>
<P><STRONG>三、QA的现在</STRONG></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 目前,实施<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603051508215.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603051508215.html'" tppabs="http://www.itisedu.com/phrase/200603051508215.html" target="_new">CMM</a>的企业越来越多了。CMM模型就要求建立QA角色。这里的QA类似于过程警察,主要职责是,检查开发和管理活动是否与已定的过程策略、标准和流程一致,检查工作产品是否遵循模板规定的内容和格式。在这些企业中,一般还要求QA独立于项目组,以保障评价的客观性。从国内来看,多数的QA没有技术背景,检查出的偏差多为鸡毛蒜皮,再加上自己没有令人信服的背景,领导也不支持,当然做起来就很困难了。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 缺乏信任和支持只是一个方面,QA工作本身就很具挑战性。它要求QA具有软件工程的知识、<a href="200603282233345.html" tppabs="http://www.itisedu.com/phrase/200603282233345.html" target="_new">软件开发</a>的知识、行业背景的知识、数理统计的知识、项目管理的知识、质量管理的知识等等。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们常常遇到这样的问题,改进到一定程度就很难突破,感觉心有余而力不足了,就开始郁闷了。后来通过学习、培训、交流,思想和技能得到升华,又发现了木桶中最短的那块,然后又开始改进,然后又遇到了玻璃天花板,然后……就这样处于郁闷的循环中。<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 假使我们掌握了所有的知识,能突破所有的玻璃天花板,那是不是QA就可以一帆风顺了。答案是否定的。QA角色定义本身就有很大的局限性。QA充当的是过程警察的角色,无论是否有意义,都专横地强制过程的执行,容易在项目组中造成敌对的关系,受到排挤,而且这种警察的姿态也破坏了<a href="200603082251135.html" tppabs="http://www.itisedu.com/phrase/200603082251135.html" target="_new">团队</a>精神。如此一来,QA工作还需要的是人际关系技能,就如我以前写的《质量平衡》和《QA应该独立于项目组吗?》一样,艺术化地处理这种关系。 </P>
<P><STRONG>四、QA的未来</STRONG></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 从某种程度上说,独立的QA审查机制是瀑布模型的产物。随着现代软件开发技术的演变,螺旋模型和迭代模型的兴起,QA机制正在悄然发生变化。这种变化就是从独立专职的QA向贯穿过程的兼职QA演变。在<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603051543495.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603051543495.html'" tppabs="http://www.itisedu.com/phrase/200603051543495.html" target="_new">CMMI</a>模型中,这种兼职的QA也是被允许的。为什么会发生这种改变呢?无论是<a href="200604231325145.html" tppabs="http://www.itisedu.com/phrase/200604231325145.html" target="_new">XP</a>、<a href="200604231308415.html" tppabs="http://www.itisedu.com/phrase/200604231308415.html" target="_new">RUP</a>还是其它先进的方法论,都是先产生<a href="200604241328115.html" tppabs="http://www.itisedu.com/phrase/200604241328115.html" target="_new">架构</a>,然后再增量开发,直到完成。这种<a href="200603061709535.html" tppabs="http://www.itisedu.com/phrase/200603061709535.html" target="_new">模式</a>中,需求和设计缺陷在各个迭代周期被所尽早发现和修复,质量也内建于架构和过程中,项目的成本和进度也得到保障。 <BR>到那时,是不是独立的QA就不复存在了呢?有些成熟度较低的企业还是需要的,主要是保证过程执行的有效性和评价的客观性。 </P>
<P><STRONG>五、SQA的理论探索</STRONG> </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1、过程的认识 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我们都知道一个项目的主要内容是:成本、进度、质量;良好的项目管理就是综合三方面的因素,平衡三方面的目标,最终依照目标完成任务。项目的这三个方面是相互制约和影响的,有时对这三方面的平衡策略甚至成为一个企业级的要求,决定了企业的行为,我们知道 IBM的软件是以质量为最重要目标的,而微软的“足够好的软件”策略更是耳熟能详,这些质量目标其实立足于企业的战略目标。所以用于进行质量保证的SQA工作也应当立足于企业的战略目标,从这个角度思考SQA,形成对SQA的理论认识。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 软件界已经达成共识的:影响软件项目进度、成本、质量的因素主要是 “人、过程、技术”。首先要明确的是这三个因素中,人是第一位的。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 现在许多实施 CMM的人员沉溺于CMM的理论过于强调“过程”,这是很危险的倾向。这个思想倾向在国外受到了猛烈抨击,从某种意义上各种敏捷过程方法的提出就是对强调过程的一种反思。 “XP”中的一个思想“人比过程更重要” 是值得我们思考的。我个人的意见在进行<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200604240818395.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200604240818395.html'" tppabs="http://www.itisedu.com/phrase/200604240818395.html" target="_new">过程改进</a>中坚持“以人为本”,强调过程和人的和谐。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 根据现代软件工程对众多失败项目的调查,发现管理是项目失败的主要原因。这个事实的重要性在于说明了 “要保证项目不失败,我们应当更加关注管理”,注意这个事实没有说明另外一个问题“良好的管理可以保证项目的成功”。现在很多人基于一种粗糙的逻辑,从一个事实反推到的这个结论,在逻辑上是错误的,这种错误形成了更加错误的做法,这点在SQA的理解上是体现较深。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果我们考证一下历史的沿革,应当更加容易理解 CMM的本质。CMM首先是作为一个“评估标准”出现的,主要评估的是美国国防部供应商保证质量的能力。CMM关注的软件生产有如下特点:<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (1)质量重要<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; (2)规模较大</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 这是 CMM产生的原因。它引入了“全面质量管理”的思想,尤其侧重了“全面质量管理”中的“过程方法”,并且引入了“<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200603111717425.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200603111717425.html'" tppabs="http://www.itisedu.com/phrase/200603111717425.html" target="_new">统计过程控制</a>”的方法。可以说这两个思想是CMM背后的基础。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 上面这些内容形成了我对软件过程地位、价值的基本理解;在这个基础上我们可以引申讨论 SQA。</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2、生产线的隐喻</P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果将一个软件生产类比于一个工厂的生产。那么生产线就是过程,产品按照生产线的规定过程进行生产。 SQA的职责就是保证过程的执行,也就是保证生产线的正常执行。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 抽象出管理体系模型的如下,这个模型说明了一个过程体系至少应当包含 “决策、执行、反馈”三个重要方面。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; QA的职责就是确保过程的有效执行,监督项目按照过程进行项目活动;它不负责监管产品的质量,不负责向管理层提供项目的情况,不负责代表管理层进行管理,只是代表管理层来保证过程的执行。 </P>
<P align=center><IMG src="2006327212426831.jpg" tppabs="http://www.itisedu.com/manage/Upload/image/2006327212426831.jpg" border=0></P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3、SQA和其他工作的组合 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 在很多企业中,将 SQA的工作和QC、SEPG、组织级的项目管理者的工作混合在一起了,有时甚至更加注重其他方面的工作而没有做好SQA的本职工作。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 根据 hjhza 的意见“中国现在基本有三种QA(按照工作重点不同来分):一是过程改进型,一是<a href="javascript:if(confirm('http://www.itisedu.com/phrase/200602271137552.html  \n\nThis file was not retrieved by Teleport Pro, because it was unavailable, or its retrieval was aborted, or the project was stopped too soon.  \n\nDo you want to open it from the server?'))window.location='http://www.itisedu.com/phrase/200602271137552.html'" tppabs="http://www.itisedu.com/phrase/200602271137552.html" target="_new">配置管理</a>型,一是测试型”。我个人认为是因为SQA工作和其他不同工作组合在一起形成的。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 下面根据本人经验对它们之间的关系进行一个说明。 </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4、QA和QC </P>
<P>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 两者基本职责 </P>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -