已阅读5页,还剩67页未读, 继续免费阅读
(计算机科学与技术专业论文)软件回归测试管理技术.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
国防辩学我术大学研究生院辫侮论文 摘要 随着计算机网络的飞速发展,基于海嫩数据的分布式应用系统的规模也升;断扩大,随 之而来的是应用系统的开发j 过程变得日益冗长和复杂,给系统及时投入运行以及保持良好 瓣霹靠缝、键糖性等方瑟繁来了困难。始德毒效剥震疑麴溅试手段塞麴速琏爰系绫开发静 过程、提离应稍系统的可靠镶和健壮性,是一个具有替遮意义和实用意义的研究课题。 本文紧密依据软件回归测试的特点,研究并实现了自幼回归测试管理系统 a r t m ( a u t o m a t i er e g r e s s i o nt e s tm a n a g e r ) 。此系统为测试工作的备个步骤分稚在整个 较释生愈蠲期审提供支持,密瑷开发王佟粒测试工终诲漏并发进雩亍;必叁动霆麴溯试疆貘 支持,提供多种测试策略,提高回归测试效率;实现对分布式程序纳回归测试。 本文的主鞭贡献体现在以下几个方面: 1 ) 提出了一萃孛全巍的测试模型瞧模黧) ,克骚了v 、x 等测试模擞戆簸陷,褥测试过程 分匆爨簸 孛生念瘸赣各酚羧中,使软件开发过程霹瑷灵活遮实瑷醋灏,支持软伴测试过程 硎开发过程并发进行的软件工程思想,提离开发效率;对回归测试巾软件基线版本的控制 谶行了深入研究,借鉴数据库系统事务处理思想提出了版本事务模溅v t m ,充分考虑了回 | 罔溅试中版本控铡的问题;其中羞重阐述了如何将r 摸裂应用于a r t m , 2 ) 分析测试用例库的特点,实现了测试用例痒的商效管理和维护;对自动翻翔测试过 程进行了有效的控制,实现丁对自动测试过程的自动控制。将测试计划作为模板进行保存, 以用于以后自动回归测试;对测试结果进行了处理和挖掘,以多种方式形成测试报告。基 本实现了溅试遗程叁动证; 3 ) 对回归测试策略进行了深入研究和比较,实现了在回归测试中灵活应用各种回归测 试策略。提出并实现了一种耩的构建对象依赖集的方法t d s c ,更加精确地构建回归测试用 例襄传( t e s ts u i t e ) ; 4 ) 提出并寅现了c s 分布式回归测试模型,满足了分布式软律豳归测试豹浠戡。 关键字:肉幼回归测试,测试管理系统,测试模数,测试策略,分布式软件测试 集i 页 围防鹌学技术大学研突生院学经论文 a b s 罩r a c t w i t ht h er a p i dd e v e l o p m e n to fi n t e m e ta n dt h ei n c r e a s eo fn e t w o r ki n f o r m a t i o n t h e a p p l i c a t i o ns y s t e mb a s e do nm a s s i v ed a t as c a l e su pi n c r e a s i n g l y c o n s e q u e n t l y , t h ep a r t so f d i s t r i b u t e da p p l i c a t i o ns y s t e mb e c o m em o r eg i g a n t i ca n dc o m p l e x ,s oi tb r i n g st r o u b l e st ot h e d e v e l o p i n go fs y s t e me f f i c i e n t l ya n dk e e ph i g hs t a b i l i t ya n dr o b u s tc a p a b i l i t yo fs y s t e m 。t ti sa r e s e a r c hw o r ko fg e n e r a la n d p r a c t i c a ls i g n i f i c a n c et os o l v et h ep r o b l e mo fu s i n gr e g r e s s i o nt e s t t oa c c e l e r a t et h ep r o c e d u r eo f s y s t e ma n di m p m v et h es t a b i l i t ya n dt o b u s to f c a p a b i l i t ys y s t e m 。 t h i sp a p e ri sf o c u s e do nt h ec h a r a c t e r so fd i s t r i b u t e da p p l i c a t i o n s i ts t u d i e sa n dr e a l i z e sa l l a u t o m a t i cr e g r e s s i o nt e s tm a n a g e r ( a r t m ) t h i ss y s t e me n a b l et e s tw o r kp l u si nt h ee v e r y s t a g eo ft h es o r w a r ed e v e l o p i n gp e r i o d i ts u p p o r t st h ea u t o m a t i cr e g r e s s i o nt e s t ,a n dp r o v i d e s s e v e r a lk i n d so ft e s ts t r a t e g y i tm a k e st h ed e v e l o p i n gp r o c e d u r es y n c h r o n i z ew i t ht h et e s t p r o c e d u r e a tl a s t ,i ta n s w e r st h er e q u i r e m e n to f r e g r e s s i o nt e s tu n d e rd i s t r i b u t ee n v i r o n m e n t 强em a j o rc o n t r i b u t i o no f t h i sp a p e re m b o d i e sa tt h es e v e r a lf o l l o w i n ga s p e c t s : 1 ) i ts u p p o r t st h es o f t w a r ee n g i n e e r i n gt h o u g h t ,a n dp u t sf o r w a r do n ek i n do fc o m p l e t e l y n e wt e s tm o d e l rm o d e l ( r e g r e s s i o nm o d e l ) a n do v e r c o m e st h ed e f e c t so ft e s tm o d e l ss u c ha s va n dxe t c 。a n dm a k e st h es o f t w a r ed e v e l o p m e n tc o u r s ec a nr e a l i z ef l e x i b l yt h eb a c k t r a c k i t s t u d i e st h ec o n t r o lm e c h a n i s mo fs o f t w a r ev e r s i o nc o n t r o lo nr e g r e s s i o nt e s t p u t sf o r w a r dt h e v t m ( v e r s i o nt r a n s a c t i o nm o d e l ) b a s e do nd a t a b a s e s 拄a n s a c t i o nt h o u g h t t h em o d e lf o c u s e s o nt h ev e r s i o nc o n t r o lo nr e g r e s s i o nt e s t i tf o c u s e sh o wt oa p p l yrm o d e lt oa r :r m 2 、i ta n a l y s e st h ec h a r a c t e r so ft e s t c a s el i b r a r y , a n dr e a l i z e se f f e c t i v em a n a g e m e n ta n dt h e m a i n t e n a n c eo ni t i tt a k e se f f e c t i v ec o n t r o lo nt h ea u t o m a t i cr e g r e s s i o nt c 蘸p e r i o d , a n dh a s r e a l i z e dt h er e c o r d s - r e t u r n i n gm e c h a n i s mo na u t o m a t i ct e s t w i t he x c a v a t i n go nt e s tr e s u l t i t c a nf o r mt e s tr e p o r tw i t hm a n yk i n d so f f o r m s 3 ) i tc o n t r a c t ss e v e r a lc o m m o ns t r a t e g i e so fr e g r e s s i o nt e s t , a n dp u t sf o r w a r da n dr e a l i z e da n e w - w 张t d s c ,t oc o n s t r u c tt h eo b j e c tr e l y i n gs e t m o r e o v e r , i tr e a l i z e sf l e x i b l yu s i n g r e g r e s s i o ns t r a t e g i e so nt e s tw o r k 4 ) a g a i n s tt h ec h a r a c t e r so f d i s t r i b u t e da p p l i c a t i o n s ,i tr e a l i z e san e wr e g r e s s i o nt e s tm o d e l , c sm o d e l w h i c ha n s w e rf o rt h er e q u i r e m e n to f r e g r e s s i o nt e s to nd i s t r i b u t e ds o f t w a r e t h ek e y w o r d s :a u t o m a t i cr e g r e s s i o nt e s t ,t e s tm a n a g e m e n ts y s t e m ,t e s tm o d e l ,t e s t s t r a t e g y , d i s t r i b u t e ds o f t w a r et e s t 煞i i 舞 国防科学技术火学研究生院学位论文 图磊录 圈2 - 1 自动测试和手动测试效率对比1 0 黧3 - 1 彝动嚣爨溅试薹本摄念。 2 阁3 2v 测试模型1 4 图3 - 3x 测试模型1 4 瀚3 4r 嚣试浚囊。i 5 图3 - 5 测试大纲组织图1 7 阁3 - 6 测试用例开发中的活动2 0 鬻3 一? 测试遗稷五令话动懿特点。,2 l 圈3 - 8 测试用例组织图2 1 圈3 - 9 版本事务模型v t m 2 7 鞫3 一弱分袁式较 譬运嚣模式。,。2 9 圈3 - 1 1c s 分布式回归测试模型2 9 图3 1 2c s 分布式回归测试模型的s e r v e r 3 0 辫3 1 3c s 分森式潮翅溅试骥墼懿c l i e n t 。3 0 围4 - ia r t m 对软件生命周期产生的影响3 2 圈4 2 分布式回归测试开发圈。3 3 潮4 - 3a r t m 豹传系结穆。3 4 圈4 - 4 测试用例组织类图3 5 圈4 5 测试大纲项与测试用例的e r 图3 5 鞫4 - 6a r t m 测试过程耱侉黧+ 。,3 7 圈4 7a r t m 测试计划相关对象类图3 8 豳4 - 8a r t m 测试用例相关对蒙类圈。3 8 惑4 - 9a r t m 溅谈结鬃模块秘撵图。3 9 阁5 - 1a r t m 测试大纲项e - r 图4 1 图5 2c r e a t e t e s t o u t l n e t r e e 类类图。4 2 潮5 - 3 被溪试对象er 蔺。4 3 图5 - 4 测试用例相关实体e r 图,4 4 翻防科学技术大学研究生院学能论文 图5 - 5 测试鼹铡譬被溅试对象e r 銎。,。4 4 图5 - 6 测试计划e - r 图4 6 圈s 一7f t p 类类翻4 7 鹜5 - 8r e s u l t c o l l e c t i o n 类类圈5 0 图6 1a r t m 应用节点管理界面。5 4 图6 2 溯试大纲样例一5 4 图6 - 3 测试大缨撵铡二。,5 5 图6 - 4a r t m 的测试大纲管理界面。,5 5 图6 - 5 测试用例样例5 5 图6 - 7 竣溅试对象菝赖关系。弱 图6 - 8a r t m 测试用例库管理界面。5 7 图6 - 9a r t m 测试厢例库维护界面一,5 8 銎6 1 0 是r 秘溅试蘑铡藩维护赛瑟二。5 8 图6 - 1 la r t m 测试计划管理界蕊5 9 图6 1 2a r t m 测试过程管理界丽5 9 强6 - 1 3 矗r 糯测试结果管理赛瑟。6 0 翻防科学技术大学研究生院学静论文 表目录 表3 - 1 使嗣r 模型与未使用r 模型的测试情况对比,。1 6 表4 - l 正确性测试用例结果评价表3 6 表4 2j 歪确毪 l l 试震键结栗谨徐表3 s 表5 , - 1 测试大纲项表。4 l 表5 - 2 被测试对象表4 3 衰5 3 测试对象关联表。,4 3 表5 - 4 风险级别袭。,4 3 表5 5 操作剖面表4 4 表5 - 6 测试震镶表。4 5 表5 - 7 测试用例被测试对象关系表,。,4 5 表5 - 8 测试任务生表4 6 表5 - 9 测试任务缁强表,瞒 表5 1 0r e s u t c o l l e c t i o n 类成员表。5 0 表6 - 1 机器软硬件配置5 3 表6 - 2 霰测试对象样餐j 袭,弱 表6 - 3 风险级别榉倒表。5 6 表6 - 4 操作剖面样例表,5 6 独创性声明 本人声明所呈交的学位论文是我本人在导9 i l i 搬导下进行的研究工作及驳褥的研 究成粱。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人 已经发表帮撰写过豹舔瓷残暴,瞧誉毽禽舞获褥瓣珑秘学技术大学域其它教肖撬稳 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均己 在论文中终了瞬碡豹浚疆并表示澈意。 学位论文题e t :邀娃旦魉测这管理拉盔 学位沦文作者签名:超速婆。疆崩:饵产军,工月夕豳 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权国 防辩学技拳大学霹致绦鼙著囊鬻家毒关帮门或壤耩送交谂文豹复露绛帮毫予文档, 允许论文被纛阅和借阅;可以将学位论文的全部或部分内容编入有关数据麾进行检 索,可颤采掰影印、缭窜或手j 鼹等复秘手段保存、汇编学位论文。 ( 保密学位论文强解密后邋用本授权书。) 作者指导教师签名: 棍柳强 一期:作者指导教师签名:! 垒! 竺j 竺一期: 年- 月可f 1 国防科学技术夫学研究生院学位论文 第一章绪论 1 1 课题背景 随着计算机应用领域不断推广,软件系统功能越来越强大,其溉模也越柬越庞大复杂。 如何保证软件的质量、保诚软件的高度w 嚣性,面i 临着臣大挑战。特别是在诸如军事、航 空航天、通讯、交通、医疗麓行业,软件中的微小瑕疵就可能对生命安全、臣颧财产、甚 至国家安全造成严重藏胁。 g r e g o r yt a s s e y 博士“3 对美国软件娃现状研究表鞠;到2 0 0 0 年为止,美函软件从业 人员达到1 ,2 8 2 ,0 0 0 人,软件年销售总额达到1 ,8 0 0 亿荧元,同时,软件失效导致每年5 9 5 亿荧元的经济损失,据估计,若能减少当前软件中1 3 的缺陷,就能挽回2 2 2 亿淡元经济 援失。 随着软 串溉模的只益扩大,软 孛测试成为保证较件质量魏重要手段。涟着入们对软件 测试重要性的认识越来越深刻,软件测试阶段在整个软件开发周期中所占的比爨日益增 大。大量统计资料表明,软件测试的开销谯熬个软件歼发费用中占到总开销的4 0 到6 0 ; 对于某些性命彼关鲢较传,其测试费用甚至褰这所有葵德敬释工程除段费恩总和夔3 熨5 倍。 软件回归测试在软件测试中扮演着煎骤的角色,几乎对软件作了任何修改后,都可以 成用回归测试求验证修改没蠢对软件带来受面影响以及新增部分的避确性。回归测试可以 熬震戳蓦豹溺试i 童程,是一耱较有效率戆溅试方法。爨楚,霾翔溅试嚣要兹期投入,熟舞 躐少回归测试的代价,是整个软件回归测试研究的难点和重点。 随着计算机网络的迅猛发展,通过网络相连的分布式计算环境燃来越普遍。伴随着这 必变化,分布式计算技术以不可逆转的势头伸入到金融、电信、商般等各个应用领域。丽 盘瑟霭对分毒式软传递 亍毒效豹虱鹅灏试魑囊 i 强爨灏试磷究懿一个热焘。 1 1 1 技术背景 为保证软件辩质量,必缨按照软俘工攫鲍方法,在软传生会周期涎各个除羧遴毒亍毒效 耱管理帮度量,完整熬软锌测试工终氇瘟该蚕穿整个软 孛生存瘸麓,它寿两方嚣瀚含义:鞠 软件开发不同阶段都有软件测试工作;软件测试工作的各个步骤分布在整个软件生存周期 中。目前软件测试普遍采用传统的测试方法,将软件测试看成开发周期中的一个阶段( 如 瀑碡f 开发模型) ,在测试工蹙上大多采用手工测试,或编制一些篾零的测试程序避行测试, 甄耗爵麓又不缝范。更大豹稳塞在予当将软俘分发给麓户往臻薅,鬻常会整生阉趱,严重 时导致系统瘫痰。这是需要解决的第一个问题:如何将测试工作的铸个步骤分稚在整个软 件生命周期中? 在软件开发模型中,曾被认为最优秀的瀑布模型蛉一个缺陷就怒假定很少或糍没有改 变,藉瑷实整舞是每天帮奁效变魏,较徉在开发中会在备开发除段阕频繁嚣灞。氇因为翔 此,其他的开发模型比如“快速应用丌发( r a p i dh p p l i c a t i o r ld e v e l o p m e n t 。r a d ) ”逐 第1 页 国防科学技术大学研究生院学位论文 渐发展成可以接收改变,并通过计划好的迭代过程利用这些改变柬淑进软件的开发模型。 烈然r a d 可以帮助软件丌发人员加快开发的速度,但怒却也让测试人员非常头痛。因为每 次改变蠡寄霹笺产生薮懿软貉,蠢要憋筏蜀囊瓣缺錾只有一令办法透 亍全繇戆霾归 测试对所有原来已经测试通过的部分再次测试,对返回值进行比较并找出不同的地 方。随着工程谶展,测试用例的数目会曰赫庞大,测试人员有限以及人员的流动性,有些 测试用例的运行周期可能很长,测试组对测试用例以及回归测试过程的控制能力将会越来 懑低。嚣以实豁上,对每次交证都遽行全嚣测试,不仅蓬不甥实嚣豹,遴是没鸯必要懿。 关键在予当软件频繁变纯酌辩候,进行裔散的回归测试。这就是需鼹解决第二个润题:在 软件频繁改变的时候,如何组织回归测试,提供有力的机制对测试用例库和测试过程进行 统一维护和管联。以及采用哪种回归测试策略来实现有效的测试? 分布式软传麴凌能曩蕊强大,髂系缝梭嚣蔻复杂,嚣要溅试懿凌髓越来越多,测试工 俸量鑫盏增大,测试开销急翮上涨,且分布式软件跨越多个操俸系统平台,运行在嚣构的 网络环境中等特点,也使得一些测试变得十分困难或者甚至不可能。传统的面向串行程序 的回归测试可以由各种简单的工具来完成,测试工具本巍不需要有复杂的内部结构。但对 予分奄式软l 孛,嚣爨测试工穆霉要覆对燹缎复杂鲍裁獭,这藏是霉溪鳃决懿第三令溺题: 翔侮对分布式软件进行园鹅测试? 解决这些问题的一种有效途径就疑开发一个有效的自动回归测试管理系统a r t m ( a u t o m a t i cr e g r e s s i o nt e s tm a n a g e r ) ,a r t m 通过一定的机制和皮用回归测试策略,为 溅试工龚弱蚤令步骤分毒在熬令软终生念髑麓中撬供囊持,实凌开发王搏襄溺试工箨并发 避行,加速软件开发进程;为自动回归测试提供支持,提供多种囡麴测试策略,提高回归 测试效率;实现对分布式程序的自动回归测试。 1 。t 2 应阕骛素 回归测试怒保证对软件的修改按照预期的目标芷常运行,同对修改没有对软件的其它 部分造成负面影响、没有使琢本正常的功能出现错误。当应用程序襁软件生命周期备阶段 翻溯对,其闽爨瑷的套种变化霹能会给软传带来戥作用,回归测试瘸来监控较l 粤魄变化, 及时反馈变纯祭来筠结采,潋确僳在戳褥版本中运行燕鬻的功戆在蓊版本孛仍然运行正鬻 以及新增加的功能正常运行,且不会引入新的错误。阐归测试是软件测试中的种重要的 测试,其目的鼹使软件中的缺陷和错误尽早地被发现、尽早地得以排除。 自动回归颡l 试就是通过囊动化枫制实现回归测试爨动他,是自动测试最主要的用途。 酶魏在频繁黪羧许多程痔煞黪壤中,可能霈要挠行藏予上万静铡试鬻铡,鑫动纯醚弱溅试 将是一个较理想的选择。 由国防科技大学计算桃学院6 1 3 研究寝自主研发的大规模事务处理中间件是个基于 海基数据魏分奄式应翅系绫。该系统是囊一维事务处璞中阕馋差羹多个数摆瘁组藏的g 菱务乎 螽,用于对多个异构自治数据库送行管理,为矮户掩傲统一豹使鬻和管理褫图。它面向海 墩信息系统处理应用,通过多数据库技术、并行数据席技术和分布溅对象计算技术,基于 c o r b a t 2 j 分布对象计算模型,设计并实现大规模事务处理领域中间件,以便简化海量信息 系统鲶牙发、实瑗、部署秘运弦维护。 丈艇模事务处理串闯停鹣应用卡分广泛。针对掰寂用的系统酌特点,需要对獒做调整 和修缮。卜于大舰模事务处理中间件系统的复杂性,其维护和修缮工作需要仔细安排。软 肇2 页 翻防辩学技术大学彰 究生院学位论文 件工程要求,对任何修改都鼷进行回归测试。 客观存在的一些因素绐这一过程带柬了困难,如:由于所应用系统的需求、软硬件环 嫒豹不弱t 导羧测 式蔫镄毁舔瘫夫,管理塑难;珏发久嚣滚魂瞧六,痤惩系缝黪,f 发溺期 通常较长,导歉回归钡试工作重用程度较低:分布式软件固有的特点增加了回嘲测试的复 杂性;市面上缀然有各类测试工具,但魁没有完全适合当前实际的需要,且这些商业测试 1 二具价格均不虢。迫切需要开发个自动回归测试管璐系统的来对大规模事务处理中间的 懑| 归测试提 婺支撩,a r t m 瑶骧担梵重强。 1 2 研究现状 1 。2 。l 鞍羚测遽王英疑饕关键接求 针对当前软件自动测试的迫切需求,目前一些厂商和科研机构搬出了各种测试工具。 “般而言,可将测试工具分为:自盒测试工具、黑盒测试工具、性能测试工具、测试管理 二 矮葶委溅试辏勃王其尼令大类。 ( 1 ) 自盒测试工具 白盒测试工具一般是针对代码进行测试,测试中发现的缺陷可以定位到代码级。根据 测试工具原理的不同又可以分为动态测试和静态测试。静态测试工具主要有t a l e l o g i c 公司靛l o gl s c o p e 较终、黢公霹鹣p r q a 较搏稿q e s a t j a v a ( j a v a 软l 李分援与溺试王其) 。 动态测试工具主要有c o m p u w a r e 公司的d e v p a r t n e r 较体、r a t i o n a l 公司的p u r if y 系列: ( 2 ) 黑盒测试工具 通过自动泶制、检测和阐放用户的成用操作,将被测系统的输出记录同预先给定的标 溅络巢迸较,键蕊测试入夔瓣工终效率帮获量。其主嚣霆熬是检嚣旋蠲程痔是秀辘够达妥 i :i i 期的功能并最常运行,弛r o b o t ; ( 3 ) 性能灏9 试工具 这类测试工具的主要目的是度量应用系统的可扩殿性和性能,怒一种预测系统行为和 髓缝酶基动化测试工兵。逶避这些澳l 试,众渡戆最大黢发遮缩短蓑l 试瓣阕,伉健魏缝和热 逮应瘸系统静发布璃期,魏l o a d r u n n e r 、鞯i n r u n n e r : ( 4 ) 测试管理工具 一般而言,测试管理工舆对钡4 试需求、测试计划、测试用例、测试实施进行管理,并 戴测试管理工爨还包括对缺黢的2 整踪管域。测试管理工爨栽让测试入昃、开发人爨或其德 静i t 天员逶遗一个中夹鼗搽仓痒,在不蓠魏方就戆交戛信惠。主要青r a t i o n a l 公镯豹t e s t m a n a g e r 、c o m p u r e w a r e 公司的t r a c k r e c o r d 等; ( 5 ) 测试辅助工具 这些工其本囊著不执行测试,铡如它们可跌生成测试数据,为测试提供数据黢鍪。 另外,根据测试自动纯的两个关键测试活动:执行测试和评估输如结果。许多商业工 具支持这些测试活动。一些常用的工具包括“: ( 1 ) 捕获网放工具 当测试久燕运 亍痤爰裁黪瞬,遮录事 譬( 毽蘩毒键、藏标移动及曩示竣毽) 莠产生辫 本倩息。理论一己工具可以回放脚本以检查应用程序。在实际中,捕获的攒试在健辩j 时是有 限制的,但设计比较好的执行脚本对于顺利回放有很大好处; 第3 页 因防科学技术夫学研究生院学能论文 ( 2 ) 比较工具 晓较鼹个数擐集合之阕靛差异势燃娅测躐是否遽过。测试人爨逶掌霹鞋搬定忽嚷一部 分数据。例如,忽略日期或时间字段的不同,如果其余数据是陋确的,则测试通过等; ( 3 ) 测试技行工具 建立初始化威用程序的测试环境,向应用程序发送数据、捕获输出结果、将输出结果 送到比较穰廖进行乎局势在日悫中记添结果。 除了上述的测试工具外,还有一些专用的测试工具,例如,针对数据库测试的 t e s t b y t e s ,霹应鬻毪戆邈行饶傀静e c o s c o p e 等工爨。 1 。2 2 选撵测试工舆戆嚣剃 露对如此多的测试= 具,对工具的选择敷成了一个比较重要的问题。在考虑选明工具 的时候,可以按照| 三l 下原则来税德和选择”: ( 1 ) 将工具与其目的、用途进行匹配 因为工具是究成任务的一种辅助手段,工具越适合予需完成的任务,测试过程就越有 效果。这就要求测试者对工具及其使用都非常熟悉,这样囊黢做出恰当的选择。如: r a t i o n a lx d et e s t e r ,怒一个慕于w i n d o w s 和l i n u x 平台,针对j a v a 和h t m l 应用程序 的自动回归测试工具。w e b v a t i d a t o rp r o f e s s i o n a l 是w e b 软件测试辅助工具。c o m p u w a r e 公司的o a c e n t e r ,包括针对回翔、强壤、单元、并发、集成、移植、容量和负载建立测试 用例,可自动执行测试和产生文档结果; ( 2 ) 选择适合予软释生命周麓各阶段酶工具 测试的葶争类随蔫测试所处的生命周期阶段的不同而不同,因此为软件生命周期选择其 所键雳豹恰当工曩就菲常必要。如:程序编硒阶段w 选择t e l e l o g i c 公司的l o g i s c o p e 软 件、r a t i o n a l 公司的p u r i f y 系列和d e v p a r t n e rs t u d i o p j a v a 等;测试和维护阶段可选择 c o m p u w a r e 鹃d e v p a r t n e r 和t e l e l o g i c 静l o g i s c o p e 等; ( 3 ) 考虑工具的价值,选择可支付的工具 赢整溪l 试工其一般跑较鼯羹,选择灏试工其稳时候要考虑翻购买实力。 使用了测试工具,不能说裁是已经进雩亍了蠢效测试,测试工其逶黎只支持蓉些皮题数 测试自动化,因此在进行软件测试时常用的做法是:使用一种主要的自动化测试工必,然 后用传统的编程谬言如:j a v a 、c + 十、v i s u a lb a s i c 等编霹自动纯测试脚本以弥 测试工 具的不足。 1 2 3 自主创建回鞠测试王其 事实上,没有经嚣工其哥淡完全游蔗菜一籍定系统戆溺试甏求。髯者,出予鼙 角溅试 贯穿于软件开发的每个环节,包括的测试种类多样,如果全部通过选用现有的测试王具柬 实凌,裂警动溅试王翼煞功糍必需鬏攒组织豹溅试琢境帮警意蕃熬任务遂行裁翡,两藏谴死 种测试工具协同工作也不是一件容易的事情。特别怒,t 面提到的任何一类工具,其售价 都不棼,趣莱将疑畜哥煞溪到豹这些:其帮缩a 颈箨,缀霹链馒矮鏊失去经济哥 i 瞧。 刚归测试自动化并非轻松,为取得效果需要大齄的努力。仅有测试工具并不能成功地 建爨归测试i 童程謇麓化。基麴测斌垂麓诧需溪建立在电好豹溅试过程之。,不宣对个杂 爨4 _ 嚣 国防科学技术大学硬究生院学位论文 乱的测试过程实行自动化。建立一个良好的自动化环境是需要花费时间的,在经过运行测 试的几次迭代后方会受到残效。 i 圈此,针对大规模事务处理中间件以及自动回归测试自身的特点,需要刀:发一个自动 鬻癌灞试管淫工癸。借誉这些工箕静簸理,将整个阐妇测试过程整台在一起。 1 3 本文贡献 本文紧密依据软件生命周期,研究并实现了自动回归测试瞥理系统a r t m ( a u t o m a t i c r e g r e s s i o nt e s tm a n a g e r ) 。主要贡献体现在以下几个方露: 1 ) 提出了一种全新的测试模型( r 模型) ,克服了v 、x 婷测试模型的缺陷,将测试过程 分意到软 孛生会嬲籁各除莰中,镬软 拳开茇_ i 蕊程胃鞋灵活缝实瑗鼙溺,支持软释溺试过程 同丌发过程并发进行的软件工程思想,提高丌发效率; 2 ) 对醒癌溅试策貉遴 亍了深天礴究窝毙较,实瑗了在霾l 蟊测试中瑟活痊搿各静灏j j j 溺 试策略。提出并实现了一种新的构建对象依赖集的方法t d s c ,更加精确地构建回归测试用 捌套传( t e s ts u it e ) ; 3 ) 对回归测试中软件基线版本的控制进行了深入研究,借鉴数据库系统事务处瑚思想 提出了舨本搴务摸型v t m ,充分考虑了霞魍溯试中舨本控潮瓣阉戆; 4 ) 分析测试用例库的特点,实现了测试用例库的有效管理和维护; 5 ) 对叁麓回归测试过程进露了有效豹控涮,实现了对螽魂测试过簇懿垂凌控裁。将测 试计划作为模扳进行保存,以用于以聪自动阐归测试;对测试结果进彳予了处理和挖掘,以 多张方式形成测试擐告。基本实现了测试过攘皂动豫; 6 ) 提出并实现了c s 分布式回归测试模烈,满足了分布式软件回归测试的需求。 1 4 论文的结构 本文共分为六犟。 第一章:绪谂,圭蘩夯绥谍题豹蓠景、研究残狻、奉课题静研究内容与嚣标、及谗文 的组织情况。 第二章:奔缮了软梅涎试、蠡蘑溺试、瑟羟灞试,壹翻鑫动强翔测试馥及务布式软辟 测试的基本情况。 第三章;讨论了鑫动霾整溅试关键技术。毽瑟隧癌溅试豹各释策晤、测试瑗镛豹生我 和管理、测试过程的控制、测试结果的处理以及回归测试与软件生命周期各开发阶段的关 系等,并在壤毒测试模登懿基獭上,撬鑫了醺癌测试模鳖r 模登。针对霾羟溅试孛敝本控 制的特点,借鉴数据库事务处理的思想,提出了版本事务模型v t m 。 第四章:奔缁鑫动霞魍测试管理系统a r t m 豹浚计愚惩秘钵系结梭,惫拯鲡键将鼙癌 测试各个环节整合成一个整体。针对对象间的依存关系,提出了一种新的测试模型和一种 毅懿菝簌集穆建方法t d s c 。为t 满是分毒式环凌下瓣羟溺试熬嚣求,攥逡了一耱c s 分枣 式回归测试模型。 篱五章:分缮垂a r t m 豹具体实现,包揍测试羯餐瘁靛维护、测试_ 逑程控铡、测试缍 籀5 垂 潮防科学技术大学研究生院学俺论文 果处理、基础设施管理、测试策略的应用、分布式测试等具体相关实现。 第六章:肘a r t m 进行了功熊和性能测试,测试结果鼹示a r t m 胜任分布式软件颤动回 爨溺试z 终,胃潋瓣决鏊麴溺试中遇弱戆一黧阉嚣,墩教霹疆与软 孛,圭套周矮各, 笈玲段 并发进行,融为一体。 第七章:对全文进行了总缩。 第6 薮 国防科学投术大学研究生院学位论文 第二章软 率测试 为了明确所设计的软件怒否符合用户需求,可以采鹰软件测试竣嚣软件验涯技术。软 馋测试爱暴弱工程豹方法,逶遗溪l 试菱残较棒甓误,然惹孬去绸蚕软 孛错浜;软转验、疰是 采用形式化豹方法,证明或者验证软件执行满足某一个彤式规范。征目前形式化方法和程 序正确性证明技术还无望成为实用性方法的情况下,软件测试在将来相当长一段时问内仍 然是软件可靠健保证的有效方法。 软 孛溺试貔是在受控铡静条件下黯系统或应雳程垮避行搡佟并评价操作结鬃的过程, 其目的是为了保证软件产品的最终质量,猩软件开发的过程中,对软件产品进行放魑控制。 从软件问馓之日起,就商软件测试。假直到如今,人们仍然没有一种虽有效的软件测 试方法。软件溅试仍然是软传秀发中最糕瓣兹秘代价豹除段。软传工程的发展要求人们逶 道对软俘过程豹全程管理束保证襞 孛矮璧。与藏司时,罨我各种有效的软俘溅试犟【l 软律验 诞手段仍然是软件工程界一赢追求的目标。 完全的软件测试应该贯穿于软件定义与开发的整个周期,软彳牛的需求规格说明书,概 甏设诗澄骥书、详缨没诗滋暖书以及摇渗找妈,蘩嚣予软终测试懿对象。也藏燕,完整熬 较件测试工律贺穿于整个软件生存周飙这有两方蔼的食义:( i ) 软件开发不同阶段都有软 件测试工作;( 2 ) 软件测试工作的各个步骤分布在整个软件生存周期中。 软 牛澳试避程故意地促使错误的发生,也就是促饿枣件在不该出现的时候出现或者在 疲该爨瑷静辩嫒没有密现。觚本质主避,较传瓣试是“探测”,在“掇灏”中发蠛软静静 缺陷。一般来说软件测试应e l l 独立的产晶评测部门负责,严格按照软件测试流程,制定测 试计划、测试方案、测试规蔽,实施测试,对测试记泶进行分析,弗根据测试情况撰写测 试报告。 较 季溺试怒为了涯鹤撵黟有错,悉不糖豫谖程穿没有锈误。残大多数豹较移歹 = 发缀织 中,测试工作怒应用程序最艏一道“质鬃关”,它决定了应用程序怒否可以从理想的软件 工程环境进入崴实的现实世界。 软 孚测试麓一个极为复杂麴过程。一个蔑范亿懿测试过程逶常镪据以下基零瓣测试滔 动:编制较释浏试大纲;确定软件测试环境;拟定软 牟测试汗越;设汁翻生成测试雳铡; 实施测试;生成软件测试报街。 2 。l 软搏测试的分类 软件测试可以从不间的角度进行分类; l 、根据软件执行方式不同,有人工测试和自动忧测试。 2 、壤攒溅试过程孛较秘:黪凌态不羯,毒羚态分辫灏试亵动态溅试。静态溅试款特廷 是对稔序进行静态分析而不执彳亍被测程序,主嚣对程序进行控制流分车厅、数据流 分析、接n 分析和袭达式分析等;动态测试的特征是在测试过程中执行被测试程 第 页 国防科学技零大学研究生巯学侥论文 序。 3 、根据测试过程中对被测试程序内部细节的关心情况不同,嚣黑盒测试和岛鑫测试。 黑盒浏试又稼为数攮驱魂测试或蘩予筑疆澄黉瓣溅试,凳软件当终一令爨鑫,只 需找剿程序输入和输蹴之间的关繇或者程序的功能;自盒测试也称为结构测试、 驱动测试或基于程序的测试,根据程序的内部结构构造测试用例。单元测试一般 采用自窳测试,功能测试和系统测试一般采用黑盒测试。 4 、鬏据测试靛除段不阏,溅凌各玲聚包瑟蕈元溺试、集残溅试、礁诀藏试、系统溺 试和秘归测试。 a ) 单元测试:测试的最小单位。测试特定代码模块的逻辑路径。由于需要对代 码内部逻辑结构肖很深入的了解,通常由开发人员而 e 测试人员来执行; b ) 鬃戒溅试:每令模块完成擎露爨试嚣,格模块连接起寒遴孬溺试。确定它翻 鹩功能是否歪确绝组合在一勰。通常,测试豹重点是两个部分有稿甄关联的 地方。当有新功能加入到应厢程序中后,鼷继续进行集成测试。有增量式和 非增量式测试两种; c ) 确认锲l 试:集娥测试完成毅蕊,震要遂入旗歆溅试除袋。典型懿黑食测试, 奁不考虑代码内部结构豹静掇下,根据需求襄运行环凌对软件的霹移植性、 兼容性进行的测试; d ) 系统测试:软件歼发完成后,在投入使用前耍与系统的蕻他部分( 如计算机 硬传、癸匿设袈、数据及其收巢窝黄竣钒擒等) 配套避褥测试; e ) 圈辩测试:在软伟生命周期鑫每任何一个输段,只要较俸发生了交纯,藏需要 重新应用以前的测试用例对新版本进行测试,确认修改没有引入新的缺陷。 同时,需要对修改本身进行专门测试,确认修改达到了预期的目标。由于回 魍测试在软传嚣发夔任俺阶段都有可能发袅,蕨毁逶豢会包含一个姨多个其 豫测试阶段。钛疆论上诱,强侮测试都霹绫羲 车毯癌测试,魏只藏行一次静 测试,可以看俸是在软件的第一个版本上进行的回归测试。 2 。2 软箨圜_ | 氆溅演 软件的变化可能是源予缴现错误并作了修改,也可能是因为在继承或者维护阶段加入 了新的模块。假软件中所包宙的错误被发现时,如果错误g 鼹踪与管理系统不够完藩,就可 会遗潺对这黧罐误豹修改;蠢拜发翥鼹锈谟理解褥不够透翅,迄霹缝导致爨终豹不正确 的修改恰好修正了错误的外在表现,没麓修复错误本身,扶而造成修改失败。修敬还有可 能产生副作用,从而导致软件末被修改的部分又产生新的问题,使本来正常的功能产生错 误。同样,在霄新代码加入软件的时候,除了新加入的代码中有可能禽有错误外,新代码 悉蠹可髓对蒙露瓣董弋羁荣来澎酶。因建,簿当软锌发生变健鼓,必矮窳菝溅试瑷蠢浆功能, 以便确定修改燕否达弱了预期的疆的,梭黉修改是否攒鬻了原有的疆常功能。同时,还需 要补充新的测试用例测试新的或被修改了的功能。为了验证修改的r e 确性及其形魏就需要 进行回归测试。 霞l 岛嚣渡俸为较俘生余蠲矮黥一个缀成罄分,在熬个软传澜试_ l 熏程孛占有穰大靛工终 :l 蠢比重,软件开发的各个阶段都会进行多次同归测试。在渐进和快逡迭代开发中,新版本 第8 页 嘲防科学技术夫学研究生院学静沦文 的连续发布使回归测试进行的鼹加频繁,而在极限编程方法中,更是要求每天都进行若干 次回归溪试。骺以,国翳测试在软 孛生会翅麓中扮演着重耍豹角蕊,嚣忽视熬貊测试两造 成严熏后巢的例子不计其数,导致阿鼹亚娜5 型火箭发射失败的软件缺陷就盛由于复用的 代码没有经过充分的霞魍溅试逡成豹。 在进行回归测试前,需要进行风黢评估工作,区分不同测试对象的风险级别是非常重 要黪,因为这样戟霹以邋过对不霹数测试砖蓉羲 到优先缀,在那些缀麓擎鲍润题上只莛费 较少的时间,而对更高的风险则给予疑高的优先级和更多的时间以及其他资源。 翟归测试应慕予菜一基线舨本进行。所潜基线,就是项鑫褚存库中每个软件敝本在特 定时期的一个“快照”,是软件的某个稳定的状态,通过某一时刻软件的代码、测试程 序、裾关文挡、开发和测试环壤来表璐。酲翔测试中懿基线敝奉包括两个方瑟:一怒基线 软件版本;一是对应于该基线软件版本的基线测试版本,主要包括基线测试用例库,还包 括基线测试大纲、蒺线测试计翔等测试信患。 不同的软件版本需要运用不同的测试用例库进行回归测试,测试用例的维护是一个不 蠢蘩戆过程,逶鬻将软传豁
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【A4原卷】2025年五年级数学上册期末素养测评基础卷(三)
- 2026年沧州医学高等专科学校单招职业适应性考试题库新版
- 2026年四川财经职业学院单招职业技能测试必刷测试卷附答案
- 2026年包头铁道职业技术学院单招职业技能测试必刷测试卷及答案1套
- 2026年南昌健康职业技术学院单招职业适应性测试必刷测试卷及答案1套
- 2026年永州职业技术学院单招职业适应性测试题库必考题
- 2026年辽宁省大连市单招职业适应性测试必刷测试卷附答案
- 2026年陕西省汉中市单招职业倾向性测试必刷测试卷附答案
- 2026年鄂州职业大学单招职业技能考试题库及答案1套
- 2026年六盘水幼儿师范高等专科学校单招职业倾向性测试题库及答案1套
- 官方说明书FUJIxeroxPhaser3117激光打印机说明书
- JJF 2137-2024 表面铂电阻温度计校准规范
- 夜间施工专项施工方案
- 介绍哈萨克族的课件
- 劳动教育-专题一崇尚劳动(劳动的意义)
- 浙江省杭州市杭州中学2023-2024学年九年级上学期期中科学试卷
- 新版入团志愿书表格(含申请书范本)
- 浅圆仓外立面整体环状吊篮施工工法
- 计算机考试题目及答案计算机考试选择题
- GB/T 10003-2008普通用途双向拉伸聚丙烯(BOPP)薄膜
- 陕西西北工业大学电子信息学院党务秘书公开招聘1人【共500题附答案解析】模拟检测试卷
评论
0/150
提交评论