(计算机应用技术专业论文)面向boss的自动化测试技术研究与应用.pdf_第1页
(计算机应用技术专业论文)面向boss的自动化测试技术研究与应用.pdf_第2页
(计算机应用技术专业论文)面向boss的自动化测试技术研究与应用.pdf_第3页
(计算机应用技术专业论文)面向boss的自动化测试技术研究与应用.pdf_第4页
(计算机应用技术专业论文)面向boss的自动化测试技术研究与应用.pdf_第5页
已阅读5页,还剩80页未读 继续免费阅读

(计算机应用技术专业论文)面向boss的自动化测试技术研究与应用.pdf.pdf 免费下载

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

文档简介

摘要 当前信息技术飞速发展,软件产品开始应用到了社会的各行各业中,软件质餐问题成为人 们关心的焦点问题。软件测试是保证软件质量最重要和最有效的方法,然而软什规模的扩人给 软件测试带来了巨大的凼难,人们希望通过软件测试自动化的方法来减少软件测试成本,提高 测试效率,保证产品质量。 文中首先阐述了进行自动化测试研究的目的,研究的背景及国内外研究进展情况,指出当 前自动化测试面临的问题及论文研究的意义。接着总结了软件自动化测试方面的有关理论,包 括自动化测试的v 模型、自动化测试策略,主流的自动化测试工具等,论述了当前最能够对软 件测试进行成功指导的方法学,即经过调整的结构化方法学一一自动测试生命周期方法学 ( a t l m ,a u t o m a t i c t e s t i n g l i f e c y c l e m e t h o d o l o g y ) ,并归纳出自动化测试的优缺点。 接着对计费系统的主要功能与系统架构进行业务需求分析,并依据b o s s ( b u s i n e s s o p e r a t i o ns u p p o r ts y s t e m ) 计费系统的特性,对a t l m 进行改进以适应b o s s 系统的测试,最 终实现了应用于b o s s 测试的自动化测试生命周期管理流程。主要包括测试需求分析、确定测 试管理工具、测试自动化可行性分析、制定自动化测试计划、自动化测试设计与开发,自动化 测试执行、管理与监督等六大部分。然后针对六个部分分别阐述了在自动化测试的不同阶段的 内容和功能。 随后就实际项目中自动化测试用例和工具的设计与开发进行详细设计。采用黑箱测试技术 方法设计自动化测试用例;依据对计费系统业务流程分析的结果,利用基于框架的模块化测试 脚本理论与数据驱动的测试理论相结合的方法,完成自动化测试工具的体系架构的设计,并实 现自动化测试工具的详细设计与编码。 最后利用开发的b o s s 计费系统的自动化测试工具对设计的自动化测试用例进行多轮回归 测试。进一步通过定义清晰的缺陷生命周期流转过程,界定相关人员的责任与工作范围,完成 对测试流程的高效管理与监督。通过自动化测试工具在b o s s 计费系统中的实施应用和自动化 测试过程的有效管理与监督,分析并总结面向b o s s 的自动化测试的实施效果,同时与传统手 工测试进行比对。体现了b o s s 系统中自动化测试的重要性。 实践表明,依据a t l m 改进的面向b o s s 的自动化测试生命周期能够有效指导自动化项目 的成功实施,提高测试效率和软件质量;基于数据驱动的自动化测试框架开发的自动化测试i : 具能够缩短同门测试时间及版本发布间隔,保证产品及时高质量发布。 关键词:自动化测试,a t l m ,数据驱动,臼动测试脚本,生命周期 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 fi n f o r m a t i o nt e c h n o l o g y , s o f i w a mi su s e de v e r ) w h e r e h o wt o i m p r o v et h eq u a l i t yo fs o f t w a r ei sn o wb e c o m i n gah o t s p o to ft h ei n d u s t r y t e s t i n gi s t h em o s t e f f a c d v ea n di m p o r t a n tw a yf o rq u a l i t ya s s n f a u e eh o w e v e r , t e s t i n ge n c o u n t e r sb i gd i f f i c u l t yb r o u g h t b y 龇e x p a n s i o no fs o f t w a r es i z e n o t w i t h s t a n d i n gt h ef a c tp e o p l e ,f o rt h e a m e n t i o n e da b o v e , h o p et ou s ea u t o m a t i ct e s t i n g t or e d u c et e s t i n gc o s t , i m p r o v es o f t w a r ee f f i c i e n c ya n de n s u l _ e p r o d u c t i o nq u a l i t y t h eb a c k g r o u n do fa u t o m a t i ct e s tr e s e a r c ha n dt h ep r e s e n ts i t u a t i o no ft h ed o m e s t i ca n d i n t e r n a t i o n a l ,t h ep r o b l e mo fa u t o m a t i ct e s ta n dt h es i g n i f i c a n c eo ft h i sa r t i c l ea r ed i s c u s s e di nt h i s a l t i e l ef i r s t l y , t h e nt h ec o r r e l a t i v et h e o r yo f a u t o m a t i ct e s t ,i n c l u d i n gvm o d e l ,a u t o m a t i ct e s ts t r a t e g y , t h em a i n s t r e a ma u t o m a t i ct e s tt o o l sa r es u m m a n z e d , t h em e t h o d o l o g y , i e t h ea u t o m a t i ct e s t i n g l i f e c y c l em o t h o d o l o g y ( a t l m ) ,w h i c hc a l lg u i d et h es o f t w a r et e s ts u c c e s s f u l l y , i si n t r o d u c e d , a n dt h e c h a r a c t e r i s t i e o f a u t o m a t i c t e s t a n d a u t o m a t i c t e s t f r a n 肥a t e e o n c l u d e d s u b s e q u e n t l y , t h em a i nf u n c t i o na n ds y s t e m a t i cs t r a c t u r eo ft h es y s t e mma n a l y s e s e d , t h e a t l mf o rt e s to fb o s s u s i n e s so p e r a t i o ns u p p o r ts y s t e m ) a c c o r d i n ga st h ec h a r a c t e r i s t i co f b o s si si m p r o v e da n dt h ed e s i g no fa u t o m a t i ct e s tl i f e c y c l eb a s e do nb o s si sa c c o m p l i s h e d ,w h i c h c o m p o s e sb ys i xc o m p o n e n t s ,i n c l u d i n gt e s t i n gr e q u i r e m e n ta n a l y s i s ,c o n f i r m st e s t i n gm a n a g e m e n t t 0 0 1 e s m b h s ht e s t i n gp l a n ,a u t o m a t i ct e s t i n gf e a s i b i t i t ya n a l y s i s ,t e s t i n gd e s i g na n dd e v e l o p m e n t , t e s t i n ge x e c u t e t e s t i n g m a n a g e m e n ta n d t r a c ka n d t h e f u n c t i o na n dc o n t e n t o f t h es i xc o m p o n e n l s a i n t r o d u c e db r i e f l y t h e nt h ea u t o m a t i ct e s td e s i g na n dd e v e l o p m e n ta l ea l c o m p f i s h e dd e t a i l e d l y , u s i n gt h eb l a c kt e s t t e c h n i q u e 的a u t o m a t i ct e s tc a s ea c c o r d i n ga st h ea n a l y s i so fs y s t e mf l o w , u s i n gm e t h o dc o m p o s i n g t h em o d u l a r i z e dt e s ts c r i p tt h e o r yb a s e do l lf r a m et od a t a - d r i v e nt e s t t h ed e s i g no fa u t o m a t i ct e s tt o o l s y s t e m a t i cs t r o c t u r e t h ed e t a i ld e s i g na n dc o d ea i ef i n i s h e d f i n a l l y , t h er e p e t i t i o u sr e g r e s s i o nt e s t t oa u t o m a t i ct e s tc a s eu s i n gt h ea u t o m a t i ct e a tt o o l si s f i n i s h e d t h em a n a g e m e n ta n ds u p e r v i s i o no ft e s tf l o wt h r o u g hd e f i n i n gt h ed e f e c tl i f e e y c l ep r o c e s s w h i c hd e f i n e st h er e s p o n s i b i l i t ya n dw o r kr a n g eo fc o r r e l a t i v ep e r s o ni sd e s i g n e d t h e nt h e i m p r m a n e eo fa u t o m a t i ct e s ti nb o s st h r o u g ht h ea p p l i c a t i o no fa u t o m a t i ct e s tt o o la n dm a n a g e m e n t a n ds u p e r v i s i o no ft e s tf l o wi sr e p r e s e n t e d t h es u m m a r i z a t i o no fa p p l i c a t i o ne f f e c to ft h ea u t o m a t i c t e s tc o m p a r i n g t o t h e t r a d i t o n a l t e s t d i s p l a i e s t h e m e r i t o f a u t o m a t i c t e s t t h ef a c ts h o w st h a tt h er e s e a r c hr e s u l to fa t l mi sa ne f f e c t i v eg u i d ef o r t h es u c c e s s f u l r e a l i z a t i o no fa u t o m a t i ct e s tp r o j e c ta n dc a l li m p r o v eb o t ht h ee f f i c i e n c yo ft e s t i n ga n dt h eq u a l i t yo f s o h w a r e ,a tt h es a m et i m e , a u t o m a t i ct e s t i n gf r a m e w o r kb a s e do nd a t a - d r i v e nc a ns h o r t e nb o t ht h e p e n o d o f t e s t r e g r e s sa n d v e r s i o nr e l e a s e , a n d e u s o r e q u a l i t yo f p r o d u c t i o n k e yw o r d s :a u t o m a t et e s t ,a t l m ,d a t a - d r i v e n ,a u t o m a t i o nt e s t i n gs c r i p t ,t e s t i n gl i f e c y c l e 图表目录 图2 - 1 软件测试与自动化测试v 模型6 图2 2 自动测试生命周期方法学与系统开发生存周期之日j 的关系1 l 图2 - 3 自动测试决定过程 图2 4 自动测试工具选择过程1 4 图2 - 5a t l m 测试工具引入过程 图2 - 6 自动测试执行过程1 8 图2 7 自动化测试脚本发展2 0 图3 一lb o s su i 期计费系统的模块关系。2 4 图3 2a m d o c s 计费系统功能架构图2 5 图3 3 计费系统的主要外部环境与数据流2 5 图3 4 改进的自动化测试生命周期与a t l 】的关系2 6 图3 5 面向b o s s 自动化测试生命周期架构图2 7 图4 1 全球通非漫游主叫话单因果图3 3 图4 _ 2 全球通e d r 测试用例3 4 图4 3 客户管理主要实体3 5 图4 - 4 话单批价流程图3 6 图4 5 计费系统测试流程3 7 图4 - 6 自动化测试软件体系框架3 8 图4 7h l a p ic o n n e c t i o nf a c t o r y 高层架构3 9 图4 8h l a p ic o n n e c t i o nf a c t o r y 类图一4 0 图4 - 9 回归测试用例文档4 l 图4 1 0 自动建立客户资料工具设计流程4 l 图4 一l l 话单自动回归设计流程一4 2 图4 1 2a u t o _ t e s tc a s e 维护内容4 3 图4 1 3 自动比对流程设计4 3 图4 一1 4 自动建立客户资料工具程序类集 图5 一l 整理后的测试用例5 0 v 图5 2 需要的客户数据 图5 3 * c o n f i g 配置文件内容 图5 - 4 自动建立客户资料客户端5 l 图5 5 等待回归话单5 2 图5 6 回归完成结果显示5 2 图5 - 7 缺陷生命周期与相关责任人5 4 图5 - 8 自动回归过程 表3 - 1 每种不同的测试用例类型的定义解释2 9 表3 2b o s s 中不同类型测试用例数量统计2 9 表4 - 1 全球通非漫游主叫话单原因与结果表 3 2 表4 - 2 全球通非漫游主叫话单判定表3 3 表4 - 3a u t ot e s t _ c a s e 表结构 表5 一l 三种测试管理工具的比较与分析 4 2 表5 2 建立客户资料手工测试与自动化测试对比 表5 3 话单回归测试手工测试与自动化测试对比 v 1 1 1 5 7 5 8 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已 经发表或撰写过的研究成果,也不包含为获得中国农业大学或其它教育机构的学位 或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文 中作了明确的说明并表示了谢意。 研究生签名:鞠焉媚 时间:辨月心日 关于论文使用授权的说明 本人完全了解中国农业大学有关保留,使用学位论文的规定,即:学校有权保 留送交论文的复印件和磁盘,允许论文被查阅和借阅,可以采用影印、缩印或扫描 等复制手段保存、汇编学位论文。同意中国农业大学可以用不同方式在不同媒体上 发表、传播学位论文的全部或部分内容。 ( 保密的学位论文在解密后应遵守此协议) 研究生签名:鞠考蠲 时间: 动7 年月f ,日 导师签名:杰叻 i i 时间:,咧1 年,月,r 日 中困农业大学硕十学位论文 第一审绪论 1 1 论文研究背景 第一章绪论 随着计算机麻_ h j 日益普及与深化,现代软件的规模越来越庞大、类型越来越复杂。一些重 要领域如国防、银行、金融、通讯、航天等都通过计算机软件进行控制,这就对软件质量提出 了很高的要求。一旦软件质量难以保证,将产生比较严重的后果。如2 0 0 2 年欧洲载重l o 吨的 阿丽弧娜5 型火箭由于软件质量问题而发射失败,导致了整个航天计划的推迟;国内的一些银 行金融系统,因软件质量问题不得不暂停营业等。 软件测试是保证软件质量、提高软件可靠性的关键,在软件的整个生命周期中占有非常重 要的地位。软件测试的效果直接决定着软件质量的好坏,根据b o e h m 统计,软件开发总成本中, 用在测试上的开销要占到3 0 5 0 1 1 1 。随着软件应用范围的扩大、软件复杂度的提高,以及软 件设计技术的不断发展,软件开发规模越来越大,处理的问题愈来愈复杂。相对来说传统的软 件测试技术和方法以及测试工具己无法满足大型、复杂的软件测试需要。软件测试己成为当前 软件技术研究的重点和难点,有关软件测试技术、理论的研究和软件测试工具的研发越来越受 到软件界的重视。 软件测试自动化技术的出现解决了当前软件测试中面i 临的很多问题。它能完成许多手】:测 试无法实现或难以实现的测试,使执行一系列操作序列的测试不需要测试人员的介入,有助于 排除因测试人员的错误而造成的影响,并且更快的得到测试结果。正确、合理地实施自动化测 试能够快速彻底地对软件进行测试,从而提高软件质量,节省经费,缩短产品发布周期。因此 自动测试将大大节约软件产品整个开发周期的费用,保障开发的系统按时发布。 移动通信公司业务支撑和运营( b u s i n c s so p e r a t i o ns u p p o r ts y s t e m - b o s s ) i i i 期融合计费系 统是移动通信公司的统一计费平台,无论从用户规模、系统复杂程度、产品种类,以及业务响 应速度等各个角度,可以说是全球最复杂的计费系统。计费系统实现移动全品牌( 全球通、动 感地带、神州行) 的开机、充值、话单批价、费用计算等功能,系统业务量火且错综复杂,对 测试的要求比较高,测试工作繁琐,多版本发布的人量同l 门测试是人工测试难以完成的。因此 必须在项目中采用自动化测试,才能够完成大量回! | 1 测试要求,提高测试准确性,节省项目成 本,保证产品质量。由于本项目涉及的b o s s 系统采用国外知名公司的计费软件,故b o s s 计 费系统面临的最人挑战就是国外软件的本地化以及产品质量的保证,对产品质量的保证体现在 测试上,测试成为了本项目的重中之重。但是,怎样框定测试范围,如何进行测试管理,何时 开始测试,测试重点是什么,哪些业务需要同归测试,i 亓l 门测试的】:具如何确定等问题都需要 在测试过程中一一加以解决。本文将对这些问题进行研究井给山适合丁- b o s s 计费系统测试的 自动化测试项目生命周期管理流程,并对白动化测试设计与开发和白动化测试执行,管理与监 督进行详细分析、设计与麻川。 中固农业大学颈卜学位论文第一帝绪论 1 2 国内外发展状况 臼动化测试在软件测试过程中有着1 f 常重要的作 j ,对丁提高软1 ,l :测试的质鼙意义重人, 故针对软件测试自动化的研究一直没有间断。在国外,随着图形 = j 户界面应h j 的普及,开始采 用屏幕捕捉与同放的方法进行应用程序测试,这种初级的自动测试方法开辟了测试臼动化研究 的先河。从那以后,支持屏幕捕捉和回放的自动测试工具日益成熟并且能力增强,具有各种特 性的自动测试r 具不断涌现。如m e r c u r yl m e r a c d v e 公司的w i n r u n n e r ,一种企业级的功能测试 工具,用了二检测应用程序是否能够达到预期的功能及正常运行;l o a d r u n n e r ,一种预测系统行 为和性能的负载测试工具,通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和 查找问题;t e s t d i r e c t o r ,业界第一个基于w e b 的测试管理系统,可以在公司内部或外部进行全 球范围内测试的管理;r a t i o n a l 公司的系列r a t i o n a l 产品,针对过程和项目管理,需求分析、 软件配置管理、软件质量、传统语言和调试工具提供不同的测试管理工具;s e g u es o f t w a r e 公 司的s e g u e 工具第一家支持交叉平台的测试工具;c o m p u w a r e 的q a c e m e r ,为整个企业提供 应用测试产品“j 。 随着自动测试工具的带动,自动软件测试日益成为一种编程行为,它在项目过程的实施也 更加频繁,在整个项目中分析实施好自动测试的过程也越来越受到软件业的重视。有许多软件 测试的研究机构以及教育部门开始对软件自动测试的过程进行定义和研究,提出了一些比较有 价值的模型。如k r a u s e 针对于自动化的软件测试提出的四级成熟度模型:附属级自动化 ( a c c i d e n t a la u t o m a t i o n ) ,初始级自动化( b e g i n n i n ga u t o m a t i o n ) ,主体级自动化( i n t e n f i o n m a u t o m a t i o n ) ,优化级自动化( a d v a n c e a u t o m a t i o n ) 1 3 ) ,但此模型只是从概念上描述了测试自动化 并没有说明如何进行自动化,故不能够促进测试自动化的实现;d u s i n r a s h k a 和p a u l 合作公布 了自动化测试生命周期方法学( a u t o m a t e d t e s t l i f e c y c l e m e t h o d o l o g y a t l m ) ,在该模型中将自 动测试过程分为六个阶段:自动化测试决定,自动化测试工具获取,自动测试引入过程,测试 计划设计和开发,自动化测试的执行和管理以及测试评审和评估”l ,这是一种经过调整的结构 化方法学,能确保自动化测试的成功实现。故本文决定以a t l m 为理论模型,研究适合于b o s s 计费测试的自动化测试生命周期管理过程。 国内的软件测试技术研究起步晚,自动化测试处于刚起步阶段。随着近些年国内软件企业 规模的不断壮人以及国外软件企业的进入,许多软件生产商在项目中使用自动测试工具对测试 环节进行优化,有不少软件企业转向开发软件自动化测试工具,还有一些软件咨询公司开始提 供软件自动化测试方面的咨询和服务”j 。很多软件一r 样的研究机构开始进行软件自动测试领域 的研究特别是自动测试过程的分析和构建。北京大学、北京航空航天大学进行了一系列软件分 析和测试工具的研究和开发,研制了一系列的程序理解l 二具和测试f 具,比较具有代表性的 具有s a f e p r oc ,c + + ,s a f e p r o j a v a 。航空计算机研究所、南京人学在嵌入式系统测试方面进行 较多工作,开发了一些静态分析工具和测试川例自动生成l :具。两北r 业人学在航空软1 ,i :仿真 测试以及c s 系统的测试方面进行许多研究j :作并取得了一系列成果。另外,航天软什评测中 心专fj 从事航天软f ,l :测试技术的研究和负责航天软t l :的测试j :作”i 。 2 中国农业大学硕十学位论文第一帝绪论 1 3 论文研究意义 目前的软件自动化测试面临着很多的问题,很多项目花人力气引入白动化测试= 具,进行 相关人员培训,大刀阔斧地对项目进行自动化测试,但是收效共微。软件自动化测试的引入不 但没有给项目带来效率上的提高和成本上的节约,反而使项目不能在原先过程上平稳进行,严 重影响了项目进度,威胁到了项目成功发布。通过调夯发现,很多使j j 软件自动化测试失败的 项目,其失败原因部分因为过于依赖引入的自动化测试工具,但工具仅能覆盖部分测试_ i l 例; 部分因为只是成功利用自动化测试工具进行测试工作而忽略了运用一个有效的自动化测试流程 对各种测试活动进行控制和管理。从而导致前期对软件自动化测试的时间和成本的投入全部付 之东流,项目最终不得不放弃自动化测试”j 。 由此可见,软件测试自动化并不就是采购强人的自动化软件测试工具或自动化管理平台就 能够发挥作用的,还需要周密的计划,详细的分析,合理的流程以及高素质的人员等因素共同 发挥作用。软件测试自动化需要根据项目的具体特点,选择或者开发适当的测试工具,运用有 效的流程管理,发挥组员各自的能力,才能够最终取得成功,发挥软件自动化测试的巨大魅力。 本文旨在以软件自动测试生命周期方法学a t l m 为基础,在b o s s 计费系统的自动化测试 项目中探索自动测试项目管理方案与过程,同时设计高效的自动测试工具提高测试效率,保证 b o s s 自动化测试项目的成功实施。通过系统合理的自动测试项目管理流程及方便有效的自动 回归测试工具,能够重复过去项目的成功,节省项目成本,提高测试效率。 1 4 论文研究内容 本文首先系统地研究了自动测试生命周期方法学a t l m 的理论框架与实施模型。由于 a t l m 是适应于通用软件测试自动化的周期模型,而b o s s 融合计费系统集成测试需要考虑的 主要是测试过程的管理及难以手工实现的大量回归测试问题,故a t l m 模型并不完全适应。本 文改进了a t l m 的实施模型,形成了适合计费系统使用的自动化测试生命周期管理流程,并将 改进后的自动化测试管理流程应用于b o s s 融合计费集成系统测试中,取得了良好的效果。 改进后的面向b o s s 的自动化测试生命周期是一个系统一l :稃,类似软件开发过程,也要进 行策略、目标规划、需求定义、分析、设计、开发、执行和评估活动”j 主要包括确定测试需 求与管理工具、测试自动化可行性分析、制定测试计划、测试设计与开发,测试执行以及测试 活动跟踪与管理六个阶段。在项目启动阶段,首先要确定测试需求与测试管理c 具,并进行测 试白动化的可行性分析。在测试计划阶段,根据h j 户需求文档与软件需求规格说明 s 和相关设 计文档,考虑自动测试的成本、带米的风险并制定自动测试策略口i 。在测试设计阶段,采坩等 价类划分法和边界值等方法设计测试川例,同时注意测试用例间的独立性”“,规定测试设计和 开发标准,确定自动测试实现技术和自动测试脚本的划分。在测试开发阶段,要求自动测试脚 本遵从测试设计平开发标准,并且使用先进的白动测试框架来实现臼动测试脚本,使自动测试 脚本的可重_ i l j 性高、易维护。脚本的开发和设计都必须通过评审才能实施。对自动测试脚本和 相关文档采埘配置管理的方法进行管理,臼动测试脚本本身的缺陷选j j 缺陷管理j 二具管理” 在测试执行阶段,要根据白动测试脚本相天文档设置测试环境,执行测试脚本,并使j i 测试管 中罔农业大学硕十学位论文第一常绪论 理软1 ,i :白动生成测试报告,在执行测试脚本中出现的问题都应1 门档保存。在测试活动跟踪与管 理阶段,总结经验,维护自动测试资料,进行自动测试技术交流以改进自动测试过程”“。通过 以上过程的无缝衔接流转,整个测试过样能够高速有序的周转起来。 为了更好的进行自动化测试,在需求分析的基础上,本文运_ l j 软件自动化测试技术的最新 研究成果,采f j 数据驱动的思想实现易维护、易扩展的白动测试框架。冈为在自动测试活动中, 灵活智能的自动测试框架在很大程度上决定了是否能实现成功的自动测试项目1 1 3 1 所以开发自 动测试框架同样遵循软件工程的方法。首先自动测试框架的设计需求直接来源于传统手+ t = 测 试过程中对业务流测试的方案,测试场景的定义和实现方法,以便更贴近手j 二测试的工作流程 “”。其次,由于自动测试脚本的开发也是一种编程过程,本文采用经典的程序设计方案进行需 求分析、详细设计并开发完成。本文根据b o s s 计费的手工测试流程,开发了能够大大提高工 作效率的自动生成客户资料工具与话单自动回归:【具,经过实际应用,发挥了自动化测试优势, 保证产品质量。 1 5 论文组织结构 第一章( 绪论) 阐述了软件自动化测试研究的背景及国内外研究进展情况,指出当前自动 化测试面临的问题及论文研究的意义,并介绍了论文研究的内容及组织结构。 第二章( 自动化铡试概论) 介绍软件测试与自动化测试的v 模型,明确测试的生命躅期, 指出何时应该自动化,怎样自动化的测试策略,总结了当前常见的自动化测试工具及目前比较 流行的自动化测试理论模型,重点对a t l m 生命周期方法学进行阐述,介绍其总体框架结构及 其每一部分的结构化流程,最后阐述了自动化测试框架以及自动化测试的优点与局限性。 第三章( 面向b o s s 的自动化测试生命周期架构设计与分析) 对计费系统的主要功能与系 统架构进行业务需求分析,指出a t l m 理论在b o s s 计费系统中的不适应性,根据对a t l m 框 架的研究与待测试的b o s s 计费系统的特性分析,对a t l m 进行改进,形成适应于b o s s 计费 的自动化测试生命周期。主要包括:测试需求分析;确定测试管理工具;测试自动化可行性分 析;制定自动化测试计划;自动化测试设计与开发;自动化测试执行、管理与监督。同时分析 了每一部分要完成的功能。 第四章( 自动化测试设计与开发) 为解决b o s s 计费系统测试用例繁多,回i 门测试难以手 工实现的问题,利用黑箱方法设计测试用例,通过对计费系统业务流稃的分析,确定自动化测 试,j :具要实现的功能,利_ 【 j 基于框架的模块化测试脚本理论与数据驱动的测试方法相结合,设 计白动化测试r :具的体系架构,完成自动化测试f 具的详细设计与编码。 第五章( 自动化测试执行、管理与监督) 利用开发的适应丁_ b o s s 计费系统的自动化测试 工具,对设计的自动化测试埘例进行多轮i 亓l 门测试。定义清晰的缺i j f ;生命周期流转过程,界定 相关人员的责任与 作范嗣,完成对测试流科的高效管理。通过白动化测试。i :具在b o s s 中的 实施应用与自动化测试过程的有效管理,分析总结面向b o s s 的白动化测试的实施效果,同时 与传统手i :测试进行比对,突山自动化测试的优势。 第人章( 论文总结) 对面向b o s s 的自动化测试生命周期进行总结,指出当前l :作的创耨 点与不足之处。 4 中同农业大学硕 学位论文第一章绪论 1 6 小结 本章从软件质餐谈起,阐述了软件测试臼动化的背景及b o s s 计费系统对自动化测试的需 求,介绍了国内外相关研究进展情况。根据国内外软件自动化测试面临的问题,从企业对软件 自动化测试虑川失败的经验中引出本文研究的意义。然后简要介绍了本文研究的内容,总结了 论文的组织结构。 5 中国农业大学颁十学位论文第二章自动化测试概论 第二章自动化测试概论 2 1 软件测试与软件自动化测试 软r l :测试是软件生命周期中的一个重要阶段,是软件质鼍保证的关键步骤,软件测试的目 的就是为了检验软件系统是否满足需求1 9 8 3 年,i e e e 提山的软件工程术语中给软件测试下 的定义是:“使用人: 或自动的手段来运行或测定某个软件系统的过程,其目的在丁- 检验它是否 满足规定的需求或弄清预期结果与实际结果之间的差别”1 1 5 1 随着软件工程的发展,产业界意识到被动的以监测和发现错误为目的的软件测试无法避免 软件开发过程中由于软件需求和设计等方面的缺陷所带来的巨大风险”“。所以整个产业界从软 件质量控伟t j ( s o f t w a r eq u a l i t yc o n t r o l - s q c ) 开始转移到软件质量保证( s o f t w a r eq u a l i t ya s s u r a n c e s q a ) ,从而使软件测试从单纯的缺陷检测和发现覆盖到整个软件开发过程,同时软件测试的 流程和软件测试技术也成为了独立研究的方向,软件测试自动化的技术逐渐成为当前研究的热 点。 2 0 0 2 年,r i c k 和s t e f a n 在系统的软件测试( s y s t e m a t i cs o f t w a r et e s t i n g ) q b 对软件测试做 了进一步定义:“测试是为了度量和提高彼测软件的质量,对测试件进行工程设计、实施和维护 的整个生命周期过程” 1 7 1 。软件测试及其自动化开始向系统化、工程化、过程化的方向迈进。 软件测试是一系列测试活动的集合,测试过程就是对测试活动进行有效的组织和管理。为 了提高软件质量,要求软件测试尽早进入软件生产的各个环节,故现在软件开发的各个生命阶 段都存在测试活动。如图2 1 实线框所示,软件测试过程分为需求确认测试、单元测试、集成 测试、系统测试以及验收测试“”。单元测试对程序的最小单位模块进行测试,检验每个模块是 否能单独工作,从而发现模块的编码问题和算法问题;进而将多个模块连接起来,进行集成测 试,以检验概要设计中对模块之间接口设计的问题;最后进行的系统测试是将开发的软件与硬 件和其他因素综合起来进行全面的检测;在提交用户的时候进行验收测试,确认被测应用已经 满足客户需求。项目结束的时候进入测试总结阶段。 j 一一- 一j 一- l 单元搠试自动健: j 图2 - i 软件测试与自动化测试v 模型 6 中国农业大学硕十学位论文第二章自动化测试概论 通常软件测试的过程,就是按照一定的软件测试方法,手i :实施一系列的测试以完成软件 检测的目的。但是软r l :测试的【:作量大,许多。f :作是重复性的、非智力创造性的、需要细致注 意力的 :作,将这一系列的工作自动化,就可以大大提高测试效率,减少测试j :作量,降低测 试成本,节约测试费用,提高软件的质量。随着自动测试方法在测试活动中的虑j j ,出现了一 些与自动测试相关的测试活动,软件1 3 动化测试过程就是有组织有计划地执行和管理这些白动 测试活动。软件自动化测试也可以用一种v 模型表示,如图2 1 虚线框所示。 软件自动测试就是执行用某种程序设计语言编制的自动测试程序,控制被测软件的执行, 模拟手动测试步骤,完成全自动或半自动测试l l ”。全自动测试就是指在自动测试过程中,根本 不需要人工干预,由程序自动完成测试的全过程。半自动测试就是指在自动测试过程中。需要 人工手动输入测试用例或选择测试路径,再由自动测试程序按照人工指定的要求完成自动测试。 软件自动化测试是软件测试的一种特殊方法,在测试的每个阶段为了加强软件的可靠性和 稳定性,引入了自动化测试方法和技术。测试伴随着软件开发的整个生命周期,不同测试阶段 有不同的自动测试方法和工具实现。如在需求分析阶段为了便于管理和组织需求,需要引入自 动的需求管理工具;在单元测试阶段可以采用语法检查和调试器对代码进行复审;在集成测试 和系统测试中,自动测试技术运用更加普及,g u i 测试工具、负载和性能测试工具都是自动测 试方法的实施体现。总而言之,软件自动化测试过程与软件开发过程以及软件的整体测试过程 都是并行存在的。 自动化测试在起步阶段是一项耗费人力物力而回报见效很微弱的工程,但如果方法实施得 当,自动化测试能增强软件测试的规范化和标准化;减少浪费在重复性手工测试工作上的时间; 创建优良可靠的测试过程,减少人为错误;增强测试的覆盖率并提高产品质量。另外,我们需 要对自动化测试形成正确的认识,切不可好高骛远,脱离实际的认为实施了测试自动化,就可 以克服从前的一切问题。 无论自动执行还是手工执行测试都不影响测试的有效性和仿效性。无论自动测试做得如何 出色,如果测试本身是失败的,那么测试结果也将毫无意义。自动测试只对测试的经济性和修 改性有影响。自动测试通常要比手工测试经济得多,其开销只是手工测试的- - + 部分。自动测 试的方法越好,长期使用获得的收益就越大j 。 2 2 自动化测试策略 在软件测试过程中,并不是所有的测试过程都适合自动化测试。要采用白动化测试方法, 需要仔细研究所测试内容,对内容所涉及到的技术要求和测试步骤进行仔细的分析,确定测试 过程中能够进行自动化测试的内容,选择成熟的臼动化测试的工具或者白行开发合适的自动化 测试工具。自动化测试的策略就是确定哪些测试实行自动化测试,以及何时采埘白动化测试。 实行自动化的测试通常分三个步骤: ( 1 ) 提取适合自动化的测试; ( 2 ) 评估每个自动化测试的时间消耗: ( 3 ) 根据测试目标确定自动化测试的优先顺序。 首先,制订表格提取适合白动化测试的项目,这里的原则是挑选晟能获得投资同报的测试 7 中国农业人学俩i 一学位论文第二帝自动化铡试概论 项。表现在:最能缩短时间周期、最能减少风险、最能提高测试精度。 自动化测试既不能解决软r l :测试中的所有问题,也不意味任何软什测试都可以自动化。要 成功地实现软什测试自动化,需要周密的计划和人擎艰苦的i :作,软件测试自动化的开发人员 首先必须清楚地认识到该自动化什么。以f 儿条可以作为软件自动化测试的标准“l i : ( 1 ) 自动同归测试 软件测试自动化的目的是获得白动测试f 具的重复使i i ,减小软件测试复杂度井缩短测试 时间。同门测试能够较好的满足这一要求,应该作为自动化测试的首要目标。针对软件的每个 版本都需要进行的测试内容,开发自动化测试软件和脚本,完成对测试内容每次的重复性测试, 只需要进行单次测试的内容不值得开发自动回! j 1 测试工具。 ( 2 ) 对稳定的测试内容进行自动化测试 在应用自动化测试之前,首先应该确定所测试内容的稳定性,如果该测试内容不具备稳定 性,在未来某个时间内将发生变化,是不必要进行自动化测试的规划和开发的,否则开发出来 的软件或者脚本将不能使用。 ( 3 ) 对没有时间依赖的测试内容进行自动化测试 如果测试的内容具备复杂的时间关联,要开发与之相应的复杂时间问题的自动化测试软件 和脚本的工作量是开发不具备复杂时间问题的软件和脚本工作量的几何积倍,所耗费的人力、 物力等并不会有显著的减少效果,甚至可能要消耗更多的人力、物力和财力。因此,在进行软 件自动化测试开发时一定要确定将很难自动化的测试留给手工测试。在实际工程测试时1 0 0 的自动化并不是追求的目标,一些过于复杂的测试仍然用手工方式进行是合理的。 ( 4 ) 对重复性测试内容进行自动化测试 在进行软件测试的工作中,经常会遇到重复的测试内容,针对这些内容应该考虑开发出自 动化测试软件和脚本,让计算机自行完成这类内容的测试。 ( 5 ) 对已经实现的手工测试用例进行自动化测试 一般来说,在开展软件测试的初期,一般都会进行大量详细的手工测试,确定了大量详细 的测试用例。如果软件版本已经初步确定,应该选择典型的手工测试用例进行自动化开发,以 期在后续工作中减少工作量,缩短测试时间。 ( 6 ) 合理限制自动化测

温馨提示

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

最新文档

评论

0/150

提交评论