一、实验目的
1) 学习QTP工具的使用
2)了解黑盒自动化测试
二、实验要求
(1)对被测程序进行黑盒测试用例设计
(2)对QTP的飞机订票系统的任一界面或控件实现自动化测试。(测试的具体自选)
(3)写出该程序的缺陷。
三、实验内容
1、对QTP的样例小程序飞机订票系统,实现自动化测试。(学号被3整除,测3a;余1,测3b;余2,测4a)
2、要求:
1)写出飞机订票系统的被测需求。
自行选择需要测试的部分,根据自己的能力,可大,可小。
描述,被测程序,与被测部分的功能。
2)设计测试用例。写出测试用例表。
3)编写测试脚本,实现自动化测试。
4)写测试小结。该程序的缺陷,和测试结果。
3、最后写实验总结。
1:
被测需求:机票订购
描述:对订购进行日期,姓名,票数的输入测试
2:
有效等价类 |
无效等价类 |
01<=月份<=12 (1) |
月份<01 (5) 月份>12 (6) |
01<=日期<=31 (2) |
日期<01 (7) 日期>31 (8) 2月30号 (9) |
17<=年<=38 (3) |
年<17 (10) 年>38 (11) |
1<=票数<=99 (4) |
票数<1 (12) 票数>100 (13) |
测试用例表
编号 |
输入 |
预期结果 |
实际输出 |
是否通过 |
1 |
062317,aa,1 |
日期过期 |
Valid flight dates are after 06/24/17 |
是 |
2 |
062417,aa,1 |
日期过期 |
Valid flight dates are after 06/24/17 |
是 |
3 |
062617,aa,1 |
订票成功 |
Insert done |
是 |
4 |
023017,aa,1 |
日期无效 |
In valid day entered The date should be valid for the given month |
是 |
5 |
000000,aa,1 |
月无效 |
The month must be greater than 01 and less than 12 |
是 |
6 |
063517,aa,0 |
日无效 |
Invalid day entered the date should be valid for the given month |
是 |
7 |
062599,aa,0 |
年无效 |
Valid flight dates are after 06/24/17 |
是 |
8 |
062517,aa,0 |
订票成功 |
Insert done |
是 |
9 |
062517,aa,100 |
订票成功 |
Insert done |
是 |
3:
测试脚本
SystemUtil.Run "C:\Program Files\Mercury Interactive\QuickTest Professional\samples\flight\app\flight4b.exe"
Dialog("Login").WinEdit("Agent Name:").Set DataTable("username", dtGlobalSheet)
Dialog("Login").WinEdit("Password:").SetSecure DataTable("password", dtGlobalSheet)
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").ActiveX("MaskEdBox").Type DataTable("date", dtGlobalSheet)
Window("Flight Reservation").WinComboBox("Fly From:").Select "Denver"
Window("Flight Reservation").WinComboBox("Fly To:").Select "Frankfurt"
Window("Flight Reservation").WinButton("FLIGHT").Click
Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").Click
Window("Flight Reservation").WinEdit("Name:").Set DataTable("name", dtGlobalSheet)
Window("Flight Reservation").WinEdit("Tickets:").SetSelection 0,1
Window("Flight Reservation").WinEdit("Tickets:").Set DataTable("tickets", dtGlobalSheet)
Window("Flight Reservation").WinButton("Insert Order").Click
Window("Flight Reservation").Close
参数表
MaskEdBox |
Name |
Tickets |
062317 |
aa |
1 |
062417 |
aa |
1 |
062617 |
aa |
1 |
023017 |
aa |
1 |
000000 |
aa |
1 |
063517 |
aa |
0 |
062699 |
aa |
0 |
062617 |
aa |
0 |
062617 |
aa |
100 |
测试结果:
4:测试小结
经过测试懂得了如何通过录制生成脚本代码,同时设计需要测试的表格数据,不过对于判断语句的使用不太熟悉,其中出现两个未通过案例和两个警告案例。
5:实验小结
经过这个实验之后对QTP自动化测试的工具有了初步的了解。可以用机器的自动化来代替人工的测试,减轻了日常的工作量,提高了效率。在这个实验中的不足指出就是测试形式比较单一,还需要人为地去判断哪些条件是错误的,那些条件是正确的。