测试一
测试QTP自带的C/S应用程序Flight.exe。
Flight应用程序登录模块需求说明:用户名、密码均为长度至少为4位的非空字符,密码值为mercury。针对用户名、密码的不同出错情况,有不同的错误信息提示(详见Flight.exe)。
(1)针对Flight范例程序,使用等价类划分法完成登录模块的测试用例设计,写出测试用例表Login_TestCases;
(2)对用户登录过程进行脚本录制,回放无误后,保存测试脚本为login_Test1。
(3)打开脚本login_Test1,编辑脚本(提示:用到了参数化、VBScript的if结构、添加操作步骤等知识点),使用测试用例表Login_TestCases,完成对Flight程序登录模块的测试,运行测试无误后保存测试脚本为login_Test2。
(4)导出word类型测试报告,保存为LoginTest_Report。
(5)在学习通实验报告题目2中上传一个Word类型附件,其中包含:测试用例表Login_TestCases,测试脚本login_Test1,测试脚本login_Test2,测试报告LoginTest_Report。
[评论可见]隐藏内容 - 管理员可见
测试用例
TCID | username | password | errMsg |
TC01 | mercury | mercury | |
TC02 | mercury | Please enter agent name | |
TC03 | mer | mercury | Agent name must be at least 4 characters long. |
TC04 | mercury | Please enter password | |
TC05 | mercury | mer | Password must be at least 4 characters long |
TC06 | mercury | mercuryy | Incorrect password. Please try again |
Login_Test1
Dialog("Login").WinEdit("Agent Name:").Set "mercury"
Dialog("Login").WinEdit("Password:").SetSecure "6279d40620ad0d3c25f99b9f7dd3129e8a8302e6"
Dialog("Login").WinButton("OK").Click
Window("Flight Reservation").Close
Login_Test2
Systemutil.Run("C:\Program Files\HP\QuickTest Professional\samples\flight\app\flight4a.exe")
Dialog("Login").WinEdit("Agent Name:").Set DataTable("username", dtGlobalSheet)
Dialog("Login").WinEdit("Password:").SetSecure DataTable("password", dtGlobalSheet)
Dialog("Login").WinButton("OK").Click
Dim expectMsg '期望值
Dim actualMsg '实际值
expectMsg=DataTable("errMsg", dtGlobalSheet)
if(Window("Flight Reservation").Exist(2))then'如果主界面存在
reporter.ReportEvent micPass,DataTable("TCID", dtGlobalSheet),"测试通过"
Window("Flight Reservation").Close
else'如果主界面不存在
actualMsg=Dialog("Login").Dialog("Flight Reservations").Static("Please enter agent name").GetROProperty("Text")
if(actualMsg=expectMsg)then
reporter.ReportEvent micPass,DataTable("TCID", dtGlobalSheet),"测试通过"
Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click
Dialog("Login").WinButton("Cancel").Click
else
reporter.ReportEvent micFail,DataTable("TCID", dtGlobalSheet),"测试不通过"
Dialog("Login").Dialog("Flight Reservations").WinButton("确定").Click
Dialog("Login").WinButton("Cancel").Click
end if
end if
测试二
对某应用的信息注册模块(详见Flight.exe)进行测试
需求描述:
u 姓名:1——20个英文字符(或10个中文),不能包含数字,不能为空
u 年龄:18——60之间的整数,不能为空
u 如果填写信息正确,给出如图提示信息,并在“注册信息”文本框中输出相应注册信息
u 如果信息填写错误,给出相应的错误提示信息
要求:
(1)使用等价类划分法完成该信息注册模块的测试用例设计,写出测试用例表Reg_TestCases;
(2)对信息注册过程进行脚本录制,回放无误后,保存测试脚本为Reg_Test1。
(3)打开脚本Reg_Test1,编辑脚本(提示:用到了参数化、VBScript的if结构、添加操作步骤等知识点),使用测试用例表Reg_TestCases,完成对信息注册模块的测试,运行测试无误后保存测试脚本为Reg_Test2。
(4)导出测试报告,保存为RegTest_Report。
(5)在学习通实验报告题目3中上传一个Word类型附件,其中包含:测试用例表Reg_TestCases,测试脚本Reg_Test1,测试脚本Reg_Test2,测试报告RegTest_Report
[评论可见]隐藏内容 - 管理员可见
测试用例
TestID | UserName | UserAge | TipMsg |
TC001 | abc | 22 | 姓名:abc年龄:22注册成功! |
TC002 | sdnvdjsnvsjkvnsjkvnfsjkvnksfjvnjdkfjf | 30 | 姓名不能超过20个字符! |
TC003 | 西瓜苹果西瓜苹果西瓜苹果西瓜苹果西瓜苹果西瓜苹果西瓜 | 30 | 姓名不能超过20个字符! |
TC004 | 123456 | 40 | 姓名不能包含数字! |
TC005 | 50 | 姓名不能为空! | |
TC006 | abc | 年龄不能为空! | |
TC007 | abc | a | 年龄非法! |
TC008 | abc | 年龄 | 年龄非法! |
TC009 | abc | # | 年龄非法! |
TC010 | abc | 22.2 | 年龄不能为小数! |
TC011 | abc | 79 | 年龄不能小于18或大于60! |
TC012 | abc | 0 | 年龄不能小于18或大于60! |
Reg_Test1
Window("信息注册").WinObject("ThunderRT6TextBox").Type "abc"
Window("信息注册").WinObject("ThunderRT6TextBox_2").Click 35,5
Window("信息注册").WinObject("ThunderRT6TextBox_2").Type "20"
Window("信息注册").WinObject("注册").Click 53,14
Window("信息注册").Dialog("注册成功").WinButton("确定").Click
Window("信息注册").WinObject("退出").Click 39,17
Window("信息注册").Dialog("退出提示").WinButton("确定").Click
Reg_Test2
Systemutil.Run("C:\Documents and Settings\Administrator\桌面\信息注册(版本1.2).exe")
Window("信息注册").WinObject("ThunderRT6TextBox").Type DataTable("UserName", dtGlobalSheet)
Window("信息注册").WinObject("ThunderRT6TextBox_2").Click 35,5
Window("信息注册").WinObject("ThunderRT6TextBox_2").Type DataTable("UserAge", dtGlobalSheet)
Window("信息注册").WinObject("注册").Click 53,14
Dim expectmsg
expectmsg=DataTable("TipMsg", dtGlobalSheet)
Dim actualmsg
if(Window("信息注册").Dialog("注册成功").Exist(2)) then
actualmsg=Window("信息注册").Dialog("注册成功").Static("姓名:abc,年龄:20,注册成功!").GetROProperty("Text")
Window("信息注册").Dialog("注册成功").WinButton("确定").Click
else
actualmsg=Window("信息注册").Dialog("错误提示").Static("姓名不能为空!").GetROProperty("Text")
Window("信息注册").Dialog("错误提示").WinButton("确定").Click
end if
if(actualmsg=expectmsg) then
reporter.ReportEvent micPass,DataTable("TestID", dtGlobalSheet),"测试通过"
else
reporter.ReportEvent micFail,DataTable("TestID", dtGlobalSheet),"测试不通过"
end if
Window("信息注册").WinObject("退出").Click 39,17
Window("信息注册").Dialog("退出提示").WinButton("确定").Click
测试三
测试B/S应用Web Tours网站(http://127.0.0.1:1080/WebTours/):
(1)熟悉Mercury Tours范例网站,并注册以下用户:
(2)使用Mercury Tours范例网站录制“登录”过程(登录用户名:a,密码:a),录制完成并且运行无误后保存脚本,文件名为test1;
(3)编辑测试脚本,添加查看已订票信息的操作,并保存、回放脚本,运行无误后,把文件另存为test2;
(4)打开脚本“test2”,分别插入图像检查点(检测hp图标是否正确显示)、标准检查点(登陆成功后Sign-Off是否成功显示)。运行无误后,把文件另存为test3;
(5)打开脚本“test3”,并在DataTable的Action工作簿里添加以下表中的数据,编辑脚本(用户名、密码的参数化),完成测试,运行无误后把文件另存为“test4”;
(6)打开脚本“test3”,并在DataTable的Global工作簿里导入Excel工作表1.xls中sheet1的数据值(注:其中包含合法用户和非法用户),完成“用户名”和“密码”的参数化,运行无误后把文件另存为“test5”(注:需要添加操作步骤,完成对非法用户的测试)。
(7)打开脚本“test1”,添加事务,查看并记录用户登录系统所用的时间,运行无误后把文件另存为“test6”。
(8)在学习通实验报告题目4中上传一个Word类型附件,其中包含:test1、test2、test3、test4、test5、test6。
[评论可见]隐藏内容 - 管理员可见
Test1
Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("username").Set "a"
Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("password").SetSecure "627ba57fd62d3ec1"
Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Login").Click 46,7
Test2
Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("username").Set "a"
Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("password").SetSecure "627c87a997771702"
Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Login").Click 44,13
Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Itinerary Button").Click
Test3
Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("username").Set "a"
Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("password").SetSecure "627c8b4a0967646c"
Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Login").Click 56,12
Browser("Web Tours").Page("Web Tours").Frame("header").Image("hp_logo").Check CheckPoint("hp_logo")
Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("SignOff Button").Check CheckPoint("SignOff Button")
Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Itinerary Button").Click
Test4
Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("username").Set DataTable("UserName", dtGlobalSheet)
Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("password").SetSecure DataTable("PassWord", dtGlobalSheet)
Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Login").Click 56,12
Browser("Web Tours").Page("Web Tours").Frame("header").Image("hp_logo").Check CheckPoint("hp_logo")
Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("SignOff Button").Check CheckPoint("SignOff Button")
Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Itinerary Button").Click
Test5
Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("username").Set DataTable("UserName", dtGlobalSheet)
Browser("Web Tours").Page("Web Tours").Frame("navbar").WebEdit("password").SetSecure DataTable("PassWord", dtGlobalSheet)
Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Login").Click 56,12
Dim expectmsg
expectmsg=DataTable("TipMsg", dtGlobalSheet)
Dim actualmsg
if(Browser("Web Tours").Page("Web Tours").Frame("info").WebElement("Web Tours Error - Incorrect").Exist(3))then
actualmsg=Browser("Web Tours").Page("Web Tours").Frame("info").WebElement("Web Tours Error - Incorrect").GetROProperty("innertext")
if(actualmsg=expectmsg)then
reporter.ReportEvent micPass,DataTable("TestID", dtGlobalSheet),"测试通过"
else
reporter.ReportEvent micFail,DataTable("TestID", dtGlobalSheet),"测试不通过"
end if
else
Browser("Web Tours").Page("Web Tours").Frame("header").Image("hp_logo").Check CheckPoint("hp_logo")
Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("SignOff Button").Check CheckPoint("SignOff Button")
Browser("Web Tours").Page("Web Tours").Frame("navbar").Image("Itinerary Button").Click
end if