




已阅读5页,还剩71页未读, 继续免费阅读
(计算机科学与技术专业论文)web自动化测试研究与watir框架开发.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
独创性声明 本人声明,所呈交的论文是本人在导师指导下进行的研究工作及 取得的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外, 论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得 武汉理工大学或其他教育机构的学位或证书而使用过的材料。与我一 同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说 明并表示了谢意。 签名:嘲e l 期:沙i i 。矽 学位论文使用授权书 本人完全了解武汉理工大学有关保留、使用学位论文的规定,即 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。本人授权武汉理工大学可以将本学位论文的 全部内容编入有关数据库进行检索,可以采用影印、缩印或其他复制 手段保存或汇编本学位论文。同时授权经武汉理工大学认可的国家有 关机构或论文数据库使用或收录本学位论文,并向社会公众提供信息 服务。 ( 保密的论文在解密后应遵守此规定) 研究生( 签名) :编 导师( 签名) :日期 t o l l s 武汉理工大学硕士学位论文 摘要 随着软件应用的流行及其复杂度的增加,保证软件质量也变的越来越有难 度。这就需要测试人员寻找很多测试方法和技术,用以解决产品质量问题。慢 慢的这些方法系统化成专门的软件测试技术,并蓬勃发展,目前已经展现其不 可或缺的优点,成为软件生命周期不可缺少的一部分。 在软件功能繁多,测试工作量难以负荷的情况下,想要提高产出的同时又 保证质量,自动化测试成为一个非常重要的因素。自动化测试不仅可以大大的 减少测试人员的工作量和工作难度,同时也可以避免不必要的人为主观疏忽与 问题,一方面加快测试速度,使测试人员可以短期内进行频繁的测试,另一方 面也保证了产品的质量和进度,加大企业的产出与投入比,提高收益。 w e b 测试,作为软件测试的一个分支,有其独有的特点。w e b 应用的并发 性很高,同一时刻可能有成千上万的用户在点击该网页;w e b 应用的容错性要 很高,因为用户多了,出现问题的可能性就提高了,这时就要求系统的稳定性 和容错性都要经得起考验;w 曲页面的有很多不确定性,需要兼容对不同的浏 览器和操作系统。基于w e b 的以上特点,w e b 测试变得更加复杂多变。 本文在介绍w 曲测试基本知识的基础上做出拓展,不仅对互联网测试特点, 测试方法,测试流程,测试技巧给出具体理论和介绍,同时也对自动化测试在 w e b 中的应用给出系统的分析和自己的见解。在此基础上,文章还介绍了一种 新兴的开源自动化测试框架w a t i r ,它使用r u b y 语言,专门用于w e b 测试,提 供了非常简单的方法使测试人员能够快速学习并使用,非常有效的加快了自动 化测试。目前该框架已经被国内很多知名的互联网公司使用。但是w a t i r 作为 新兴的框架,功能并不完善,本文在介绍其基本功能,分析其缺点的基础上, 重新完善其功能,使之成为较完备的自动化测试工具。 最后,给出系统中存在的不足和展望。 关键字:测试,w e b 自动化测试,r u b y ,w a t i r u n n e c e s s a r yp r o b l e m so fs u b j e c t i v en e g l i g e n c e i to nt h eo n eh a n ds p e e d su pt e s t s p e e d ,s ot h a tt e s t e r sc 锄t e s tf r e q u e n t l yi ns h o r t - t e r ma n do i lt h eo t h e rh a n de n s u r e s p r o d u c tq u a l i t ya n dp r o g r e s s ,i n c r e a s i n gb u s i n e s so u t p u ta n di n p u tr a t i op r o f i t a b i l i t y a sab r a n c ho fs o f t w a r et e s t i n g , w e bt e s t i n gh a si t su n i q u ec h a r a c t e r i s t i c s w e b a p p l i c a t i o n sc o n c u r r e n c yi sv e r yh i 曲,a tt h es a n l et i m et h e r em a yb eh u n d r e d so f t h o u s a n d so fu s e r sc l i c ko nt h ep a g e ;w e ba p p l i c a t i o n s f a u l tt o l e r a n c em u s tb e v e r y h i g h , b e c a u s et h em o r eu s e r , t h ei n c r e a s el i k e l i h o o do fp r o b l e m s ,t h e nt h e s er e q u i r e s s y s t e ms t a b i l i t ya n df a u l tt o l e r a n c es h o u l db es t r o n ge n o u g h ;t h e r ea lem a n y u n c e r t a i n t i e si nw e bp a g e , w e bs y s t e mm u s ta c h i e v ec o m p a t i b i l i t yf o rd i f f e r e n t b r o w s e r sa n dd i f f e r e n to p e r a t i n gs y s t e m s b a s e do nt h ea b o v ew e bc h a r a c t e r i s t i c s , w e b t e s t i n gb e c o m e sm o r ec o m p l e x o nt h eb a s i so fi n t r o d u c i n gt h es u b j e c to fw e b t e s t i n gb a s i ck n o w l e d g e ,t h i s t h e s i sm a d ed e v e l o p m e n t ,n o to n l yg i v e ss p e c i f i cd e s c r i p t i o n sf o rt h ei n t e m e tt e s t c h a r a c t e r i s t i c s ,t e s tm e t h o d s ,t e s tp r o c e d u r e s ,t e s tt h e o r i e sa n ds k i l l s ,b u ta l s og i v e s s y s t e m i z e da n a l y s i sa n dt h ea u t h o r sv i e w sf o rt h ea u t o m a t e dw e ba p p l i c a t i o nt e s t i n g o nt h i sb a s i s ,t h et h e s i sa l s oi n t r o d u c e san e wo p e ns o l ic ea u t o m a t e dt e s t i n g f r a m e w o r kw a t i r , i tn s e st h er u b yl a n g u a g e ,s p e c i f i c a l l yf o rw e b t e s t i n g , p r o v i d e sa v e r ys i m p l ew a y t ot e s t e r sq u i c k l yl e a r na n du s e ,w a t i ri sv e r ye f f e c t i v et oa c c e l e r a t e a u t o m a t e dt e s t i n g a tp r e s e n t , t h i sf r a m e w o r kh a sb e e nu s e db ym a n yd o m e s t i c w e l l k n o w ni n t e r a c tc o m p a n i e s h o w e v e r , w a t i ra san e wf r a m e w o r k i t sf u n c t i o ni s h n o tp e r f e c t ; a tl a s t , k e yw o r d s : i i i 武汉理工大学硕士学 目录 第l 章引言 1 1 课题研究背景、目的及意义 1 2 技术现状 1 2 1 软件测试 1 2 2 自动化测试 1 2 3 w e b 测试。 1 3 研究内容 1 4 论文的结构 第2 章w e b 测试研究9 2 1w e b 测试内容9 2 2 常用的w e b 测试方法1o 2 2 1 冒烟测试1 0 2 2 2 随机测试l l 2 2 3 回归测试1 1 2 3w e b 项目流程及测试1 2 2 3 1 需求分析阶段1 2 2 3 2 启动阶段1 3 2 3 3 计划阶段1 3 2 3 4 编码阶段1 4 2 3 5 测试阶段1 4 2 4 本章小结1 6 第3 章w a t i r 相关技术1 7 3 1r u b y 1 7 3 1 1r u b y 由来1 7 3 1 2r u b y 特点1 7 3 1 3r u b y 使用现状1 9 i v 武汉理工大学硕士学位论文 3 2r u b y g e m s l9 3 2 1r u b y g e m s 安装与简介一2 0 3 3g e m 包的制作方法2 0 3 4g e m 的常用命令2 2 :;5n e t b e a n s 2 2 3 5 1n e t b e a n s 简介2 2 3 5 2n e t b e a n s 与r u b y 2 3 3 6 浏览器插件i ed e v e l o p e rt o o l b a r 。2 3 3 7 断言机制2 4 3 8 本章小结2 4 第4 章w a t i r 。2 6 4 1w a t i r 及其优势2 6 4 1 1w a t i r 简介2 6 4 1 2w a t i r 优势2 6 4 2w a t i r 的主要特性2 7 4 3w a t i r 对w e b 页面元素处理方法2 7 4 3 1h t m l 控件对应的w a t i r 方法。2 7 4 3 2i e 创建、访问2 9 4 3 3 标签l a b l e 和l a b l e s 2 9 4 3 4 链接l i n k & l i n k s 2 9 4 3 5 按钮b u t t o n 及b u t t o n s 3 0 4 3 6 图片i m a g e 及i m a g e s 3 0 4 3 7 文本框t e x t f i e l d s 和t e x t f i e l d 3 0 4 3 8 单选框r a d i o 和r a d i o s 3l 4 3 9 复选框c h e c k b o x 与e h e c k b o x s 31 4 3 1 0 下拉框s e l e c t l i s t 与s e l e c t l i s t s 3 1 4 3 1 1 表格t a b l e 和t a b l e s 31 4 4w a t i r 的不足3 2 4 5 本章小结3 2 第5 章系统设计与实现3 4 v 武汉理工大学硕 5 1 环境搭建。 5 2 数据驱动模块实现 5 2 1 需求分析 5 2 2w n 3 2 0 l e 5 2 3 实现方案 5 2 4 具体实现 5 3 关键字驱动。 5 3 1 需求分析 5 3 2 模块实现思想 5 3 3 模块实现 5 4 数据库访问。 5 4 1 需求分析 5 4 2 实现方案与整体架构 5 4 3 具体实现 5 5 测试结果管理与输出 5 5 1 需求分析 5 5 2r u b y 1 0 9 9 e r 5 5 3 实现方案 5 5 4 具体实现 5 6 本章小结 第6 章测试结果 6 1 数据驱动 6 2 关键字驱动5 4 6 3 数据库访问5 9 6 4 测试结果的管理与输出6 l 6 5 本章小结6 3 第7 章总结与展望。6 4 致 射6 5 参考文献6 6 攻读硕士学位期间发表的学术论文和参研项目6 9 武汉理工大学硕士学位论文 第1 章引言 1 1 课题研究背景、目的及意义 随着软硬件技术的发展,计算机的应用领域也越来越广泛,软件的功能越 来越强大,实现越来越复杂。因此保证软件的质量及高度可靠性面临着巨大的 挑战。对软件产品质量的度量、评估和保证,已经成为软件开发过程中最重要 的问题。基于以上各种原因,软件测试已经成为计算机应用领域非常重要的技 术。 同时,软件开发对敏捷度要求的提升,以及w e b 应用的流行和复杂度的增 加,这些都使w e b 测试技术成为保障项目质量,成功发布的一个越来越重要因 素。另一方面,自动化测试也可以加快测试速度,减少测试人员的大量重复工 作,更方便频繁测试,大大保证了w e b 项目的进度和质量。基于以上情况,为 了更方便的辅助测试人员搭建测试框架,编写自动化测试脚本,同时又尽可能 减少自动化测试脚本的开发和维护成本,测试人员更加需要一个简单易用,功 能强大且全面的自动化测试工到。 本文不仅对w e b 测试给出系统的理论和分析,深度探讨了互联网测试的方 法和流程,同时对自动化测试在w e b 中的应用进行剖析和方法研究。另外,还 对自动化测试框架w a t i r 进行研究,w a t i r ( w e ba p p l i c a t i o nt e s t i n gi nr u b y ) 是 由r u b y 语言开发的开源自动化测试框架,专门用于开发针对w e b 的自动化测试 脚本程序【2 1 。w a t i r 相对于很多庞大的商业自动化测试工具来说,它更小巧也更 灵活。w a t i r 使用r u b y 脚本语言,语言简洁且容易操作,它提供了简单且轻便 的自动化测试程序框架和丰富的开发库。测试人员可以非常迅速的掌握编写测 试脚本方法,有效的加速了自动化测试脚本的开发时间。当然,w a t i r 作为新兴 的w e b 测试框架,功能还没有完善,本课题意在研究其基本架构,并进行w a t i r 二次开发,从而生成更加完善的w a t i r 自动化框架,方便并加速w e b 自动化测 试。 武汉理工大学硕士学位论文 1 2 技术现状 1 2 1 软件测试 随着社会的不断发展和计算机科学技术日新月异,计算机和软件在国民经 济以及社会生活方面的应用不断的广泛和深入。软件作为计算机的灵魂,起着 举足轻重的作用。软件的功能失效有可能会造成巨大的经济损失,甚至危及到 人的生命安全【3 】。在软件设计的开始之初,软件的测试并没有得到企业和个人 的重视,一般的软件开发把重心放在代码的开发上,并没有把代码的质量提上 去,从而忽略了测试在整个项目工程中的重要性。全球信息化变革极大推动了 软件产业的发展,随着软件行业的不断发展和对软件质量的不断重视,软件测 试也开始被软件企业所重视,软件测试开始成为一个新兴的产业。 软件测试是确保软件的质量和可靠性的重要措施。当前,许多软件工程的 实践都是以结构化分析和设计为核心,在软件开发阶段前期,需求分析和设计 一般都是用技术评审和工程管理当做质量保证的手段,但是技术评审和工程管 理的主观因素很大,很容易引入错误,从而扩展到后续开发阶段。 当然,软件测试确实可以发现软件中存在的许多缺陷。随着软件测试的重 要性和规范性不断改进,可以通过软件测试把不符合相关标准的软件拒之门外, 对软件行业的健康发展发挥了很好的促进作用。 随着软件测试的重要性不断被人们共识,在整个软件开发周期中软件测试 阶段所占的比重日益增大。不管是从软件开发方法学,还是从软件测试本身的 效益来看,在今后较长一段时间内,软件测试都是确保软件质量很重要的手段。 在大型软件系统的开发过程中,软件生命周期内的各个阶段都不可避免会 产生错误。这就要在每个阶段结束之前进行严格的技术审查,及时发现并纠正 差错。但是实验表明,并不是所有的审查都能发现全部的错误。从建模的角度 分析,测试的目标是通过设计实验找到存在的缺陷并揭示问题。这个活动和软 件开发过程中所有活动是相反的。交流、协商、分析、设计和实现都是构造过 程,测试却是分解过程。测试主要是采取分析系统或系统组件,来检测规定的 行为和观测行为之间存在差异的过程。但是,由于测试的不确定性、事件和预 算的限制,要想彻底的对一个复杂系统进行测试是不可能的。应运而生的是使 许多软件测试技术迅速发尉4 。 1 2 2 自动化测试 2 武汉理工大学硕士学位论文 1 2 2 1 自动化测试概述 传统的项目测试主要以手工为主,测试人员按照需求规格说明书要求,同 测试对象实现“人机对话”。大量的手工导致项目人力成本和沟通成本的增加, 以及低效率和高差错率。随着软件行业的发展和软件行业规模的扩大,客户不 断提高对软件质量的要求,而且企业的网络应用环境要求支持大量的用户以及 复杂的软硬件环境,随之而来的测试工作量也越来越大,自动化测试和管理不 断成为项目测试的总体趋势【5 j 。 与此同时,由于软件开发受到时间限制、资源限制和软件的复杂化等种种 因素的影响,软件测试面临着更严峻的挑战,仅靠手工测试已经不能完全胜任 一个可靠稳定的软件,特别是在迭代开发的过程中,需要进行回归测试对每一 个版本下的各个组件是否仍然保持原来的特性进行验证。传统手工测试只是一 个劳动密集型工作。试想,每一种新版本就要让人工去完成那些重复、繁琐、 乏味的测试,会大大降低效率。而且,由于测试人员的疏漏,可能会造成一些 回归错误。因此,为更好地节约资源,各大软件公司明智的决定引入自动化测 试【们。 自动化测试采用测试工具和其他方法,按照预定的计划对软件进行自动化 的测试,完成许多手工测试无法完成,或者是手工测试很难实现的测试工作, 更好的调配利用资源,更好的利用自动化手段,提高测试的准确性和测试人员 的积极性。正确合理地进行自动化测试,可以快速、全面的进行测试,来提高 软件质量,达到节省经费,缩短产品发布周期的效果。 现在主流几种测试工具如下1 7 j : l o a d r u n n e r :l o a d r u n n e r 是标准的企业级负载测试工具,用来完成预测软件 系统具体行为步骤、负载性能的测试。l o a d r u n n e r 可以模拟大量用户同时使用 软件系统,通过实时性能监控,查看软件对并发执行的承受能力,并对产生的 问题进行查找、分析和确认。l o a d n m n e r 这种特性,常被企业用来对本公司整 体架构进行性能测试,这样不仅可以大大的缩短性能测试时间,最快速的检测 性能,同时也可以优化架构性能,从而加速整个系统的发布周期,提高效率瞵j 。 a u t o r u n n e r :a u t o r u n n e r 是一个基于黑盒的功能测试软件。它涵盖了所有功 能测试的范畴,可以用来构建每日测试、日常功能测试,以及项目回归测试。 它具有脚本语言,可以对脚本进行跟踪以完善其功能;它可以完成对i e 的功能 测试,也可以完成w i n d o w sn a t i v e 的自动化测试。a u t o r m m e r 多是用于进行银 3 武汉理工大学硕士学位论文 行系统业务测试。 r a t i o n a lr o b o t :r a t i o n a lr o b o t 是b o r l a n d 公司开发的套件,用来解决软件 管理问题,并提出方案。该软件主要用于功能测试,且设计简单易操作,方便 使用者迅速学习并掌握编写自动化测试的方法,快速建立功能测试脚本,并调 试分析测试结果。 w i n r u n n e r :w i n r u n n e r 是m e r c u r yi n t e r a c t i v e 公司开发的功能测试工具。作 为一个企业级工具,可便捷的检测软件系统的功能,查看是否达到预期的结果。 w i n r u n n e r 工作原理是通过自动录制用户的应用操作,来检测和回放操作过程 f 9 】。它能够应对复杂的企业级别的软件系统的发布测试、不同软件版本的测试、 跨平台测试等各种复杂测试需求,确保企业软件项目能够稳定的发布并长期运 行。 1 2 2 2 自动化测试的目的 自动化测试目的是为了发现老缺陷,与此相反,传统手工测试的目的在于 发现新缺陷。自动化测试涵盖了测试流程、测试体系、持续集成、自动化编译、 自动发布测试系统和自动化测试等各个方面的整合。简而言之,能够让测试自 动化,不单纯是技术、工具的问题,更是一个公司和组织的文化问趔1 0 】。 第一步,公司要在资金、管理上给予支持;第二步,要有专门的团队去构 建符合自动化测试的相应测试流程和测试体系;第三步,就是通过把源代码从 受控库中取出,进行编译、集成、发布可运行系统和进行自动化的单元测试包 括自动化的功能测试过程。一些手工测试中的重复和烦琐,可以通过自动化测 试得到减少或消除,从而进一步节约测试所必需的时间,不断提高测试的一致 性和可重复性。 自动化测试不但可以提高产品质量,而且尽可能的在软件生命周期的初始 阶段发现缺陷。不过,并不是任何测试自动化都可以达到预期的效果,只有良 好的自动化测试体系才能发挥优势,达到建立自动化测试体系的目标,保障较 高的质量。否则,可能会由于建立和维护等方面的负担,而导致延误工期、成 本浪费,甚至有可能完全放弃测试自动化。 w e b 网站的爆发式流行,在世界范围内引起软件质量保证的挑战,多个并 发用户可以同时访问一个全球性的网站,因此,对于网站的测试人员来说,网 站的响应速度和安全性逐步凸显出重要性。同时,测试和质量的控制也更加困 难。考虑到w e b 的测试和其它软件的测试有相同之处,都需要测试功能的实现、 4 武汉理工大学硕士学位论文 兼容性、配置和性能测试等等。但是,许多和应用程序相融合的分布式的系统 组件导致w e b 应用的测试更加复杂,在w e b 环境下,发现错误在哪里产生的是 很困难的,因为错误很难再现【1 1 1 。这种情况下,自动化测试给w e b 的测试提供 了机会和挑战。 1 2 2 3 正确看待自动化测试工具 ( 1 ) 错误的期望利用工具发现软件中存在的全部或者大部分的缺陷【1 1 1 。测 试中8 0 以上的缺陷都是由手工测试发现的,其中,只有不到2 0 的缺陷是由 自动测试发现的,并且这2 0 的发现,要求测试人员必须合理运用工具。 ( 2 ) 错误的期望某些测试工具可以适用于任何环境。测试工具大部分是为 了解决某些特定的问题开发出来的,因此肯定有其局限性。同时,测试工具本 身也是软件,不可避免的会存在软件兼容性的通病。 ( 3 ) 错误的期望使用测试工具后,马上减轻工作,缩短进度。由于在测试 过程中增加了一些新的元素,肯定会在一定程度上增加了测试的复杂性。初期 使用测试工具,通常会使工作量和消耗时间等各种成本,比手动测试增加 2 5 5 0 ,并没有像多数人想象的那样,可以迅速降低成本。 ( 4 ) 错误的期望测试工具易于使用。许多厂商采取夸大测试工具方便使用, 来宣传、兜售测试产品,强调工具经过简单录制就可以用于回放【1 2 1 。实际操作 中,自动化有效性没有那么简单就能实现。在录制的过程中,必须通过人工来 修改工具生成的测试脚本,这就需要具备工具脚本的相关知识,从而使脚本更 健壮、可重用、可维护。测试人员必须掌握工具与脚本语言。简而言之,要使 用任何一种新工具,就需要新的培训与学习曲线。 ( 5 ) 错误的期望通过工具能够达到1 0 0 的测试覆盖率。通过使用工具可 以增加测试的覆盖深度和广度,即便是面对有限的功能点,单纯使用工具也很 难进行1 0 0 的测试。 ( 6 ) 错误的期望在目前的测试领域一切都可以自动化,企业大部分都是将 自动化用于回归测试,且其最大价值也是在于回归测试,这是对自动化测试无 可非议的认同。因此很多人对这一方面认知存在着误区,认为只要在回归测试 中引入自动化测试就能够节省时间,降低测试投入成本,提高软件测试总体效 率。在这里,需要理解的一个概念是:一切测试都是以保证测试质量为前提的, 引入自动化测试,也是在确保测试质量的前提下,再提高软件测试的效率。 对一个软件或者项目模块进行自动化测试,要满足一下几个方面【l 3 】: 5 武汉理工大学硕士学位论文 ( 1 ) 对软件进行手工测试的很复杂且重复性高。 ( 2 ) 编写的测试用例,方便用自动化脚本实现。 ( 3 ) 要用于自动化测试的模块功能稳定,项目后续实现不会修改该功能。 ( 4 ) 软件生命周期很长,不断开发新版本,需要经常进行功能维护。 ( 5 ) 自动化测试工具能够长期的支持软件的功能与新实现的版本,维护成本比 较低。 1 2 3w e b 测试 随着i n t e m e t 的不断普及w e b 的应用更加广泛,商业、金融、教育很多行 业因为w 曲的广泛应用,发生了深刻的变化。一方面,得益于w e b 的信息共享 和电子商务的不断发展;另一方面,随着j a v a 等一些网络技术的逐渐成熟,w e b 环境中开始出现范围更广泛的、复杂度更高的分布式应用。基于b 、s 结构的 大型软件开始逐步显示出巨大的优势。问题也随之而来,不同用户对w e b 应用 的需求是不同的,要保证w e b 持续稳定的运行,给用户提供高质量的服务, w e b 测试十分重型h j 。 w e b 应用和传统软件还有区别,具有自身的特点。在性能方面,能够支持 异地浏览,信息的采集方式也更加灵活。只要有浏览器,任何时间、地点、系 统都能够访问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 应用的特点,一般需要进行多方面的测试,才 能获得更完善的功能、性能、安全性、可用性和客户端兼容性等。仅靠手工完 成这些任务的实现是相当困难的,必须要借助工具的帮助【l5 1 。目前,已经有一 些相对成熟的测试工具。由于在具体的测试环境中,需求各不相同,这就需要 结合实际情况进行改进、调整,甚至重新编写。 6 武汉理工大学硕士学位论文 1 3 研究内容 本文主要研究w e b 自动化测试的方法及流程,以及w a t i r 自动化测试框架 的在w e b 自动化测试过程中的应用。本文还详细分析了现在主流的w e b 测试方 法的特点和适用处,对何时进行自动化测试给出详细的分析和介绍。同时还对 w a t i r 的功能进行完善,使其更加方便测试人员进行w e b 测试。本文研究的主 要内容概括如下: 第一:详细介绍w e b 测试的内容和w e b 测试的方法。 第二:对w e b 测试流程和自动化自动化测试进行研究,给出详尽的理论阐 述。 第三:介绍利用w a t i r 进行w e b 自动化测试所需要了解的知识和技术。 第四:介绍w a t i r 的优势、特点、操作w e b 页面元素的方法,同时也分析 了w a t i r 的不足之处。 第五:完善w a t i r 功能,并对实现过程进行详细的分析和说明。 1 4 论文的结构 本论文内容的章节安排如下: 第1 章:绪论 介绍本课题研究的背景、国内外的技术现状以及研究的目的和意义,并详 细介绍现在主流的自动化测试工具的优缺点,分析自动化测试的适用于哪些测 试,给出论文的主要框架。 第2 章,w e b 测试研究。 本章节首先介绍了w e b 测试的内容,应该从哪些方面进行互联网的测试工 作:其次介绍了w e b 测试的常用方法。在这些基础上又介绍w e b 项目测试的流 程及细节问题。 第3 章,w a t i r 相关技术。 本章分五个章节介绍了应用w a t i r 进行w e b 自动化测试所需要了解的技术 和知识。着重介绍了r u b y 这个脚本语言的特点、现状和r u b y g e m s 。 第4 章,w a t i r 。 本章介绍了w a t i r 的优势和主要特性,并详细讲述w a t i r 对w e b 页面元素 的处理方法,介绍了每种方法的使用和注意点。同时,在最后还论述了w a t i r 7 的不足。 第5 章,系统设计与 本章节主要介绍了针 现策略及结果。对w a t i r 思想与结构,并讲述实现 第6 章,总结与展望 8 武汉理工大学硕士学位论文 第2 章w e b 测试研究 第1 章中,介绍了本课题的研究背景、目的及意义,阐述了w e b 测试,并 确定了本课题的研究内容。在这一章,将进行w a t i r 相关技术研究,分析,开源 框架s t r u t s ,s p r i n g 和h i b a n a t e 各自的特点,并对d m 的相关知识进行了介绍。 2 1w e b 测试内容 针对w e b 应用的特点,通常需要对多个方面的内容进行测试。以此来获得 良好完善的性能、功能、可用性、安全性和客户端兼容性等等。通常w e b 的测 试主要包括以下5 个方面内容【i 州: ( 1 ) 性能测试。 性能测试主要包含压力测试、负载测试和连接速度测试这三个方面的内容。 压力测试也可以说就是恶意破坏,通过压力测试来检验系统的限制和故障恢复 的能力【1 7 】。同时,来测试w e b 应用系统是否会崩溃,或者是在什么条件下会崩 溃。压力测试的测试区域包含登陆、表单、其他信息传输页面等。负载测试主 要用于检测w e b 系统在某一固定的负载级别上的性能,以此来保证w e b 系统在 需求的范围内可以正常运转。负载级别是某个特点时间同时访问w e b 系统的用 户数量,也可以是数据处理的在线数量。连接速度测试用来测w e b 系统响应时 间以满足不同用户访问速度的限制。也可以采取用脚本生成“虚拟用户”的方 法来进行性能测试。 ( 2 ) 功能测试【1 7 】。按照软件功能的要求,采取表单、链接、c o o k i e s 、设计 语言、数据库等相关测试手段,确保功能可以正确实现。链接测试的目的是检 查链接指向的页面是否存在、是否可以到达、是否存在孤立的页面。它可以自 动地进行,而且有多种工具可供选择,但是必须是在集成测试完成之后。表单 测试主要是用来检验提交操作的完整性和判定提交给服务器的信息的正确性。 ( 3 ) 可用性测试。可用性测试是由外部人员( 没有参加过或很少参加w e b 应 用系统开发的人员) 来进行的,这些最终用户的参与使用项目,对系统的导航, 图形界面,系统文字和整体功能进行测试,可以提高产品质量。系统导航的测 试主要是针对w e b 系统的页面结构、导航、菜单、连接等元素进行测试,检查 9 武汉理工大学硕士学位论文 风格是否一致,从用户的角度对系统进行最直接的感官评价,找出需要改进的 地方。 ( 4 ) 客户端兼容性测试。兼容性测试主要包括基于不同电脑操作系统的测 试,和基于不同浏览器的测试,以保证w e b 应用程序可以在不同的操作系统上 运行时能够正常的运行,确保在所有的操作系统上的兼容性【l 引。现在的市面上 有很多不同的浏览器,不同的用户使用的浏览器也不同,这就要求w e b 应用程 序保证在不同浏览器上能够正常运行,拥有很好的兼容性。 ( 5 ) 安全性测试。对于任何一个系统,其安全性都是相当重要的。尤其对于 现在的电子交易、网上银行的盛行,就要求w e b 应用程序更加安全可靠。安全 测试包括很多方面,主要是对用户信息、重要数据的存取。这需要测试人员准 备不同方面的测试用例,用以控制不同的安全级别。 鉴于w e b 页面和w e b 用户的数量非常巨大,如果完全使用上述方法进行测 试,那么将导致测试工作会繁重不堪。在实际操作中,测试人员可以根据自己 的经验来进行选择性的测试,在容易出现问题的方面多投入工作,进行有针对 性的测试。且w e b 测试的重点是对关键页面进行测试,w e b 系统最终是要展现 给用户,供其使用,用户体验的好坏,使用的满意度是评判一个w e b 系统好 坏的标准,所以要对w e b 用户常访问页面和功能进行重点测试,保证产品质量 【1 9 1 。 2 2 常用的w e b 测试方法 以上介绍的是w e b 测试中基本的测试方法,随着测试技术的发展,慢慢产 生一些新的测试方法,并为测试人员常用。常见的有冒烟测试、随机测试和回 归测试。本章将阐述这几种新兴并被广泛采用的测试方法【2 0 1 。 2 2 1 冒烟测试 冒烟测试( s m o k et e s t i n g ) ,按照其字面意思解释,就是用点完一只烟的时 间测试。实际上是指用很短的时间完成测试。这种方法一般用来对系统主流程 进行测试,用来查看项目最基本的主流程是否实现,如果实现了,可以继续开 展更详细具体的测试,如果没有实现,冒烟测试不通过,系统就需要返工,交 给开发人员重新开发。冒烟测试最大的优点就是节省测试时间,减少不必要投 入。由于冒烟测试只是测试主功能,所以其缺点就是覆盖率不够高。 1 0 武汉理工大学硕士学位论文 冒烟测试的对象是新开发出来还没有进行测试的软件。当一个新的软件版 本提交测试时,测试人员就会对其进行冒烟测试,目的是查看系统的主业务流 程的功能是否实现,查看是否存在死机、数据丢失等非常严重的b u g 。如果实 现了,称冒烟测试通过,测试人员正式开始测试;如果没有实现,称冒烟测试 不通过,开发人员需要对系统继续改进。开发人员修改后再次提交测试时,测 试人员会再次对其进行冒烟测试。 2 2 2 随机测试 在测试种,有经验的测试人员,都会在测试接近结束时,进行随机测试【2 。 这种测试要求测试人员非常熟悉产品的功能,知道产品测试过程中常出现b u g 是那些功能,那些功能是一级重要的,测试人员会针对这些模块进行测试。随 进测试,是根据测试样用例执行测试的重要补充。 随机测试,主要是对软件系统的一级重要功能再次进行测试,确认功能正 确且稳定。当然,如果测试人员对系统和业务相当熟悉,在测试过程中,也会 发现一些测试用例中并没有包含的测试用例,此时也会对这样没有覆盖到的小 点进行测试,保证测试用例的覆盖率。另外,有时项目仅进行了一些小模块的 改动,此时,不需要对项目的全部功能进行重新测试,只需要进行随机测试, 并对新增模块进行着重测试即可。该测试方法,也会和回归测试放在一起使用。 一般来说,测试人员需要对每个要进行测试的软件系统,在版本功能基本 稳定即将要发布时,都会执行随机测试。但是随机测试要求比较高,需要执行 人员有丰富的测试经验,且对被测软件的业务,功能,流程,常出现问题的模 块等方面都非常了解,在测试中不断总结问题,才能进行高质量的随机测试。 2 2 3 回归测试 回归测试【2 2 1 ,是指对于已经稳定的软件系统,开发人员对其进行了重构时, 测试人员需要对系统以前就实现的功能,进行重新测试,确保新修改的代码, 没有产生错误,且没有引起其他模块的功能错误。 回归测试非常适用于对软件版本进行多次迭代,不断发布新版本的系统。 回归测试是软件生命周期不可缺少的一个部分,在软件不断推出新版本的过程 中,会执行多次。甚至在一些极端的实现中,可能要求测试人员每天都对软件 进行很多次回归测试。这样重的工作量,就要求测试人员选择高效的测试方法, 武汉理工大学硕士学位论文 来改进回归测试的工作量和效率。自动化回归测试,是一个捷径,它可以大大 的降低回归测试的时间和复杂度,减少维护升级过程中的投入。 对于一般的企业来说,测试人员在开始测试之前,都会在公司的测试基线 库中编写并保存测试用例;随着测试的深入和产品的不断修正,测试人员也会 对基线库的测试用例进行更新和维护。当需要对产品进行回归测试时,测试人 员会专门建立该项目的回归测试用例集,并把自己认为需要进行回归的用例从 基线库挑选出来,放在回归测试用例集中,用以进行回归测试。如果该系统可 以进行自动化测试,测试人员同时也会把一些自动化测试脚本放在回归测试用 例集中。这样,有了回归测试用例集,就不一定需要项目的有经验的测试人员 来测试。对于自动化回归策划,甚至可以让一个不太了解项目的人来执行。这 样就使回归测试变的灵活多样,更加高效。 2 3w e b 项目流程及测试 现在的开发过程中有很多种开发模型,但是由于人的主观意识不可能完美 无缺,客观系统复杂多变,且实现过程时间长,参与人员多,各种各样的原因 都使得不管是用哪一种模型开发出来的软件,都不可避免的会遗漏问题,发生 错误。所以要想得到高质量的软件,必须在软件发布以前,对其进行严格系统 的软件测试,找出软件各方面的问题和错误,保证软件质量。在开发过程中投 入软件测试,不仅保证了最后软件发布版本的质量,也可以在开发过程中,测 试及时发现软件的问题并交由开发修复,从而提高开发过程的质量【2 3 1 。此外, 软件测试还可以为开发和项目经历进行风险做提前准备,提供可参考的信息。 一个项目中,开发和测试是相互渗透的,这个过程要分工明确,高度配合, 才能够提高工作效率的同时,产出高质量的软件。本章主要是介绍w e b 测试的 一般流程及这个过程中,开发与测试的具体分工合作。 2 3 1 需求分析阶段 在软件开发过程中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小班语言儿歌游戏课件
- 《LD应用系统设计》课件
- 基础护理学模拟考试题含答案(附解析)
- 2025年茶艺师(初级)考试模拟题+答案(附解析)
- 《劳动合同法概述》课件
- 装修工程的现场协调管理考核试卷
- 汽车电子控制系统模型考核试卷
- 电影拍摄中无人机机械装置的应用考核试卷
- 《金属焊接工艺原理》课件
- 消费机器人行业政策与监管环境分析考核试卷
- 2021-2023全国事业单位联考A类《综合应用能力》真题及参考答案 (三套)
- 2025山东能源集团中级人才库选拔易考易错模拟试题(共500题)试卷后附参考答案
- 山东省历年中考语文现代文阅读之非连续性文本阅读20篇(截至2024年)
- 第8章76种标准解法
- 《页岩气(页岩油)开发地块特征污染物土壤环境生态安全阈值确定技术指南编制说明》
- 2024年09月全国2024厦门国际银行青年银行家(分行市场类)校园招考笔试历年参考题库附带答案详解
- 保护环境的课件英文版
- 医院预防职务犯罪讲座
- 2025届山东省师大附中高考数学一模试卷含解析
- 房产出租授权委托书
- 音乐引导的运动节奏
评论
0/150
提交评论