单元案例Flight航空订票系统测试.docx
- 文档编号:25530409
- 上传时间:2023-06-09
- 格式:DOCX
- 页数:15
- 大小:589.74KB
单元案例Flight航空订票系统测试.docx
《单元案例Flight航空订票系统测试.docx》由会员分享,可在线阅读,更多相关《单元案例Flight航空订票系统测试.docx(15页珍藏版)》请在冰豆网上搜索。
单元案例Flight航空订票系统测试
单元五软件测试案例
--Flight航空定票系统
一、案例描述
HP公司,QTP测试软件自带Flight航空定票系统软件登录模块、定票模块的用例设计和QTP测试脚本的开发。
二、案例要求
1、通过实验掌握“用例设计”;
2、掌握QTP测试脚本各种处理方法的开发;
3、保存测试结果;
4、分析测试结果。
三、案例实现步骤
(一)测试需求
Flight航空定票系统测试需求如下:
1、登录模块:
用户名和口令4~10位
2、定票模块
不同用户登录,定购不同的机票;
根据日期、定单号、姓名查询定单。
(二)实现步骤
1.编写测试用例
表1Flight航空定票系统登录模块测试用例
用例编号
用户名
密码
预期输出
实际输出
评价
1
提示输入用户名
PleseenterAgentname.
正确
2
Ner
提示用户名的长度>=4个字节
Agentnamemustbeatleast4characterslong.
正确
3
test
提示输入密码
Pleseenterpassword.
正确
4
Test
hehreoor
提示输入正确的密码
Incorrectpassword
正确
5
test
mer
提示输入密码的长度>=4个字节
password.mustbeatleast4characterslong.
正确
6
test
mercury
登录成功
登录成功
正确
7
test
mercur
提示输入正确的密码
Incorrectpassword
正确
8
test@123
mercury
登录成功
登录成功
正确
9
tes
mercury
提示用户名的长度>=4个字节
Agentnamemustbeatleast4characterslong.
正确
10
mercury
提示输入用户名
PleseenterAgentname.
正确
11
汉字
mercury
登录成功
登录成功
正确
12
123456
mercury
登录成功
登录成功
正确
13
test
汉字
提示输入正确的密码
Incorrectpassword
正确
14
test
12345465
提示输入正确的密码
Incorrectpassword
正确
15
Ety.j@#
mercury
登录成功
登录成功
正确
表2Flight航空定票系统定票模块测试用例
用例编号
模块
等价类(子功能)
输入
预期输出
实际输出
评价
1
航空
定票
飞行日期
提示输入飞行日期
Pleseenteraflightdate
正确
2
飞行日期
现在时间前的时间。
如02/12/12
提示日期已经过期,请重新输入
日期过期,重新输入
正确
3
飞行日期
输入的日期格式为:
年/月/日
如:
13/1/31
提示格式不正确
InvalidmonthEntered
正确
4
飞行日期
现在时间以后的时间。
如:
05/10/12
时间通过
时间通过
正确
5
飞行日期
月日少于9的前面不写0
如5/12/12
不能通过
能通过
错误
6
航空
定票
出发城市
从下拉列表框中任选一项
可以通过
通过
正确
7
出发城市
提示输入出发城市
Pleseenterafly‘from’city
正确
8
到达城市
从下拉列表框中任选一项
可以通过
通过
正确
9
到达城市
提示输入到达城市
Pleseenterafly‘to’city
正确
10
乘客姓名
提示输入乘客姓名
任何信息都不会输出,下面的操作不能进行
正确
11
乘客姓名
小于20位字符
可以通过
通过
正确
12
乘客姓名
输入其他符号如
@#87含
可以通过
通过
正确
13
查询
订票
按姓名查
提示不能查询
任何信息都不会输出,下面的操作不能进行
正确
14
按姓名查
输入和订票模块不一样的姓名
提示找不到订单
Noordersfound
正确
15
按姓名查
输入和订票模块一样的姓名
可以通过
通过
正确
16
按日期查
提示不能查询
任何信息都不会输出,下面的操作不能进行
正确
17
按日期查
输入和订票模块不一样的时间
提示找不到订单
Noordersfound
正确
18
按日期查
输入和订票模块一样的时间
可以通过
通过
正确
19
按编号查
提示不能查询
任何信息都不会输出,下面的操作不能进行
正确
20
按编号查
输入和订票模块不一样的编号
提示找不到订单
Noordersfound
正确
21
按编号查
输入和订票模块一样的时间
可以通过
通过
正确
22
按姓名和日期查
提示不能查询
任何信息都不会输出,下面的操作不能进行
正确
23
按姓名和日期查
只输入姓名
提示不能查询
任何信息都不会输出,下面的操作不能进行
正确
24
按姓名和日期查
只输入日期
提示不能查询
任何信息都不会输出,下面的操作不能进行
正确
25
按姓名和日期查
输入对应的时间和日期
可以通过
通过
正确
2.编写自动化测试程序
步骤:
(1)运行QTP软件,待打开后新建一个Test,点击工具栏上的“Record”按钮,打开飞机订票系统进行脚本的录制,然后点击“stop”按钮,结束录制;
(2)将要进行验证的地方设置参数化:
图1测试用例
(1)
图2测试用例
(2)
(3)点击“run”按钮,回放程序,通过程序回放过程中的正确与否,进行修改程序;
测试脚本部分程序:
Starter
'应用程序的路径
SubStarter
SystemUtil.RunEnvironment("Flyurl")
EndSub
'用函数来验证状态
PublicFunctiontestRegExp(ByValpatrn,ByRefsour)
'TODO:
addfunctionbodyhere
DimregEx'Createvariable.
SetregEx=NewRegExp'Createregularexpression.
regEx.Pattern=patrn'Setpattern.
regEx.IgnoreCase=true'Setcasesensitivity.
regEx.Global=true
ifregEx.Test(sour)=trueThen
reporter.ReportEventmicPass,"登录失败!
",cstr(sour)
Else
reporter.ReportEventmicFail,"出现异常","提示信息不正确!
"
EndIf
EndFunction
'定义变量
DiminsertNum,insertbegin,istest,istatus,iselectorder,orderid
'从DataTable中取值
insertNum=DataTable("iCount",dtGlobalSheet)
insertbegin=DataTable("begin",dtGlobalSheet)
iselectorder=DataTable("SelectOpen",dtGlobalSheet)
printiselectorder
istest=datatable.Value("status")
'登录界面
Dialog("Login").WinEdit("AgentName:
").SetDataTable("name",dtGlobalSheet)
Dialog("Login").WinEdit("Password:
").SetSecureDataTable("password",dtGlobalSheet)
Dialog("Login").WinButton("OK").Click
'判断是否有子提示框出现
IfDialog("Login").Dialog("FlightReservations").ExistThen
'取子提示框上的提示信息
istatus=Dialog("Login").Dialog("FlightReservations").Static("Pleaseenteragentname").GetROProperty("text")
testRegExpistest,istatus
Dialog("Login").Dialog("FlightReservations").WinButton("确定").Click
Dialog("Login").Close
Else
reporter.ReportEventmicPass,"登录成功","登录成功!
"
DataTable.GetSheet("Action1").SetCurrentRow(insertbegin)
Fori=1toinsertNum
search
order
DataTable.GetSheet("Action1").SetNextRow
Next
openorder(iselectorder)
Window("FlightReservation").WinMenu("Menu").Select"File;Exit"
EndIf
'打开新订单,并填写信息
Subsearch
Window("FlightReservation").WinMenu("Menu").Select"File;NewOrder"
Window("FlightReservation").ActiveX("MaskEdBox").TypeDataTable("FlyDate",dtLocalSheet)
Window("FlightReservation").WinComboBox("FlyFrom:
").SelectDataTable("FlyFrom",dtLocalSheet)
'若时间不完整,弹出对话框时的处理
IfWindow("FlightReservation").Dialog("FlightReservations").ExistThen
sstatus=Window("FlightReservation").Dialog("FlightReservations").Static("Pleaseenteraflight").GetROProperty("text")
Window("FlightReservation").Dialog("FlightReservations").WinButton("确定").Click
Window("FlightReservation").ActiveX("MaskEdBox").TypemicBack
Window("FlightReservation").ActiveX("MaskEdBox").TypemicBack
Window("FlightReservation").ActiveX("MaskEdBox").TypemicBack
Window("FlightReservation").ActiveX("MaskEdBox").TypemicBack
Window("FlightReservation").ActiveX("MaskEdBox").Type"051212"
EndIf
Window("FlightReservation").WinComboBox("FlyTo:
").SelectDataTable("FlyTo",dtLocalSheet)
Window("FlightReservation").WinButton("FLIGHT").Click
'随机取航班
iCount=Window("FlightReservation").Dialog("FlightsTable").WinList("From").GetItemsCount
Window("FlightReservation").Dialog("FlightsTable").WinList("From").SelectRandomNumber(0,iCount-1)
Window("FlightReservation").Dialog("FlightsTable").WinButton("OK").Click
EndSub
'选择座位,获取定单号
Suborder
Window("FlightReservation").WinEdit("Name:
").SetDataTable("passageName",dtLocalSheet)
Window("FlightReservation").WinRadioButton(DataTable("seat",dtLocalSheet)).Click
Window("FlightReservation").WinButton("InsertOrder").Click
Window("FlightReservation").ActiveX("ThreedPanelControl").WaitProperty"text","InsertDone...",10000
orderid=Window("FlightReservation").WinEdit("OrderNo:
").GetROProperty("text")
DataTable("OrderNum",dtLocalSheet)=orderid
EndSub
'选择查询方式
Subopenorder(iselectorder)
DataTable.GetSheet("Action1").SetCurrentRow(insertbegin)
Fori=1toinsertNum
Ifiselectorder=1Then
'按姓名查
Window("FlightReservation").WinMenu("Menu").Select"File;OpenOrder..."
Window("FlightReservation").Dialog("OpenOrder").WinCheckBox("CustomerName").Set"ON"
Window("FlightReservation").Dialog("OpenOrder").WinEdit("Edit").SetDataTable("passageName",dtLocalSheet)
Window("FlightReservation").Dialog("OpenOrder").WinButton("OK").Click
Window("FlightReservation").Dialog("OpenOrder").Dialog("SearchResults").WinButton("OK").Click
Elseifiselectorder=2Then
'按时间查
Window("FlightReservation").WinMenu("Menu").Select"File;OpenOrder..."
Window("FlightReservation").Dialog("OpenOrder").WinCheckBox("FlightDate").Set"ON"
Window("FlightReservation").Dialog("OpenOrder").ActiveX("MaskEdBox").TypeDataTable("FlyDate",dtLocalSheet)
Window("FlightReservation").Dialog("OpenOrder").WinButton("OK").Click
Window("FlightReservation").Dialog("OpenOrder").Dialog("SearchResults").WinButton("OK").Click
Elseifiselectorder=3then
'按时间和姓名查
Window("FlightReservation").WinMenu("Menu").Select"File;OpenOrder..."
Window("FlightReservation").Dialog("OpenOrder").WinCheckBox("CustomerName").Set"ON"
Window("FlightReservation").Dialog("OpenOrder").WinEdit("Edit").SetDataTable("passageName",dtLocalSheet)
Window("FlightReservation").Dialog("OpenOrder").WinCheckBox("FlightDate").Set"ON"
Window("FlightReservation").Dialog("OpenOrder").ActiveX("MaskEdBox").TypeDataTable("FlyDate",dtLocalSheet)
Window("FlightReservation").Dialog("OpenOrder").WinButton("OK").Click
Window("FlightReservation").Dialog("OpenOrder").Dialog("SearchResults").WinButton("OK").Click
Elseifiselectorder=4then
'按编号查
Window("FlightReservation").WinMenu("Menu").Select"File;OpenOrder..."
Window("FlightReservation").Dialog("OpenOrder").WinCheckBox("OrderNo.").Set"ON"
printDataTable("OrderNum",dtLocalSheet)
printorderid
Window("FlightReservation").Dialog("OpenOrder").WinEdit("Edit_2").SetDataTable("OrderNum",dtLocalSheet)
Window("FlightReservation").Dialog("OpenOrder").WinButton("OK").Click
Endif
Endif
Endif
EndIf
DataTable.GetSheet("Action1").SetNextRow
Next
EndSub
(4)测试执行报告
图3运行结果
(1)
图4运行结果
(2)
图5运行结果(3)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单元 案例 Flight 航空 订票 系统 测试