(计算机应用技术专业论文)基于cbr的测试用例复用模型的研究与应用.pdf_第1页
(计算机应用技术专业论文)基于cbr的测试用例复用模型的研究与应用.pdf_第2页
(计算机应用技术专业论文)基于cbr的测试用例复用模型的研究与应用.pdf_第3页
(计算机应用技术专业论文)基于cbr的测试用例复用模型的研究与应用.pdf_第4页
(计算机应用技术专业论文)基于cbr的测试用例复用模型的研究与应用.pdf_第5页
已阅读5页,还剩59页未读 继续免费阅读

(计算机应用技术专业论文)基于cbr的测试用例复用模型的研究与应用.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于c b r 的测试用例复用模型的研究与应用 捅姜 在软件飞速发展的今天,软件测试成为保证软件质量和可靠性的最重要手 段。以劳动密集为特征的传统手工测试已经不能满足软件测试的需要,自动化测 试为此提供了成功的解决方案。自动化测试作为软件测试新发展起来的重要分 支,已经受到越来越多的学者和研究机构的重视。测试用例的选择对于软件测试 的成败起着至关重要的作用,测试用例的设计和实现成为人们研究的核心。如何 高效的生成测试用例成为自动化测试领域研究的焦点。 测试用例设计的目的是确定一组最有可能发现某个错误或某类错误的测试 数据和流程,实现系统功能等的测试。然而由于软件测试用例设计在很大程度上 依赖于测试人员的个人经验,测试用例编写的格式也随着编写人员的变化而不 同,给测试带来很大的盲目性,导致软件后期的维护费用在软件成本中占有很大 的份量。测试复用就是将复用的思想应用到软件测试过程中,充分利用过去软件 测试过程中积累的成果、知识和经验,开发新的测试。软件测试用例的复用解决 了测试人员经验不足的问题,并且是使测试用例设计中避免重复劳动的解决方 案。通过软件测试用例的复用,可以有效提高软件测试的效率。 在软件复用及构件化得到很好发展的软件工程领域,已经存在大量高质量的 可用测试用例。但是人们对自动化测试领域的研究,大部分集中在测试方法学上, 因而其复用技术没有得到很好的发展。本文针对这些现状,设计并实现了一种具 有跨平台、适应软件变化等特点的基于c b r 的自动化测试用例复用模型。本文 的研究方法是根据实际软件测试中的不足,进行相关理论的研究以获得问题的解 决方案,最后,给出实例验证方案合理有效。研究工作主要包括: 软件自动化测试的相关理论、自动化测试工具、测试用例设计与实现的方法, 以及c b r 理论基础及其关键技术等。在理论研究的基础上,将c b r 应用到测试 用例的复用领域,设计了基于c b r 的测试用例复用模型。, 论文介绍了复用模型的原理和处理流程。首先建立了示例自动化测试用例 库。在模型复用之前,要对测试用例库进行预处理,将用例的信息进行提取、配 置权重,建立龇格式的用例存储模式文档:x m l 为提高软件的复用能力提 供了统一的描述框架规范,将结构化信息表示为文本这一简单而且通用的格式; 对用户输入的新测试条件进行改造,获得用例捡索模式文档:检索文档作为模型 的输入,经过c b r 检索,以及模型的修正,最终获得适应新测试目标的测试用 例。 论文的重点介绍了预处理、c b r 检索和修改的方法,并给出了模型的实例, 检验了模型的实用性和有效性。基于c b r 的测试用例复用模型为测试人员提供 了高覆盖率的测试用例,提高了测试用例的质量和软件测试的效率,缩短了软件 测试的周期,节约了测试的成本。 关键词:软件测试;自动化测试:测试用例;软件复用:测试用例复用;基 于案例推理;x m l i i d e sig na n d im pie m e n t a tio no ft e s tc a s er e u s em o d ei b a s e do nc a s e 。b a s e dr e a s o nin g 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 fs o f t w a r et o d a y ,s o f t w a r et e s t i n gi sb e c o m i n gt h e m o s t i m p o r t a n tm e t h o dt o a s s u r ei t s q u a l i t y a n dr e l i a b i l i t y t h et r a d i t i o n a l l a b o r - i n t e n s i v em a n u a lt e s t i n gh a sb e e nu n a b l et om e e tt h en e e d so fs o f t w a r et e s t i n g a u t o m a t e dt e s t i n gp r o v i d e sas u c c e s s f u ls o l u t i o nt ot h i s a san e wb r a n c ho fs o f t w a r e t e s t i n g ,m o r ea n dm o r es c h o l a r sa n dr e s e a r c hi n s t i t u t i o n sp a ym u c ha t t e n t i o nt o a u t o m a t e dt e s t i n g t h ew i s ec h o i c eo ft e s tc a s e sf o rs o f l 、:v a r et e s t i n gp l a y sav i t a lr o l e i nt h es u c c e s so ft e s t i n g t h ed e s i g na n di m p l e m e n t a t i o no ft e s tc a s ei sb e c o m i n gt h e c o l es t u d yo f p e o p l e t h ee f f i c i e n tw a y o ft e s tc a s eg e n e r a t i o nb e c o m e st h ef o c u so f r e s e a r c hi nt h et e s t i n gf i e l d t h ep u r p o s eo ft e s tc a s ed e s i g ni st oi d e n t i f yag r o u po fd a t aa n dp r o c e s s e sw h i c h a l em o s tl i k e l yt of m do u tt h em i s t a k e so re r r o r so fc e r t a i nt y p e sa n da c h i e v ei t s f u n c t i o n a lt e s t , e t c b e c a u s et h es o f t w a r et e s tc a s ed e s i g nm o s t l yd e p e n d so nt h e t e s t e r s p e r s o n a le x p e r i e n c e ,a n dt h ef o r m a to ft e s tc a s e sv a r i e sf r o md i f f e r e n tt e s t e r s , t h ea c t u a lt e s t i n gj o b sh a v eg r e a tb l i n d n e s s a l lt h e s el e a dt ot h a tt h es o r w a r e m a i n t e n a n c ec o s t sa c c o u n tf o ral a r g ep r o p o r t i o no ft h ew h o l es o f t :w a r e sc o s t s t e s t r e u s ei ss o f b , v a r et e s ti nw h i c ht h er e u s et h i n k i n gi sa p p l i e di nt h et e s t i n gp r o c e s s i t m a k e sf u l lu s eo ft h ep a s to u t c o m e s ,a c c u m u l a t e dk n o w l e d g ea n de x p e r i e n c e st ot h e d e v e l o p m e n to fn e w t e s t s t h er e u s eo ft e s tc a s er e s o l v e st h ei s s u eo fe x p e r i e n c el a c k , a n dc a na v o i dd u p l i c a t i o no fe f f o r t t e s t e r sc a l lg r e a t l yi m p r o v et h ee f f i c i e n c yo f s o l , r a r et e s t i n gt h r o u g ht e s tc a s er e u s e s o f t w a r er e u s ea n dc o m p o n e n th a v ea c h i e v e dg r e a ts u c c e s si nt h ef i e l do fs o f t w a r e e n g i n e e r i n g t h e r eh a sa l s ob e e nal a r g en u m b e ro fa v a i l a b l eh i g h - q u a l i t yt e s tc a s e si n t h ef i e l do fa u t o m a t e dt e s t i n g h o w e v e r , t h es o f t w a r e t e s t i n gr e s e a r c hm a i n l y c o n c e n t r a t e di nt h et e s tm e t h o d o l o g y ,p e o p l ep a yl i t t l ea t t e n t i o nt ot h et e s tc a s er e u s e a n di t sn o tw e l ld e v e l o p e d t or e s o l v et h i s ,t h i sp a p e rd e s i g na n di m p l e m e n ta p l a t f o r mw h i c hi sb a s e do nc a s e - b a s e dr e a s o n i n g ,f e a t u r e dc r o s s - p l a t f o r ma n dc a l l a d a p t a t i o nt os o f t w a r ec h a n g e s ,e t c t h i ss t u d yi sb a s e do na c t u a ld e f i c i e n c i e si nt h e s o f t w a r et e s t i n g ,t h e nt u r nt os t u d yt h et h e o r e t i c a lt oo b t a i nt h es o l u t i o nt ot h e p r o b l e m f i n a l l y ,a ne x a m p l es y s t e m i s g i v e nt op r o v et h er a t i o n a l i t y a n d 1 i i e f f e c t i v e n e s so ft h es o l u t i o n t h ew h o l er e s e a r c hi n c l u d e st h ef o l l o w i n gl i s t e d : s o f t w a r et e s t i n ga n da u t o m a t e dt e s t i n gr e l a t e dt h e o r i e s ,a u t o m a t e dt e s t i n gt o o l s ,t e s t c a s e sd e s i g na n di m p l e m e n t a t i o nm e t h o d s ;c b rf u n d a m e n t a lt h e o r ya n di t sk e y t e c h n o l o g y o nt h eb a s i so ft h e o r e t i c a lr e s e a r c h ,t h ep a p e rp u to u tam o d e lw h i c h a p p l i e st h ec b r r e t r i e v er e u s em e t h o di nt h et e s tc a s er e u s ef i e l d t h ep a p e rp r e s e n t st h ep r i n c i p l e sa n dp r o c e s s e so ft h er e u s em o d e l i td e s c r i b e st h e m e t h o do ft e s tc a s ed e s i g na n de s t a b l i s h e ss a m p l ea u t o m a t e dt e s tc a s e sb a s ea tf i r s t t h e nt h et e s tc a s e sa r ep r e t r e a t e d :t h ei n f o r m a t i o no ft h ec a s e si se x t r a c t e da n dw e i g h t c o n f i g u r e d t h ep r e t r e a t m e n tw i l lo u t p u ta nx m lf o r m a tf i l ec o n t a i n i n ga l lt h e i n f o r m a t i o n t h ex m l t e c h n o l o g yc a ni m p r o v es o f t w a r er e u s ea b i l i t yt op r o v i d ea u n i f i e dd e s c r i p t i o no ft h ef r a m e w o r ko fn o r m s i td e s c r i b e ss t r u c t u r e di n f o r m a t i o ni n t h ef o r mo fs i m p l ea n dc o m m o nt e x tf o r m a t t h em o d e lt r a n s f o r m st h eu s e r si n p u to f t h en e wt e s t s c o n d i t i o n st ox m lr e t r i e v a lf i l e s t h r o u g ht h ec b rr e t r i e v a l ,a sw e l la s t h em o d e l sa m e n d m e n t , t h em o d e lw i l le v e n t u a l l yo u t p u tt e s tc a s e sw h i c ha d a p tt o t h en e wt e s to b j e c t i v e s t h ep a p e rf o c u s e so nt h ei n t r o d u c t i o no ft h et e s tc a s ep r e t r e a t m e n t ,c b rr e t r i e v a l a l g o r i t h m ,a n dc a s er e v i s e a n da l s og i v e sa l li n s t a n c es y s t e m t ov e r i f yt h ep r a c t i c a l i t y a n de f f e c t i v e n e s so ft h em o d e l t h ec b rb a s e dt e s tc a s er e u s em o d e lp r o v i d e sh i g h t e s tc o v e r a g et e s tc a s e sf o rt h et e s t e r s t h i sm o d e li m p r o v e st h eq u a l i 够o ft e s tc a s e a n de f f i c i e n c yo fs o f t w a r et e s t i n g ,s h o r t e n st h ec y c l eo ft h es e t , w a r et e s t i n g ,a n ds a v e s t h ec o s to ft e s t i n g k e y w o r d s :s o f t w a r et e s t in g ;a u t o m a t e dt e s t :t e s tc a s e :s o f t w a r er e u s e : t e s tc a s er e u s e ;c a s e - b a s e dr e a s o nin g ( c b r ) ;x m l 独创声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含未获得 注i 垫逡查墓丝益要挂型岂题丝:奎拦互窒2 或其他教育机构的学位或证书使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均己在论文中作了明 确的说明并表示谢意。 学位论文作者签名:丧中芳签字日期:五喈年月三日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,有权保留并 向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人 授权学校可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用 影印、缩印或扫描等复制手段保存、汇编学位论文。( 保密的学位论文在解密后 适用本授权书) 学位论文作者签名:赵咔芳 签字日期:知序6 月2 日 学位论文作者毕业后去向: 工作单位: 通讯地址: 导师签字: 诧别冬 篷字日期:毋孝乒6 月2 日 电话: 邮编 基于c b r 的测试用例复用模型的研究与应用 1 绪论 对于软件自动化测试用例复用技术的研究来源于软件项目开发实践过程中, 软件自动化测试推行的困难。本章基于对软件测试中面临问题的分析,说明本文 研究的目的和意义。 1 1 课题研究背景 1 1 1 软件测试中面临的问题 软件测试伴随着软件的产生而产生。在早期的软件开发过程中,软件测试的 含义比较狭窄,人们往往把调试等同于测试。1 9 7 2 年,在美国北卡罗来纳大学 举行了首届软件测试正式会议,成为软件测试的重要里程碑。随着软件产业的快 速发展,软件测试逐渐得到的人们正确和深入的认识,软件测试的重要性也逐渐 凸显出来。大量统计资料表明,软件测试阶段投入的成本和工作量往往要占软件 开发总成本和工作量的4 0 甚至更多【1 1 。 然而,软件测试在实际推行过程中,却出现了很多问题。主要体现在以下几 个方面: ( 1 ) 许多企业对软件测试的重要性缺乏足够的认识,很多公司没有成立独立 的测试管理及q a 部门,在软件开发中也不能充分考虑软件测试的相关 问题,测试工作推行不利,导致软件测试不能充分发挥其作用; ( 2 ) 软件测试起步较晚,但它所涉及的知识面很宽,对测试人员的要求较高, 许多企业因在推行测试的过程中遇到种种困难而使测试工作被迫搁浅; ( 3 ) 软件开发费用和进度失控。在软件开发过程中,开发费用超支、进度 拖延的情况经常发生。在软件开发后期,由于软件急于交付、需要节省 开发成本等因素,测试工作被草草的人工测试代替,软件质量得不到保 障; ( 4 ) 已有测试用例没有得到很好的复用。随着自动化测试的优点逐渐凸显出 来,它已经被越来越多的运用到软件测试中,在对众多软件的测试基础 上,建立了大量高可用测试用例。但是,测试用例的复用没有得到重视 基于c b r 的测试用例复用模型的研究与应用 和研究,从零开始设计和实现新的测试用例代价昂贵,这成了软件自动 化测试的拦路虎; ( 5 ) 自动化测试必须适应由于频繁的需求变更、遗漏的需求、与用户交流不 够、质量低下的需求规格说明和不完善的需求分析等带来的需求变化, 因而自动化测试用例应该具有一定程度的自适应能力,以便适应测试需 求的变化。但目前这方面的研究很少。 1 1 2 解决问题的主要对策 ( 1 ) 树立正确的观念,在软件开发团队内部充分重视软件测试,形成良好的 推行测试的环境; ( 2 ) 在软件设计初期要充分考虑软件的可测试性因素,制定严格的测试计 划,避免在软件开发后期匆忙测试的现象; ( 3 ) 建立良好的测试工具应用环境,并对测试流程和管理机制做相适应的变 化,充分发挥自动化测试工具的作用; ( 4 ) 逐步培养高素质的软件测试人员。在测试过程中注重测试人员经验的积 累,进行有效充分的培训; ( 5 ) 充分利用现有的测试用例,注重测试用例的自动生成和复用技术,保证 良好测试脚本的重复使用。 1 2 国内外发展概况 软件测试作为软件工程学科的一个重要分支,近年来随着软件的快速发展而 发展,自从2 0 世纪7 0 年代至今,国内外许多学者和机构在软件测试方面进行了 大量的研究工作,形成了许多经典的软件测试技术和软件测试流程的管理规范 2 1 。目前软件测试技术的研究主要向网络化、大型化和自动化方面发展,主要包 括c l i e n t s e r v e r 系统、基于i n t e m e t 的w e b 应用系统、嵌入式系统的软件测试技 术的研究和测试工具的研制。目前国内外软件测试技术领域内的研究热点有d i d : ( 1 ) 针对软件特点开展的使用软件测试技术和方法的研究,例如针对实时系 统、嵌入式系统等不同类型软件的特点开展的软件测试技术的研究: ( 2 ) 针对新的软件开发技术而展开的软件测试技术研究,包括针对面向对象 2 基于c b r 的测试用例复用模型的研究与应用 技术、i n t e m e t i n t r a n e t 结构、j a v a 语言等的软件测试技术的研究; ( 3 ) 测试自动化技术的研究,目的是提高测试各阶段工作的自动化程度,减 轻人工测试的负担,如测试用例自动生成技术【5 】、回归测试的自动执行 等: ( 4 ) 测试工具与测试环境【6 】的研究,依据软件测试的技术和方法开发相应的 测试工具与环境,如测试计划工具、测试设计工具、测试管理工具、静 态分析工具、结构测试工具、回归测试工具、性能及网络负载测试工具 以及为提高工具使用的有效性、工具间的互操作性以及信息的共享性而 开发的、由若干工具经过有机结合形成的测试环境等; ( 5 ) 软件自动化测试框架的研究,设计并实现了一些自动化测试框架,适用 于一些软件测试领域,改善了软件测试生命周期较长的现状; ( 6 ) 测试用例自动生成和复用技术的研究,针对软件测试用例对软件测试的 重要性、设计和实现测试用例的复杂和困难等,一些专家和学者对软 件复用技术进行了研究,包括:基于删l 的测试用例复用技术、基于 遗传算法的测试用例复用技术、基于u m l 状态图的测试用例自动生成 方法研究、基于l n 儿顺序图的集成测试用例生成方法等。 1 2 1 国外发展状况分析 美国的i e e e 、a c m 等组织制定了一系列软件测试规范 7 1 ,国外的许多大学 ( 如c a r n e g i em e l l o n 、华盛顿大学等) 、研究机构( 如m a t i o n a ls o f t w a r et e s t i n gl a b 等) 和公司( 如s o f t w a r ef e s e a r c h 、m e r c u r yi n t e r a c t i v e 、r a t i o n a lc o r p o r a t i o n 等) 进行了大量软件测试的研究和应用工作。其中c a r n e g i em e l l o n 大学侧重于回归 测试和c l i e n t s e r v e r 测试技术的研究,g e o r g em o s a n 侧重于基于规范的测试自动 生成和面向对象测试技术。 目前比较流行的软件测试工具集有:w e b 测试工具:q t p 、l o a d r u n n e r , c o m p u w a r ec o m p a n y 的q a r u n ,t e s t d i r e c t o r 等。静态分析工具有:v i e w l o g 公 司开发的l o g i s c o p e 分析工具,m a c a b e 公司开发的m a c a b e ,s o f t w a r er e s e a r c h 公司开发的t e s t w o r k a d v i s o r 分析工具等。嵌入式测试工具:a 订o l t e s ”凇r e 公司的气t t o l l 卫s ”a r e ,m e t r o w e r k s 公司的c o d e t e s t 等。数据库测试工具: l o g i cw o r k s 公司的t e s t b y t e s 等。内存泄漏测试工具:i b mr a t i o n a l 的p u n f y 等。 基于c b r 的测试用例复用模型的研究与应用 协议测试工具:s p i r e n t 公司的a b a c u s 系列等。网络路由测试工具:s p i r e m 公司 的s m a r t b i t 等。单元测试工具有p a r a s o r 公司的c + + t e s t 和j t e s t ,开源的x u n i t 家族。功能测试工具有m e r c u r yi n t e r a c t i v e 的w i n r u r m e r ,i b mr a t i o n a lr o b o t , b o d a n d 公司的s i l k t e s t ,a p a c h e 组织的开源j m e t e r ,p u s h t o t c s t 公司的t e s t m a k e r 等。 1 2 2 国内发展状况分析 国内的软件产品测试技术研究起步晚,在人力、物力上投入与国外相比差距 较大【8 】。 ( 1 ) 上海市软件评测中一t , , ( s h s t c ) 9 。评测环境:s o l a r i s 平台、a i x 平台、 o s4 0 0 平台、h p u x 平台、n t 和l i n u x 平台、网络环境;评测业务包 括软件评测和网络评测,软件评测包括:软件产品登记测试、软件产品 性能测试、单项功能确认测试、标准符合性测试、开发过程中的单元测 试和集成测试、信息工程项目验收测试、信息工程监理:网络评测包括: 网络布线认证测试、网络系统性能测试; ( 2 ) 中国软件评测中一t ) , ( c s t c ) o o 】。它是国家级第三方计算机软件产品检测 机构。对软件从功能上、兼容性、可扩充性、性能、安全稳定性、速度、 易用性、用户文档、资源占用率等九个方面进行全面测试; ( 3 ) i - t e s t 测试管理系统【l l 】。i - t e s t 测试管理系统专注于测试流程的管 理,管理功能全面,对测试流程的设计科学、规范、合理。结合开发人 员在业界的经验和对国内软件开发现状的把握等基础开发而成,非常贴 近国内用户的需求;具有强大的测试用例、测试步骤的编辑和管理功能, b u g 的跟踪处理功能,所有输出结果自动生成w o r d 文档的功能,同 时有强大的统计分析、决策支持能力,使用和维护方便,具有良好的性 价比,是目前国内市场不可多得的测试流程管理软件; ( 4 ) 北京大学、北京航空航天大学进行了一系列软件分析和测试工具的研究 和开发,研制了一系列的程序理解工具和测试工具,比较具有代表性的 工具有s a f e p r oc c + + ,s a f e p r o j a v a 。航空计算机研究所、南京大学在 嵌入式系统测试方面进行较多工作,开发了一些静态分析工具和测试用 例自动生成工具。西北工业大学在航空软件仿真测试以及c s 系统的测 4 基于c b r 的测试用例复用模型的研究与应用 试方面进行许多研究工作并取得了一系列成果。 综上所述,当前自动化测试领域的研究热点问题包括以下几个方面: ( 1 ) 软件自动化测试生命周期方法论以及软件自动化测试成熟度的研 究; ( 2 ) 自动化测试先进性技术的研究以及应用新技术开发适合不同类型 测试的测试工具方面的研究; ( 3 ) 有效实施企业级自动化测试的完整解决方案等研究【1 2 】; ( 4 ) 自动化测试框架的研究; ( 5 ) 自动化测试用例设计方法学的研究; ( 6 ) 自动化测试用例自动生成技术及复用技术的研究。 1 3 课题研究内容和意义 1 3 1 研究内容 我对软件测试有着浓厚的兴趣。在研究生就读期间,对自动化测试的方法、 流程、主流自动化测试工具、测试用例的设计和实现等测试理论进行了研究,并 在实际的软件开发项目中承担了主要测试工作。 在理论知识研究和实际工作的基础上,本文以一个客户关系管理系统为实 例,使用开源的自动化测试工具t e s t m a k e r ,设计并实现了系统的自动化功能测 试用例。为了适应软件的变化,缩短软件测试周期和测试成本,对自动化测试用 例的关键信息进行提取,建立x m l 格式的用例存储模式文档,将测试用例相关 信息整合,形成自动化测试用例库。并在此之上,提出了一种基于案例推理( c b r ) 的测试用例复用方法,建立了一个推理模型,对用例库进行检索,获得最接近新 测试需求的已有测试用例,并对该用例进行修正,获得新测试用例,以适应新的 软件测试需求,并不断丰富案例库。 1 3 2 研究意义 在软件飞速发展的今天,软件测试成为保证软件质量和可靠性的最重要的手 段【1 3 】。自动化测试作为软件测试的重要分支,逐渐受到人们的重视和逐步深入的 研究。其中,自动化测试的方法、自动化测试框架和高效的生成测试用例等成为 基于c b r 的测试用例复用模型的研究与应用 人们研究的热点【1 4 】【1 5 】。然而在软件复用及构件化得到很好发展的软件工程领域, 虽有大量高质量的可用测试用例,其复用技术却没有得到很好发展。针对当前软 件测试存在的困难,本文从测试用例复用的角度,设计了一种基于案例推理 ( c b r ) 的软件自动化测试用例复用模型,本模型在复用现有自动化测试用例的 基础上,能够快速高效的生成新的测试用例,降低了对测试人员的要求,缩短了 软件测试周期的同时,在很大程度上降低了软件测试的成本。 1 4 论文结构 第一章:介绍了论文的研究背景、内容和意义,以及国内外研究动态。 第二章:介绍了论文涉及的关键技术,包括:自动化测试理论、自动化测试 工具、测试用例复用原理及方法;c b r 的概念、关键技术、以及本文引入c b r 的 必要性分析。 第三章:以实际的项目测试工作为基础,介绍了如何建立测试环境、设计测 试用例的方法,重点设计了测试基础类的测试数据,并给出了测试脚本的实例。 第四章:介绍了本文基于c b r 的用例复用模型的原理、关键术语,详细介 绍内部处理的流程,并介绍了本模型相比于其他复用模型的优点所在。 第五章:本章根据模型的设计,介绍了如何实现预处理;介绍了c b r 所用 存储模式文档的结构,c b r 检索算法,以及用例修正的方法。 第六章:本章介绍了采用j 2 e e 体系、b s 三层架构实现的模型实例,给出 了其数据库设计、架构,并给出了部分用户界面示例。 第七章:对论文做了总结,并对下一步的工作进行展望。 1 5 本章小结 本章针对软件测试中面临的问题,提出了解决问题的对策,介绍了论文相关 技术研究的国内外发展概况、论文研究的内容和意义。主要包括: 课题的研究背景 r 论文相关技术的国内外发展概况 论文的研究内容和意义 论文内容的章节安排 6 基于c b r 的测试用例复用模型的研究与应用 2 关键技术研究 2 1 软件测试技术研究 2 1 1 软件测试理论研究 2 1 1 1 软件测试的定义 软件测试f 1 6 】( s o f t w a r et e s t i n g ) 是使用人工或自动的手段来运行或测定某个 系统的过程,检验它是否满足规定的需要或是弄清预期结果与实际结果之间的差 别【1 7 1 。或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构 而精心设计一批测试用例( 包含输入数据及其预期的输出结果) ,并用这些测试 用例去运行程序,以发现程序错误的过程【1 8 】。 2 1 1 2 软件测试的目的 g l e nm y e r s 认为:“程序测试是为了发现错误而执行程序的过程棚9 1 。g l e n f o r d j m y e r s 就软件测试的目的提出了以下观点: ( 1 ) 测试是程序的执行过程,目的在于发现错误; ( 2 ) 一个好的测试用例在于能发现至今为止尚未发现的错误的用例; ( 3 ) 一个成功的测试是指揭示了至今为止尚未发现的错误的侧试。 总之,测试的目的,是以最少的人力、物力和时间找出软件中潜在的各种错 误和缺陷,通过修正各种错误和缺陷来提高软件质量,回避软件发布后由于潜在 的软件缺陷和错误造成的隐患所带来的商业风险。 2 1 1 3 软件测试分类 根据不同的标准,软件测试分类也不刚2 0 1 。 ( 1 ) 根据是否需要运行被测软件来进行软件测试,将软件测试技术分为静态 测试技术和动态测试技术; ( 2 ) 依据测试时是否需要了解被测软件代码,将软件测试技术分为黑盒测 试、白盒测试以及灰盒测试; 7 基于c b r 的测试用例复用模型的研究与应用 灰盒测试( g r a y - b o xt e s t i n g ) ,它是介于白盒测试和黑盒测试之间的测 试,它关注输出对于输入的正确性;同时也关注内部表现。 ( 3 ) 按测试阶段可以分为单元测试、集成测试、系统测试、验收测试、回归 测试。 2 1 1 4 软件测试过程 软件测试过程是用于定义软件测试的流程和方法,将软件测试周期中各个阶 段映射到对应的开发阶段。随着软件工程理论日趋成熟,软件测试专家通过实践 总结出了许多好的测试过程模型 2 1 】【2 2 】【2 3 1 。这些模型将测试活动进行抽象,并与 开发活动有机结合,是测试过程管理的重要参考依据。主要包括:v 测试模型、 w 测试模型、h 测试模型、统一测试模型等,本文采用相对成熟的统一测试模 型【2 4 】。 统一测试模型根据项目的各个阶段为测试活动定义一个独立的模型,这种独 立的测试模型能够使测试过程的管理更有效与便捷。它总是尽早开始测试,并把 测试贯穿于软件的整个生命周期。统一测试模型特别适合迭代式增量软件开发模 式,对于变化的测试过程能够提供有益的指导。 2 1 2 自动化测试理论研究 2 1 2 1 自动化测试的定义 自动化测试( a u t o m a t e dt e s t ) 是使用自动化测试工具等,执行某种程序设 计语言编制的应用程序,控制被测软件按测试用例规定的步骤完成相应的工作, 从而达到自动化测试被测系统的目的【2 5 1 。其核心问题是测试用例的设计和生成 口6 】 测试脚本是采用某种特定语言编写,并在特定系统环境下实现的代码,目前 有三种通用的测试脚本生成方式【2 7 】: ( 1 ) 人工编辑测试脚本,与普通的编程类似,编写一系列能够在特定环境和 平台下运行的代码,然后运行这些代码,以达到测试的目的; ( 2 ) 采用测试工具的“面向对象的软件逆工程技术自动产生脚本; ( 3 ) “录制一回放 脚本技术,这是大多数g u i 自动化测试工具使用的主流 基于c b r 的测试用例复用模型的研究与应用 测试自动化技术。 2 1 2 2 自动化测试的优点 与手工测试相比,自动化测试的优点主要体现在以下几个方面【2 8 1 : ( 1 ) 有利于对软件的新版本自动执行回归测试【2 9 】 迭代增量开发软件的新版本大部分功能和界面都和上一版本类似,这部分重 复测试劳动特别适合自动化来完成以减小回归测试的开销。 ( 2 ) 提高测试效率,更好的利用资源,节省测试时间 手工测试是一个劳动密集型的工作,容易出错。将繁琐的重复劳动自动化, 可以提高精确性和测试人员的积极性,使测试人员将精力投入到设计好的测试用 例中。 ( 3 ) 提高测试覆盖率 通过修改测试数据和测试流程来重复进行自动化测试,可以在低成本的基础 上,大大提高软件测试的覆盖率。 ( 4 ) 实现手工测试不能完成或者很难进行的测试 对于一些非功能方面的测试,如:压力测试、并发测试、大数据量测试、崩 溃性测试等,这些测试用手工是很难,甚至是不肯能完成的。 ( 5 ) 实现跨平台测试,具有可移植性 将与平台、操作系统等测试环境相关的信息在测试配置文件中进行设置,可 以方便地将自动化测试移植到不同平台上运行。 ( 6 ) 测试具有一致性和可重复性 有些测试可能在不同的硬件配置下执行,使用不同的操作系统或不同的数据 库,此时要求多平台产品跨平台质量的一致性,这在手工测试的情况下是很难做 到的。 ( 7 ) 测试的重用性 自动化测试的测试用例经过一次执行后,在以后的测试中可以不断重用而无 需人工参与,这一点在手工测试中是无法做到的。 ( 8 ) 降低风险,提高软件的信任度,更快地将软件推向市场 9 基于c b r 的测试用例复用模型的研究与应用 2 1 2 3 自动化测试的适用范围 p e e r 给出了对各类型测试进行自动化的参考 3 0 】,内容如表2 1 。 表2 1 各种测试技术描述及自动化程度一览 技术描述备注 该测试工作通常是开发人员的职责,通过使用正式的自动化单元 单元测试很多不同的方法能够被使用,比如“测 测试,不仅能够帮助开发人员 试先行 ,它是一个测试框架,开发 开发出更加稳定的代码,而且 组件测试 人员在编码前编写不同的单元测试,能够大幅提高软件的整体质 当测试通过时,代码也被完成了。 量。 冒烟测试 冒烟测试是一般验证被测试系统的功 构建版本 能本性测试用例的集合。冒烟测试背 在构建过程能够确保构建已 后的思想是确保基础是可以工作的, 经为测试准备好时,冒烟测试 通常是自动化的运行。 测试 以便“更大的”测试工作能够开始。 功能集成 这些类型的测试通常是被测 这里的测试工作关注于验证在不同的试系统的更加复杂测试的基 测试组件之间的集成上。础,大量的边缘测试被合并以 制造出不同的错误处理测试。 系统测试这种测试通过执行用户场景模拟真实 不需要进行自动化的测试。安 用户使用系统以证明系统具有被期望 装测试、安全测试通常是由手 用例测试工完成的,因为系统的环境不 的功能的测试。 会是恒定不变的。 这里完全有潜力应用自动化 回归测试实际上是重复已经存在的测的测试。能够在每次构建完成 回归测试 试,通常如果是手工完成的话,这种后执行自动化的回归测试,以 测试只在项目的结尾执行少数几次。验证被测系统的改变是否影 响了系统的其他功能。 性能测试包括以下不同测试形式; 如果没有自动化测试工具,将 一负载测试 性能测试 一压力测试 无法执行通过模拟用户的负 载实现的高密集度的性能测 一并发测试 试。 2 1 2 4 自动化测试方式 测试自动化中的被测试软件主要有以下两种形式【3 1 】: ( 1 ) 嵌入型软件自动化测试 被测试软件为独立的软件模块,自己不能独立运行。测试软件负责被测试软 件运行环境的建立、制造输入、接收输出结果,完成结果的比较等。 i o 基于c b r 的测试用例复用模型的研究与应用 图2 1 嵌入型软件自动化测试 ( 2 ) 非嵌入型软件自动化测试 被测试软件在实际应用中一般为独立的软件系统,可以独立运行。一个可测 试性强的软件系统,一般会提供文件脚本的输入和输出接口,测试输入既可以通 过手工操作输入,也可以通过文件脚本调入,两者结果相同。其原理如图2 2 。 淅堕m 9 悃 测试用例管理 ! 一二 2 1 2 5 自动化测试流程 图2 2 非嵌入型的软件自动测试 自动化测试的流程如图2 3 ,它描述了一次测试的完整流程。 图2 3 测试信息流程 软件配置包括软件需求规格说明,软件设计规格说明,源代码及其他相关文 档等;测试配置包括测试计划,测试用例,测试驱动程序,测试实施过程说明书 等;测试工具是为了提高软件测试效率,其作用是为测试的实施提供某种服务。 在以上信息流图中可以看出,测试过程包括以下7 个步骤: ( 1 ) 测试前的检查 基于c b r 的测试用例复用模型的研究与应用 在进行可靠性测试前检查软件需求与研制任务书是否一致,检查所交付程序 和数据以及相应的软件支持环境是否符合要求,检查文档与程序的一致性,检查 软件研制过程中形成的文档是否齐全、文档的准确性和完整性以及是否通过有关 评审。 ( 2 ) 制定测试计划 随着软件规模的扩大,软件测试工作变得相当复杂。这就要求软件测试人员 必须制定详细的计划,严格按照测试方案进行测试。测试计划是指导测试工作的 大纲。 ( 3 ) 设计测试用例 测试用例的选择既要有一般情况,也应有极限情况以及最大和最小的边界值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论