




已阅读5页,还剩78页未读, 继续免费阅读
(管理科学与工程专业论文)关于软件质量保证的参考模型探讨.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于软件质量保证的参考模型探讨 祷要 肤人类发臻计算专隆以泉,计算极约较彳串歼发一童爨制约计算极广 泛应用的瓶颈。上整纪6 0 年代软 牛危机的出现,使人们扶中意谈副, 软件产业应该从其他产业的工程化中得到启示,在1 9 6 8 年北大西洋 公约组织的工作会议上首次提出“软传工程”的概念,提出要用工程 亿的恶想来歼发软件。 软件质墩保证技术,主臻包括两类方法:是事聪控制,以调试、 颡试、技术复零等以不出璇鬣鲢陷为鹭的接术方法,焚主要形式怒找 出缺陷所在;一种是事前控潮,主要形似是以预防为患,通过标准化、 过程管理等如c m m ,i s o 以控制质量缺陷为目的的管理方法。以披 本方法解决瓣题毒一定懿髑驻蛙,焉器潦豫鲍指定只熊卷诉 薮货么, 而不是告诉怎么做,丽襁对于“事后活幼”,质量保证中更重要的是 “事先预防”。因此,软件的质量保证也应该构筑以用户满意为中心, 麓防枣子未然豹质量保证体系。 尽管软件质量越来越受重视,也出现了不少旨程保证质量、指露 软件开发的标准和过程模趔( 如瀑布模型、r u p 模型、c m m 等) ,但这 些标准、方法在软蟹质量 臻诞上只提供了蒙受l 往戆攒露,入褒在袋嚣 软件开发时繁遍感到缺乏得心应手的工嶷。因此,顺沿着软件工程掇 出的思路和s c o r 模型给我们的启示,我们借用在生产质量领域中成 熬戆囊量按期搽涯技零秘管壤鼹念鲡q f d 、麓融等方浚疲矮到较终产 品中去。 我可f 学习b e s tp r a c t i c e 的管理模式、探讨了个有助于解决软 馋蒺量保证豹参考模型( s q u a r e 一醚醚。1 ) ,该摸型袭瑷秀一令系缓 她交替利用转换( q f d ) 、诊断( f m e a ) 、度量( g q m ) 等工具的软件质 疑管理流程,宝用来具体指导软件开发各阶段的质量和质量保证的实 现与控裁。以瀵是爱户露窳为孛心、掇爨生产:蓬程效攀、去滁映錾秘 浪费来实现的,通过度量来分析过程,设定目标,使得各个阶段的质 量控制有章可循。 软件质量保证的参考模型( s q u a r em o d e l ) 关注的是在软件质 量保证标准( 如c m m ) 的指导下,在软件开发过程( 如r u p ) 的引 导下,通过转换、诊断、度量等手段来改进流程,可以把它看作流程 改进的诊断工具,通过此模型的应用,能够准确地交流软件产品可能 出现的问题,客观地评测其质量性能,确定质量性能改进的目标,参 考模型通常包括一整套流程定义、测量指标和比较基准,以帮助软件 质量保证流程改进的策略,找出软件质量与用户需求,质量标准与技 术之间的“路线图”。 关键词:软件开发,软件质量,软件质量保证,参考模型,数据仓库 e x p l o r i n gr e f e r e n c em o d e l o fs o f t w a r e q u a l i t ya s s u r a n c e a b s t r a c t s o f t w a r ed e v e l o p m e n th a sb e e nt h eb o t t l e n e c kh i n d e r i n gt h ew i d e l y a p p l i c a t i o no fc o m p u t e rs i n c ec o m p u t e ri n v e n t e d a tt h es o f t w a r ec r i s i s a r o s ei n1 9 6 0 s ,p e o p l eh a v eb e e na w a r et h a ts o f t w a r ei n d u s t r ys h o u l db e i n s p i r e db yo t h e ri n d u s t r y se n g i n e e r i n g a n di n1 9 6 8 ,a tt h ew o r k i n g c o n f e r e n c eo r g a n i z e db yn a t o ,i tw a st h ef i r s tt i m et op r o p o s et h e c o n c e p t i o no f s o f t w a r ee n g i n e e r i n gt od e v e l o ps o f t w a r e t h e r ea r et w ok i n d so fa s s u r a n c et e c h n o l o g yi ns o f t w a r eq u a l i t y : a f t e r - c o n t r o la n df o r e c o n t r 0 1 a f t e r - c o n t r o li st ou s ed e b u g g i n g ,t e s t i n g , r e e x a m i n i n ga n do t h e rt e c h n o l o g ym e t h o d st oa v o i dq u a l i t yd e f e c t s , f i n d i n gd e f e c t sa r ei t sm a i nf o r m f o r e c o n t r o li st oc o n t r o lq u a l i t yd e f e c t s t h r o u g hp r o c e s ss t a n d a r d i z a t i o na n dm a n a g e m e n tm e t h o d s ,s u c ha sc m m a n di s o ,p r e v e n t i o ni si t sm a i nf o r m t h e r ea r es o m el i m i t a t i o n si n a f i e r - c o n t r o l ,b e c a u s ew eo n l yk n o ww h a tt od or a t h e rt h a nh o wt od o t h o u g ht h es t a n d a r d s ,f u r t h e r m o r e ,f o r e p r e v e n t i o ni sm o r es i g n i f i c a n t t h a na f t e r - a c t i o ni nt h eq u a l i t ya s s u r a n c e s o ,t h eq u a l i t y 雹s s n l 3 n c co f s o f t w a r es h o u l db u i l dt h es y s t e m ,w h i c hf o c u s e so nc u s t o m e r s s a t i s f a c t i o na n dc o u l dp r e v e n t 臼o u b l e si na d v a n c e t h es o f t w a r eq u a l i t yh a sb e e ni n c r e a s i n g l ye m p h a s i z e da n dt h e r ea r e s o m es t a n d a r d sa n dp r o c e s sm o d e l s ( s u c ha sw a t e r f a l lm o d e l ,r u pm o d e l , c m ma n ds oo n ) ,w h i c ha r ea i mf o ri n s u r i n gq u a l i t y , g u i d i n gs o f t w a r e d e v e l o p m e n t h o w e v e r , t h e yj u s tp r o v i d eap r i n c i p l eg u i d e l i n e ,a n d p e o p l eg e n e r a l l y f i n dt h el a c ko fs u i t a b l et o o l si ns o f t w a r eq u a l i t y a s s u r a n c e t h e r e b y , f o l l o w i n g t h et h r e a d s u g g e s t e db y s o f t w a r e e n g i n e e r i n ga n dr e v e l a t i o nd e r i v e db ys c o rm o d e l ,w ea p p l yt h e i i i a s s u r a n c et e c h n o l o g i e si nq u a l i t yc o n t r o la n dm a n a g e m e n ti d e a ss u c ha s q f da n df m e at ot h es o i t w a r ep r o d u c t ,w h i c hh a v e b e e nw i d e l yu s e di n m a n u f a c t u r eq u a l i t ya r e a a f t e rs t u d y i n gt h em a n a g e m e n tm o d eo fb e s tp r a c t i c e s ,w ee x p l o r ea r e f e r e n c em o d e lo f s o f t w a r eq u a l i t ya s s n f a n e e ( s q u a r em o d e l ) ,w h i c h r e p r e s e n t sa sam a n a g e m e n tp r o c e s so fs o f t w a r eq u a l i t yu s i n gt o o l sq f 魏 f m e aa n dg q m a l t e m a f e l y t h i sm o d e li su s e dt od i r e c tt h er e a l i z a t i o n a n dq u a l i t ya s s u r a n c ei ne a c hp h a s eo fs o f t w a r ed e v e l o p m e n t a n di ti s f o c u s i n go i lc u s t o m e r sd e m a n d ,i m p r o v i n ge f f i c i e n c y , g e t t i n gr i d eo f d r a w b a c ka n dw a s t e i ta n a l y z e st h ep r o c e s sb ym e a s u r i n ga n ds e t t i n gt h e g o a l s ot h eq u a l i t yc o n t r o li ne a c hp h a s ei sw e l l f o u n d e d u n d e rt h eg u i d a n c eo f a s s u r a n c es t a n d a r do f s o f t w a r eq u a l i t y ( s u c h 躯c m m ) a n dt h ed i r e c t i o no f s o f t w a r ed e v e l o pp r o c e s s ( s u c ha sr u p ) , t h e ( s q u a r e _ m o d e l ) c o n c e r n s o n i m p r o v i n g t h e p r o c e s sb y t r a n s f o r m a t i o n ,d i a g n o s i sa n dm e t r i c i ti sad i a g n o s i st o o li nt h ep r o c e s s i m p r o v e m e n t i tc o u l da c c u r a t e l ye x c h a n g et h ei n f o r m a t i o no fp o s s i b l e p r o b l e m s ,o b j e c t i v e l ye v a l u a t et h eq u a l i t yp e r f o r m a n c ea n dm a k et h e r e f i n es o f t w a r e t h i sr e f e r e n c em o d e li n c l u d e sas e r i e so fp r o c e s s d e f i n i t i o n ,m e a s u r i n gi n d e xa n dc o m p a r i n g b e n c h m a r k st oh e l pi m p r o v i n g t h ep r o c e s so fs o f t w a r eq u a l i t ya s s u r a n c e , f i n d i n g r o a d m a pb e t w e e n s o f t w a r eq u a l i t ya n dc u s t o m e rd e m a n d ,q u a l i t ys t a n d a r d sa n dt e c h n o l o g y c h e nz e h u i ( m a n a g e m e n ts c i e n c ea n de n g i n e e r i n g ) s u p e r v i s e db ya s s o c i a t ep r o f c h e nj i n g x i a n k e y w o r d s :s o f m 勰d e v e l o p m e n t , s o t k a r eq u a l i t y , s o f t w a r eq u a l i t y a s s u r a n c e ,r e f e r e n c em o d e l ,d a t aw a r e h o u s e 附件二: 东华大学学位论文原创性声明 本人郑重卢明:我恪守学术道德,崇尚严谨学风。所呈交的学位论文,是本人在导 师的指导下,独立进行研究工作所取得的成果。除文中己明确注明和引用的内容外,本 论文不包含任何其他个人或集体己经发表或撰写过的作品及成果的内容。论文为本人亲 自撰写,我对所写的内容负责,并完全意识到本声明的法律结果由本人承担。 学位论文作者签名:件l 晕畔 日期:o 即年月日 附件二; 东华大学学位论文版权使用授权书 学经论文终卷完全了解学授毒芙绦整、经耀学位论文静裁定,禚塞学鼓保錾兹囱 豳家有芙部门或机构送交论文的复e 0 t t + 和电子版,允许论文铍卉阅或借阅。本人授权尔 簪天学可坟将本窜萤论文麓全郝或部分内容镛入商关数据疼遗 i 检索t 霹莎聚蠲影印、 缩印或扫描等复制手段保存和汇编本学位论文。 傺密口,在年解密后逶翊本版权棒。 本学位论文属丁 不保密耐: 学位论文作者签名: 榭毒辑 日期:沙b 年f 月驴 指导教师签名 阿乞匕 日期:抑1 年f 月了网 第一章言 第一章引言 1 1 论文研究课题的提出 在计算机应用越来越广泛的今天,软件业的发展伴随着硬件技术 水平的提高在大踏步地盼进。1 9 6 8 年北大西洋公约组织的工作会议上 首次提出“软件工程”的概念,提出要用工程化的思想来丌发软件, 软件的开发方法经历了从上世纪7 0 年代瀑布模型、螺旋模型的发展 到今天r a t i o n a l 统一过程( r u p ) 、极限编程( x p ) 的广泛应用,同 时人们对软件的要求也越来越高,不仅要求它们能够解决问题,而且 要方便,快速,完美地解决问题,因此软件的质量也逐渐引起了人们 高度的重视。人们开始寻找好的方法来提高软件的过程能力,改善丌 发的产品质量。从2 0 世纪8 0 年代中期开始,由美国国防部资助,卡 内基梅隆大学软件工程研究所( c m u s e i ) 最先提出了“软件能力成 熟度模型( s w - c m m ) ”,用来指导软件企业对软件过程进行管理和改进, 增强开发与改进能力,从而能按时地开发出高质量的软件。随着c m m 模型研究工作的不断深入,模型的新版本也不断被更新,c m m 目前通 用流行的版本是1 1 。随着c 删被越来越多软件组织、软件企业所采 用,它已成为目前最具影响力的软件生产过程标准。 c m m 是一个软件工程时间的纲要,它以逐步演进的框架形式不断 地完善软件开发和维护过程。作为重要的软件质量改进指导标准之 一,c 删告诉我们该做什么( w h a t ) ,什么时候去做( w h e n ) ,谁去做 ( w h o ) ,但是它却没有告诉我们该怎么去做( h o w ) 。而现在随着技术 的进步,软件开发的过程也变得越来越复杂。软件丌发所面对的对象 由数据逐渐转变为对象、构件,而且开发方法也呈现多样化,但是软 件测试还是作为软件质量保证的主要手段。虽然软件工程中,提倡全 过程测试。并强调设计审查( d e s i g nr e v i e w ) 的重要性,但是从软件 丌发组织的长远发展来看,仅仅做到这些还是不够的。软件测试作为 软件质量保证的一种重要手段,它所能够起到的作用只不过是发现缺 第一章引言 陷加以改正,它不能从本上控制缺陷的产生。 软件质量保证是由一系列环环相扣的活动组成的,技术、标准在 这罩扮演着很重要的把关作用,但是一个作为只告诉结果的标准和一 个只能专注于解决具体细节问题的技术,其中间缺乏一个能够衔接这 两者的工具。打个比喻,标准好比是目的地,技术好比是交通工具( 如 汽车) ,虽然你知道要到什么地方去,而且手中也有了交通工具,但 是你没有具体的路线图,不知道怎么走,就更不知道最优路线是什么, 因此很有必要有一路线图将标准( 目的地) 和技术( 汽车) 联系起束, 告诉具体该怎么做,此路线图就是我们所要探讨的软件质量保证的参 考模型。 作为第一个标准的供应链流程参考模型,s c o r 模型能够给我们 的质量保证参考模型一些启示。s c o r 模型是供应链的诊断工具,涵 盖所有行业。它使企业间能够准确地交流供应链问题,客观地评测其 性能,确定性能改进的目标,并影响今后供应链管理软件的开发。流 程参考模型通常包括一整套流程定义,测量指标和比较基准以帮助企 业开发流程改进的策略。 因此,顺沿着软件工程提出的思路和s c o r 模型给我们的启示, 我们借用在生产质量领域中成熟的质量控制保证技术和管理观念如 q f d 、f m e a 等方法应用到软件产品中去,使得各个阶段的质量控制有章 可循。 尽管软件质量越来越受重视,也出现了不少旨在保证质量、指导 软件开发的标准和过程模型( 如瀑布模型、r u p 模型、c m m 等) ,但这 些标准、方法在软件质量保证上只提供了原则性的指导,人们在展开 软件丌发时普遍感到缺乏得心应手的工具。因此我们学习b e s t p r a c t i c e 的管理模式、探讨了一个有助于解决软件质量保证的参考模 型,该模型表现为一个系统地交替利用转换( q f d ) 、诊断( f m e a ) 、 度量( g q m ) 等工具的软件质量管理流程,它用来具体指导软件开发 各阶段的质量和质量保证的实现与控制 软件质量保证的参考模型( s q u a r e _ m o d e l ) 关注的是在软件质 第一章引言 量保证标准( 如c m m ) 的指导下,在软件开发过程( 如r u p ) 的引 导下,通过转换、诊断、度量等手段来改进流程,可以把它看作流程 改进的诊断工具,通过此模型的应用,能够准确地交流软件产品可能 出现的问题,客观地评测其质量性能,确定质量性能改进的目标,参 考模型通常包括一整套流程定义、测量指标和比较基准,以帮助软件 质量保证流程改进的策略,找出软件质量与用户需求,质量标准与技 术之日j 的“路线图”。 1 2 论文结构 针对以上所提出的问题,本文的结构框架如下:第二章是文献综 述;第三章是软件质量分析,将本文要讨论的软件质量概念具体化, 通过分析,将本文所讨论的对象及它的特点展现出来,并分别就软件 质量保证方法与软件开发方法对软件质量的具体实现形式和它们之 日j 的关系作了分析:第四章在第三章的基础上就发现在软件质量保证 指导性的标准与具体实施控制技术上存在的真空,提出了解决此真空 问题的软件质量保证参考模型,是对此参考模型的来龙去脉、结构和 具体形式的说明。第五章结合实际应用具体说明参考模型在质量保证 中应用。第六章是对全文的总结与进一步研究的展望。附录中具体介 绍了q f d 、f m e a 和g q m 的实施步骤。 1 3 论文的贡献 本文的主要贡献在于:第一、将生产制造中成熟的质量控制方 法q f d 和f m e a 应用到软件的质量控制中去;第二,利用s c o r 模 型的启示,系统化的提出了软件质量保证的参考模型( s q u a r e m o d e l ) ,通过转换、诊断、度量等手段来改进流程,帮助软件质量 保证流程改进,将软件质量与用户需求,质量标准与技术之间紧密联 系在一起。 第二章相关研究文献的节况 第二章相关研究文献的情况 在引言中谈到了软件质量保证的参考模型,该模型表现为一个系 统地交替利用转换( q f d ) 、诊断( f m e a ) 、度量( g q m ) 等工具的 软件质量管理流程,它用来具体指导软件开发各阶段的质量和质量保 证的实现与控制。因此有必要对与本文主题相关的文献讨论范围稍作 拓宽,以便理清本文研究课题的由来与发展的主线。 本章的结构如下:第一节是介绍到目前为止对质量和软件质量的 定义;第二节总结了影响软件质量的一些主要因素;第三节简介了与 软件质量保证相关的一些标准、技术;第四节简要介绍了瀑布模型、 r u p 等软件开发方法;第五节介绍的是关于本文探讨的参考模型所用 到的主要工具q f d 、f m e a 、g q m 的情况;第六节介绍s c o r 模型。虽然第五节介绍的主要工具已经问世多年,而且诸如q f d 、 f m e a 等成熟的工具已经在生产制造业中被广泛应用,能够有效系统 地保证工业产品的质量,但这些工具没有同时应用在软件质量保证 中,而且作为参考模型的主要组成部分,它们在本文探讨软件质量保 证的研究中发挥了很大的作用。第六节介绍的供应链s c o r 模型是启 发我们规范化思考这些工具的应用,系统化地表现软件质量保证的参 考模型。 2 1 质量和软件质量的定义 质量的概念到目前为止有许多不同的定义。 著名的质量管理专家j u r e n ( 1 9 7 9 ) 把质量定义为“产品在使用 时能够成功地适合用户目前的程度”【l 】。 国际标准组织( i s o ) 把质量定义为“反映实体满足明确和隐含 需要的能力的特性总和”【l 】。 日本的田口玄一( 1 9 8 5 ) 提出:“所谓的质量,是指商品上市后 给予社会的损失。但是由功能本身所产生的损失除外”1 2 1 。 由于人与产品关系的不同形成了不同的质量关,d a v i da g a r v i n 第一二苹r 。关研冗文献的情况 于1 9 8 7 年在哈佛商业评论发表的一篇文章中根据人和产品的关系, 从八个方面去认识质量,他认为“质量意昧着满足顾客,但不仅仅使 他们免于烦恼”,并从中得出“质量是一个复杂的概念,它具有多个 侧面”【3 】。 g b f f6 5 8 3 1 9 9 41 4 1 等同于国际标准组织( i s o ) 的质量定义标准。 g b t1 9 0 0 0 2 0 0 0 标准中,质量被定义为“一组固有特性满足要 求的程度”1 5 1 。 同样,对于软件质量也有好几个定义: m j f i s h e r ( 1 9 7 9 ) 6 1 定义软件质量为:所有描述计算机软件优秀 程度的特性的组合。 t o mm c c a b e 【7 】认为软件质量是“较高的用户满意程度以及较低的 缺陷等级,这常常同较低的软件复杂度有关”。 s e i 的w a t t sh 砌p l l r e y 【7 j 倾向于将软件质量定义为“具有很高的 可实用性,同需求很好吻合,并具有高的可靠性和可维护性”。 i e e es t d6 1 0 1 2 1 9 9 0 t 8 l 对质量的定义是:( 1 ) 一个系统、组件或 过程符合特定需求的程度;( 2 ) 一个系统、组件或过程符合客户或用 户的要求或期望的程度。 g b t1 1 4 5 7 1 9 9 5 1 9 1 软件质量定义为“a 软件产品中能满足给定需要 的性质和特性的总体。例如,符合规格说明;b 揿件具有所期望的各 种属性的组合程度:c 顾客和用户觉得软件满足其综合期望的程度; d 确定软件在使用中将满足顾客预期要求的程度。” 从上面的定义来看,质量和软件质量的定义不是唯一的,在不同 的情况下,对不同的人来说,质量从不同的角度,不同的侧面来看具 有不同的含义。质量是由多种因素构成的,而且各个因素之问都具有 相关性。 2 2 影响软件质量的主要方面 软件生产是一个复杂的过程,软件项目的每一个环节同时包含有 技术和管理的双重属性,软件产品的质量与技术、管理息息相关。而 影响软件质量的主要因素可以概括为管理、技术、管理与技术相结合 第二掌辘关研究文献豹嚣狂 这三方嚣。 2 2 。1 管理方面 影响软件质量的管理方面主要是项目管理。 人月神话【l o l 中著名的b r o o k s 定律:向落聪的项目添加人手, 只会使进度更加落后;b r o o k s 认为编程必须进入到软件工程,以便达 到概念和体系结构的完整组合;进度的安排必须考虑到后期构件测试 和系统测试的瀵毵;伐秀的软l 孛开发团队必须有羞向外科簪术队伍一 样豹鹗确分工与各尽其职;壤念完整蚀对于大塑项目的重要;期使是 大鳌酌餮酞,设计结暴也必须出一溪令人来完成,以保证这决定戆一 致性;函阢成员的交流可戮使整个项醋协调发展; 禚与熊共舞f l l l 中t o md e m a r c o 和t i m o t h yl i s t e r 诀为莓前软 件项目中的核心风险是( ”进度安排的先天错误;( 2 ) 需求膨胀( 需 求变化) :( 3 ) 人员流失;( 4 ) 规约崩溃;( 5 ) 低生产率。 2 2 2 管理与技术相结合方面 需求分析是管理帮技术禳结合静一大方瑟。软件开发豹第一遴工 序是系统需求分析,怎样有效缝分析,整疆并粮疆溺产需求并反酸翔 设计过程,提高用户满意度,是软件质量保证的首要问题【琢。 需求分析的困难性仍是目前软件歼发中的问题之。主要是因为 需求项目中混杂蔫各种各样的需求,许多项耳的概念范畴也不相同, 两且用户对软件的霆求是一个不麟增长的过穰,当开发进行到相当程 度之艨,仍毒震求顼鼹递掬,馒设计方案经常变更面弓l 起软传质量失 控。 还有点是糟户与设计者及设计者与拜发人员之阔鹣沟逶协调 成为问题。对于用户来说,在缀大程度上他们不知道蠢己的需求楚什 么,设计者们根据他们所知道的需求设计出来的产品在功能方面的要 求与开发工程师之间又存在偏差,这样的后果导致软件产品往往与用 户所要的“谬以千里”,更不用说质量了。 第二章相关研究文献的情况 2 2 3 技术方面 影响软件质量的技术方面因素主要是软件测试,软件测试是保证 软件质量重要的手段。测试技术如单元测试、集成测试等等已经被广 泛地使用,这里就不具体再叙述。下面主要谈谈测试理论的发展。 测试理论在上个世纪七八十年代有了比较大的发展,在软件质 量与保证 1 中提到g o o d e n o u g h 和g e r h a r t 于1 9 7 5 年提出的测试 充分性准则的概念,以及他们对充分性准则的可靠性和正确性要求, 还介绍了h o w d e n 在1 9 7 6 年所证明的不存在可计算的能够保证所有可 计算函数的正确性的充分性准则的定理,以及w e y u k e r 和o s t r a n d 对 充分性准则的可靠性和正确性的理论分析。这些研究表明,以可靠性 和正确性为特性来刻画软件测试的充分性具有严重的缺陷。 但是,g o o d e n o u g h 和g e r h a r t 所提出的测试充分性准则这一概念 在软件测试的理论研究和实践中的作用受到了普遍的重视。从7 0 年 代开始,文献中涌现出大量的充分性准则,以及对这些充分性准则的 分析、比较等研究工作。但是,对充分性准则的分析、比较的结论往 往相互冲突,颇多争议。即使对什么样的准则才能看作是真正的充分 性准则这一基本问题,也始终未能得到令人满意的结果。 而作为对软件测试充分性的一般性质的研究,8 0 年代中期开始了 对充分性准则的公理化研究,旨在从理论的高度认识软件测试的充分 性。1 9 8 6 年w e y u k e r 在其开创性工作中提出t a 条公理【1 2 】,可主要概 括为以下几点: 有限可作用性:任何程序都存在有限的充分的测试数据集。 单调性:如果一个程序能够被测试数据集t 充分测试,则它可以 被任何一个包含t 测试数据集充分测试。 空集不充分性:空集对测试任何程序都是不充分的。 非外延型、一般多重修改性质:语义或语法关系,语义或语法结 构非常接近的两个程序,其充分测试集是不同的。 不可分解性、非复合性:程序整体与部分关系,程序的整体得到 充分性测试并不意味着其中的组成部分都得到充分性测试。同样,所 第二常相关研究文献的情况 有的组成成分都得到充分性测试并不意味着程序的整体得到充分性 溯试 w e y u k e r 在1 9 8 8 年1 1 3 1 农对这然公理的分柝的基础上补充了三条公 理,将测试充分性与软件复杂性联系起来,可概括如下: 鬟命名侄:在语义与语法完全相同酌两个程序,其要求闰样的测 试数据集。 艇杂性:一个程序可以被一个含n 个测试数据的数据集t 充分测 试,讴对于少于n 个溯试数据数籀集霜不能充分灏试诧程黟,帮稳序 的“复杂性”越来越大时,充分熬测试数据集就要包含越来越多的测 试数据。 诺句覆滚性:测试充分性的必要条件是测试数据必须覆盖程序中 的掰蠢语句。 1 9 8 9 年z w e b e n 和g o u r l a y 川,1 9 9 1 年p a r r i s h 和z w e b e n 1 5 1 对这 些公聪进行了形式亿和遴一步的分析,将公理之闻静相互依赖关系作 了说明,妇疆訇覆覆牲、霹终用蛙翻单调性爨含羞不可分瓣性,谬句 覆盖性和复杂性蕴岔非辨延性等等关系。 劐目前为止,软件测试充分性公理基本上还是在w e y u k e r 的公理 上徽魑改遴、说骥秘应簿,磐p a r r i s h 窝z w e b e n ( 1 9 9 3 ) 【嘲戆对软 件测试基本概念的澄清,w e y u k e r ( 1 9 9 3 ) 1 7 1 的在数据流测试上的经 验,朱鸿等的1 9 9 3 年的溯试数据充分性测量ns l ,1 9 9 5 年的基于控制 滚充分性准簧| l 戆译徐 9 l 耪1 9 9 6 年薅充分性准翔兹包会关系分褥删。 测试理论虽然说明了软件测试的数据集是有限的,但怒如何找出 这个有限测试集是很困难的,而且测试的效率与测试充分度有直接关 系。1 9 9 3 孥f r a n k l 移器e i s s 【2 1 1 发瑷,炎骞当铁分度接近l o 溉嚣,雳 能使测试识别错误的能力得到充分发挥,如图2 1 所示: 第二章相关辨究文献的情况 1 o o 专 o5 嘲2 1 测试充分度与揭锩能力之润关系陶 嚣鬣宽静寝 因此,如果鹧单从测试去保证软件质量,是非常困难的。而且从 根本上来讲,测试是属予“事后活动”,其霸的是找出缺陷并加以修 改,这穆渗耘不治本戆方法不戆麸稷本土跨建震羹缺貉瓣产生。 2 3 软件质量保证 到现在为止,对软件质量保证介绍的比较全面的是s e h u l m e y e r 等( 2 0 0 3 ) 的软件质鬃保证f 2 2 1 第三版,睫面介绍了与软件质量工 终鞠关熬标准、技本、安黢经耱帮程荚缀织。这受嚣涉及麓豹技术骞 审鸯技术、度量技术,软件配篷管理、p a r e t o 原理( 8 0 2 0 原则) 等 等;涉及别的质量保证和软件歼发的标准有c m m 模型、1 9 9 4 年发布 熬搬o s 阳4 9 8 软律秀发窝文档证) 、1 9 9 5 年发毒鹣l s 雠e e l 2 2 0 7 ( 软件生命周期围际标准) 、1 9 9 6 年发布的i e e e s t c i 1 0 2 7 ( i e e e 开 发软件生命周期过程标准) 等等。作为软件质量保证的一本手册 ( h a n d b o o k ) ,蘸书静溺盖瑟菇是褶警广熬。 软件质量保证中总结丁多位知名专家,软件公司对软件质量 保诋和软件质量控制的理解,它对软件质量保证的诠释是:软件质量 保谖楚一系列系统活动豹过程,宅提供灌是精产需求静软粹过稔豹链 力谖据;对软件质量控制的诠释是;软件质爨控制是对开发可用软彳孛 尹二章相关研究文献的情况 的过程能力的独立评价。从软件质量保证对软件质量保证和质量 控制的定义,可以比较容易看出,软件质量控制是属于软件质量保证 中的一个环节,它主要是评价软件过程能力证据,而软件质量保证要 贯穿于整个软件开发过程。 2 4 软件开发方法 从2 0 世纪7 0 年代提出的瀑布模型开发方法到9 0 侄代中后期 r a t i o n a l 统一过程( r u p ) 的发布以及近几年在个人丌发者和小团队 中流行的敏捷开发方法,如极限编程( x p ,e x t r e m ep r o g r a n u n m d 的 出现,无不说明软件需求的发展影响软件开发方法的演变,下面就瀑 布模型、r u p 和极限编程进行简要介绍。 2 4 1 瀑布模型 在软件开发的瀑布模型中,从保证软件质量的角度来说,软件测 试是软件质量保证工程的一个重要组成部分,也是最重要的质量保证 手段。测试作为一个非常重要的工程阶段,是在编码之后才开始进行 的,这在很大程度上不能满足质量保证的需求,因此对软件测试进行 了扩充,通过需求测试、架构测试、详细设计测试、单元测试、集成 测试以及验收测试等各个工程阶段来贯穿软件开发的全过程。虽然这 对于识别和控制软件缺陷、提高软件质量起到了很明显的成效,但是 从本质上来说,其所针对的测试对象都是软件产品、半成品或者过程 工作产品,其所报告的测试结果也只是为了识别出现阶段产品的缺 陷,并加以纠正以支持下一阶段的开发工作。从软件开发组织的长远 发展来看,仅仅做到这些还是不够的。软件测试作为软件质量保证的 一种重要手段,它所能够起到的作用只不过是发现缺陷加以改正,这 不能从根本上控制缺陷的产生。因此,对软件质量的保证的运用不仅 要能够识别软件产品的缺陷并加以改正,还应该在软件测试中结合其 他的质量保证技术,如统计方法、审计方法、度量方法等等来进行支 持组织对软件开发过程的评估和改进。 第二章相关研究文献的情况 2 4 2r a t i o n a l 统一过程( r u p ) r u p 是一种方法,以迭代为形式、架构为中心、用例( u s e c a s e ) 为驱动的软件开发方法。r u p 的结构可分为静态结构和动态 结构田】: 静态结构:垂直方向表示,描述过程元素( 角色r o l e 、制品 a r t i f a c t 、活动a c t i v i t y 等! 在逻辑上如何进行组织,来构成软件开发 的活动序列。过程序列描述了谁( w h o ) 做什么( w h a t ) ,用什么方法 ( h o w ) 在什么时候( w h e n ) 来做。 动态结构:水平方向表示,分为四个阶段( 初始、细化、构造、 移交) ,各个阶段包含一个或多个迭代。从生命周期、阶段、迭代和 里程碑的角度来说明开发的具体过程。如图2 2 所示。 图2 2r u p 的表示图 r u p 把软件开发过程分成4 个阶段( p h a s e s ) 和9 个核心工作流 程( c o r ew o r k f l o w s ) ,通过一次次的迭代( i t e r a t i o n s ) ,完成整个的 软件生命周期。r u p 可以把软件开发过程分到非常细小的单位,每个 角色( w o r k e r s ) 都参与活动( a c t i v i t i e s ) ,产生出工件( a r t i f a c t s ) 。 由于精密的控制,所以r u p 可以胜任于超大型的项目开发。虽然r u p 定义了很多微小的活动,但是由于c a s e 工具的使用,它并不会像传 统瀑布模型那样陷入文档的海洋中。r u p 通过适当的剪裁,同样可以 第二章相关研究文献的情况 试用于较小型的项目。 r u p 从大量的成功项目中提取出来几条原理,这些原理是: 尽早并且不断地化解重大的风险,否则将会带来很多的麻烦 确保满足客户的需求 把注意力放到可执行的软件上 在早期确定一个可执行的架构 使用构件构造系统 建立高效团结的开发团队 始终重视质量 r u p 对质量的指导思想是通过设计来保证质量( q u a l i t yb y d e s i g n ) ,它将全面质量管理的思想引进来,不是通过发现缺陷来保 证软件质量,而是通过设计质量来进行 2 4 3 极限编程( x p ,e x t r e m ep r o g r a m m i n g ) 制定了大量的规则的r u p 方法被称为重量级( h e a v y w e i g h t ) 的 方法,而像x p 这样只制定少量的规则来规范行为的方法被称为轻量 级( l i g h t w e i g h t ) 的方法,这种方法统称为敏捷( a g i l e ) 方法。x p 是由k e n tb e c k 提出的。由于在软件开发的过程中,经常遇到客户需 求的不明确或经常变动以及开发人员之间的交流导致的隔阂而造成 软件项目的达不到目标要求而失败。在经历传统软件开发的痛苦之 后,k e n tb e c k 总结了大量的软件的成功和失败的因素之后,提出了 改进软件开发方法的四个要素:沟通( c o m m u n i c a t i o n ) 、简单化 ( s i m p l i c i t y ) 、反馈( f e e d b a c k ) 、勇气( c o u r a g e ) 。这形成了x p 的核 心价值观,x p 将测试作为整个开发的基础,也是x p 在保证软件质 量的独特的手段。 极限编程适合于较小的项目,适合那些需求不明确或经常变动的 项目,x p 总结出了软件生产的十余条做法( p r a c t i c e ) ,涉及软件设计、 测试、编码、发布等各个环节。与其它轻量级方法相比,x p 独一无 二的突出了测试的重要性,甚至将测试作为整个开发的基础,每个开 第二章相关研究文献的情况 发人员不仅要书写软件产品的代码,同时也必须书写相应的测试代 码;所有这些代码通过持续构建和集成( c o n t i n u o u sb u i l d & i n t e g r a t i o n ) 为下一步的开发打定了一个高度稳定的基础平台。有了 这样的基础平台的保证,x p 就可以实旌软件设计的重构 ( r e f a c t o d n g ) 。x p 的设计理念是,在每次迭代周期仅仅设计这次迭 代所要求的产品,上次迭代周期中的设计通过重构形成此次的设计。 2 5 工具对软件质量的控制 目前,就软件开发方法来说,软件结构是影响其质量的重要因素之 一。为了设计出具有合理结构的软件,应该怎样描述将要开发的软件, 以及如何进行结构化是一大问题。软件工程中,提出了各种各样的方 法。但由于它们在结构化过程中的基准不十分明确,所以导出的结构 容易依存于设计者的经验【摊拥。近年受到人们重视的面向对象软件开 发方法,其对象建模和分类也没有定量的基准,这也是阻碍软件质量 保证开展的原因之一。无论是瀑布模型,还是r u p 或x p ,都把测试 看作软件质量保证的主要手段,而工业产品中质量保证的重点,早已 从测试检查、工序控制,向源流管理( 顾客满意) 变迁。质量保证的方 法也从抽样检查、统计控制,发展为全面管理。虽然软件工程中,提 倡全过程测试。并强调设计审查( d e s i g nr e v i e w ) 的重要性。但质量 保证中更重要的是事先预防。因此,软件的质量保证也应该构筑以用 户满意为中心,能防患于未然的质量保证体系。参考模型中的q f d , f m e a 和g q m 则是在这方面已成功应用的方法。 2 5 1q f d 发展的历史及在软件中的应用 q f d ( q u a l i t y f u n c t i o nd e p l o y m e n t ) 是通过把握用户的需求,准 确定位产品的概念,科学有效地进行质量策划,将它们转化为产品开 发或改进的一种有效工具。它利用一系列的形如房屋的表格( 质量屋) 层层展开来实现这种变换 2 s l 。q f d 最开始是日本三菱重工的神户造 船所针对质量的可靠性于1 9 6 6 年在实践中所创,经赤尾洋二( y o j i a k a o ) 初步完善后于1 9 7 2 年正式提出,八十年代初介绍到美国1 2 9 1 。 第二章相关研究文献的情况 赤尾洋z 1 3 0 认为q f d 的作用可以归纳为两条:q f d 开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自愿协议范文5篇
- 新能源汽车轻量化零部件智能制造项目经济效益和社会效益分析报告
- 2025钢模板租赁协议全文版
- 2025年中国手持式奶泡器行业市场全景分析及前景机遇研判报告
- xx园区污水处理及管网配套工程社会稳定风险评估报告
- 2025企业租赁合同与法律适用管理资料
- 档案员基础试题及答案
- 银粉生产线项目施工方案
- 合同基础管理试题及答案
- 大学应用基础试题及答案
- 山东省烟台市2024-2025学年高一下学期期末学业水平诊断生物试卷(含答案)
- 研究我国养老院老年人精神养老的现状、问题及改进策略
- 眼保健操原理和穴位按摩要领
- 妊娠与产后甲状腺疾病诊断指南
- 福建土楼文化课件下载
- 医院廉洁行医培训
- 2025年山西省中考物理试卷真题(含答案解析)
- 口腔医疗质量与安全管理体系
- 安全生产知识竞赛题库(1800道)
- 律所清算破产管理制度
- T/SFABA 2-2016食品安全团体标准食品配料焙烤食品预拌粉
评论
0/150
提交评论