没有合适的资源?快使用搜索试试~ 我知道了~
(完整word)基于selenium的web自动化测试.doc
1 下载量 143 浏览量
2022-11-15
00:33:23
上传
评论
收藏 357KB DOC 举报
温馨提示
试读
34页
(完整word)基于selenium的web自动化测试.doc
资源推荐
资源详情
资源评论
(完整 word)基于 selenium 的 web 自动化测试
第 1 页 (共 35 页)
基于 Selenium 的 Web 自动化测试
1 绪论
1.1引言
网络时代的到来和迅速普及,为软件产业带来了一场革命性的变化,基于 Web 的应用系统已
经开始逐步取代原来的单机版应用系统,成为当前和未来的软件系统开发和实施的主流。现在的
Web 应用系统结合了商业、数据库以及企业的运用,因此,对于 Web 应用系统的要求也愈来愈严
格,它必须具备高度的扩展性,合理的执行效率,以及全天候安全强固的执行环境。也就是说,
现在 Web 应用系统必须能够安全及时地服务大量的客户端用户,又能够长时间安全稳定地运行。
而且由于 interent 的开放性和易访问性,在 Web 应用系统商业应用领域的竞争非常激烈。用户
对网站的期望很高,如果网站无法做到快速加载、正确显示信息、即时反应并提供直观的浏览与
简易的交互功能,用户就有可能转换门庭,去别的网站.因此,Web 应用的测试至关重要。
但是由于 Web 应用系统具有分布、异构、并发和平台无关的特性,因而 Web 应用系统的测试
要比普通程序的测试要复杂的多。
从功能测试角度看,与传统的应用软件相比,Web 应用系统的独特之处主要有以下几点:
1.Web 应用系统的组成实体多种多样。就 HTML 文档而言,用不同语言编写的脚本,各式各
样的样式表及组件使得 Web 应用系统难以理解和测试。
2.Web 应用系统中有大量的导航链接,确保系统能够根据用户的选择准确地显示用户需要的
内容是 Web 测试的重要方面.
3.Web 应用系统通过会有大量的 Cookie 等技术来保存用户的状态信息,确保系统对这些状
态信息的正确管理也是 Web 测试的重要挑战.
4.Web 应用系统的客户端及操作系统的多样性导致的兼容性问题,要求对各个环境进行测试。
5.Web 应用系统客户端内容及结构更新快,新功能的不断加入不仅要对新加入功能进行测试,
而且还要对原有功能进行回归测试。
6.Web 应用系统开发技术层出不穷,如 AJAX,XML,JSP/ASP 等等,每种技术都有各自的特点,
测试也要根据相应的技术进行以提高测试效率。
相对于传统软件而言,基于 Web 应用系统的测试工作要求相对来说更高,测试工作更严峻,
如果单靠手工去进行测试,是远远不够的,必须引入自动化测试方法。
(完整 word)基于 selenium 的 web 自动化测试
第 2 页 (共 35 页)
1.2 Web 应用系统功能测试自动化研究
在实际测试工作中,自动化测试的难点在于:
1.测试用例。测试用例是手工测试与自动化测试的基本,自动化测试效率的高低与测试用
例的设计的好坏有着直接的关系。
2.自动化测试用例的选取。哪些测试用例适合用来进行自动化呢?只有选取那些重复性高,
手工测试无法实现或自动化测试比手工测试效率更高的测试用例进行自动化,才能更好的提高
自动化测试的效率。但是如何确定测试用例符合这些标准又是一个值得讨论的问题。
3.自动化测试脚本的健壮性。Web 应用系统的表现层的内容与结构的易变性经常会导致测试
脚本失败,而后又需要维护,这样大大降低了自动化测试的效率.
目前,对于 Web 应用系统的功能测试基本上都是采用“录制一回放”的模式来生成测试脚本,
即测试人员用自动化测试工具将手工执行的测试过程录制成测试脚本,然后根据需要修改测试
脚本,接着执行测试脚本,如果测试脚本执行失败,分析失败的原因,如果是测试脚本的问题,
就需要对测试脚本进行维护。
对于元素的定位地址,目前很多的自动化测试工具一般或使用 DOM,或使用 XPath 表达式来
表达页面元素的定位信息,如://ul[@,class='in’]/LI[1]/a,可读性差,测试人员需要到页
面中去定位该元素才能了解该元素代表什么。而且元素的定位信息遍布于测试脚本中,一旦该
元素的定位信息有所改变,就需要首先找出使用到该元素的测试脚本,并逐一更新定位信息。
我们需要对页面元素的定位信息进行统一管理,使用一个有意义的名称去标识被测页面
元素,对每一个页面元素的定位信息应只有一个单一的入口点,并通去一定的定位逻辑动态的生
成页面元素的定位信息。
1。3研究内容和组织结构
本文针对 Web 应用系统的特点,首先介绍了软件测试的方法及 Web 应用系 统测试方法,自
动化测试及其应用,根据自动化测试工作中出现的页面元素定位难的问题,基于开源自动化测
试工具 Selenium,提出了一套解决方案 selenium+junit 框架,以解决 web 自动化测试的问题。
本文的组织结构如下:
第一章,简述了 Web 应用系统自动化测试的背景知识及其现状,并介绍本文的研究内容。
(完整 word)基于 selenium 的 web 自动化测试
第 3 页 (共 35 页)
第二章,首先介绍了软件测试的基本概念,并分析了 Web 应用程序的特点,及 Web 应用程序
测试的主要方法。
第三章,首先介绍了软件测试自动化的基本概念,并就 Web 应用程序的特点分析了自动化测
试与手工测试的不同。然后介绍自动化测试工具的选择及应用。
第四章,首先介绍了开源功能测试工具 Selenium 及如何有效使用该工具,然后构建 Selenium
+ Junit 框架进行自动化测试.
第五章,对本论文的研究进行总结,讨论了它的可取与不足之处,指出进一步研究的方向。
(完整 word)基于 selenium 的 web 自动化测试
2 软件测试概述
2。1 什么是软件测试
2。1。1 软件测试的定义
所谓软件测试,就是一个过程或一系列过程,用来确认计算机代码完成了其
应该完成的功能,不执行其不该有的操作。软件应当是可预测且稳定的,不会给
用户带来意外惊奇.
软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的
文档和程序最终复审,是软件质量保证的关键步骤.如果给软件测试下定义,可
以这样讲:测试是为了发现错误而执行程序的过程,也就是说,软件测试是根据
软件开发各阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输
入数据或操作及其预期的输出结果),并利用这些测试用例去运行程序,以发现
程序错误的过程.
软件测试是为了发现程序中的错误,是一个找错的过程;软件测试的过程亦
是程序运行的过程;程序运行需要数据,为测试而设计的数据或辅助程序称为测
试用例.
值得指出的是,不能保证通过测试的程序一定正确,测试只能找出程序中的
错误,而不能证明程序无错.有时可以认为,软件运行期间测试活动从未间断,
只是在软件交付之后,将由用户来继续扮演测试角色而已。
2。1。2 软件测试的目标
对于软件测试,基于不同的立场,存在着两种完全不同的测试目标。从用户
的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否
可以接受该产品;而从软件开发人员的角度出发,则希望测试成为表明软件产品
中不存在错误的过程,验证该软件产品已正确地实现了用户的要求,确立人们对
软件质量的信心;因此,他们会选择那些导致程序失效概率小的测试用例,回避
那些易于暴露程序错误的测试用例;同时,也不会着意去检查、排除程序中可能
有的副作用.显然,这样的测试对完善和提高软件质量是毫无价值的.由于,程
序中往往存在着许多预料不到的问题,可能会被疏漏,许多隐藏的错误只有在特
(完整 word)基于 selenium 的 web 自动化测试
第 5 页 (共 35 页)
定的环境下才有可能暴露出来;如果不把着眼点放在尽可能查找错误这样一个基
础上,这些隐藏的错误和缺陷就查不出来,会遗留到程序运行阶段中去.如果从
用户的角度考虑,替他们着想,就应当把测试活动的目标对准揭露程序中存在的
错误;在选取测试用例时,需要考虑那些深层次意义下才可能发现程序错误的数
据.
有些测试专家认为软件测试的范围应当包括得更广泛些。认为软件测试不仅要考虑正确性以,
还应当关心程序的效率、健壮性等因素,并且应该为程序调试提供更多的信息。20世纪70年代中
期以来,形成了软件生命期概念。这时人们对于软件测试的认识更广泛,也更深刻了,这对于软
件产品的质量保障以及组织好软件开发工具有着重要的意义。这时,对软件质量的判断决不只限
于程序本身,而是整个研制过程.
2。1。3软件测试的原则
测试是一项非常复杂的、创造性的和需要高度智慧的挑战性的工作。测试一
个大型程序所要求的创造力,可能要超过设计那个程序所要求的创造力。软件测
试中很重要的一个方面是人的心理问题,一些直观上看是很显而易见的至关重要
的原则,总是被人们忽视。
确定预期输出(或结果)是测试情况必不可少的一部分,如果事先无法肯定预期的测试结果,
往往会把看起来似是而非的东西当成正确的结果。必须提倡用事先精确对应的输入和输出结果
来详细检查所有的输出。
程序设计机构不应测试自己的程序,程序员也应避免测试自己的程序。软件
测试的出发点是找错误,要让程序设计机构和程序员在测试自己的程序时持否定
的态度是困难的。除了这个心理学问题外,还要注意:程序中可能包含由于程序
员对问题的叙述或说明的误解而产生的错误.如果是这种情况,让程序员测试自
己的程序时往往是不能发现问题的。以上的看法并不意味着程序设计机构或程序
员不能调试自己的程序,而是强调,由第三方来进行程序测试会更有效、更成功.
一般而言,测试计划可以在需求分析完成后开始,详细的测试用例定义
可以在设计模型被确定后立即开始,因此,所有测试可以在任何代码被
编写前进行计划和设计。
〉Pareto 原则应用于软件测试.Pareto 原则意味着测试发现的错误中的80%
剩余33页未读,继续阅读
资源评论
黑色的迷迭香
- 粉丝: 717
- 资源: 4万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功