北 京 林 业 大 学
2014 学年- 2015学年第 1 学期 软件工程(A)实验报告书 专 业: 计算机科学与技术 班 级:
姓 名: 学 号:
实验地点: 计算中心T08 任课教师: 赵方
实验环境: 一台装有MS VISIO 和WinRunner软件的PC机
实验内容:
对现有系统进行测试,了解WinRunner的一般功能,使用WinRunner进行功能测试,并能对测试结果进行分析。
实现目的:
1. 了解软件测试基本概念和基本过程。
2. 掌握使用WinRunner进行功能测试的基本步骤。
实验要求:
1. 在已有系统的基础上,使用WinRunner工具编写和修改测试脚本。 2. 创建测试,在测试中创建同步点和检查点;执行功能测试的方法。 3. 撰写实验报告并对测试结果进行分析。
实验过程:
一、设定GUI Map
步骤一:开启Flight Reservation 并登入
执行【开始】->【程序】->【WinRunner】->【Sample Applications】->【Flight 4A】,登入窗口会开启。在【Agent Name】输入名字,至少四个英文字母,【Password】输入
mercury,按下【OK】按钮登入Flight Reservation。
步骤二:开启WinRunner
执行【开始】->【程序】->【WinRunner】->【WinRunner】,如果是第一次执行WinRunner,会开启欢迎窗口,则点选【New Test】;如果没有开启欢迎窗口,则点选【File】->【New】。
步骤三:开启RapidTest Script Wizard
点选【Insert】->【RapidTest Script Wizard…】开启RapidTest Script Wizard 欢迎窗口,按下【Next】到下一个画面。
步骤四:指定要测试的应用程序
点选 然后点选Flight Reservation 任一位置,在【Window Name】会出现Flight大连棒棰岛宾馆电话 Reservation 的窗口名称,按下【Next】。
步骤五:清除所有设定
本练习只利用RapidTest Script Wizard 识别Flight Reservation 的GUI 对象,所以要清除所有选项。
步骤六:接受Navigation Controls 默认值
此窗口主要告诉WinRunner 哪些GUI 对象会开启一个新窗口,默认值为「…」与「>>」,而Flight Reservation 也是使用「…」与「>>」,所以接受默认值,按下【Next】。
步骤七:设定Learning Flow 为Express
北京红螺寺一日游攻略
按下【Learn】按钮,你可以看到RapidTest Script Wizard 开始识别Flight Reservation 中所有GUI 物件,包含下拉式菜单、开启窗口、识别窗口上所有GUI 对象。此识别过程会花费几分钟的时间。
假如识别的过程中,跳出对话窗口通知你有GUI 对象是disalbed,按下【Continue】按钮让RapidTest Script Wizard 继续识别其它GUI 对象。
步骤八:在Start Application 接受默认值No
WinRunner 可以自动帮你执行Flight Reservation 程序。在本课程中我们手动执行Flight Reservation 所以选择【No】,按下【Next】后继续下一步骤。
步骤九:储存GUI Map File 并设定Startup Script
在Save Files 窗口,主要将RapidTest Script Wizard 识别的所有GUI 对象的信息储存在一个GUI Map File 中。并且设定Startup Script,则每次执行WinRunner 时会自动执行此Startup Script,而此Startup Script 内只有一个指令,就是加载此GUI Map File。
此Startup Script 与GUI Map File 预设储存路径在<WinRunner 安装目录>\dat\下,GUI Map File 名称为flight4a.gui。
按下【Next】。
出现Congratulations 窗口,表示你已经完成建立Flight Reservation 的GUI Map File 的动作了!
二、录制测试脚本
步骤一:检查GUI Map File 是否已经加载
点选【Tools】->【GUI Map Editor】开启GUI Map Editor,
再点选【View】五台山攻略一天自驾游->【GUI Files】检查是否加载flight4a.gui。
如果flight4a.gui 博卡拉机场没有加载,点选【File】->【Open】然后选取flight4a.gui 后,按下【Open】将其载入。
步骤二:开启Flight Reservation 并登入
执行【开始】->【程序集】->【WinRunner】->【Sample Applications】->【Flight 4A】,
登入窗口会开启。在【Agent Name】输入名字,至少四个英文字母,【Password】输入mercury,按下【OK】按钮登入Flight Reservation。如果已经登陆,省去此步。
注意:调整WinRunner 与Flight Reservation 的窗口大小与位置,让这二个窗口内容都可以清楚的看见。
步骤三:开始以Context Sensitive 模式录制测试脚本
在WinRunner 点选【Test】->【Record – Context Sensitive】或是直接点选工具列上的按钮,从现在开始WinRunner 会录制所有鼠标的点选以及键盘的输入。请注意会变成,蓝的Rec 会出现在按钮下方,表示现在已经进入Context Sensitive 录制模式了。在WinRunner 下方的状态列同样也会有变化,表示现在已经在录制测试脚本了。
步骤四:开启3 号订单
在Flight Reservation 中点选【File】嘉兴疫情->【Open Order】,在Open Order 窗口中点选【Ord
er No.】并且输入3 后按下【OK】。
步骤五:停止录制
在WinRunner 中点选【Test】->【Stop Recording】,或是直接点选工具列上的按钮停止录制测试脚本。
步骤六:储存测试脚本
点选【File】->【Save】或是直接点选工具列上的按钮,将测试脚本储存成lesson3。
三、执行测试脚本
步骤一、确认WinRunner 与Flight Reservation 的主窗口都已经开启
步骤二、开启lesson3 测试脚本
先点选【File】->【Open】开启lesson3 测试脚本。
注意:检查Flight Reservation 在主窗口,如果有其它对话窗口请先关闭。
步骤三、确认工具列上显示模式
步骤四、点选Run From Top
点选【Test】->【Run From Top】或是直接点选工具列上的按钮,则Run Test窗口将会开启,按下【OK】开始执行测试。
步骤五:输入Test Run Name输入Test Run Name,WinRunner 会将测试脚本执行的结果储存在Test Run Name 的目录下,如res1。而此测试结果将会储存在测试脚本目录下。
勾选【Display test results at end of run】选项,则当测试脚本执行完毕后,WinRunner 会自动开启测试执行结果的窗口。
步骤六:执行
按下【OK】后WinRunner 会开始执行测试脚本。请注意观察WinRunner 如何执行测试脚本。
步骤七:检视执行结果
当测试执行完毕后,WinRunner 会开启Test Results 窗口,显示测试执行的结果。
四、在测试脚本中设置同步点
步骤一:以Context Sensitive 模式录制测试脚本(步骤略)
步骤二:建立新的订单,并填入航班与旅客资料
在Flight Reservation 中点选【File】->【New Order】。
九寨沟景区附近住宿推荐
输入以下数据:
【Date of Flight】:11/29/14(日期格式为 MM/DD/YY,日期要大于今天的日期)
【Fly From】:Los Angeles
【Fly To】:San Francisco
点选【Flights…】按钮,选取一个航班
【Name】: Jojo
【Class】: First
步骤三:点选【Insert Order】,当完成新增订单后,状态列会显示Insert Done…的讯息。
步骤四:点选【Delete Order】删除刚刚新增的订单,并按下【Yes】确认。
步骤五:停止录制并存储测试脚本(步骤略)。
步骤六:变更预设等待时间的设定。
WinRunner 预设等待时间为10 秒钟。为了模拟出需要加入同步点的状况, 接下来的练习将变更WinRunner 预设等待时间的设定,缩短成为1 秒钟。
1、 开启General Optios 对话窗口点选【Tools】->【General Options…】,开启General Optios 对话窗口。
2、 选取【Run】->【Settings】
3、 将10000 msec 改成1000 msec(1 杪)在【Timeout for checkpoints and CS statements】将10000 改成1000。按下【OK】关闭对话窗口。按下【OK】关闭对话窗口。
4、
注意:此时若执行该测试脚本,当WinRunner 执行到点选【Delete Order】按钮时,由于Insert Order 的动作尚未完成,而WinRunner 最多只等待1 秒钟,所以当1 秒钟已经过去了,而【Delete Order】按钮还是disabled 的状态,造成WinRunner 无法点选【Delete Order】按钮,并跳出【Object is