




已阅读5页,还剩61页未读, 继续免费阅读
(计算机软件与理论专业论文)web应用测试模型研究及改进.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
重庆大学硕士学位论文中文摘要 摘要 随着计算机网络技术的发展,w e b 应用已经渗透到社会的各个应用领域。在 市场需求推动下,w e b 应用的规模越来越大,结构也变得越来越复杂。为保证w e b 应用软件的质量,w e b 应用测试非常重要。 目前,国内外对软件测试的研究工作已取得很多成果,如各种测试方法和测 试策略的提出,以及测试工具的开发等。但是,国内在w e b 应用测试上的发展还 相对滞后,特别是对整个w e b 应用测试建模,制定测试策略的研究上还处于起步 阶段。本文在研究已有测试模型的基础上,作者提出了一种w e b 应用测试组合模 型框架,用于整个w e b 应用系统的建模测试。本文的研究工作有以下几点: 在分析已有测试模型的基础上,作者提出了一种w e b 应用测试组合模型框 架( w n d ) ,从对象、导航行为和结构三方面对w e b 应用系统建模,分析测试用 例,执行测试生成测试报告。在建立对象模型时,除引用传统对象的继承,关联 和聚合关系外,还定义了w e b 应用对象特有的请求、响应、导航和重定向关系, 用这七种对象关系构建对象关系图,测试w e b 应用对象的状态和行为。导航模型 为页面间的导航行为构建页面导航图,并且分析了浏览器对导航行为的影响。根 据页面导航图生成页面导航树,从而得到导航行为的测试序列,测试w e b 应用的 导航行为。结构模型在继承传统的控制流和数据流测试方法基础上,引入了控制 流图分析w e b 应用的控制流和数据流信息。还解决了w e b 应用中f o r w a r d 节点的 控制流和数据流测试问题。 研究了回归测试模型m a x q 在w e b 测试中的应用。针对w e b 应用多用户同 步执行测试的特点,本文对m a x q 模型进行了改进。同时还研究了测试用例记录 文件的结构,提出了一种结构优化方法,为维护繁多的w e b 应用测试用例提供方 便。 提出了w e b 应用组合测试模型的设计方案,以项目“重庆铁路物流电子商 务平台”为实验背景,进行控制流和数据流测试实验。并利用改进的回归测试模 型m a x q 进行了回归测试实验,发现了系统中隐藏的错误,证明了测试模型的有 效性。 本文提出的w e b 应用组合测试模型和回归测试模型对w e b 应用所制定的测试 方案,可提高w e b 应用测试的效率,节约资源,在w e b 应用测试中有一定的实用 价值。 关键词:w e b 应用测试,w e b 应用组合测试模型,回归测试,m a x q 重庆大学硕士学位论文英文摘要 a b s t r a c t w i t ht h ed e v e l o p m e n to ft h ec o m p u t e rn e t w o r kt e c h n o l o g y , t h es c a l eo fw e b a p p l i c a t i o ni sb e c o m i n gh u g e ra n dh u g e r , a n d t h es t r u c t u r ei sb e c o m i n gm o r ea n dm o r e c o m p l e x i no r d e rt oi n s u r et h ec o r r e c t n e s sa n dt h er e l i a b i l i t yo fw e ba p p l i c a t i o n , w e b a p p l i c a t i o nt e s t i n gi se x t r e m e l yi m p o r t a n t a tp r e s e n t , t h e r ea r em a n y $ n c c e s s e si ns o f t w a r et e s t i n ga r e a , s u c ha ss o m e s o f t w a r et e s t i n gm e t h o d s ,s o m et e s t i n gs t r a t e g i e sa n ds o m et e s t i n gt o o l se t c b u tt h e d e v e l o p m e n to fw e ba p p l i c a t i o nt e s t i n gi n l a n dg o e sb e h i n dt h eo v e r s e a s e v c o n s t r u c t i n gm o d e lt e s t i n gw e ba p p l i c a t i o ni s a tt h eb e g i n n i n g b a s e do nt h ef o r e t i m e t e s t i n gm o d e l s ,t h i sp a p e rp r o p o s e sw e ba s s o c i a t i o nt e s t i n gm o d e lw h i c hi su s e df o r w e ba p p l i c a t i o nt e s t t h er e s e a r c hc o n t e n to f t h i sp a p e ri sa sf o l l o w s : w 曲a s s o c i a t i o nt e s t i n gm o d e li sb u i l tb yt h ea n a l y s i so ft h eo b j e c t , n a v i g a t i o n a n ds t r u c t u r ei nw e ba p p l i c a t i o n b a s e do nt h em o d e l ,t e s tc a s ec a nb eg o t ,a n dt h e nt e s t r e p o r tc a nb ec r e a t e da f t e re x e c u t i n gt e s t o b j e c tm o d e la n a l y z en o to n l yi n h e r i t , a s s o c i a t i o na n da g g r e g a t i o nt r a d i t i o n a lr e l a t i o n , b u ta l s o r e q u e s t , r e s p o n s e , n a v i g a t i o na n dr e d i r e c tr e l a t i o nw h i c he x i s ti nw e ba p p l i c a t i o no n l y t h es e v e n r e l a t i o n sc a nb eu s e df o rm o d e l i n gw e ba p p l i c a t i o n so b j e c t s ,t h e nt h es t a t ea n dt h e a c t i o no fw e ba p p l i c a t i o n so b j e c t sc 弛b ea n a l y z e d n a v i g a t i o nm o d e lc o n s t r u c t sp a g e n a v i g a t i o ng r a p hb yp a g e s n a v i g a t i o n , i nw h i c ht h ea u t h o ra n a l y z e st h ei m p a c to f b r o w s e ro np a g en a v i g a t i o n b a s e do np a g en a v i g a t i o ng r a p h , p a g en a v i g a t i o nt r e ec a n b eg e n e r a t e d ,a n dt h e nt e s ts e q u e n c ec a nb eg o t s t r u c t u r em o d e li n t r o d u c ec o n t r o lf l o w g r a p hi n t oa n a y z i n gc o n t r o lf l o wa n dd a t af l o wo fw e ba p p l i c a t i o na f t e rt h et r a d i t i o n a l c o n t r o lf l o wa n dd a t af l o wt e s t i n gm e t h o d s i nt h i sp r o c e s s ,t h ea u t h o rr e s o l v e st h e a n a l y s i so f c o n t r o lf l o wa n dd a t af l o wo f t h ef o r w a r dp o i n ti nw e ba p p l i c a t i o n ar e g r e s s i o nt e s t i n gm o d e lm a x qi sr e s e a r c h e dw h i c hi su s e df o rt e s t i n gs y s t e m e r r o rl e a d e db ym o d u l ea m e n d i n g i no r d e rt os i m u l a t em u l t i - u s e rt e s t i n ge n v i r o n m e n t , t h ea u t h o ri m p r o v em a x qt e s t i n gm o d e l c o n v e n i e n tf o rm a i n t e n a n c ec o m p l e xt e s te a s e o f w e ba p p l i c a t i o n ,t h ea u t h o ro p t i m i z e ss t r u c t u r eo f t e s t i n gc a s er e c o r d i n gf i l e aw e ba p p l i c a t i o nt e s t i n gt o o li sd e s i g n e d b a s e do nt h ee x p e r i m e n to f t h e e - c o n n n e r c ep l a t f o r mo fc h o n q q i n gr a i l w a yt r a n s p o r t a t i o n ,t h ec o n t r o lf l o wa n dd a t a f l o wt e s t i n gw a se x p e r i m e n t e d t h er e g r e s s i o nt e s t i n ge x p e r i m e n tb yi m p r o v e dm a x qf i n d ss o m ee r r o r sh i d d e ni n 重庆大学硕士学位论文 英文摘要 t h ep l a t f o r m ,w h i c hp r o v e st h ea v a i l a b i l i t yo f r e g r e s s i o nt e s t i n gm o d e l t h er e s u l to fe x p e r i m e n ti n d i c a t e dt h a tw e ba s s o c i a t i o nt e s t i n gm o d e la n d r e g r e s s i o nt e s t i n gm o d e lc o u l de n h a n c ce f f i c i e n c yo fw e ba p p l i c a t i o nt e s t i n g , s a v e r e s o u r c e ,a n db eu s e f u lt ow e ba p p l i c a t i o nt e s t i n g k e y w o r d s :w e ba p p l i c a t i o nt e s t ,w e ba s s o c i a t i o nt e s t i n gm o d e l ,r e g r e s s i o nt e s t ,m a x q i l l 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取 q 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文 包含其他人已经发表或撰写过的研究成果,也不包含为获得重鏖太堂 他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本 琶所做的任何贡献均已在论文中作了明确的说明并表示谢意。 一虢瓠槲期。7 m 细 学位论文版权使用授权书 本学位论文作者完全了解重废太堂有关保留、使用学位论文的 ! ,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许 c 被查阅和借阅。本人授权重庭太堂可以将学位论文的全部或部 日容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段 f 、汇编学位论文。 保密() ,在年解密后适用本授权书。 本学位论文属于 不保密( ) 。 ( 请只在上述一个括号内打“”) 学位论文作者签名:导师签名: 瓶郴 签字日期:弘习年f 月;口日签字日期:乙睨声厂月;。日 重庆大学硕士学位论文1 绪论 1 绪论 1 1 课题研究的背景 i n t e m e t 的出现,并迅速发展成为当今世界上覆盖面最广、规模最大、信息资 源最丰富的计算机信息网络,深刻地改变了计算机应用技术以及产业模式。w e b 应用以其广泛性、交互性和易用性等特点迅速风靡世界,许多传统的信息和数据 库系统被移植到互联网上,电子商务迅速增长,早己超过了国界,范围广泛、复 杂的分布式应用出现在人们的生产生活中。w e b 的快速发展和广泛应用在于它能 支持所有类型的信息发布,容易为i n t e m e t 用户存取。 在w e b 系统发展的同时,我们必须确保软件质量,从而保证软件项目的成功, 因此w e b 软件的测试也必须重视。w e b 软件测试就是为了发现软件中存在的错误 而执行程序的过程,其目的就是要发现程序中潜在的错误。通过制定测试计划、 建立测试环境、设计测试用例、执行测试和根据测试结果完成测试报告五个环节, 发现程序中的错误,然后纠正错误,提高软件的可靠性。但是,w e b 软件的测试 不同于传统软件的测试,这是由于w e b 软件是一种b s 结构的应用程序,其数据 描述方式、网络通信协议、软件设计模式、系统结构特征等都与传统的软件有很 大区别,所以对w e b 软件测试技术的研究也就变得非常有意义了。 1 2 课题研究现状 目前,国内外软件测试的方法多种多样,从总体上来分主要有静态测试和动 态测试两类。静态测试是静态检查被测程序,如利用静态分析器分析程序、代码 评审分析代码等;动态测试就是将被测程序放在机器上运行来发现程序中的错误, 主要有黑盒测试和白盒测试两类。黑盒测试把程序看成一个黑盒子,不考虑程序 内部结构和处理的过程,在程序的接口处输入测试用例,运行程序来比较程序输 出结果与预期结果是否一致。所以在黑盒测试中,输入的测试用例要具有代表性, 通过等价类的划分和边界值分析对测试用例划分为不同的等价类。白盒测试要求 熟悉程序内部结构,分析程序代码,进行结构测试。逻辑覆盖测试和路径覆盖测 试是白盒测试的两种主要类型。逻辑覆盖测试针对流程图的各个判断框使用不同 的逻辑覆盖标准来表达对程序测试的详尽程度。路径覆盖则针对程序执行路径, 产生测试用例覆盖程序执行的路径,达到测试的目的。 在软件开发过程中,建模可以帮助系统开发人员建立完整的系统框架,让测 试者直观、清晰的认识系统结构。所以,测试技术也就由原来的结构测试发展到 建立系统测试模型执行软件测试。目前,在w e b 应用测试模型研究方面存在以下 重庆大学硕士学位论文 1 绪论 几种测试模型: 二层w e b 测试模型。 t o n e l l a 和r i e e a 在分析传统测试方法的基础上,提出了二层w e b 应用测试模 型【1 】。结合高层的导航模型和低层的控制流模型,用白盒测试的方法完成整个w e b 应用的测试。 高层的导航模型是根据页面和页面之间的链接构成,页面可以是静态页面, 也可以是服务器动态生成的动态页面,通过记录页面与页面之间的交互构成w e b 应用的导航图。在w e b 应用中,h t t p 协议是无状态的协议,因此同一个输入在不 同状态下可能产生多种动态页面输出。为了记录动态页面的导航行为,导航模型 通过名值对 的方式记录当前状态,并将名值对用于导航行为的前提 条件。 控制流模型是用控制流图描述的。控制流图由节点和边两类元素构成。节点 表示w e b 应用程序中的执行语句,当w e b 应用程序由多种程序语言编写时,节点 可以用不同的颜色表示由不同语言编写的程序语句,边表示程序执行路径。由边 和节点组成的控制流图描述了程序执行过程。 这种测试方法隔离了上层页面对象与底层数据流对象之间的联系,并且没有 可扩展性,跟传统的单元测试非常相似。 一种扩展控制流测试模型 文献 2 ,3 】提出了一种扩展的控制流测试方法。控制流测试是一种基本的路径 测试方法,使用流图来描述系统的控制流。图中的每个节点对应程序中的模块, 根据流图生成测试路径集合,进而选择合适的输入,满足一定的覆盖率。该方法 使用扩展的控制流图来表达w e b 应用中实体间的联系。扩展的控制流图中有三种 元素,分别是节点、边和分支。节点代表一个h t m l 文件或是脚本文件。边分为 三种,分别为超链接边、h r r p 重定向边和内联边。超链接边是用户选择页面中的 超链接而产生的,它是页面与页面之间的联系;h r r p 重定向边是服务器根据用户 的输入重定向到另一个页面而产生的,重定向需要经过服务器重定向到另一个页 面;内联边表明模块内部之间的关系。分支分为用户分支和程序分支。用户分支 是由用户根据自己的需要进行选择产生的分支;程序分支是根据用户的输入信息 由服务器端来决择下一个应该重定向到哪一个结点。 图1 1 是一个扩展的控制流图的例子。 该方法还设计了几种w e b 应用测试的工具,构成w e b 应用测试的环境包括源 程序分析系统、测试管理系统、测试开发系统、测试执行系统、测试结果分析系 统,用源程序分析子系统来分析不同w e b 应用的源程序。 该方法提出的w e b 应用测试环境比较合理,不过也存在一些缺点,例如源程 2 重庆大学硕士学位论文 1 绪论 序分析子系统只分析了w e b 应用的控制流信息,没有涉及数据流等其它的信息。 而且此模型不能测试w e b 服务器和数据库的交互行为。这对于完整的分析w e b 应 用的质量和可靠性是不够的。 图1 1 扩展控制流图 f i 9 1 1e x t e n d e dc o n t r o lf l o wg r a p h 一种基于类的面向对象测试技术 在面向对象系统中,系统的基本构造模块是封装了数据和方法的类和对象,而不 再是一个能完成特定功能的功能模块,每个对象有自己的生存周期,有自己的状态。 消息是对象之间相互请求或协作的途径,是外界使用对象方法及获取对象状态的惟 一方式,对象的功能是在消息的触发下,由对象所属类中定义的方法与相关对象的 合作完成的,且在不同状态下对消息的响应可能完全不同,工作过程中对象的状态 可能被改变,产生新的状态。对象中的数据和方法是一个有机的整体,测试过程中不 能仅仅检查输入数据产生输出结果是否与预期的吻合,还要考虑对象的状态,将类 的测试按顺序分为以下三部分州: 1 ) 基于服务的测试。测试类中的每一个方法; 2 ) 基于状态的测试。考察类的实例在其生命周期各个状态下的情况; 3 ) 基于响应状态的测试。从类和对象的接口出发,以外界向对象发送特定的消 息序列来测试对象的各个响应状态。 重庆大学硕士学位论文 1 绪论 利用有限状态自动机的成熟理论,根据类生成的实例产生一个有限状态自动 机,考察对象状态的每一个方法,类的实例在其生命周期各个状态下的转移情况。 这种方法对单个对象的测试十分有效,但对象并不是孤立的,当对象与对象 间发生联系构成一个大的系统时,要实现系统结构上的测试,这种方法就不合适。 目前,国内在w e b 应用测试模型的研究上相对滞后,还处于起步阶段。因此, 为保证国内w e b 应用软件的质量,促进w e b 应用技术的发展,对w e b 应用测试模 型的研究非常重要。 1 3 课题研究的目的和内容 1 3 1 研究目的 在w e b 应用技术迅速发展的基础上,本文提出了一种w e b 应用组合测试模型, 为w e b 应用测试制定系统的测试方案,提高w e b 应用的可靠性和正确性,确保 w e b 软件的质量。同时减少测试耗费的时间、人力和物力,降低w e b 应用测试的 复杂度,通过分析测试计划使w e b 应用设计更加合理,从而推动w e b 应用技术的 发展。 l - 3 2 研究内容 本文在分析已有w e b 应用测试模型的基础上,提出了一种w e b 应用组合测试 模型框架,从w e b 应用的对象、导航行为和结构三方面建立模型,分别分析了w e b 应用对象及对象之间的关系、w e b 页面对象的导航行为和w e b 应用中控制流数据 流信息,从而获得测试用例,实现w e b 应用的测试。 本文还研究了一种回归测试模型,并针对w e b 应用多用户的特点对模型做了 改进,检测由w e b 应用程序模块修改导致系统出现的错误。 本文的研究内容可以总结为以下几点: 建立w e b 应用组合测试模型,从对象、导航行为和结构三个方面测试w e b 应用软件。 分析w e b 应用对象之间特有的请求、响应、导航和重定向关系,结合传统 对象间的继承、关联和聚合关系建立w e b 应用对象模型。 分析w e b 应用页面间的导航行为,研究浏览器对导航行为的影响。 分析w e b 应用中的控制流和数据流信息,解决w e b 应用中f o r w a r d 节点的 控制流和数据流分析问题。 研究了一种回归测试模型m a 】【q ,并针对w e b 应用多用户的特点,对模 型进行了改进。在维护w e b 应用测试用例库的时候,作者提出了一种记录结构优 化方法。 实现了w e b 应用组合测试模型的设计方案。并实现了改进后的回归测试模 4 重庆大学硕士学位论文 1 绪论 型,利用改进的测试模型对项目“重庆铁路物流电子商务平台”进行测试实验。 1 4 本文的结构安排 本文的内容安排如下: 第一章,绪论。介绍论文的选题背景,课题研究目的和研究内容,最后阐述 了本文的整体结构。 第二章,w e b 应用测试概述。介绍w e b 应用的新特点和w e b 应用测试的基础 知识,包括w e b 应用测试的方法、测试策略和测试类型。 第三章,w e b 应用组合测试模型( w a t m ) 。这是本文的研究重点,文章在对 现有模型分析的基础上,提出了w e b 应用组合测试模型框架,从对象、导航行为 和结构三方面分析w e b 应用,为分析测试用例做好准备。 第四章,w e b 应用回归测试模型( w r m ) 。介绍了回归测试的策略,引入m a x q 测试模型进行回归测试。针对w e b 应用多用户的特点,对m a x q 模型做了改进。 并研究了记录w e b 应用测试用例库的文件结构,提出结构优化记录方法。 第五章,技术实现及实验。在提出的w e b 应用测试模型基础上,设计了w e b 应用测试工具的框架。并以项目“重庆铁路物流电子商务平台”为实验背景,进 行控制流和数据流信息测试。然后利用改进的m a x q 模型测试“重庆铁路物流电 子商务平台”,并对实验结果做了详细分析。 第六章,结束语。总结本文的工作,安排下一步的研究内容。 1 5 本章小结 本章首先介绍了w e b 应用的发展情况,引出课题研究的重要意义。然后分析 了w e b 应用测试发展的现状,提出w e b 应用测试模型研究的目的和内容。最后对 文章各章节的内容做出具体安排。 重庆大学硕士学位论文 2 w e b 应用测试概述 2 w e b 应用测试概述 w e b 应用软件是最近几年发展起来的,逐渐被人们广泛使用的计算机网络应 用。因为网络技术的发展,各种互联网信息在网上共享,电子商务也逐渐在w e b 应用中发展起来。b s 结构的w e b 应用软件设计也使得用户操作只需要浏览器就 可以完成,软件的维护也主要集中在服务器端,大大降低了维护成本。并且服务 器的设计结构更灵活,采用的技术也更广泛,这促进了w e b 应用的发展,同时也 给软件测试带来了更大的困难。要保证w e b 应用软件的质量,软件测试显得尤为 重要。 2 1 软件测试的发展历史 软件测试是伴随着软件的产生而出现的。在软件开发初期,由于计算机性能 较差,软件的可编程范围也比较狭窄,错误主要集中在元器件的不稳定上。此阶 段的测试更多承担的是“调试”任务,只是为了证明系统可以运行起来。 2 0 世纪5 0 年代后期到2 0 世纪6 0 年代,随着高级语言相继诞生并得到广泛应 用,软件测试逐渐与调试区别开来。但是,由于这一阶段软件受到硬件系统的制 约,规模较小。因此,测试理论和方法的发展比较缓慢。 1 9 7 2 年6 月在美国北卡罗来纳大学召开的首届软件测试正式技术会议,成为 软件测试技术发展中的一个重要里程碑。2 0 世纪7 0 年代以后,随着计算机硬件的 发展,软件的规模越来越大,软件的可靠性也面临着危机,软件测试在这一阶段 承受了挑战。许多新的软件测试理论和测试方法相继诞生,逐渐形成一套体系。 1 9 7 9 年,g l e n f o r dm y e r s 的( t h e a r to f s o f t w a r et e s t i n g ) ) 中将软件测试定义为:“测 试是为发现错误而执行的一个程序或者系统的过程”【5 1 。 2 0 世纪8 0 年代,软件测试的定义内容发生了改变,测试不再是一个单纯的发 现错误的过程,而且包含软件质量评价的内容。1 9 8 3 年,i e e e 提出了软件工程标 准术语,软件测试定义为:“使用人工和自动手段来运行或测试某个系统的过程, 其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差 别。” 2 0 世纪9 0 年代,工具被广泛应用到软件测试中。人们逐渐认识到,工具不仅 仅是有用的,而且在很多情况下是必不可少的。 近2 0 年来,随着计算机和软件技术的飞速发展,软件测试技术研究也取得了 重大的突破。测试专家总结了很好的测试模型,比如著名的v 模型、w 模型等, 在测试过程改进方面提出了t v i m ( t e s t i n gm a t u r i t ym o d e l ) 眄 的概念,在单元测试、 6 重庆大学硕士学位论文2 w e b 应用测试概述 自动化测试、负载压力测试以及测试管理等方面涌现了大量优秀的软件测试工具。 虽然软件测试技术的发展很快,但是其发展速度仍落后于软件开发技术的发 展速度。随着面向对象技术,软件重用技术以及i n t e m e t i n t r a n e t 的广泛应用,同 时软件规模越来越大,功能越来越复杂,使得软件测试在今天仍然面临着很大的 挑战。 2 2w 曲测试面临的新问题 随着网络技术和信息技术的迅速发展,w e b 技术得到了广泛的应用。w e b 的 各种应用逐渐深入人们的日常生活,对人们的生活和工作产生了深远的影响,w e b 已经成为信息的中介和信息发布的平台。在w e b 的应用开始阶段,只存在一些简 单的网站。随着网站规模和复杂度的增加,w e b 不仅承担简单的数据发布的任务, 而且包括信息系统的构建和复杂的应用逻辑,这一类应用统称为w e b 应用。目前, 越来越多的业务系统已经向w e b 应用演化,出现了很多基于w e b 的大型应用系统, 例如电子商务、电子政务、远程医疗、远程教学、办公自动化、m i s 系统、分布 式应用等。w e b 应用的快速发展不仅给w e b 应用的开发提出很高的要求,而且对 w e b 应用的测试也提出了新的挑战【刀o w e b 技术的发展十分迅速。w e b 的概念是8 0 年代末才产生的,1 9 9 3 年出现了 第一个w e b 浏览器m o s a i c 。w e b 技术经历了静态文档阶段、动态交互页面阶段和 实施可伸缩的事务处理阶段。w e b 的新技术层出不穷,开发人员和测试人员不一 定能全部领会新技术的含义。 多种多样的w e b 应用数据描述方式已在w e b 中使用。在w e b 用于展示数据的 强大功能下,其数据格式的描述形式十分丰富,从简单的文本数据格式到严格规 范的x m l 数据描述方式,在w e b 应用中都能实现。而且这种趋势仍在发展中, 例如目前盛行的a j a x 技术,其数据结构的描述形式达到了1 4 种之多。在这种情 况下,一方面丰富了w e b 应用的内容,发展了w e b 技术;另一方面也给w e b 测试 者提出了更大的考验。 因为w e b 应用是一种开放的技术,可以使用多种描述语言构件系统,例如: h t m l 、j a v a 、x m l 、j a v a s c r i p t 、j s p 和厂家发行的应用组件等。各种语言和组件 运行的平台可能是不同的,但在w e b 应用中可以轻松的组合起来,实现用户要求 的功能,这也是有别于传统软件的特点,所以传统的测试方法很难实现多种技术 语言的测试。 w e b 应用具有执行不确定性。服务器可以根据用户当前请求信息独立执行, 而不需要历史信息,所以系统的状态是根据用户不同的请求信息进入不同的执行 状态,使得用户可以自己选择执行序列,例如点击“返回”按钮改变执行序列。而传 7 重庆大学硕士学位论文2 w e b 应用测试概述 统的执行顺序不易改变,用传统的测试方法测试不确定的执行状态是非常困难的。 w e b 应用的实现涉及多种技术,例如网络技术、数据库技术、安全技术、多 媒体技术、分布式对象技术等。复杂的技术对开发人员和测试人员提出更高的要 求。 w e b 应用的体系结构复杂。一般采用多层结构,除了传统的两层、三层结构 以外,还提出了四层甚至五层的体系结构。例如文献 8 】提出的四层结构包括浏览 器层、w e b 服务器层、应用逻辑层和数据库层。文献 9 】提出五层结构,包括表示 层、安全层、应用逻辑层、抽象数据层和物理数据层。层次的增加使得w e b 应用 复杂性相应增加,程序耦合性的难度随之加大,出错的几率也增大了,这给测试 带来更大的难度。 w e b 应用的用户比传统软件的用户范围更为广泛,任何人只要通过i n t e m e t 就 可以方便的访问。且用户对于w e b 应用的可靠性、安全性都有着更高的要求。 w e b 应用的访问要求是可跨平台的,可跨浏览器的。因此w e b 应用的设计要 求平台兼容的,而且这也是w e b 应用测试的一个部分。 w e b 应用开发交付期短,且更新的比较频繁,因此用于测试的时间也相应缩 短了,测试人员必须在更短的时间内进行有效地测试。 w e b 应用发展带来了上述种种测试困难。由于作者研究精力有限,本文将把 研究重点放在w e b 应用测试模型上,解决w e b 应用执行不确定性、结构复杂性带 来的测试困难。并且改进一种回归测试模型,为整个项目节约测试时间和降低测 试成本。 2 3w e b 应用测试的方法 软件测试方法有很多种,从不同的角度出发,软件测试的分类也不相同。w e b 应用测试也是一样的,从是否需要执行被测软件的角度分为静态测试和动态测试, 从是否针对系统的内部结构和具体实现算法的角度分为黑盒测试和白盒测试及灰 盒测试。为了测试系统的内部结构或者系统功能,下面简单介绍黑盒测试、白盒 测试和灰盒测试。 2 3 1 黑盒测试 黑盒测试也称功能测试或数据驱动测试,它是在己知产品所应具有的功能, 通过测试来检测每个功能是否都能正常使用【1 0 】。在测试时,把程序看作一个不能 打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试者在程序 接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程 序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息( 如数据 库或文件) 的完整性。 s 重庆大学硕士学位论文 2 w e b 应用测试概述 黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,针对软件界面和软件 功能进行测试。“黑盒”法是穷举输入测试,只有把所有可能的输入都作为测试情况 使用,才能检查出程序中所有的错误。实际上测试情况有无穷多个,人们不仅要 测试所有合法的输入,而且还要对那些不合法但是可能的输入进行测试。 2 3 2 白盒测试 白盒测试也称结构测试或逻辑驱动测试,它是知道产品内部工作过程,可通 过测试来检测产品内部动作是否按照规格说明书的规定正常进行,按照程序内部 的结构测试程序,检验程序中的每条路径是否都能按预先设计的要求正确执行【l ”。 白盒测试的主要方法有逻辑驱动测试、基线测试等。 白盒测试法需要全面了解程序内部逻辑结构,对所有逻辑路径进行测试,所 以白盒测试法是穷举路径测试。在使用这一方案时,测试者必须检查程序的内部 结构,从检查程序的逻辑着手,得出测试数据。但程序执行的路径数是天文数字, 并且每条路径都测试一遍后程序仍然可能有错误。这是因为穷举路径测试决不能 查出程序违反了设计规范,即程序本身是个错误的程序。同时穷举路径测试不可 能查出程序中因遗漏路径而出错,再者穷举路径测试可能发现不了一些与数据相 关的错误。 2 3 3 灰盒测试 灰盒测试是介于白盒测试和黑盒测试之间的一种测试方法。灰盒测试关注输 出对于输入的正确性,同时也关注内部表现,但这种关注不像白盒那样详细、完 整,只是通过一些表征性的现象、事件、标志来判断内部的运行状态【1 2 】。有时候 输出是正确的,但内部其实已经错误了,这种情况非常多。如果每次都通过白盒 测试来操作,效率会很低,因此需要采取灰盒测试的方法。灰盒测试结合了白盒 测试和黑盒测试的要素,并考虑了用户端、特定系统知识和操作环境,它在系统 组件的协同性环境中评价应用软件的设计。灰盒测试由方法和工具组成,这些方 法和工具由应用程序的内部知识和与之交互的环境来决定。 2 4w 曲应用测试策略 2 4 1 单元测试 单元测试是开发者编写的- d , 段代码,用于检验被测代码的一个很小的、很 明确的功能是否正确【1 3 】。通常而言,一个单元测试是用于判断某个特定条件( 或 者场景) 下某个特定函数的行为。例如,你可能把一个很大的值放入一个有序l i s t 中去,然后确认该值出现在l i s t 的尾部。或者,你可能会从字符串中删除匹配某 种模式的字符,然后确认字符串确实不再包含这些字符了。 单元测试是由程序员自己来完成,最终受益的也是程序员自己。所以说,程 9 重庆大学硕士学位论文 2 w e b 应用测试概述 序员需要编写功能代码,同时也就有责任为自己的代码编写单元测试。执行单元 测试,就是为了证明这段代码的行为和我们期望的一致。 编写单元测试有如下一些优点: 它是一种验证行为。 程序中的每一项功能都是测试来验证它的正确性。它为以后的开发提供支援。 就算是开发后期,我们也可以轻松的增加功能或更改程序结构,而不用担心这个 过程中会破坏重要的东西,而且它为代码的重构提供了保障。这样,我们就可以 更自由的对程序进行改进。 它是一种设计行为。 编写单元测试也是一种代码设计行为。例如测试驱动的开发方法迫使程序员 先编写测试代码,这样设计的程序是易于调用的、松耦合的。 它是一种编写文档的行为。 单元测试是一种无价的文档,它是展示函数或类如何使用的最佳文档。这份 文档是可编译、可运行的,并且它保持最新,永远与代码同步。 它具有回归性。 自动化的单元测试避免了代码出现回归,编写完成之后,可以随时随地的快速 运行测试。单元测试的范畴可以从以下三点说明: 验证程序片断的行为与设计行为一致; 验证程序片断处理异常事件的行为; 验证程序片断功能的完整性和正确性。 2 4 2 集成测试 集成测试也叫做组装测试或联合测试,就是对各部分组合起来的程序进行测 试。通常,在单元测试的基础上,需要将所有模块按照设计要求组装成为系统【l ”。 这时需要考虑的问题是: 在把各个模块连接起来的时候,穿越模块接1 3 的数据是否会丢失; 一个模块的功能是否会对另一个模块的功能产生不利的影响; 各个子功能组合起来,能否达到预期要求的功能; 全局数据结构是否有问题; 单个模块的误差累积起来,是否会放大,从而达到不能接受的程度。 因此在单元测试的同时可进行组装测试,发现并排除在模块连接中可能出现 的问题,最终构成要求的软件系统。 2 4 3 系统测试 系统测试属于功能测试,是对已经集成好的软件系统进行彻底的测试,以验 证软件系统的正确性和性能等满足其规约所指定的要求【”1 6 1 。软件系统测试要确 1 0 重庆大学硕士学位论文 2 w e b 应用测试概述 认软件可以在规定的操作环境里正确地运行,还要考虑软件在那些不正常的、强 度很大的环境里正常运行的能力”7 1 。一个系统也可以看成是一个大的单元,所以 系统测试的目的是要发现那些不能被单元测试或集成测试所发现的错误。 系统测试包括对系统的性能、安全性、可计算性、配置灵敏度、启动和恢复 等方面的测试【i ”。 2 4 4 确认测试 确认测试的任务是验证软件的功能和性能及其它特性是否与用户的要求一 致,对软件的功能和性能要求在软件需求规格说明中己经明确规定。确认测试分 三个步骤: 进行有效性测试。 有效性测试是在模拟的环境( 可能就是开发的环境) 下,运用黑盒测试的方法, 验证所测软件是否满足需求规格说明书列出的需求。 软件配置复查。 软件配置复查的目的是保证软件配置的所有成分都齐全,各方面的质量都符 合要求,具有维护阶段所必需的细节,而且己经排好分类的目录。 验收测试。 在通过了系统的有效性测试及软件配置审查之后,就应开始系统的验收测试。 验收测试是以用户为主的测试。软件开发人员和q a ( 质量保证) 人员也应参加。由 用户参加设计测试用例,利用用户界面输入测试数据,并分析测试的输出结果。 一般使用生产中的实际数据进行测试。在测试过程中,除了考虑软件的功能和性 能外,还应对软件的可移植性,兼容性,可维护性,错误的恢复功能等进行确认。 验收测试实际上是对整个测试计划并行的一种“走查( w a l k t h r o u g h ) ”。 2 5w 曲应用测试类型 w e b 应用的测试可以分为许多不同的类型,大致有功能测试、性能测试、可 用性测试、客户端兼容性测试、安全性测试等,下面分别说明。 功能测试是检验w e b 应用是否满足功能需求说明书中的功能需求,保证功 能正确无误。功能测试的内容有链接测试、h t m l 语法检查、表单测试、c o o k i e s 测试、设计语言测试、数据库测试等。 性能测试是检验w e b 应用的各性能指标是否符合要求。性能测试的指标一 般有最大运行时间、吞吐率、响应时间等等。性能测试包括连接速度测试、负载 测试、压力测试等。负载测试和压力测试的概念常被混淆,负载测试测量w e b 应 用在某一负载级别上的性能,以保证w e b 系统在需求范围内能正常工作,主要是 确定在用户可以接受的响应时间内,系统能够承担的并发用户的数量。压力测试 重庆大学硕士学位论文2 w e b 应用测试概述 是指实际破坏一个w e b 应用,测试w e b 应用的反映,找出系统崩溃时的负载量。 可用性测试主要从使用的合理性和方便性等角度对软件进行检查,分为导 航测试、图形测试等。 兼容性测试在不同的操作系统或不同版本的浏览器组合的情况下,w e b 应 用是否能够正确执行。此外还要测试各种视频设置和m o d e m 速度,以及这些设 置的组合。 安全性测试检验在系统中已经存在的系统安全性、保密性措施是否发挥作 用,用无漏洞,主要测试登陆模块、授权问题等。 基于w e b 的系统测试不但需要检查和验证是否按照设计的要求运行,而且还 要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户 的角度进行安全性和可用性测试。实际上,除了以上的测试类型,w e b 应用测试 还应该包括其它一些类型,如帮助系统测试、安装测试等等。这些测试类型间可 以相互重叠,在实际测试的时候可以按照需要选择一定的测试类型。同时w e b 应 用还需要回归测试,因为在测试过程中根据测试出的错误,代码有可能要进行一 定的修改,而修改后的程序不一定是可靠的,修改的过程也许会带来新的错误, 所以必须进行回归测试,测试与修改有关的部分。 2 6 本章小结 从2 0 世纪5 0 年代软件设计语言出现开始,软件测试也随之诞生。w e b 应用 测试是在w e b 应用技术出现后,为保证w e b 应用软件质量发展起来的测试技术。 随着w e b 应用技术的发展,w e b 应用逐渐渗透到社会各行各业,出现了很多新的 技术特点,如数据描述方式的多样性、多种程序设计语言的组合使用等,这是w e b 应用测试需要解决的问题。 面对这些问题,国内外许多软件工作者和测试专家进行了研究,提出了很多 w e b 应用测试方法,如黑盒测试、白盒测试和灰盒测试。也提出了w e b 应用测试 策略,如单元测试、集成测试、系统测试、确认测试。也有很多w e b 应用测试的 类型,本章都作了详细介绍。 重庆大学硕士学位论文3w e b 应用组合测试模型( w
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030俄餐行业市场发展分析及前景与投资研究报告
- 2025-2030二手车电商平台信用体系构建与交易增长报告
- 2025-2030中国餐饮服务机器人回本周期测算与连锁企业采购标准报告
- 2025-2030中国青年公寓行业峰会与展会价值评估专题报告
- 2025-2030中国青年公寓行业发展现状及投资前景研究报告
- 2025-2030中国青年公寓行业人才需求与培训体系报告
- 2025-2030中国青年公寓市场需求变化与品牌发展策略报告
- 2025-2030中国青年公寓市场区域分布与投资潜力评估报告
- 高端精密模具研发生产项目2025年技术创新与精密模具润滑技术可行性研究报告
- 2025年枕头项目规划申请报告范文
- 产品品质及售后无忧服务承诺书3篇
- 2025年第11个全国近视防控宣传教育月活动课件
- 2025年养老产业市场营销策略调整分析报告
- 部编版二年级道德与法治上册第4课《欢欢喜喜庆国庆》精美课件
- 潍坊市2026届高三开学调研监测考试生物试题及答案
- 三维波动方程双变网格有限差分并行模拟方法:理论、实践与优化
- 异姓兄妹结拜协议书范本
- 膝关节炎科普知识课件
- 2025广西公需科目考试答案(3套涵盖95-试题)一区两地一园一通道建设人工智能时代的机遇与挑战
- 医院三合理一规范培训
- 2025年江苏省档案初级职称考试(档案业务基础知识)历年参考题库含答案详解(5套)
评论
0/150
提交评论