一、实验目的
1) 学习QTP工具的使用
2)了解黑盒自动化测试
二、实验要求
(1)对被测程序进行黑盒测试用例设计
(2)对QTP的飞机订票系统的任一界面或控件实现自动化测试。(测试的具体自选)
(3)写出该程序的缺陷。
三、实验内容
1、对QTP的样例小程序飞机订票系统,实现自动化测试。(学号被3整除,测3a;余1,测3b;余2,测4a)
2、要求:
1)写出飞机订票系统的被测需求。
自行选择需要测试的部分,根据自己的能力,可大,可小。
描述,被测程序,与被测部分的功能。
2)设计测试用例。写出测试用例表。
3)编写测试脚本,实现自动化测试。
4)写测试小结。该程序的缺陷,和测试结果。
3、最后写实验总结。
四、实验步骤
1)飞机订票系统的被测需求:
本次测试仅针对飞机订票系统的登录功能进行自动化测试。验证其是否能够正常登录飞机订票系统,是否存在缺陷。
2)设计测试用例。
编号 | 输入/动作 | 输入数据 | 期望的输出/相应 | 实际情况 |
1 | 使用合法用户名和密码登陆 | 用户名:”MERCURY” 密码: “MERCURY” | 登陆成功 | √ |
2 | 使用错误的用户名或密码登陆 | 用户名:”abcde” 密码: “MERCUR1” | 显示用户名或密码错误提示信息 | √ |
3 | 用户名为空登陆 | 用户名:不输入 密码: “MERCURY” | 显示请输入用户名提示信息 | √ |
4 | 改变合法用户名的长度登陆 | 用户名:“ab” 密码: “MERCURY” | 显示用户名必须输入4位提示信息 | √ |
5 | 使用超长的用户名登陆 | 用户名:“abc1*100”(100个1) 密码: “MER” | 显示密码必须输入4位提示信息 | √ |
6 | 使用超长的密码登陆 | 用户名:“abc1*100”(100个1) 密码: “MER1*100”(100个1) | 显示用户名或密码错误提示信息 | √ |
7 | 使用小写的合法密码登陆 | 用户名:”abc123” 密码: “mercury” | 显示用户名或密码错误提示信息 | 登录成功 |
8 | 在合法用户名或密码前插入空格 | 用户名:“ abc123” 密码: “MERCURY” | 显示用户名或密码错误提示信息 | 登录成功 |
9 | 在合法用户名或密码中间插入空格 | 用户名:“abc 123” 密码: “MERCURY” | 显示用户名或密码错误提示信息 | 登录成功 |
10 | 在合法用户名或密码后插入空格 | 用户名:“abc123 ” 密码: “MERCURY” | 显示用户名或密码错误提示信息 | 登录成功 |
11 | 登陆界面是否支持快捷键,如Tab,Enter键 | 输入TAB,切换位置 Enter直接登陆 | Tab键能按照顺序切换焦点,Enter键能焦点于登陆按钮上 | √ |
12 | 密码为空进行登陆 | 用户名:“abc123 ” 密码: 不输入 | 显示请输入密码,密码不能为空提示信息 | √ |
13 | 用户名和密码均为空登陆 | 用户名:不输入 密码: 不输入 | 显示请输入用户名提示信息 | √ |
14 | 用户名中含有全角字符登陆 | 用户名:“abcd” 密码:“MERCURY” | 显示用户名或密码错误提示信息 | 登录成功 |
15 | 密码中含有全角字符登陆 | 用户名:“avc123” 密码:“MERCURY” | 显示用户名或密码错误提示信息 | √ |
16 | 用户名中含有特殊字符 | 用户名:“abc#@” 密码:“MERCURY” | 显示用户名或密码错误提示信息 | 登录成功 |
17 | 用户名中含有中文 | 用户名:“abc王同学” 密码:“MERCURY” | 显示用户名或密码错误提示信息 | 登录成功 |
3)编写测试脚本,实现自动化测试。
1 Dialog("Login").WinEdit("Agent Name:").Set DataTable("name", dtGlobalSheet) 2 Dialog("Login").WinEdit("Password:").Set DataTable("password", dtGlobalSheet) 3 Dialog("Login").WinButton("OK").Click 4 For i = 1 to datatable.localsheet.getrowcount 5 6 datatable.localsheet.setcurrentrow i 7 8 If Dialog("Login").Dialog("Flight Reservations").Exist(5) Then 9 10 Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click11 12 Reporter.ReportEvent micFail,"登录失败","登录失败"13 14 else15 16 Reporter.ReportEvent micPass, "登陆成功", "登陆成功"17 18 Window("Flight Reservation").Close19 20 End If21 22 next23 24
4)测试小结
通过测试发现,飞机订票系统基本能够实现登录功能,但是对用户名的控制不够严格,空格的输入不论在哪个位置都不会影响用户的登录。系统对用户名对特殊的符号,输入的长度,以及全角字符没有进行有效控制。
对于脚本的编写不是非常熟悉,对17个测试用例进行测试时,没有对预期结果进行处理,而是让其自动进行,所以测试结果没有错误信息。通过qtp进行自动化测试,大大减轻了数据量大,手动测试的难度。