huel软件测试实验指导书.docx
《huel软件测试实验指导书.docx》由会员分享,可在线阅读,更多相关《huel软件测试实验指导书.docx(22页珍藏版)》请在冰点文库上搜索。
huel软件测试实验指导书
实验指导书
河南财经政法大学计算机与信息工程学院
2013年——2014年第1学期
专业:
计算机科学与技术
课程名称:
软件测试与质量保证
班级:
10级计科一班
姓名:
孙亚利
学号:
指导教师:
魏庆
实验01:
QTP的安装与熟悉
实验目的:
1.了解和使用QTP11环境;
2.熟悉集成测试环境的基本命令、功能和基本用法;
3.掌握QuickTestProfessional11(QTP)操作界面的组成。
4.着重掌握如何在不同的环境中使用QuickTest来作为自动化的功能测试工具。
5.掌握如何创建自动化测试用例。
实验内容
使用QuickTest进行测试的过程包括6个主要步骤,请分布进行练习:
1.准备录制
2.打开你要对其进行测试的应用程序,并检查QuickTest中的各项设置是否适合当前的要求。
3.进行录制
4.打开QuickTest的录制功能,按测试用例中的描述,操作被测试应用程序。
5.编辑测试脚本
6.通过加入检测点、参数化测试,以及添加分支、循环等控制语句,来增强测试脚本的功能,使将来的回归测试真正能够自动化。
7.调试脚本
8.调试脚本,检查脚本是否存在错误。
9.在回归测试中运行测试
10.在对应用程序的回归测试中,通过QuickTest回放对应用程序的操作,检验软件正确性,实现测试的自动化进行。
11.分析结果,报告问题
12.查看QuickTest记录的运行结果,记录问题,报告测试结果。
实验数据记录及分析(或程序及运行结果)
1.打开计算器,进行简单录制,回放3+6=
录制以后,计算成功,代码如下:
SystemUtil.Run"C:
\WINDOWS\system32\calc.exe","","C:
\WINDOWS\system32","open"
Window("计算器").WinButton("3").Click
Window("计算器").WinButton("+").Click
Window("计算器").WinButton("6").Click
Window("计算器").WinButton("=").Click
Window("计算器").Close
2.修改脚本,修改为7+3=,进行测试,注意对象不存在的问题该如何解决
直接在脚本上修改,然后运行会出现异常:
提示object“7”不存在,这时,可以加载计算器中的各个对象,这样就可以了,代码如下:
SystemUtil.Run"C:
\WINDOWS\system32\calc.exe","","C:
\WINDOWS\system32","open"
Window("计算器").WinButton(7").Click
Window("计算器").WinButton("+").Click
Window("计算器").WinButton("3").Click
Window("计算器").WinButton("=").Click
Window("计算器").Close
3.修改脚本,测试12+34=
直接在脚本上修改,然后运行会出现异常:
提示object“12”、“34”不存在,这时只要click两次使其组合成12、34即可,代码如下:
SystemUtil.Run"C:
\WINDOWS\system32\calc.exe","","C:
\WINDOWS\system32","open"
Window("计算器").WinButton("1").Click
Window("计算器").WinButton("2").Click
Window("计算器").WinButton("+").Click
Window("计算器").WinButton("3").Click
Window("计算器").WinButton("4").Click
Window("计算器").WinButton("=").Click
Window("计算器").Close
4.修改脚本,测试0加到100
想要实现累加,要是一个数字一个数字加是不现实的,所以用到循环,实现代码如下:
SystemUtil.Run"C:
\WINDOWS\system32\calc.exe","","C:
\WINDOWS\system32","open"
Fori=0to9step1
Forj=0to9step1
Window("计算器").WinButton(cstr(i)).Click/cstr是将整形转化成字符的函数
Window("计算器").WinButton(cstr(j)).Click
Window("计算器").WinButton("+").Click
Next
Next
Window("计算器").Close
5.使用检查点/输出点进行测试
这是实现参数化的计算器代码如下:
SystemUtil.Run"C:
\WINDOWS\system32\calc.exe","","C:
\WINDOWS\system32","open"
data1=datatable.Value("num1")
data2=datatable.Value("num2")
Window("计算器").WinButton(data1).Click
Window("计算器").WinButton("+").Click
Window("计算器").WinButton(data2).Click
Window("计算器").WinButton("=").Click
Window("计算器").Close
6.使用vbscript编程检查测试结果的正确性
例如测试计算器计算2*7是否等于14,逻辑思路如下:
(1)找到“=”位置,根据“=”将其分为左表达式和右表达式
(2)然后利用循环,将左表达式导入计算器中,计算其值
(3)最后将左表达式的值和右表达式比较,看是否相等,注意:
转化成double类型比较。
实现的代码如下:
SystemUtil.Run"C:
\WINDOWS\system32\calc.exe","","C:
\WINDOWS\system32","open"
textstr="2*7=14"
equindex=instr(textstr,"=")
leftexpression=left(textstr,equindex-1)
printleftexpression
rightexpression=mid(textstr,equindex+1)
printrightexpression
Fori=1tolen(leftexpression)
postvalue=mid(leftexpression,i,1)
window("计算器").WinButton(postvalue).Click
printpostvalue
Next
window("计算器").WinButton("=").Click
result=window("计算器").WinEdit("Edit").GetROProperty("text")
Ifcdbl(result)=cdbl(rightexpression)Then
msgbox"ok"
else
msgbox"error"
EndIf
Window("计算器").Close
评分(评语):
日期:
年月日
实验02:
飞机订票系统测试
实验目的:
1.了解一个简单Windows应用程序:
飞机订票系统的测试过程。
实验内容
1.利用飞机订票系统进行学习Windows应用程序的测试方法
实验数据记录及分析(或程序及运行结果)
1.测试飞机订票系统的登录过程,要求对三种出错的情况进行分析检测
1.1用户名和密码全部与正确的情况
测试代码实现如下:
SystemUtil.Run"C:
\ProgramFiles\HP\QuickTestProfessional\samples\
flight\app\flight4a.exe","","C:
\ProgramFiles\HP\QuickTestProfessional
\samples\flight\app\","open"
Dialog("Login").WinEdit("AgentName:
").Set"weiqing"
Dialog("Login").WinEdit("Password:
").SetSecure
"5274a4621fe5514afa63caf890ac46d746"
Dialog("Login").WinEdit("Password:
").TypemicReturn
Window("FlightReservation").Close
1.2用户名正确,没有输入密码的情况
测试代码实现:
SystemUtil.Run"C:
\ProgramFiles\HP\QuickTestProfessional
\samples\flight\app\flight4a.exe","","C:
\ProgramFiles\HP\QuickTestProfessional\samples\flight\app\","open"
Dialog("Login").WinEdit("AgentName:
").Set"weiqing"
Dialog("Login").WinButton("OK").Click
msg1=Dialog("Login").Dialog("FlightReservations").Static("Pleaseenterpassword").GetROProperty("text")
printmsg1
Ifmsg1="Pleaseenterpassword"Then
print("如果没有输入密码,则提示的信息正确!
")
else
print("如果没有输入密码,则提示的信息不正确!
")
EndIf
Dialog("Login").Dialog("FlightReservations").WinButton("确定").Click
dialog("Login").winbutton("Cancel").Click
1.3用户名正确,输入密码错误——长度小于4的情况
测试代码实现:
SystemUtil.Run"C:
\ProgramFiles\HP\QuickTestProfessional\samples\flight\app\flight4a.exe","","C:
\ProgramFiles\HP\QuickTestProfessional\samples\flight\app\","open"
Dialog("Login").WinEdit("AgentName:
").Set"weiqing"
Dialog("Login").WinEdit("Password:
").SetSecure"5274afaf8af7b82bfc"
Dialog("Login").WinButton("OK").Click
msg1=Dialog("Login").Dialog("FlightReservations").Static("Pleaseenterpassword").GetROProperty("text")
printmsg1
Ifmsg1="Passwordmustbeatleast4characterslong"Then
print("如果输入密码少于4位,则提示的信息正确!
")
else
print("如果输入密码少于4位,则提示的信息不正确!
")
EndIf
Dialog("Login").Dialog("FlightReservations").WinButton("确定").Click
dialog("Login").winbutton("Cancel").Click
1.4用户名正确,密码错误——长度大于4的情况
测试代码实现:
SystemUtil.Run"C:
\ProgramFiles\HP\QuickTestProfessional\samples\flight\app\flight4a.exe","","C:
\ProgramFiles\HP\QuickTestProfessional\samples\flight\app\","open"
Dialog("Login").WinEdit("AgentName:
").Set"weiqing"
Dialog("Login").WinEdit("Password:
").SetSecure"5274b17fde184c8e9f28752f3b7c932cd92a1938e1ab"
Dialog("Login").WinButton("OK").Click
msg1=Dialog("Login").Dialog("FlightReservations").Static("Pleaseenterpassword").GetROProperty("text")
printmsg1
ifmsg1="Incorrectpassword.Pleasetryagain"Then
print("如果输入密码多于4位,则提示的信息正确!
")
else
print("如果输入密码多于4位,则提示的信息不正确!
")
EndIf
Dialog("Login").Dialog("FlightReservations").WinButton("确定").Click
Dialog("Login").WinButton("Cancel").Click
1.5没有输入用户名,也没输入密码的情况
测试代码实现:
SystemUtil.Run"C:
\ProgramFiles\HP\QuickTestProfessional\samples\flight\app\flight4a.exe","","C:
\ProgramFiles\HP\QuickTestProfessional\samples\flight\app\","open"
Dialog("Login").WinEdit("Password:
").SetSecure"5274b32fc9044daa8babd6cd613ab"
Dialog("Login").WinButton("OK").Click
msg1=Dialog("Login").Dialog("FlightReservations").Static("Pleaseenterpassword").GetROProperty("text")
printmsg1
ifmsg1="Pleaseenteragentname"Then
print("如果没有输入用户名,则提示的信息正确!
")
else
print("如果没有输入用户名,则提示的信息不正确!
")
EndIf
Dialog("Login").Dialog("FlightReservations").WinButton("确定").Click
Dialog("Login").WinButton("Cancel").Click
2.登录飞机订票系统,订票一张,
测试代码实现如下:
SystemUtil.Run"C:
\ProgramFiles\HP\QuickTestProfessional\samples\flight\app\
flight4a.exe","","C:
\ProgramFiles\HP\QuickTestProfessional\samples\flight\app\","open"
Dialog("Login").WinEdit("AgentName:
").Set"sunyali"
Dialog("Login").WinEdit("Password:
").SetSecure"5274b83a0ff1b2a57de5fffd5119c"
Dialog("Login").WinButton("OK").Click
Window("FlightReservation").WinObject("DateofFlight:
").Click8,3
Window("FlightReservation").WinObject("DateofFlight:
").Type"11113"
Window("FlightReservation").WinComboBox("FlyFrom:
").Select"London"
Window("FlightReservation").Dialog("FlightReservations").WinButton("确定").Click
Window("FlightReservation").WinObject("DateofFlight:
").Click11,9
Window("FlightReservation").WinObject("DateofFlight:
").TypemicBack
Window("FlightReservation").WinObject("DateofFlight:
").Click1,7
Window("FlightReservation").WinObject("DateofFlight:
").Type"1"
Window("FlightReservation").WinObject("DateofFlight:
").Click38,8
Window("FlightReservation").WinObject("DateofFlight:
").Click33,9
Window("FlightReservation").WinObject("DateofFlight:
").Type"1"
Window("FlightReservation").WinComboBox("FlyTo:
").Select"Frankfurt"
Window("FlightReservation").WinEdit("Name:
").Set"sunyali"
Window("FlightReservation").WinButton("FLIGHT").Click
Window("FlightReservation").Dialog("FlightsTable").WinList("From").Select
"10912LON12:
57PMFRA01:
41PMAF$121.20"
Window("FlightReservation").Dialog("FlightsTable").Click197,247
Window("FlightReservation").Dialog("FlightsTable").WinButton("OK").Click
Window("FlightReservation").WinEdit("Name:
").Set"sunyali"
Window("FlightReservation").WinButton("InsertOrder").Click
Window("FlightReservation").Close
3.做一组多次登录订票的模拟过程
测试代码实现如下:
用参数化来实现一组多次登录订票系统,datatable中有两列字符分别是“name”和“pswd”共5组值。
SystemUtil.Run"C:
\ProgramFiles\HP\QuickTestProfessional\samples\flight\app\
flight4a.exe","","C:
\ProgramFiles\HP\QuickTestProfessional\samples\flight\app\","open"
usename=datatable.Value("name")
password=datatable.Value("pswd")
Dialog("Login").WinEdit("AgentName:
").Set"usename"
Dialog("Login").WinEdit("Password:
").Set"password"
Dialog("Login").WinButton("OK").Click
Window("FlightReservation").WinObject("DateofFlight:
").Type""
Window("FlightReservation").WinComboBox("FlyFrom:
").Select"Denver"
Window("FlightReservation").WinComboBox("FlyTo:
").Select"Frankfurt"
Window("FlightReservation").WinButton("FLIGHT").Click
Window("FlightReservation").Dialog("FlightsTable").WinButton("OK").Click
Window("FlightReservation").WinEdit("Name:
").Set"sunyali"
Window("FlightReservation").WinButton("InsertOrder").Click
Window("FlightReservation").Close
4.判断是否订票成功,如果出错,请思考为什么,并给出解决方案
如果2中的代码后面直接跟着if判断语句
Response=Window("FlightReservation").ActiveX("ThreedPanelControl").
GetROProperty("text")
PrintResponse
IfResponse="InsertDone…"then
Print"订票成功"
Else
Print"订票不成功"
Endif
那么就会一直显示订票不成功,因为订单提交的时候,response的状态有延迟,在状态变成提交成功之前已经比较response与"InsertDone…",结果肯定不同,所以将一直显示订票不成功。
方法一:
用wait函数延迟判断。
SystemUtil.Run"C:
\ProgramFiles\HP\QuickTestProfessional\samples\flight\app\
flight4a.exe","","C:
\ProgramFiles\HP\QuickTestProfessional\samples\flight\app\","open"
Dialog("Login").WinEdit("AgentName:
").Set"sunyali"
Dialog("Login").WinEdit("Password:
").SetSecure"5274b83a