已阅读5页,还剩48页未读, 继续免费阅读
(管理科学与工程专业论文)软件缺陷管理技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
武汉理l 。大学硕士学位论文 摘要 随着计算机科学技术的快速发展,软件的应用领域逐步推广,软件规模和 成本逐渐增大,软件设计的复杂程度不断提高,软件开发中出现错误或缺陷的 机会越来越多,同时,市场对软件质量的重要性的认识逐渐增强。所以缺陷管 理作为软件生命周期的一部分,其在软件项目实施过程中的重要性日益突出, 是保证软件质量的重要手段。 本文首先从软件测试的基本概念入手,指出了软件测试的根本目的就是提 高软件质量。引入了软件测试的数据流图和执行机制,介绍了软件测试的两种 基本方法;白盒测试和黑盒测试,并对其进行了比较。随后明确了软件测试应 遵循的过程:单元测试一综合测试一确认测试一系统测试,对每个过程的要点 和方法进行了剖析,并阐明了它们各自的优缺点。 随后,在搞清楚软件缺陷的分类、特征及产生原因的基础上对如何进行软 件缺陷的分析作了比较深入的阐述。介绍了如何将软件开发,运行过程中产生 的缺陷进行必要的收集,对缺陷的信息进行分类和汇总统计,计算分析指标, 编写分析报告等等。 最后,引入了一种软件缺陷排除有效性模型( 包括一个缺陷源发现处矩 阵) ,将其和层次分析法( a h p ) 相结合,能够更有效的对软件缺陷排除的有效 性进行评估,从而确定缺陷排除有效性的先后顺序,并结合实例对这个模型的 有效性进行了引证,认为该模型可以度量某个或某些开发阶段的软件缺陷的重 要程度,从而可以作为软件测试和软件质量度量的参考,从而节省软件开发成 本。 关键词:软件测试,测试过程,缺陷管理,缺陷排除有效性,a h p 武汉理l :人学硕卜学位论文 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to f c o m p u t e rt e c h n o l o g y , s o l , r a r ea p p l i c a t i o n sh a v e b e e ns p r e a d t h es o f t w a r es c a l ea n dc o s th a v eb e e ni n c r e a s e dg r a d u a l l y , t h e c o m p l i c a t e dd e g r e eo fs o f t w a r ed e s i g ni n c r e a s e sc o n t i n u o u s l ya n dt h eo p p o r t u n i t y t h a ta p p e a r i n gm i s t a k e so rb u g si nt h es o f t w a r ed e v e l o p m e n tp r o c e s sh a v eb e e n i n c r e a s e d a tt h es a m et i m e , t h em a r k e th a ss t r e n g t h e n sg r a d u a l l yt ot h ec o g n i t i o no f t h es o f t w a r eq u a n t i t yi m p o r t a n c e s o , a sap a r to ft h es o f t w a r el i f ec y c l e , t h e i m p o r t a n c eo fb u gm a n a g e m e n ti si n c r e a s i n g l yo u t s t a n d i n gi nt h es o f t w a r ei t e m p r a c t i c ep r o c e s s ,a n di ti sa l li m p o r t a n tm c f l l l st og u a r a n t e et h es o f t w a r eq u a n t i 够 t l l i sp a p e rb a s e df r o mt h eb a s i cc o n c e p to fs o f t w a r e - t e s t i n g , p o i n t e do u tt h e f u n d a m e n t a lp u r p o s eo fs o f t w a r e - t e s t i n gi st oi m p r o v es o f t w a r eq u a l i t y h n p o r t e d s o f t w a r e t e s t i n gd a t af l o wd i a g r a ma n di m p l e m e n t a t i o nm e c h a n i s m s ,i n t r o d u c e dt w o b a s i cm e t h o d so fs o f t w a r e - t e s t i n g :w h i t eb o xa n db l a c kb o xt e s t i n g , a n di t s c o m p a r i s o n s t h e ng a v et h es o f t w a r e - t e s t i n gp r o c e s st ob ef o l l o w e d :u n i tt e s t h o l i s t i ct e s t - - c o n f i r m a t i o nt e s t - - s y s t e mt e s t , a n a l y z e de a c ho f t h em a i np o i n t so f t h e p r o c e s s a n dm e t h o d so fa n dt o c l a r i f yt h e i rr e s p e c t i v ea d v a n t a g e sa n d d i s a d v a n t a g e s s u b s e q u e n t l y , g a v em o r ei n - d e p t he x p o s i t i o no fh o wt oa n a l y s e ss o f t w a r e d e f e c t si nc l e a ro fs o f t w a r ed e f e c tc l a s s i f i c a t i o n , c h a r a c t e r i s t i c sa n dc a u s e so nt h e b a s i s i n t r o d u c e dh o wt oc o l l e c ts o f t w a r ed e f e c t sw i t ht h ep r o c e s so fr u n n i n ga n d d e v e l o p i n g 、h o wt om a k ei n f o r m a t i o nc l a s s i f i c a t i o na n ds u m m a r ys t a t i s t i c sa n dh o w t oc a l c u l a t ea n a l :y t i c a li n d i c a t o r s , a n dc o m p i l ea n a l y t i c a lr e p o r t 5 ,a n ds oo n f i n a l l y , i n t r o d u c e das o f t w a r ed e f e c te x c l u d ee f f e c t i v e n e s sm o d e l ( i n c l u d i n ga d e f e c ts o o r c e f o u n dp l a c em a t r i x ) a n dc o m b i n e di tw i t ha n a l y t i ch i e r a r c h yp r o c e s s ( a h p ) ,w h i c hw a sa b l et om a k et h ep r i o r i t yr a n k i n go f s o f t w a r ed e f e c t se x c l u d i n g , i n o r d e rt od e t e r m i n ew h a ti sa nu r g e n td e f e c t sn e e dt or e m o v e , w h i c hc a nb ee x c l u d e d f r o mal a t e rd a t e a tl a s t , g a v ea l le x a m p l ea n dp r o v e dt h ee f f e c t i v e n e s so f t h em o d e l c o n s i d e rt h a tt h em o d e lc a nb eu s e dt ob er e f e r e n c et on l c a s u r et h ei m p o r t a n c eo f d e f e c t si no n eo rm o r ep h a s e sf o rs o f t w a r et e s t i n gs t a f fa n ds o f t w a r eq u a l i t y m e a s u r e m e n ts t a f f f o re e r t a i l l ,t h e r e b ys a v i n gt h ec o s to f s o f t w a r ed e v e l o p m e n t k e yw o r d s :s o f t w a r et e s t i n g , t e s t i n gf l o w , d e f e c tm a n a g e m e n t ,d e f e c t se x c l u d e e f f e c t i v e n e s s ,a h p 武汉理l 人学硕t 学位论文 1 1 选题背景 第1 章导论 软件测试在软件生命周期中占有重要的地位,这不仅是因为测试阶段占用 的时问、花费的人力和成本占软件丌发的很大比重,而且它直接影响着软件的 质量,是保证软件可靠性的主要方法之一,其目的是保证发现软件缺陷( 错误) 软件缺陷是软件产品的固有成分。软件缺陷是软件“生来具有”的特征不管是小 程序还是大型软件系统,无例外地都存在缺陷,这些软件缺陷,有的容易表 现出来,有的隐藏很深难以发现,有的对使用影响轻微,有的会造成财产甚至 生命的巨大损失。软件从最初的设计到最后的退出使用,需要开发人员、用户 和维护人员的大量智力劳动。为了保证软件正常运行,必须对软件中存在的缺 陷进行有效的管理,从而为软件缺陷的消除或者软件的评价及决策提供依据。 这一问题已显得越来越重要。 软件测试的主要目的在于发现和处理软件存在的缺陷和错误。只有正确、 迅速、准确地处理这些缺陷和错误,才能保证要发布的软件符合需求设计的目 标。但随着全球软件开发新技术不断出现,软件开发规模之大和软件复杂程度 之高部达到其所未有的新的阶段,这为处理软件测试中发现的软件缺陷和错误 带来了巨大的难度。因为测试中发现的软件缺陷和错误的数量将是庞大的,甚 至是海量的。 目前经过软件专家们不懈的努力,软件测试理论已相对成熟,测试的技术、 方法和工具得到了相当的发展,但是对软件测试中所发现的缺陷,却缺乏相应 的研究,其管理也相对混乱。 1 2 国内外相关研究综述 中国软件企业在软件测试方面存在很多问题。首先,在认识上重开发、轻 测试,没有认识到软件项目的如期完成不仅取决于开发人员,更取决于测试人 员;其次,在管理上随意、简单,没有建立有额、规范的软件测试管理体系; 武汉理工大学硕士学仃论文 另外。缺少自动化工具的支持,大多数企业在软件测试时并没有采用软件测试 管理系。 随着软件规模的不断扩大,软件设计的复杂程度不断提高,软件开发中出 现错误或缺陷的机会越来越多,同时,市场对软件质量重要性的认识逐渐增强, 所以,软件测试试在软件项目实施过程中的重要性日益突出。但是,我国目前 的情况是,与软件编程相比,软件测试的地位和作用,还没有真正得到重视, 对于很多人,甚至是项目组的技术人员,还存在对软件测试的认识误区,表现 在【1 : ( 1 ) 开发完成后进行软件测试; 可以 确定一条独立路径。 自盒测试用来达到覆盖程序中独立路径的目的。大多数情况下,通过对控 制结构的分析,设计合适的测试用例,都能完成覆盖。 ( 5 ) 错误处理 错误处理方面的问题主要有: 错误描述难以理解; 错误的注释与发现点不一致; 错误在处理之前已经因系统的自动处理而改变了出错当时的状态,导致无 法精确定位: 异常状态的处理不正确; 错误的描述信息不充分,对检测错误帮助不大。 9 武汉理【大学硕士学侮论文 2 2 2 综合测试 时常有这样的情况发生,每个模块都能单独工作,但这些模块集成在一起 之后却不能正常工作。主要原因是,模块相互调用时接1 2 1 会引入许多新问题。 例如,数据经过接口可能丢失;一个模块对另一模块可能造成不应有的影响; 几个子功能组合起来不能实现主功能;误差不断积累达到不可接受的程度;全 局数据结构出现错误,等等。综合测试是组装软件的系统测试技术,按设计要 求把通过单元测试的各个模块组装在一起之后,进行综合测试以便发现与接口 有关的各种错误。 某设计人员习惯于把所有模块按设计要求一次全部组装起来,然后进行整 体测试,这称为非增量式集成。这种方法容易出现混乱。因为测试时可能发现 一大堆错误,为每个错误定位和纠正非常困难,并且在改正一个错误的同时又 可能引入新豹错误,新旧错误混杂,更难断定出错的原因和位置。与之相反的 是增量式集成方法,程序一段一段地争慑,测试的范围一步一步地增大,错误 易于定位和纠正,界面的测试亦可做到完全彻底。下面讨论两种增量式集成方 法1 1 ”。 ( 1 ) 自项向下集成 自顶向下集成是构造程序结构的一种增量式方式,它从主控模块开始,按 照软件的控制层次结构,以深度优先或广度优先的策略,逐步把各个模块集成 在一起。深度优先策略首先是把主控制路径上的模块集成在一起,至于选择哪 一条路径作为主控制路径,这多少带有随意性,一般根据问题的特性确定。 自顶向下综合测试的具体步骤为: 以主控模块作为测试驱动模块,把对主控模块进行单元测试时引入的所 有桩模块用实际模块替代; 依据所选的集成策略( 深度优先或广度优先) ,每次只替代一个桩模块: 每集成一个模块立即测试一遍; 只有每组测试完成后,才着手替换下一个桩模块; 为避免引入新错误,须不断地进行回归测试( 即全部或部分地重复已做 过的测试) 。 从第二步开始,循环执行上述步骤,直至整个程序结构构造完毕。 l o 武汉理 :人学硕十学侍论文 自顶向下集成的优点在于能尽早地对程序的主要控制和决策机制进行检 验,因此较早地发现错误。缺点是在测试较高层模块时,低层处理采用桩模块 替代,不能反映真实情况。重要数据不能及时回送到上层模块,因此测试并不 充分。解决这个问题有几种办法,第一种是把某些测试推迟到用真实模块替代 桩模块之后进行,第二种是开发能模拟真实模块的桩模块;第三种是自底向上 集成模块。第一种方法又回退为非增量式的集成方法,使错误难于定位和纠正, 并且失去了在组装模块时进行一些特定测试的可能性;第二种方法无疑要大大 增加开销;第三种方法比较切实可行,下面专门讨论 ( 2 ) 自底向上集成 自底向上测试是从。原子”模块( 即软件结构最低层的模块) 开始组装测 试,因测试到较高层模块时,所需的下层模块功能均已具备,所以不再需要桩 模块。 自底向上综合测试的步骤分为: 把低层模块组织成实现某个子功能的模块群( c l u s t e r ) ; 开发一个测试驱动模块,控制测试数据的输入和测试结果的输出; 对每个模块群进行测试; 删除测试使用的驱动模块,用较高层模块把模块群组织成为完成更大功 能的新模块群。 从第一步开始循环执行上述各步骤,直至整个程序构造完毕。 自底向上集成方法不用桩模块,测试用例的设计亦相对简单,但缺点是程 序最后一个模块加入时才具有整体形象。它与自顶向综合测试方法优缺点正好 相反。因此,在测试软件系统时,应根据软件的特点和工程的进度,选用适当 的测试策略,有时混和使用两种策略更为有效,上层模块用自顶向下的方法, 下层模块用自底向上的方法。 此外,在综合测试中尤其要注意关键模块,所谓关键模块一般都具有下述 一个或多个特征:对应几条需求;具有高层控制功能;复杂、易出错;有特殊 的性能要求。关键模块应尽早测试,并反复进行回归测试。 武汉理l :人学硕士学位论文 2 2 3 确认测试 通过综合测试之后,软件已完全组装起来,接口方面的错误也已排除,软 件测试的最后一步确认测试即可开始。确认测试应检查软件能否按合同要求进 行工作,即是否满足软件需求说明书中的确认标准。 ( 1 ) 确认测试标准 实现软件确认要通过一系列墨盒测试。确认测试同样需要制订测试计划和 过程,测试计划应规定测试的种类和测试进度,测试过程则定义一些特殊的测 试用例,旨在说明软件与需求是否一致。无是计划还是过程,都应该着重考虑 软件是否满足合同规定的所有功能和性能,文档资料是否完整、准确人机晃面 和其他方面( 例如,可移植性、兼容性,错误恢复能力和可维护性等) 是否令 用户满意。 确认测试的结果有两种可能,一种是功能和性能指标满足软件需求说明的 要求,用户可以接受j 另一种是软件不满足软件需求说明的要求,用户无法接 受。项目进行到这个阶段才发现严重错误和偏差一般很难在预定的工期内改正, 因此必须与用户协商,寻求一个妥善解决问题的方法。 ( 2 ) 配置复审 确认测试的另一个重要环节是配置复审。复审的目的在于保证软件配置齐 全、分类有序,并且包括软件维护所必须的细节。 o 2 寺 2 1 ( 2 ) 层次单排序及一致性检验 层次单排序:确定下层各因素对上层某因素影响程度的过程。 分别记为:w i ,w 2 ,嵋 ( 3 ) 特征向量及其归一化 _ 特征向量 彳= w l w m ,2 w 月 l ( 4 7 ) 盟m。;一m 。 兰m;一嵋 武汉理工大学硕i :学位论文 s a a t y 等人建议用其最大特征根对应的归一化特征向量w 作为权向量彳,则 对于判断矩阵,计算满足a w = 五w 的特征根和特征向量l 档1 。 五为彳的最大特征根1 4 ;,为对应于a 的正规化特征向量w = ,w 2 ,w ) w 表示下层第f 个因素对上层某因素影响程度的权重值。 一致性指标 , a 一一 定义一致性指标:l i2 = 了 疗一l 当c = o 时,判断矩阵具有完全一致性 反之a 越大,则判断矩阵的一致性就越差 检验判断矩阵是否具有令人满意的一致性,需要将a 与平均随机一致性指 标脚进行比较。 随机一致性指标 随机构造5 0 0 个成对比较矩阵4 ,4 , 则可得一致性指标c i 。,c ,2 ,a , 尘生,! k 一一 脚:c x o + c x 2 + c 5 0 0 ;鲤一n ( 4 - 8 ) 5 0 0n l 一般的,当一致性比率c r = 兰 o 1 时,认为的不一致程度在容许范围之内 可用其归一化特征向量作为权向量,否则要重新构造成对比较矩阵,对爿加以 调整。 ( 4 ) 层次总排序及其一致性检验 一致性检验:利用一致性指标和一致性比率c o 1 及随机一致性指标的数值 表,对彳进行检验的过程。确定某层所有因素对于总目标相对重要性的排序权 值过程称为层次总排序。层次总排序从最高层到最低层逐层进行。设: 武汉理1 人学硕士学位论文 对总目标z 的排序为a 层m 个因素4 ,4 ,4 ,q ,4 :,口辟 口层疗个因素对上层4 中因素为4 的层次单排序为,6 2 , ( ,= l ,2 ,帕 旦:口1 6 i i + 口26 1 2 + a 。6 i 。 占层的层次总排序为:b :q 6 2 j + a 2 + 靠6 2 一 只:q 屯i + 4 2 吃2 + a 。6 胛 b 层第i 个因素对总目标的权值为:响 j - i 层次总排序的一致性检验 设口层e ,最,e 对上层口层) 中因素彳,u = l ,2 ,脚) 的层次单排序一致 性指标为c l , ,随机一致性指为彤, 则层次总排序的一致性比率为: c r :鱼垡l 垒垡:刍g ( 4 - 9 ) 当c r o 1 时,认为层次总排序通过一致性检验。 最后,根据最下层( 决策层) 的层次总排序做出最后决策。 武汉理l 。人学硕士学位论文 4 3 算例分析 下面将引用实际数掘来验证缺陷源发现处矩阵的作用。将每个开发阶段发 现的以前开发阶段的缺陷和本阶段的缺陷出入矩阵相应部位,并给出小计,这 样便得到以下缺陷源发现处矩阵,如图4 _ 3 所示: r q n 发现处 n u t c r 盯 f 匝l d t o t a l 缺陷源 4 23 9 5 4 3 7 8 4 84 0 34 5 9 1 03 51 2 64 5 66 2 7 3 04 65 l2 0 5 33 3 5 1 54 36 32 3 l 53 5 7 8 1 03 07 92 1 2 7 1 01 61 85 3 l9 8 1 2 35 9 36 9 l1 0 2 4352l 2 4 4 2 图4 - 3 缺陷源,发现处矩阵数据交叉列表 下面计算各种有效性度量。 高层设计审查有效性,i e ( 1 0 ) : 在i o 排除的缺陷数:4 3 7 在入口处存在的缺陷数( 从需求阶段漏网的缺陷数) :1 2 3 当前阶段注入的缺陷数:5 9 3 腰( i o ) :塑! 1 0 0 = 6 1 ( 4 - 1 0 ) 1 2 3 + 5 9 3 低层设计审查有效性,i e ( 1 1 ) : 在i l 排除的缺陷数:4 5 9 入口处存在的缺陷数( 从需求阶段和1 0 漏网的缺陷数) : 1 2 3 + 5 9 3 - 4 3 7 = 2 7 9 当前阶段注入的缺陷数:6 9 1 武汉理工大学坝t = 学位论交 腰( 1 1 ) :丝1 0 0 = 4 7 ( 4 - 1 1 ) 2 7 9 + 6 9 l 代码审查有效性,e ( 1 2 ) 。 在1 2 排除的缺陷数:6 2 7 在入口处存在的缺陷数( 从需求阶段漏网的缺陷数) : 1 2 3 + 5 9 3 + 6 9 1 - 4 3 7 - 4 5 9 = - 5 1 1当| j 阶段注入的缺陷数:1 0 2 4 e ( i o ) :丝!1 0 0 - = 4 1 ( 4 1 2 ) 5 l l + 1 0 2 4 单元测试有效性,t e ( u t ) : u t 排除的缺陷数;3 3 5 入口处存在的缺陷数( 从所有以前阶段漏网的缺陷数) : 1 2 3 + 5 9 3 + 6 9 1 + 1 0 2 糊7 - 4 5 9 - 6 2 7 - - 9 0 8 当前阶段注入的缺陷数:3 ec u t ) :旦1 0 0 :3 7 ( 4 - 1 3 ) 9 0 8 + 3 对于测试阶段来说,缺陷注入( 不良修补) 通常是少量的;这样,有效性的 计算就有替代方法。在不良修补率高的情况下,就应该使用以下公式来计算: 有效性= 骊厕慕裟裟篙丽x 1 0 0 这时, t e ( l r r ) ; 堕 1 0 0 = 3 6 5 ( 4 - 1 4 ) 3 3 5 + 3 5 7 + 1 2 7 + 9 挂 部件测试有效性,t e ( c r ) : t e ( c t ) ; ! ! ! 1 0 0 = 6 1 ( 4 - 1 5 ) 3 5 7 + 1 2 7 + 9 8 系统测试有效性,t e ( s 力: t e ( s t ) = ! 兰一1 0 0 = 5 6 ( 4 - 1 6 ) 1 1 1 1 2 7 + 9 8 整体审查有效性,愿: 肛 塑! ! 翌竺! 。1,毛2n,(4-17)utrov o 也= 一x l = 二 武汉理l :人学硕十学位论文 整体测试有效性,t e : 脾= = 型! 婴! 兰! 1 0 0 :8 9 3 3 5 + 3 5 7 + 1 27 + 9 s 过程的整体缺陷排除有效性,d r e : d r e = ( 1 旦) 1 0 0 - - - 9 6 ( 4 - 1 8 ) ( 4 - 1 9 ) 通过测量可以清楚看出应该关注整个开发过程中的单元测试阶段,因为在这 个阶段的有效性值为最低,这时就应该采取相应的措施来提高单元测试的有效性。 这里,结合层次分析法给这个矩阵加上权重,如下表所示: 缺陷源 r q 帕 i l 发现处 1 2 u t c t 盯 f ;l d n g r q l o i l 发现处1 2 u t c t s t f i e l d a v g 需求 曩霁篓霁 编码 盖委盏裴翥篓 现场平均 0 6 7 80 5 7 9 0 7 1 30 5 8 70 5 5 4 0 7 2 2o 6 1 20 5 6 70 5 6 4 0 7 5 30 6 5 20 5 8 70 5 8 70 5 5 4 0 7 7 60 6 3 1 o 6 0 l o 5 9 50 5 6 10 5 6 4 0 8 2 10 6 3 20 6 1 40 6 1 40 5 4 70 5 5 8o 6 2 l 0 8 5 6o 5 7 20 6 3 20 5 7 8o 5 7 60 5 7 50 6 1 2 o 7 6 0o 6 0 90 5 9 30 5 8 80 5 6 0o 5 6 60 6 1 7 图“纵向权重 缺陷源 需求 襄霁篓霁 编码 荔委翥裴翥誓 现场平均 0 8 2 40 4 4 20 6 3 3 0 8 5 4o 5 4 20 3 3 20 5 7 6 0 8 6 10 5 6 20 4 1 50 2 2 1o 5 1 5 0 7 6 40 6 1 40 4 8 50 2 8 7o 3 1 2 0 4 9 2 0 7 7 60 5 8 70 4 5 40 2 9 50 3 1 60 4 6 40 4 8 2 0 8 3 10 5 3 20 4 1 40 3 6 70 4 5 l0 3 7 50 5 9 8o 5 1 0 0 8 5 60 5 6 70 4 3 2o 3 1 l0 4 7 60 3 9 80 4 4 70 4 9 8 图4 5 横向权重 武汉理i 。人学硕士学位论文 层次分析法的核心就是通过定量的方法算出各个候选指标相对权重,从而 确定每个指标相对于其他指标的相对重要性。在本实例中,笔者根据缺陷源发 现处矩阵模型,得到一个二维表格,该表格的横向字段表示缺陷源种类,而纵 向字段表示发现处。运用层次分析法分别计算出各个发现处的相对权重( 纵向 权重) 以及同一缺陷源在不同发现处的相对权重( 横向权重) 。 在表4 - 4 中,需求这个发现源在i o ,i l ,1 2 ,u t ,c t ,s t ,f i e l d 这七个 发现处的自身相对权重分别为0 7 6 0 ,0 6 0 9 ,0 5 9 3 ,0 5 8 8 ,0 5 6 0 ,0 5 6 6 ,0 6 17 。 一个软件设计的开始到最终软件产品的完成需求分析阶段是最初始也是最重要 的一步。而随着软件项目需求调研的不断深入,处于不同时段( 发现处) 需求 的相对重要性是不一样的。后续的软件的高层设计,低层设计以及编码是建立 在对客户需求充分调研和了解的基础上展开的,在i o 这个阶段,需求才刚刚开 始,并未涉及到任何的软件设计和实现方面工作,即便对客户的需求不准确, 不到位,可以在第一时间和客户迸一步进行交流,把模糊和不准确降低到最小。 而随着项目的展开,到了后续阶段,特别是到了像c t ,s t ,f i e l d 这三个发现 处阶段的需求相对于前面阶段的需求其重要性显然更大一些,因为这些阶段软 件的高层设计,低层设计,编码,以及测试均在前面对客户需求调研所得到的 信息的基础上陆续展开,对客户需求把握准确与否直接关系到软件设计是否正 确和客观,而如果在该阶段发现对客户需求有所偏差,那么修改起来就不像处 于第一发现处时对需求的修改那么容易了,因为如果对需求有任何改动,就有 可能要求对软件的高层设计,低层设计,编码同时进行修改和变动,这样因为 对客户需求中出现的偏差对软件设计人员的时间,精力和企业资源造成了不必 要的浪费。这跟同层次分析法算出的权重数值是十分吻合的。 在表二中,通过层次分析法计算处在同一发现处的不同发现源的相对权重。 例如,处在c t 这个发现处,需求,高层设计,低层设计,编码,单元测试,部 件测试和系统测试这七个缺陷源的相对权重分别为0 6 3 3 ,0 5 7 6 ,0 5 1 5 ,0 4 9 2 , 0 4 8 2 ,0 5 1 0 ,0 4 9 8 。一个软件从设计到最后生成软件产品,对客户需求是第 步也是最为关键的一步,因为软件的高层设计,低层设计,编码,测试都是基 于需求分析。需求分析的准确与否直接关系到软件设计正确,客观与否。而软 件的高层设计是把客户实际的需求转换为抽象的模型,从而设计出软件的整体 框架。而低层设计是根据高层设计而设计的,是对高层设计的分部设计和分部 实现,是在高层设计的软件框架之内。后续的编码和测试都是在软件设计的基 4 l 础上具体实现,是最低层的工作。其重要性相对r 前面的高层设计,低层设计 是最小的。这跟通过层次分析法定量计算出的这六个发现源在c t 这个发现阶段 的相对权重是比较一致的。 现在,将层次分析法所得的结果跟缺陷排除有效性模型相结合,重新计算 各种有效性度量。 新的矩阵如图4 - 6 所示: r q 加 i l 发现处 1 2 u t c t s t m l d t o t a l 缺陷源 4 23 9 5 2 7 7 8 4 84 0 3 2 6 4 1 03 51 2 6 4 5 6 3 2 3 3 04 65 1 2 0 53 1 6 5 1 54 36 3 2 3 l5 1 7 2 81 03 0 7 9 26 5 1 0 1 61 85 3 l4 9 9 33 6 1 4 1 06 0 2 23ll 图4 - 6 结合权重后的缺陷源,发现处矩阵数据交叉列表 高层设计审查有效性,i e ( 1 0 ) : 在i o 排除的缺陷数:2 7 7 在入口处存在的缺陷数( 从需求阶段漏网的缺陷数) :9 3 当前阶段注入的缺陷数:3 6 1 1 1 1 e ( i o ) = 冬1 0 0 = 6 1 ( 4 - 2 0 ) 9 3 + 3 0 l 低层设计审查有效性,e ( 1 1 ) : 在i l 排除的缺陷数:2 6 4 入口处存在的缺陷数( 从需求阶段和1 0 漏网的缺陷数) : 9 3 + 3 6 1 - 2 7 7 = 1 7 7 当前阶段注入的缺陷数:4 1 0 武汉理l :人学硕七学位论文 腰( 1 1 ) :一j ! 坚一l o o = 4 5 ( 4 - 2 1 ) l7 7 + 4 1 0 代码审查有效性,e ( 1 2 ) : 在1 2 排除的缺陷数:3 2 3 在入口处存在的缺陷数( 从需求阶段漏网的缺陷数) : 9 3 + 3 6 1 + 4 1 0 2 7 7 - 2 6 4 = 3 2 3 当前阶段注入的缺陷数:6 0 2 e ( i o ) ;黑x 1 0 0 。, o = 3 5 ( 4 - 2 2 ) 3 2 3 + 6 0 2 单元测试有效性,t e ( u t ) : u t 排除的缺陷数:1 6 5 入口处存在的缺陷数( 从所有以前阶段漏网的缺陷数) : 9 3 + 3 6 l + 4 1 0 + 6 0 2 - 2 7 7 - 2 6 4 - 3 2 3 = 6 0 2 当前阶段注入的缺陷数:2 e ( u t ) :坠1 0 0 0 , 4 ;2 7 ( 4 - 2 3 ) 6 0 2 + 2 对于测试阶段来说,缺陷注入( 不良修补) 通常是少量的。这样,有效性的 计算就有替代方法。在不良修补率高的情况下,就应该使用以下公式来计算: 有肚骊赢慕黼篇鬻南獗x 1 0 0 这时, 您( u t ) = 丽百西1 6 5 石丽。1 0 0 = 3 7 ( 4 - 2 4 ) 部件测试有效性,t e ( c t ) : 您( c t ) = 而商1 7 2 x 1 0 0 = 6 0 ( 4 - 2 5 ) 1 7 2 + 6 5 + 4 9 系统测试有效性,t e ( s t ) : 腰( s t ) 2 i 丽6 5 1 0 0 = 5 7 ( 4 - 2 6 ) 整体审查有效性,腰: 武汉理l :人学硕士学位论文 肛一 婴+ ,趔望x 1 0 0 :5 9 ( 4 - 2 7 ) 9 3 + 3 6 i + 4 1 0 + 6 0 2 + 2 + 3 + l + l 整体测试有效性,t e : 终! 箜! z ! 箜1 0 0 = 8 9 ( 4 - 2 8 ) 1 6 5 + 1 7 2 + 6 5 + 4 9 过程的整体缺陷排除有效性,d r e : d r e = ( 1 旦) 。x1 0 0 - - 9 7 ( 4 - 2 9 ) 1 4 7 3 将缺陷排除有效性矩阵跟层次分析法结合后得到的数据进行分析得到的结 果是我们更应该关注代码审查这个阶段,因为代码审查阶段的缺陷排除有效性 是最低的。这也符合实际状况,因为在软件开发过程中,编写代码是最容易出 现错误的环节,一个小小的疏忽甚至一个字母或数字的错误可能导致很大的问 题,所以我们更应该对代码审查加以更大的重视,提高代码审查的效率。 在缺陷排除有效性矩阵中,根据缺陷源和缺陷发现的阶段把缺陷数据进行 十字交叉列表,这样便能够对阶段缺陷注入和阶段缺陷排除进行估计。通常, 缺陷源与缺陷被发现之间的时间越短,开发过程就越有效。开发过程的成本就 越少。运用层次分析法,计算了不同的缺陷源在不同阶段的相对权重以及处在 同一阶段不同缺陷源的相对权重,考虑到了各个指标的相对重要性,更贴近现 实,而层次分析法与缺陷源发现处模型相结合,对能够对软件缺陷进行更为客 观、科学的预测,从一定程度上可以减少缺陷源与缺陷被发现之间的时间间隔, 从而可以提高整个开发过程的有效性。 但是这个模型也有它的片面性。在运用a h p 构造比较矩阵a ,硬性规定了l 一9 及其倒数作为比较标度,忽视了这种标度的模糊性和不确定性。同时,运用 a h p 计算的数据来源是专家对评估指标的打分。这样就对计算的结果带来了较 大的片面性和主观性,因为不同的专家对指标打的分数不同,导致最后向量的 排序结果的不同。关于采用什么方法来减少甚至排除a h p 比较标度的模糊性和 不确定性,我将在后续工作中作进一步的研究。需要指出的是,缺陷排除有效 性和缺陷排除模型是有用的质量计划和管理工具,但它不能用于质量或可靠性 预测,它不是预测模型。 武汉理工人7 硕十学传论文 第5 章总结和展望 本章对全文进行总结,阐述了本文的主要内容和取得的结论,并对后继的 工作指出方向。 5 1 全文总结 本文介绍了软件缺陷的相关概念。对软件缺陷的管理进行了研究。其中包 括:明确了软件缺陷管理的目标;详细分析了缺陷管理的流程和角色划分;论 述了缺陷管理过程中缺陷信息的收集整理和分析利用两个关键要素;并分析了 缺陷管理技术在测试周期模型中的应用,并结合实例证明了缺陷管理技术在测 试生命周期中的重要性 总结起来,本文的主要工作如下: ( 1 ) 分析了软件测试的基本方法,并对其进行了比较; ( 2 ) 详细介绍了软件测试过程;单元测试、综合测试、确认测试、系统测试: ( 3 ) 对测试出来的软件缺陷进行了全面系统的分析,包括其特征、分类以及 产生的原因。 “) 如何对收集和整理后的缺陷信息进行分析和利用; ( 5 ) 对测试过程中遗漏的缺陷进行漏测分析; ( 6 ) 本文的重点在于对缺陷排除有效性模型的分析和优化。 本文的创新点在于:详细介绍了种软件缺陷排除有效性模型( 包括一个 缺陷源发现处矩阵) ,并将其和层次分析法( a h p ) 相结合,能够对软件缺陷排 除有效性更加合理的进行排序,确定其重要程度,从而更加有利于编制质量计 划,节省开发成本。 5 :2 未来的研究展望 由于时间和水平限制,本文对软件缺陷测试排除技术还有许多地方没有涉 及到,仍有许多后继工作需要探讨。 武汉理i :人学硕士学位论文 ( 1 ) 覆盖测试技术 测试覆盖率可以看出测试的完成度,在测试分析报告中可以作为量化指标 的依据,测试覆盖率越高效果越好。覆盖测试可以是程序代码的执行路径覆盖, 也可以是功能实现的步骤覆盖。 该技术可以用在测试的任何阶段,如高层设计,低层设计,单元测试,系 统测试。集成溅试,所以对该技术的研究也非常必要。 ( 2 ) 自动化测试 自动化测试是使用有针对工具进行测试,可以做出自动化测试计划,对可 以执行自动化测试的部分编写或录制相应的脚本,可以假如功能、容错、表单 提交等。 , 自动化测试已经越来越受到重视,国外已经出版很多相关文献对其进行探 讨研究,而自动化测试技术的研究在我国还处于起步阶段,非常有必要投入更 多的力量和人力财力对其进行研究。 ( 3 ) 缺陷排除技术 本文只是对缺陷的测试和管理进行了比较浅的探讨,并未涉及具体的缺陷 排除技术,对于测试到的缺陷是如何排除的,有多少排除方法,技术等等需要 作迸一步的研究。 ( 4 ) 缺陷漏测分析的度量 漏测分析过程的最后一步是对改进过程的阶段性实施效果进行测量。由于笔 者学识和水平的限制,实际操作过程有待迸一步研究。 ( 5 ) 比较标度的确定 层次分析法的一个特性就是标度的模糊性和不确定性,由于度量指标的主 观性会直接导致我们的计算结果的不确定,因此我们有必要建立一个度量标准 或者使用其他的方法来确定比较标度。 由于时间的仓促和笔者水平有限,论文中存在错误在所难免,请各位老师 和同学指正。 武汉理i :大学硕士学位论文 参考文献 【ij p h i l i p m e t z g e r , j o h n b o d d i e 著软件项目管理过程控制与人员管理陈勇强,费琳译 北京:电子工业出版社,2 0 0 2 8 【2 】r o b e r t c m a r t i n , a g i l es o f t w a r e d e v e l o p m e n t , p r i n c i p l e s ,p a r t e r r e 。a n d p a e l i o 2 0 0 2 6 1 3 】c e mk a l l e l - , j a m e sb a c h ,b r e tp e t f i c h o r d 著软件测试经验与教训韩柯译机械i 业出版 社,2 0 0 4 1 5 8 f 4 】r e xb l a c k 测试流程管理北京:北京大学出版社,2 0 0 1 3 【5 】5c e r i s c h n e i d e r j a s o ne w i n t o r s 著用例分析技术姚淑珍,李巍译北京:机械工业出版社, 2 0 0 2 1 0 【6 】d a n i e l 。l m o s e l yb r u c e , a p i n e y j u s t , e n o u g hs o f t w a r et e s ta u t o m a t i o nn e wy o r k :p e a r s o n e d u c a t i o n ,2 0 0 2 4 【7 】r o t h e r m e lgu n w hr h ,c h uc ,h a r r o l dm ,p r i o r i t i z i n gt e s t 蝴f o rr e g r e s s i o nt e s t i n g i e e et r a m o l ls o r w a r ee n 舀n e e r i n g ,2 0 0 1 【8 】陈樵,黑盒测试方法揭秘 h t t p :s o f l w a r e c c i d n e t c o r n 佃u b 坷i s p ,a 而c i e ? 硎c l c t d = 1 1 9 3 6 c o i u 加n 刀口= 3 3 22 0 0 2 4 8 【9 】9 黄锡滋软件可靠性、安全性与质量保证北京:电了【业出版社2 0 0 2 8 【1 0 b e i z e rb s o t w a r et e s t i n gt e c h n i q u e s 2 n de d 。v a nn o s w a n dr e i n h o l d , 1 9 9 0 【l l 】陈雷软件测试实践之缺陷跟踪管理程序员。2 0 0 4 1 2 【1 2 】刘畅,基于蛐的w e b 应用缺陷预渊方法,中国科学院研究生院硕士学位论文,2 0 0 4 1 2 f 1 3 j r i e b a r d b e r d e r s e f c m m p r o p o s e d s a t t w a r e e v a h u n i o a a n d t e s t k p a b e n d e r & a s s o c i a t e s i n c1 9 9 6 4 【1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国家级检验检测机构资质认定评审员考试试题及答案(清远2026年)
- 临床女性生殖健康定义范围及方法
- 2026年心理咨询师考试基础理论试题与答案
- 2026年心理咨询师考试试题与答案
- 创业公司市场营销策略启动
- 2026年湖北省孝感市工程技术职务水平能力测试(电气)强化训练试题及答案
- 2026年湖北省鄂州市水利电力工程技术职务水平能力(水利公共基础知识)测试经典试题及答案
- 【备考2026】河北省中考模拟数学试卷4(含解析)
- 反流性食管炎洛杉矶分级中国专家共识
- 某纸浆厂污水处理办法
- 荷塘月色湿地公园植物景观调查与分析
- 心肺复苏相关知识点
- JGJT10-2011 混凝土泵送技术规程
- 告别童年、拥抱青春主题班会课件
- 电力行业(生物质发电企业)清洁生产评价指标体系
- 房建施工现场安全教育培训课件
- LY/T 2012-2012林种分类
- GB/T 4458.1-2002机械制图图样画法视图
- GB/T 15720-2008中国盲文
- GA/T 1433-2017法庭科学语音同一认定技术规范
- 《护理教育学概述》课件
评论
0/150
提交评论