LOGISCOPE是法国Telelogic公司推出的专用于软g质量保证和Y件测试的产品。其主要功能是对软g做质量分析和试以保证Y件的质量Qƈ可做认证、反向工E和l护Q特别是针对要求高可靠性和高安全性的软g目和工E?/td> |
本品应用于软g的整个生命周期,它诏I于软g需求分析阶D?#224;设计阶段->代码开发阶D?>软g试阶段Q代码审查、单?集成试和系l测试)->软gl护阶段的质量验证要求?/td> |
在设计和开发阶D,使用LOGISCOPE可以对Y件的体系l构和编码进行确认。可以在可能的早期阶段那些关键部分,L潜在的错误,q在止更改和维护工作之前做更多的工作。在构造Y件的同时Q就定义试{略。可帮助~制W合企业标准的文档,改进不同开发组之间的交;在测试阶D는LOGISCOPEQɋ试更加有效。可针对软gl构Q度量测试覆盖的完整性,评估试效率Q确保满求的试{。特别是QLOGISCOPEq可以自动生成相应的试分析报告Q在软g的维护阶D,用LOGISCOPE验证已有的Y件是否是质量已得C证的软gQ对于状态不定的YӞLOGISCOPE可以q速提交Y件质量的评估报告Q大q度地减理解性工作,避免非受控修改引发的错误?/td> |
本品的最l目的是评估和提高Y件的质量{Q采用基于国际间的标准度量方法(如Halstead、McCabe{)的质量模型对软gq行分析Q从软g的编E规则,静态特征和动态测试覆盖等多个斚wQ量化地定义质量模型Qƈ查、评估Y件质量?/td> |
?LOGISCOPE 获取ISO/IEC9126 定义?Quality Characteristics "Q?/td> |
?LOGISCOPE 为ISO-9001提供需求(test acceptance criteria and qulity records Q,自动定ISO9001认证q程的Q务; |
?LOGISCOPE 提供SEI/CMM在第2 U(Repeatable Q所要求的Y件质量跟t等关键实践的要求,推进开发组l尽快达到SEI/CMM ?U?/td> |
?在有合同关系Ӟ合同方可以用LOGISCOPE 明确定义验收时质量等U和执行试。承制方可以用LOGISCOPE 验证其Y件的质量?/td> |
?Ҏ有的开发者提供确保代码质量和q行有效试的方?/td> |
?寚w目管理者和质量工程师提供对整个目q行制度化的试和评估?/td> |
?创立公司的技术文化: |
1 完美的开发环境集成,很容易访问和q行LOGISCOPEQ?/td> |
2 开发者可以随时检查其工作Q?/td> |
3 当达到要求的试{Ӟ软g才可以离开试阶段Q?/td> |
4 l护工作是受控的Q?/td> |
5 目领导能把全部l果自动~制到日常报告中Q?/td> |
6 质量工程师可以把目作ؓ一个整?自动~写详细的报告?/td> |
二、品应?/strong> |
目前QLOGISCOPE产品在全世界?6个国家的众多国际知名企业得到了广泛的应用Q其用户涉及通讯、电子、航I、国阌Ӏ汽车、运输、能源及工业q程控制{众多领域。现单介l如下: |
?Ƨ洲的卫星生产厂商Matla Marconi SpaceQ?/td> |
?直升机生产厂商EurocopterQ?/td> |
?世界最大的_子物理研究实验室CERNQ?/td> |
?航空航天领域有Aérospatiale, Alcatel Space, Boeing, CNES, Northrop Grumman{国际著名公司; |
?IBMQ?/td> |
?TIQ?/td> |
?GEQ?/td> |
?McDonnell DouglasQ?/td> |
?EDSQ?/td> |
?SAICQ?/td> |
?EXXONQ?/td> |
?PHILIPSQ?/td> |
?国内有华为、中兴、航天部{单位?/td> |
三、品功?/strong> |
下面分别介绍LOGISCOPE产品?个功能: |
?Audit 静态分析功能; |
?RuleChecker 语法规则分析功能Q?/td> |
?TestChecker 动态测试功能?/td> |
3.1 静态分析功?/em> |
本品采用的是包括Y件质量标准化l织制定的ISO9126模型在内的质量模型。质量模型描qC从Halstend、McCabe的质量方法学引入的质量因素、质量准则和质量度量元。即本模型是一个三层的l构l织Q?/td> |
aQ?质量因素[Factor] |
bQ?质量准则[Criteria] |
cQ?质量度量元[Metrics] |
质量因素是从用户角度出发Q对软g的质量特性进行M评估Q质量准则从软g设计者角度出发,设计Z障质量因素所必须遵@的法则;质量度量元从软g试者角度出发,验证是否遵@质量准则。一个质量因素由一l质量准则来评估Q一个质量准则由一l质量度量元来验证。其关系如图所C?/td> |
|
质量l构关系?/p> |
LOGISCOPE从系l[Application]、类[Class]和函数[Function]三个层次详细规定了上q质量特性及其组成关pR以C++E序的类层ؓ例: |
FactorQ?/u> |
h2个FactorQ?/td> |
?可维护性[MAINTAINABILITY] |
![]() |
?可重用性[REUSABILITY] |
|
CriteriaQ?/u> |
h4个CriteriaQ?/td> |
?可分析性[ANALYZABILITY] |
![]() |
?可修Ҏ[CHANGEABILITY] |
|
?E_性[STABILITY] |
|
?可测试性[TESTABILITY] |
|
MetricsQ?/u> |
质量度量元较多,在此不详l描q?/td> |
静态分析Audit部gY件与所选的质量模型q行比较Q生成Y件质量分析报告。显CY件质量等U的概要囑Ş表示Q因此可以把_֊集中到需要修改的代码部分。对度量元素和质量模型不一致的地方作出解释q提出纠正的Ҏ。通过对Y件质量进行评估及生成控制图和调用图,发现最大可能发生错误的部分。一旦发现这些部分,可以使用度量元及控制图、调用图{手D做q一步分析?/td> |
单介l其功能Q?/td> |
?质量报告 |
LOGISCOPEҎ质量模型Q生成相应的软g质量分析报告QHTML形式Q?/td> |
|
?质量度量?/td> |
可清楚分析和观察每个cLҎ中的质量度量元的数|判断其是否合法?/td> |
|
?质量准则 |
可清楚分析和判断各质量因素所含有的质量准则的数值和合格性?/td> |
|
?质量因素 |
针对pȝ层、类层和函数层,分别分析质量因素的合格性和所占百分比?/td> |
|
?E序程?/td> |
控制图昄法的逻辑路径。其囑Ş表示适用于评价函数的复杂性?/td> |
|
?E序调用?/td> |
调用图显CE和函数之间的关p,非常适用于检查应用系l的设计?/td> |
|
?Kiviat?/td> |
Kiviat图质量{与所选择的参考之间的一致性对比更加可视化?/td> |
|
3.2 语法规则分析功能 |
LOGISCOPE提供~码规则与命名检验,q些规则是根据业界标准和l验所制订。因此可建立企业可共同遵循的规则与标准,而避免自我不良的~程习惯及彼此不相容的困扰。同时LOGISCOPEq提供规则的裁剪和编辑功能,可以用Tcl、脚本和~程语言定义新的规则?/td> |
以C语言ZQ以下列出部分的规则Q?/td> |
L?a target="_blank">q里查看>> |
RuleChecker的工作界面如下: |
|
3.3 动态测试功?/em> |
为控制测试的有效性,必须定义准则和策略以判断何时l束试阶段。准则必L客观和可量化的元素。LOGISCOPE推荐Ҏ令、逻辑路径和调用\径覆盖测试。根据应用的准则和项目相关的U束Q可以定义用的度量Ҏ和要辑ֈ的覆盖率Q度量测试的有效性?/td> |
TestChecker产生每个试的测试覆盖信息和累计信息。用直方图显C盖比率,q根据测试运行情况实时更攏V随时显C新的测试所反映的测试覆盖情cTestChecker允许所有的试q行依据其有效性进行管理。用户可以减那些用于非回归试的测试。被执行q的函数Q一旦作了修攚w要重新运行时QLOGISCOPE会标出。优化测试过E在试阶段的第一步,执行的测试是功能性测试。其目的是检查所期望的功能是否已实现。在试初期Q覆盖比率迅速增加。象L试工作一般能辑ֈ70%的覆盖率。但是,要提高此比率是十分困隄。主要是׃试覆盖了相同的试路径。在该阶D需要对试{略做一些改变。应当执行结构化试Q即Q要没有执行的逻辑路径Q定义适当的测试覆盖这些\径。在试执行期间Q当试{略改变Ӟl合的运用TestChecker关键因素以提高效率。将TestChecker与静态分析相互依赖用能够帮助用户分析未试的代码。用户可以显C所兛_的代码,q过Ҏ行未覆盖的\径的观察得到有关的信息。信息以囑ŞQ控制流图)和文本(伪代码和源文Ӟ的Ş式提交,q在光建立D兌。TestChecker理pȝ能声明新的测试、编制有x档、定义启动命令、以及自动执行的Ҏ?/td> |
同时LOGISCOPE 支持对嵌入式领域软g的测试。众所周知Q嵌入式pȝ软g的测试是最为困隄。因为,它的开发是用交叉编译方式进行的。在目标机(TargetQ上Q不可能有多余的I间记录试的信息。必d时地测试信息通过|线/串口传到宿主机(HostQ上Qƈ实时在线地显C。因此,Ҏ代码的插装和目标Z的信息收集与回传成ؓ问题的关键。LOGISCOPE 很好地解决了q些技术,成ؓ嵌入式领域测试工Lg者。它支持各种实时操作pȝQRTOSQ上的应用程序的试Q也支持逻辑pȝ的测试。Logiscope 提供VxWorks 、pSOS 、VRTX 实时操作pȝ的测试库?/td> |
TestChecker的运行界面: |
|
四、品构?/strong> |
Audit for c/c++ ; |
RuleChecker for c/c++; |
TestChecker for c/c++ ?/td> |
q行q_QWIN2000/NT |
软g质量保证Q即SQA——Software Quality AssuranceQ,是CMM2U中的一个关键过E域,它是贯穿整个软gq程的第三方独立审查zdQ出现在大多数关键过E域的检查与验证的公q性中Q在整个软g开发过E中充当重要角色?/p>
从CMM2U中包含?个关键过E域来看Q无论是需求管理、Y仉目计划、Y仉目跟t与监控Q还是Y件子合同理、Y仉|管理,都不同程度地存在于我们现在正在进行的软g目开发过E中Q对于它们的了解我们已经不再陌生Q只有SQAq个关键q程域,是在我们准备以CMM2U要求的关键q程域ؓ基础q行软gq程改进前未接触q的?/p>
在很多Y件企业中q没有与之相对应的h员和工作ҎQ整套关注Y件开发过E的软g质量保证体系q没有徏立v来。所以,在企业以CMM2U关键过E域为参考进行Y件过E改q时QSQA往往是一个难点,直接涉及到组l结构的变化?/p>
实施SQA的目?/strong>
软g质量保证的目标是以独立审查方式,从第三方的角度监控Y件开发Q务的执行,pY仉目是否正遵@已制定的计划、标准和规程l开发h员和理层提供反映品和q程质量的信息和数据Q提高项目透明度,同时辅助软g工程l取得高质量的Y件品。主要包括以下四个方面:
?通过监控软g开发过E来保证产品质量;
?保证开发出来的软g和Y件开发过E符合相应标准与规程Q?br />
?保证软g产品、Y件过E中存在的不W合问题得到处理,必要时将问题反映l高U管理者;
?保目l制定的计划、标准和规程适合目l需要,同时满评审和审计需?
除了以上四点之外Q我们还希望SQA能作Y件工E过E小l(SEPGQ在目l中的g伸,能够攉目中好的实施方法和发现实施不利的原因,Z改企业内部Y件开发整体规范提供依据,为其他项目组的开发过E实施提供先q方法和样例?
对SQA人员的素质要?/strong>
1. SQA人员(有时USQA)要有很强的沟通能力。从实施SQA的目的中可以看出QSQA不在目中,是独立于软g目的第三方Q但他要了解目的开发过E和q度Q捕捉到目中不W合要求的问题,q就要求SQA能够深入目Q和软g开发经理以及项目组中的开发h员保持很好的沟通,q样才能及时获得真实的项目情c?/p>
2. SQA要熟悉Y件开发过E。作为SQAQ既然要保目l制定的计划、标准和规程Q要W合目l要求,那么SQA首先自己p了解软g目开发过E,以及企业内部已经有的开发过E规范?/p>
3. SQA本n要有很强的计划性。SQA一斚w要监督Y仉目组~写计划Q另一斚wSQA自n的工作也要有计划Qƈ且能够按照计划开展工作?/p>
4. SQA要能应对J杂的工作。作为SQAQ在跟踪目q行q程的时候要寚w目组的很多工作品进行审计,而且会参与项目组中的多种zd。同时一个SQAq有可能会面对多个项目组Q所以Q务相对繁杂细,q就要求SQA在处理这些事物的时候要耐心l致?/p>
5. SQA要客观,有责d。作为第三方寚w目过E进行监督,SQA要能保持自己的客观性,不能一呌好项目经理,也不能成为项目组中的宪兵Q否则会影响工作的开展。对于项目组中多ơ协调解决不了的问题Q能够向目的高层经理进aQ完成SQA的命?/p>
以上五点是作为SQA应该具备的基本素质,除此之外Q一个好的SQAq应该在软g开发过E中作ؓ开发h员或试人员参与q一个或多个环节Q这样他们才能在q程监督中比较准地抓住重点Q同时他们的意见和提出的解决办法也会更脓q项目组Q容易被目l接受?/p>
SQA人员的组?/strong>
软g企业中的SQA人员既可以由全职人员担QQ也可以׃业内h相关素质、经qSQA培训的h员兼职担仅R由此组成的SQA组可能是一个真正的物理上存在的独立部门Q也可以是一个逻辑上存在的q_。但不管是真正的独立部门q是逻辑上的q_Q它都需要有一个灵h物——SQA组l长Q来l织SQA组的日常活动?/p>
在给一个项目组分配负责监督光目过E的SQAӞ一定要注意一点:是该项目的SQA不能是该目l的开发h员、配|管理h员或试人员Q一个项目的SQA除了监控目q程Q完成SQA相关工作以外Q不应该参与目l的其他实质性工作,否则他会与项目组捆绑在一P很难保持客观性?/p>
SQA工作的内?/strong>
SQA的工作内容主要包括以下六c:
1. 与SQA计划直接相关的工作:SQA在项目早期要Ҏ目计划制定与其对应的SQA计划Q定义出各阶D늚查重点,标识出检查、审计的工作产品对象Q以及在每个阶段SQA的输Z品。定义越详细Q对于SQA今后的工作的指导性就会越强,同时也便于Y仉目经理和SQAl长对其工作的监督。编写完SQA计划后要l织SQA计划的评审,qŞ成评审报告,把通过评审的SQA计划发送给软g目l理、项目开发h员和所有相关h员?/p>
2. 参与目的阶D|评审和审计Q在SQA计划中通常已经Ҏ目计划定义了与目阶段相应的阶D|查,包括参加目在本阶段的评审和对其阶段产品的审计。对于阶D品的审计通常是检查其阶段产品是否按计划按规程输出q内容完_q里的规E包括企业内部统一的规E也包括目l内自己定义的规E。但是SQA对于阶段产品内容的正性一般不负责L查,对于内容的正性通常交由目中的评审来完成。SQA参与评审是从保证评审q程有效性方面入手,如参与评审的人是否具备一定资根{是否规定的人员都参见了评审、评审中对被评审的对象的每个部分都进行了评审、ƈl出了明的l论{等?/p>
3. 寚w目日常活动与规程的符合性进行检? q部分的工作内容是SQA的日常工作内宏V由于SQA独立于项目组Q如果只是参与阶D|的查和审计很难及时反映目l的工作q程Q所以SQA也要在两个阶D늂之间讄若干的跟踪点,来监督项目的q行情况Q以便能及时反映出项目组中存在的问题Qƈ对其q行q踪。如果只在阶D늂q行查和审计Q即便发C问题也难免过于滞后,不符合尽早发现问题、把问题控制在最的范围之内的整体目标?/p>
4. 寚w|管理工作的查和审计QSQA要对目q程中的配置理工作是否按照目最初制定的配置理计划q行监督Q包括配|管理h员是否定期进行该斚w的工作、是否所有h得到的都是开发过E品的有效版本。这里的q程产品包括目q程中生的代码和文档?/p>
5. 跟踪问题的解x? 对于评审中发现的问题和项目日常工作中发现的问题,SQA要进行跟t,直至解决。对于在目l内可以解决的问题就在项目组内部解决Q对于在目l内部无法解决的问题Q或是在目l中跟催多次也没有得到解决的问题Q可以利用其独立汇报的渠道报告给高层l理?/p>
6. 攉新方法,提供q程改进的依据:此类工作很难具体定义在SQA的计划当中,但是SQA有机会直接接触很多项目组Q对于项目组在开发管理过E中的优点和~点都能准确的获得第一手资料。他们有Z了解目l中理好的地方是如何做的,采用了什么有效的ҎQ在SQA组的活动中与其他SQA׃n。这栯些好的实施实例就可以被传播到更多的项目组中。对于企业内q程规范定义的不准确或是不方便的地方QY仉目组也可以通过SQA组反映到Y件工E过E小l,便于下一步对规程q行修改和完善?/p>
SQA与几c角色间的关p?/strong>
一个企业内的部门设|可能会各有不同Q但是很多角色设|是相同的,从一个项目的SQA出发Q我们可以把SQA与其他相兌色的关系表示Z? 以上囄只说明SQA与高层经理、项目组和其他相关组之间的关p,q不是以上几个角色之间所有关pȝ描述Q所以即侉K目组会直接向高层l理汇报Q但与SQA无直接关p,在图中就没有表现出来?/p>
SQA工作中常见的几个问题
1. 最初给目l配|SQA人员的时候,SQA的hg被认可因为是新工作的初次开展,已经习惯了自q理项目,向高层经理汇报的目l难免会有抵触情l。要从两个方面解册个问题:一斚wQ从l织的角度,要明SQA的角色及其合法? 另一斚wQSQA也要以其专业的工作赢得项目组认可Qؓ目l增加h倹{?/p>
2. 一个全职的SQA可以同时gQ多少个项目的SQA工作对于不同的项目规模和l织理方式Q这个问题会有不同的{案Q根据实施中的一些经验ȝQ通常在第一ơ实施时Q承担一?0人左右的目l的SQA工作需要占用一个h30%左右的工作量Q随着SQA的成熟,q个比例会降低到15%。对于一?0Z内的目l,SQA需要投入其10%左右的工作量。当Ӟ目大SQA的投入就多?/p>
3. SQA与项目组的关p难处理对于SQA与项目组的关p,应该遵@以下两条原则: 要在q程斚w成ؓ目l的严师Q有错必U,但不能有错全报;要做目l的朋友Q但不能寚w目组包庇U容?/p>
4. 目l有了SQAQ可是需求文档和设计文档的质量还是不高对不vQ这不是SQA的直接工作范围。提高需求和设计的质量,要从人员培训和严D审入手,让有l验有资格的人来完成需求和设计文档。SQA只能从规E符合方面进行监督?/p>
MQ在软g企业中徏立SQA体系Q是软g目理׃hd法治的一个必l阶D,也是软g企业以CMM模型为参考,q行软gq程改进中一个不可缺的部分。Y件企业只要真正徏立了SQA规范Q培M专业的SQA人员׃真正从中体会到它的好处?/p>
一?前言
本文作者在企业从事SQA工作Q同时兼任SEPG的工作进行基于CMM3的过E改q,在实践过E中Q对SQA的工作有了较多的x和认识。本文是个h看法Q请大家指教Q如果要和本p,请发Email刎ͼheqingemail@163.net?/p>
二、SQA的理论探?/strong>
2.1、过E的;认识
我们都知道一个项目的主要内容是:成本、进度、质量;良好的项目管理就是综合三斚w的因素,q三方面的目标Q最l依照目标完成Q务。项目的q三个方面是怺制约和媄响的Q有时对q三斚w的^衡策略甚xZ个企业的要求,军_了企业的行ؓQ我们知道IBM的Y件是以质量ؓ最重要目标的,而微软的“_好的软g”{略更是耳熟能详Q这些质量目标其实立于企业的战略目标。所以用于进行质量保证的SQA工作也应当立于企业的战略目标,从这个角度思考SQAQŞ成对SQA的理识?/p>
软g界已l达成共识的Q媄响Y仉目进度、成本、质量的因素主要?#8220;人、过E、技?#8221;?br />
首先要明的是这三个因素中,人是W一位的?br />
现在许多实施CMM的h员沉ZCMM的理于强?#8220;q程”Q这是很危险的們。这个思想們在国外受C猛烈抨击Q从某种意义上各U敏捯E方法的提出是对强调过E的一U反思?br />
“XP”中的一个思想“人比q程更重?#8221; 是值得我们思考的。我个h的意见在q行q程改进中坚?#8220;以h为本”Q强调过E和人的和谐?br />
ҎC软g工程对众多失败项目的调查Q发现管理是目p|的主要原因。这个事实的重要性在于说明了“要保证项目不p|Q我们应当更加关注管?#8221;Q注意这个事实没有说明另外一个问?#8220;良好的管理可以保证项目的成功”。现在很多hZ一U粗p的逻辑Q从一个事实反推到的这个结论,在逻辑上是错误的,q种错误形成了更加错误的做法Q这点在SQA的理解上是体现较深?br />
如果我们考证一下历史的沉KQ应当更加容易理解CMM的本质。CMM首先是作Z?#8220;评估标准”出现的,主要评估的是国国防部供应商保证质量的能力。CMMx的Y件生产有如下特点Q?br />
质量重要
规模较大
q是CMM产生的原因。它引入?#8220;全面质量理”的思想Q尤其侧重了“全面质量理”中的“q程Ҏ”Qƈ且引入了“l计q程控制”的方法。可以说q两个思想是CMM背后的基?br />
上面q些内容形成了我对Y件过E地位、h值的基本理解Q在q个基础上我们可以引甌论SQA?/p>
2.2、生产线的隐?/p>
如果一个Y件生产类比于一个工厂的生。那么生产线是q程Q品按照生产线的规定过E进行生产。SQA的职责就是保证过E的执行Q也是保证生U的正常执行?br /> 抽象出管理体pL型的如下Q这个模型说明了一个过E体p至应当包?#8220;决策、执行、反?#8221;三个重要斚w。QA的职责就是确保过E的有效执行Q监督项目按照过E进行项目活动;它不负责监管产品的质量,不负责向理层提供项目的情况Q不负责代表理层进行管理,只是代表理层来保证q程的执行?/p>
2.3、SQA和其他工作的l合
在很多企业中Q将SQA的工作和QC、SEPG、组l的项目管理者的工作混合在一起了Q有时甚x加注重其他方面的工作而没有做好SQA的本职工作?br /> Ҏhjhza 的意?#8220;中国现在基本有三UQAQ按照工作重点不同来分)Q一是过E改q型Q一是配|管理型Q一是测试型”。我个h认ؓ是因为SQA工作和其他不同工作组合在一起Ş成的?br /> 下面Ҏ本hl验对它们之间的关系q行一个说明?/p>
2.4、QA和QC
两者基本职?br />
QCQ检验品的质量Q保证品符合客L需求;是品质量检查者;
QAQ审计过E的质量Q保证过E被正确执行Q是q程质量审计者;
注意区别查和审计的不?br />
查:是我们常说的找茬,是挑毛病的;
审计Q来认目按照要求q行的证据;仔细看看CMM中各个KPA中SQA的检查采用的术语大量用到?#8220;证实”Q审计的内容主要是过E的Q对照CMM看一下项目经理和高理者的审查内容Q他们更加关注具体内宏V?/p>
对照上面的管理体pL型,QCq行质量控制Q向理层反馈质量信息;QA则确保QC按照q程q行质量控制zdQ按照过E将查结果向理层汇报。这是QA和QC工作的关pR在q样的分工原则下QQA只要查项目按照过E进行了某项zd没有QZ某个产品没有Q而QC来检查品是否符合质量要求。如果企业原来具有QC人员q且QA人员配备不Q可以先定由QCgQQA工作。但是只能是暂时的,独立的QA人员应当具备Q因为QC工作也是要遵循过E要求的Q也是要被审计过E的Q这U合情况,难以保证QC工作的过E质量?/p>
2.5、QA和SEPG
两者基本职?/p>
SEPGQ制定过E,实施q程改进Q?br /> QAQ?保q程被正执?/p>
SEPG应当提供q程上的指导Q帮助项目组制定目q程Q帮助项目组q行{划Q从而帮助项目组有效的工作,有效的执行过E。如果项目和QA对过E的理解发生争持QSEPG作ؓ最l仲裁者。ؓ了进行有效过E改q,SEPG必须分析目的数据?/p>
QA本也要进行过E规范,那么所有QA中最有经验、最有能力的QA可以参加SEPGQ但是要注意q两者的区别?/p>
如果企业的SEPG人员h较ؓ深厚的开发背景,可以gQSQA工作Q这样利于过E的不断改进Q但是由于立法、执法集于一w也Ҏ造成SQAq于强势Q媄响项目的独立性。管理过E比较成熟的企业Q因Z业的文化和管理机制已l健全,SQA职责范围的工作较,往往只是针对具体目制定明确重点的SQA计划Q这样SQA的审计工作会大大减少Q从而可以同时审计较多项目?/p>
另一斚wQ由于分工的l致化,理体系的复杂化Q往往需要专职的SEPG人员Q这些h员要求了解企业的所有管理过E和q作情况Q在q个基础上才能统{全局的进行过E改q,q时了解全局的SQA人员是专职SEPG的主要h选;q些SQA人员逐渐的{化ؓSEPG人员Qƈ且更加了解管理知识,而SQA工作渐渐成ؓ他们的兼职工作?/p>
q种情况在许多CMM5企业比较多见Q往往有时看不见SQA人员在项目组出现或者很出玎ͼq种SEPG和SQA的融合特别有利于l织的过E改q工作。SEPG定q程改进内容QSQA计划重点反映q些改进内容Q从保证有效的改q,特别有利于达到CMM5的要求。从q个角度Q国外的SQA人员Z么高薪就不难理解了,也决定了当前中国SQA人员比较被轻视的原因Q因为管理过E还不完善,我们的SQA人员q没有生这么大的h值嘛Q?/p>
2.6、QA和组l的监督管?/p>
有的企业Z更好的监督管理项目,建立了一个角Ԍ我取名ؓ“l织U的监督理?#8221;Q他们的职责是对所有项目进行统一的跟t、监督、适当的管理,来保证管理层Ҏ有项目的可视性、可理性?/p>
Z有效理目Q?#8220;l织U的监督理?#8221;必须分析目的数据?/p>
他们的职责对照上囄模型Q就是执?#8220;反馈”职能?/p>
QA本n不进行反馈工作,最多对q程执行情况的信息进行反馈?/p>
SQA职责最好不要和“l织U的目理?#8221;的职责合在一P否则Ҏ出现SAQ困境Q一斚wSQA不能准确定位自己的工作,另一斚wq程执行者对SQA人员抱有较大戒心?/p>
如果建立了较好的理q程Q那么就会增强项目的可视性,从而保证企业对所有项目的较好理Q而QA来确保这个管理过E的q行?/p>
三、SQA的工作内容和工作Ҏ
3.1?计划
针对具体目制定SQA计划Q确保项目组正确执行q程。制定SQA计划应当注意如下几点Q?br />
有重点:依据企业目标以及目情况定审计的重?br />
明确审计内容Q明审计哪些活动,那些产品
明确审计方式Q确定怎样q行审计
明确审计l果报告的规则:审计的结果报告给?/p>
3.2、审?证实
依据SQA计划q行SQA审计工作Q按照规则发布审计结果报告?br /> 注意审计一定要有项目组人员陪同Q不能搞H然袭击。双方要开诚布公,坦诚相对?br /> 审计的内容:是否按照q程要求执行了相应活动,是否按照q程要求产生了相应品?/p>
3.3、问题跟t?br /> 对审计中发现的问题,要求目l改q,q跟q直到解冟?/p>
四、SQA的素?/strong>
q程Z心:应当站在q程的角度来考虑问题Q只要保证了q程QQA尽C责Q?/p>
服务_Qؓ目l服务,帮助目l确保正执行过E?br />
了解q程Q深M解企业的工程Qƈh一定的q程理理论知识
了解开发:对开发工作的基本情况了解Q能够理解项目的zd
沟通技巧:善于沟通,能够营造良好的气氛Q避免审计活动成ZU找茬活动?/p>
SQA(软g质量保证)是CMM2U中的一个重要关键过E区域,它是贯穿于整个Y件过E的W三方独立审查活动,在CMM的过E中充当重要角色?/p>
SQA的目的是向管理者提供对软gq程q行全面监控的手D,包括评审和审计Y件品和zdQ验证它们是否符合相应的规程和标准,同时l项目管理者提供这些评审和审计的结果。因此,满SQA是达到CMM2U要求的重要步骤之一?/p>
背景
对Q何制造业企业来说Q质量保证活动都是必不可的。第一个正式的质量保证和控制职能部门于1916q在贝尔实验室出玎ͼ此后q速风靡整个制造业。Y件的质量标准首先出现?0世纪70q代军方的Y件开发合同中Q此后得Cq泛的应用。在软g来普及的今天Q?软g质量保证"更成Y件开发企业和最l用h兛_的问题?/p>
实践证明QY件质量保证活动在提高软g质量斚w卓有成效。IBM360/370pȝ软g的开发经验证明了q一点,IBM的有x告指出,?q的旉里,软g质量提高??倍,而SQA是其质量体系中的一个重要组成部分?/p>
目标
SQAl织q不负责生高质量的软g产品和制定质量计划,q些都是软g开发h员的工作。SQAl织的责L审计软gl理和Y件工E组的质量活动ƈ鉴别zd中出现的偏差?/p>
软g质量保证的目标是以独立审查的方式监控软g生d的执行,l开发h员和理层提供反映品质量的信息和数据,辅助软g工程l得到高质量的Y件品,其主要工作包括以下三个方面:
通过监控软g的开发过E来保证产品的质量;保证生出的软g和Y件开发过E符合相应的标准与规E;保证软g产品、Y件过E中存在的不W合问题得到处理Q必要时问题反映给高理者?/p>
从Y件质量保证的目标中可以看出,SQA人员的工作与软g开发工作是紧密l合的,需要与目人员沟通。因此SQA人员与项目h员的合作态度是完成Y件质量保证目标的关键Q如果合作态度是敌意的或者是挑剔的,则Y件质量保证的目标难以顺利实现?
d
软g质量保证的主要作用是l管理者提供实现Y件过E的保证Q因此SQAl织要保证如下内容的实现Q?br />
选定的开发方法被采用Q选定的标准和规程得到采用和遵循;q行独立的审查;偏离标准和规E的问题得到及时的反映和处理Q项目定义的每个软gd得到实际的执行?/p>
相应圎ͼ软g质量保证的主要Q务有以下斚wQ?/p>
SQA审计与评?/strong>
其中QSQA审计包括对Y件工作品、Y件工具和讑֤的审计,评hq几内Ҏ否符合组l规定的标准。SQA评审的主要Q务是保证软g工程l的zd与预定义的Y件过E一_保软gq程在Y件品的生中得到遵循?/p>
SQA报告
SQA人员应记录工作的l果Qƈ写入到报告之中,发布l相关的人员。SQA报告的发布应遵@3条基本原则:SQA和高U管理者之间应有直接沟通的渠道、SQA报告必须发布lY件工E组但不必发布给目理人员、在可能的情况下向关心Y件质量的人发布SQA报告?/p>
处理不符合问?/strong>
q是SQA的一个重要的dQSQA人员要对工作q程中发现的不符合问题进行处理,及时向有关h员及高理者反映。在处理问题的过E中要遵循两个原则:其一Q对W合标准q程的活动,SQA人员应该U极地报告活动的q展情况以及q些zd在符合标准方面的效果Q其二,对不W合标准q程的活动,SQA要报告其不符合性以及它对品的影响Q同时提出改q徏议?/p>
实施
软g质量保证d的实现需要考虑几方面的问题。首先,要考虑SQA人员的素质。SQA人员的责L审查软g设计、开发h员的zdQ验证他们是否将选定的标准、方法和规程应用到活动中去,因此QSQA工作的有效执行需要SQA人员掌握专业的技术,例如质量控制知识、统计学知识{。其ơ,SQA人员的经验对d的实现同样重要。应该选择那些l验丰富的h来做SQAQ同时ؓSQA人员q行专门的培训,以他们能够胜Qq项工作。第三,l织应当建立文档化的开发标准和规程QSQA人员在工作时有一个依据、判断的标准Q如果没有这些标准,SQA人员无法准地判断开发活动中的问题,Ҏ引发不必要的争论。第四,高理者必重视Y件质量保证活动。在一些组l的软g生q程中,高理者不重视软g质量保证zdQ对SQA人员发现的问题不及时处理。如此一来,软g质量保证流于Ş式,很难发挥它应有的作用。第五,SQA人员在工作过E中一定要抓住问题的重点与本质Q不要陷入对l节的争Z中。SQA人员应集中审查定义的软gq程是否得到了实玎ͼ及时U正那些疏漏或执行得不完全的步骤Q以此来保证软g产品的质量?/p>
此外Q做好Y件质量保证工作还应该有一个计划,用以规定软g质量保证zd的目标,执行审查所参照的标准和处理的方式。对于一般性项目,可采用通用的Y件质量保证计划,而对于那些有着Ҏ质量要求的项目,则必L据项目自w的特点制定专门的计划?/p>
MQY件质量保证是软gq程中的独立审查zdQ它从一个侧面反映了现行软gq程能力的成熟度水^。Y件质量保证活动是贯穿整个软gq程的,那种到编码之后才开始关心质量的做法是极光误的?/p>
在Y件开发实施过E中QSQA是一个独立的角色Q而SQA报告也是其工作的一个重炏V如何把握好SQA报告的客观性与SQA报告的合适度是一个相当重要的问题?
在SQA工作中,SQA报告有些时候很Ҏ失去一U效力;怿实施qSQA工作的组l中也许都碰到过cM的问题,特别是在刚开始实施的企业中;在缺泛促q力的情况下QSQA的工作常怼降低到统计缺L数据Q审怸些无关紧要的问题Q争Z些无关紧要的问题的情况中。在SQAl织相对保守的情况下。甚臌会不敢去同意M产品的发布与交付。在目ȝ会议或更高一U会议的时候,|列出的是一长串令h惊讶的缺陗那么,开发h员又不得不对此花费大量的旉M攏V而结果呢Q却发现q些~陷或FINDING大部分是不媄响Y件运行质量或交付的缺P拼写错误Q语句不通等。而当修复q些所谓的~陷后,很快可以进行交付了?/p>
那么如何把握SQA报告一个简单的原则呢,它不应该受Y件技术经理或目l理的控制。在目q展的过E中Q特别是对于合同目来讲Q进度L很紧张的Q而技术经理通常不愿支持诸如试计划不完_文档不全面,所写文档不正确Q存在一些开发h员本w的问题{之cȝSQA的报告。SQA应该在此情况下,有能够向更高U别理层报告的通道。ƈ能明问题的优先U,争取问题的优先解冟뀂ƈ且确定与协商的过E中需要获得修复关键问题所需要的资源与时间?/p>
在SQA报告的过E中Q对报告U别的选反需要进行考虑与权衡。在目整个开发的q程中,报告U低Q有利于和开发及其它协同工作l保持密切的关系。而存在问题却是会降低报告的媄响程度。不同的l织要根据本w组l的文化与自已项目的实际情况Q定义好相关的机制与通道?/p>
--SQA不能向项目经理报?br />
--SQA不宜跨越本地l织q行报告
--SQA和本C业的最高管理层之间最多只能存在一个管理?br />
--SQA和公司的高质量l理之间应该随时保持一U联p?br />
--SQA在实施中Q有可能的情况下Q要善于捕捉对质量非常关注的的现责h或高h员。ƈ及时向他们报告?/p>
SQA的工作在国内q行的时间本wƈ不长Q也存在着企业对SQA的一些误解等。而工作进展中的障,工作本n~少的创造性等会SQA很容易qU性。从而SQA可能会变成一U统计的官撩机构。而坚持诏L象的理念与理x很难的。在执行的过E中要寻求一U可行性,合理性?/p>