基于GUI的自动测试
- 格式:doc
- 大小:630.00 KB
- 文档页数:18
基于GUI的自动化测试工具1目录1目录 (1)2好的测试工具须具备如下特征 (2)2.1支持脚本化语言 (2)2.2对程序界面中对象的识别能力 (2)2.3支持函数的可重用 (2)2.4支持外部函数库 (2)2.5抽象层 (2)2.6分布式测试支持 (3)2.7支持数据驱动测试 (3)2.8错误处理 (3)2.9源代码管理 (3)2.10支持脚本的命令行方式执行 (3)2.11用户社区 (3)3测试工具使用介绍 (4)3.1使用jmeter做脚本录制回放 (4)3.1.1启动jmeter (4)3.1.2开始脚本录制 (4)3.1.3运行及记录结果设置 (7)3.1.4运行及结果查看 (8)3.2使用Mercury QuickTest Pro 8.2做B/S系统的自动测试 (9)3.2.1简介 (9)3.2.2创建测试 (10)3.2.3插入检查点 (13)3.2.4检验数据 (14)3.2.5增强测试 (14)3.2.6运行测试 (14)3.2.7分析结果 (15)3.2.8维护测试 (15)3.2.9特点和优势 (16)4附录 (16)4.1一个优秀的测试用例,应该包含以下信息 (16)4.2测试用例模板 (17)2好的测试工具须具备如下特征基于GUI的自动化测试工具在软件测试自动化领域发挥着巨大的作用。
但要真正找到一个方便高效的测试工具却并非易事,通过实践,我们发现一个好的测试工具必须具备如下特征:2.1支持脚本化语言包括支持数组、列表、结构等多种常用的变量和数据类型、各种条件逻辑和循环、函数的创建和调用。
如果此工具使用如VB、C等通用语言,测试就更方便。
脚本语言的功能越强大,就能为测试者提供更灵活的使用空间,或者用它写出比被测软件还要复杂得多的测试系统。
2.2对程序界面中对象的识别能力工具必须能够将程序界面中的所有对象都区分并标识出来,录制的测试脚本才具有更好的可读性、灵活性和更大的修改空间。
另外,对开发语言的支持也是很重要的一项。
对于程序中存在的一些比较难于标识的对象,如位图对象,那么在软件设计阶段就应考虑,是一定要实现这样的功能,还是要保证软件的可测试性,或采取一些折衷处理方法。
2.3支持函数的可重用用它可以建立一套比较通用的函数库,一旦程序做了修改,只需把原脚本中的相应函数进行更改,而不用把所有可能的脚本都改动,可以大大节省工作量。
2.4支持外部函数库一些外部函数同样能够为测试提供更强大功能,如Windows程序中对DLL文件的访问,Client/Server程序中对数据库编程接口的调用等。
2.5抽象层可以将程序界面中存在的所有对象实体一一映射成逻辑对象,测试就针对逻辑对象进行,这样当程序界面改变时,就可大大减少测试维护工作量。
2.6分布式测试支持一个测试项目,通常需要多名测试人员协同工作,因此如果测试工具不支持分布式测试,将很难保障这种协同测试工作的开展。
分布式测试最大的好处是我们可以事先定制任务执行的时间表,如在指定时间、指定设备上执行指定测试任务。
2.7支持数据驱动测试在数据驱动测试中,只需编制少量的脚本,而准备大量的测试数据,测试工具可以自动重复完成大量的测试工作。
比如在WINDOWS系统中,如果测试工具支持对INI文件的处理,被测软件通过读.INI文件知道要在哪一台服务器上运行,那么我们只要把需要运行程序的服务器名写进.INI文件中,而不需要修改测试脚本,就可以让程序在指定设备上运行。
2.8错误处理利用它可以避免测试程序因一些异常错误而异常终止。
这样就可将测试任务提前定制好,下班后启动任务执行,第二天上班再检查测试执行结果。
如此以来就可充分利用时间。
2.9源代码管理可以帮助我们进行测试脚本库的倒入、倒出,回退到以前版本、比较不同版本间差别,以及同时对几个项目进行跟踪等,尤其在团队开发中很有必要,可以对测试数据文件、测试脚本、对象抽象层进行统一管理。
如果测试环境与开发环境使用同一套版本管理工具,能够给项目管理带来更大的便利。
2.10支持脚本的命令行方式执行如果能够通过命令行方式运行测试脚本,可以为测试的执行带来更大的灵活性。
如机器启动时、程序Bulid后都可以自动启动测试脚本的执行。
2.11用户社区测试工具通常没有这个功能,但最好能寻找一些其它工具,帮助建立用户讨论组、Web 站点等,支持成员间互相讨论、学习,共享一些比较实用的函数、源代码等,这对于自动化测试的开发非常有用。
3测试工具使用介绍3.1使用jmeter做脚本录制回放3.1.1启动jmeter3.1.2开始脚本录制(1)选中Test Plan单击鼠标右键,在弹出菜单中选择Add->Thread Group;(2)接下来选中WorkBench单击鼠标右键,在弹出菜单中选择Add->Non-Test Elements->HTTP Proxy Server;(3)在“HTTP Proxy Server”窗口中Target Controller下拉框选择Test Plan > Thread Group(表示脚本生成在这个线程组下),Grouping下拉框选择Put each group in a new controller(表示把每组脚本放到一个新的组中,避免生成的脚本杂乱且无法组织);(4)单击窗口最下方的Start(参看上图);(5)打开浏览器,设置代理服务器的设置为localhot,端口号为8080(在“HTTP Proxy Server”窗口中设置了使用8080端口进行侦听);(6)在地址中键入要录制页面的URL对页面进行操作,jmeter就会自动把所进行的操作录制成为脚本了,可以看到Thread Group节点下面多了许多的子节点就是录制生成的脚本;(7)操作完毕后在jmeter中单击Stop先停止录制,然后把浏览器的代理设置改为原来的设置即可。
3.1.3运行及记录结果设置(1)完成脚本的录制后还需要定义你所需的结果设置才算完成了Test Plan的设置,首先要设置Thread Group(相当于虚拟用户组)的属性,单击Thread Group,在右边的窗口中设置Number of Thread(相当于虚拟用户数)为5,Ramp-Up Period(in seconds)为1,Loop Cout选项取消选中Forever,在右边的框中输入2。
以上设置表示共有5个虚拟用户,每隔1秒运行一个,迭代2次。
(2)要查看运行的结果还需要加入Listener,选中Thread Group单击鼠标右键选择Listener->View Results in Table,通过这个视图可以查看到每个链接的执行情况,包括执行时间和成功与否,再加入Aggregate Report,通过这个视图可以查看每个Thread Group 组的最大、最小和平均响应时间。
加入View Results Tree,通过这个视图可以查看每个链接的执行情况,包括发出的请求和服务器返回的详细内容。
(3)OK,所有的设置暂到此结束,可以运行了。
3.1.4运行及结果查看(1)OK,运行看看吧,由于设置运行时间较短,所以先选择View Results in Table,然后按下Ctrl+r键开始运行脚本,就可以看到每个请求的运行结果了,还可以单击其他两个结果视图实时查看运行结果。
3.2使用Mercury QuickTest Pro 8.2做B/S系统的自动测试3.2.1简介Mercury QuickTest Pro 8.2是一个B/S系统的自动化功能测试的利器,软件程序测试工具。
Mercury的自动化功能测试软件QuickTest Professional 8.2,可以覆盖绝大多数的软件开发技术,简单高效,并具备测试用例可重用的特点。
Mercury QuickTest Pro 8.2是一款先进的自动化测试解决方案,用于创建功能和回归测试。
它自动捕获、验证和重放用户的交互行为。
Mercury QuickTest Pro 8.2为每一个重要软件应用和环境提供功能和回归测试自动化的行业最佳解决方案。
3.2.2创建测试用QuickTest Professional创立一个测试,您只需记录下一个标准的业务流程,如下一张订单或建立一个新的商家帐户。
QuickTest Professional直观的记录流程能让任何人在GUI上轻轻点击鼠标就可建立测试,即使技术知识有限的用户也能生成完整的测试。
您还可以直接编辑测试指令来满足各种复杂测试的需求。
QuickTest Professional将2种测试创建方式结合在一个环境下,来适应不同的背景支持和您团队的喜好。
启动界面,选择Web。
方便的向导界面,可以直接开始一个操作自动记录。
选择要测试的Web站点。
测试人员按照测试步骤开始进行正常测试操作。
一个业务操作完成以后,点击Stop停止记录,QTP8.2会自动生成过程脚本,生成的脚本类似于面向对象的方式,脚本内容仅记录用户动作和点击相对位置,脚本不记录用户操作的绝对位置,这样就保证了重复操作的一致性。
测试人员可以查看各个脚本对象的属性。
3.2.3插入检查点在记录一个测试的过程中,可插入检查点,在查寻潜在错误的同时,比较预想和实际的测试结果。
在插入检查点后,QuickTest Professional会收集一套性能指标,在测试运行时对其一一验证。
QuickTest Professional允许使用几种不同类型的检查点,包括文本的,GUI,位图和数据库。
可以对一个脚本对象插入检查点。
也可以在脚本语言当中插入其他方式(如数据库方式)的检查点。
3.2.4检验数据除了创立并运行测试,QuickTest Professional还能验证数据库的数值,从而确保交易的准确性。
例如,在测试创建时,您可以设定哪些数据库表格和记录资料需要检测。
在重放时,您的测试程序就会核对数据库内的实际数值与预想的数值。
QuickTest Professional能自动显示检测结果,在有更新/修改,删除或插入的记录上会用突出标识以引起注意。
3.2.5增强测试为了彻底全面地测试一个应用程序,您需要了解对于不同类型的数据它是如何运行的。
QuickTest Professional的DataDriverTM Wizard,让您只需点击几下鼠标,就能简单地将一个记录下的业务流程转化为一个数据驱动的测试,来反映多个用户各自独特且真实的操作行为。
目前有相当数量的企业应用程序仍然使用非标准的对象。
QuickTest Professional的Virtual Object Wizard能识别以前未知的对象,不必特别编写代码。
使用Virtual Object Wizard界面,您会看到一张的对象类型列表,能用其来代表您未知的对象。