• 实验步骤

1.QTP测试技术简介

QTP是Quick Test Professional的简称,是一种自动测试工具。使用QTP的目的是想用它来执行重复的自动化测试,主要是用于回归测试和测试同一软件的新版本。因此你在测试前要考虑好如何对应用程序进行测试,例如要测试哪些功能、操作步骤、输入数据和期望的输出数据等。

1.1基本功能

HP QuickTest Professional 提供符合所有主要应用软件环境的功能测试和回归测试的自动化。采用关键字驱动的理念以简化测试用例的创建和维护。它让用户可以直接录制屏幕上的操作流程,自动生成功能测试或者回归测试用例。专业的测试者也可以通过提供的内置脚本和调试环境来取得对测试和对象属性的完全控制。如图(1-1)

图(1-1)

2.功能测试

2.1.1登录功能

用户需要输入用户名应大于或者等于四个字符,输入密码为“mercury”即可登录该飞机订票系统。

针对登录模块的输入条件:用户名和密码,有以下几种情况:

1. 当用户什么也没输入,直接点OK按钮,是否提示请输入用户名;

2. 当用户输入正确的用户名,没输入密码,直接点击OK按钮,是否提示请输入密码;

3. 对密码进行验证看是否设置输入密码的长度;

4. 当输入正确的用户名和密码时,点击OK按钮是否进入操作界面;

根据上面的分析,设计了如下表(2-1-2)的测试用例:

因此根据以上的分析,设计下列测试用例测试系统功能。

ID

输入条件

预期输出

实际输出

用户名

密码

001

提示:输入用户名

提示:输入用户名

002

Zhang

提示:输入用户名

提示:输入用户名

003

mercury

提示:输入用户名

提示:输入用户名

004

zha

提示:用户名长度少于4位

提示:用户名长度少于4位

005

zha

Baihao

提示:用户名长度少于4位

提示:用户名长度少于4位

006

zha

Mercury

提示:用户名长度少于4位

提示:用户名长度少于4位

007

Mercury

提示:输入密码

提示:输入密码

008

Mercury

Zhang

提示:密码错误

提示:密码错误

009

Mercury

Mercury

登录成功

登录成功

010

zhang

Mercury

登录成功

登录成功

1.2.2录制与测试过程

第一步:用QTP自动打开Flight Reservation系统的登陆界面,输入用户名和密码,确定当前的操作,将订票系统打开,登陆界面如图(2-1-1);

图(2-1-1)

第二步:在QTP主界面中单击“Record”,在登陆界面的文本框中,输入正确的用户名和密码,单击“OK”按钮,进入飞机订票系统界面。在QTP主界面,单击“Stop”按钮,结束当前的录制,如图(2-1-2)

(2-1-2)

录制的脚本为:

Dialog("Login").WinEdit("Agent Name:").Set "zhang"

Dialog("Login").WinEdit("Password:").Set "636b53c7a146a382b12b9daa065cd86181"

Dialog("Login").WinButton("OK").Click

Window("Flight Reservation").Activate

Window("Flight Reservation").Close

第三步:在Expert View中更改Keyword View中,将密码更改为明文,同时在用户名字位置文本中添加检查点,脚本如下:

1: Dialoa(Loain").WinEdit("Agent Name:".Check CheckPoint("Agent Name:")

2: Dialog("Login").WinEdit("Agent Nam Set'zhang"

3: Dialog("Login") WinEdit("Password.SetSecure "636b5cb878f8a2a38c53d9f5389f0b0374254ac

4: Dialoa("Loain").WinButton("OK").Click

5: Window("Flight Reservation").Close

图(2-1-3)

2.2 订票测试

2.2.1 订票功能

订票实例的前提是登录订票系统的成功,该实例是在订票系统中进行订票操作:输入航班日期、选择起飞地、选择目的地、选择航班、输入顾客姓名、输入票的张数、选择航班级别、单击订票按钮,完成订票功能。

2.2.2 测试用例设计

测试编号

输入

预期结果

实际结果

001

选择Fly From中的地点,弹出警告

002

13/01/22

月份不合法,弹出警告信息

003

10/36/22

Day不合法,弹出警告信息

004

10/12/20

时间没有在当天的后面,弹出警告

005

11/07/22

正确

006

Fly From 为空

Fly To不可选,弹出警告

Fly From和Fly To 有一个为空,或都为空

航班按钮不可选择

008

Fly From选择Paris

正确

009

Fly To 选择London

Flights按钮可用

成功

010

单机选择10583航班

在窗口显示航班信息

出发点为Paris,目的地为London,选择10583航班

011

在Fly From中改选  LosAngeles

清空航班信息,Flights按钮不可用

Flights按钮不可用

012

输入名字、票数和等级:yilian,1,Business

Price:$346.94

Total:$346.94

成功

2.2.3录制与测试过程

第一步:录制脚本,选择“Record”如图(2-2-1);

(2-2-1)

第二步:在Agent Nnamesh输入名字,Password中都输入Mercury点击“OK”按钮,如图(2-2-2);

图(2-2-2)

第三步:输入飞机的时间、出发地、目的地,然后选择“Flights”选择航班,如图(2-2-3);

图(2-2-3)

第四步:选择要乘坐飞机的航班,然后点击确定,如图(2-2-4);

图(2-2-4)

第五步:输入顾客的姓名、票数、票的类型、点击“insert”,如图(2-2-5);

图(2-2-5)

第六步:点击“Stop”结束录制过程,脚本录制成功,如图(2-2-6);

图(2-2-6)

第七步:在容易出错的点上右击鼠标,选择“Insert Standard Checkpoint”,如图(2-2-7);

图(2-2-7)

第八步:点击“确定”,如图(2-2-8);

图(2-2-8)

脚本(截图),图(2-2-9);

图(2-2-9)

2.3传真订单

2.3.1传真订单实例

传真订单实例是传真订票成功的订单,在传真订单中,需要输入传真号、确定是否输入签名等。选择打开存在的订单,传真订单是设置前面是汉字“田”,预览传真,开始传真。

2.3.2录制与测试过程

打开飞机订票系统,在系统的File中打开Open Order,会出现Open Order对话框,有顾客姓名、日期、航班等选项,如下图(2-3-1);

图(2-3-1)

输入顾客的姓名,即可查询到顾客订购的机票信息,如下图(2-3-2);

图(2-3-2)

打开File下的Fax Order,可以生成传真,填写Fax Number,输入086-010-1234,同时设置签名为“田”字。此时,录制签名之前,需要改变录制模式,录制模式修改为“Analog Recording”,修改后再录制签名,签名录制完后,再切换到“Recording”模式,发送传真,完成录制,如下图(2-3-3);

图(2-3-3)

在传单的录制过程中,还要添加对象,添加Flight Reservation对象,飞机航班的Flights Table对象,如下图(2-3-4);

图(2-3-4)

添加对象完成后,选择“All Object Types”,如下图(2-3-5);

图(2-3-5)

在“All Object Respositories“的对话框里,可以看到添加进去的所有对象,如下图(2-3-6);

图(2-3-6)

2.4删除订单

2.4.1删除订单实例

飞机订票成功后,也可以对订单进行删除。在Flight Reservation中提前订购好的订单挑出来,用QTP录制删除订单的过程,且欲删除订单必须确认订单有效,根据用户名查询订单,删除订单。

2.4.2录制与测试过程

首先打开飞机订票系统,同时打开QTP进行录制,在File中打开Open Order,若输入顾客的姓名正确,此时会跳出顾客飞机航班的订票情况,并添加到对象库中,如下图(2-4-1);

图(2-4-1)

在File中打开Open Order,在Customer Name中输入一个错误的顾客姓名,此时会弹出一个顾客姓名错误的提示框,在QTP中添加此对象,如下图(2-4-2);

图(2-4-2)

最后添加确认删除的对话框,如下图(2-4-4);

图(2-4-4)

在所有的对象都添加到对象库中,在All Object Repositories会显示所有的对象,如图(2-4-5);

图(2-4-5)

  • 实验结果及其分析

1订单测试结果

通过运用QTP对飞机订票系统的测试,将已设计好的测试用例添加到QTP中,通过脚本的参数化设置,对测试用例进行自动化循环测试,如下图(1-1);

图(1-1)

QTP对测试用例的自动化测试后,分别将可以登陆成功和不能登陆成功的测试用例进行测试,运行结果如图(1-2);

图(1-2)

可以登录飞机订票系统的测试用例,QTP在测试后会显示登陆成功,如下图(1-3);

图(1-3)

不可以登录飞机订票系统的测试用例,QTP在测试后会显示登录失败,并且会说明错误的信息,如下图(1-4);

1.1 测试脚本

2 订单测试结果

执行QTP生成的脚本,结果如图(2-1);

图(2-1)

2.2测试脚本

SystemUtil Run"C \Proaram Files(x86)\samples\flight\app\light4a.exe"

Dialog("Login").WinEdit("Agent Name:")Set"zhang”

Dialog("Login").WinEdit("Password:").SetSecure"636ba7e21e486292e9a8291ab222bf69281a2a08"Dialog("Login”).WinButton("OK").Click

Window("Flight Reservation").WinObject("Date of Flight).Type "112022"

Window("Flight Reservation”.WinComboBox("Fly From:).Select"Frankfurt"

Window("Flight Reservation").WinComboBox("Fly To:" Select"London"

Window("Flight Reservation").WinButton("FLIG TMClick

Window("Flight Reservation").Dialog("Flights Table").WinList("From").Select"13130FRA 01:24 PM LON 02Window("Flight Reservation").Dialog("Flights Table”).WinButton("OK").Click

Window("Flight Reservation").WinEdit("Name:").Set"zhangbaihao"

Window("Flight Reservation").WinRadioButton("Business").Set

Window("Flight Reservation").WinButton("lnsert Order").Click

Window("Flight Reservation").Close

3 传真测试结果

在添加完所有的对象后,录制的脚本才可以运行,同时也能在回放中看到缩写的签名,运行结果如图(2-3-7);

3.1测试脚本

SystemUtil.Run"C:\Program Files(x86)\samples\flight\app\flight4a.exe"

Dialog("Login").WinEdit("Agent Name:".Set'zhang"

Dialog("Login) WinEdit('Password:").SetSecure "636cd70a06fbcbaa6465117d25b41f4b8fec4dce"Dialog("Login").WinButton("OK").Click

Window("Flight Reservation").WinMenu("Menu”) Select"File:Open Order.

Window("Fliaht Reservation).Dialog("Open Order").WinCheckBox("Customer Name").Set "ON”Window("Flight Reservation").Dialog("Open Order")WinEdit("Edit").Set"zhang"

Window("Flight Reservation").Dialog("Open Order").WinButton("OK").Click

Window"Fliaht Reservation") Dialog(Open Order) Dialog("Search Results").WinButton("OK").Click Window("Flight Reservation").WinMenu("Menu").Select"File:Fax Order.."

Window("Flight Reservation").Dialog("Fax Order No.11”).WinObject("Fax Number").Type"12345678911Desktop.RunAnalog"Track1"

Window("Flight Reservation").Dialog("Fax Order No. 11”).Activate

Window("Flight Reservation").Dialog('Fax Order No.11").WinButton("Send').Click

Window("Flight Reservation").Activate

Window("Flight Reservation").Close

4 删除订单测试结果

完成对象添加的操作,就可以开始修改脚本了,添加了判断订单查询对话框是否存在,如果存在则循环管操作订单存在的列表,随机选择一个订单,确定删除该订单,运行结果如下图(4-1);

图(4-1)

4.2测试脚本

Dim IntNumber_SearchResults,Str_SearchResults

Dim Delete_OrderNo

Window("Flight Reservation").Activate

Window("FlightReservation").WinMenu("Menu").Select"File;Open Order..."

Window("FlightReservation").Dialog("Open Order").WinCheckBox("Customer Name").Set "ON"

Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").Set "tianyanqin"

Window("FlightReservation").Dialog("Open Order").WinButton("OK").Click

While Window("Flight Reservation").Dialog("Open Order").Dialog("Search Results").Exist(5)

Intnumber_SearchResults = Window("Flight Reservation").Dialog("Open Order").Dialog("Search Results").WinList("Flight No.").GetItemsCount

Str_SearchResults = Window("Flight Reservation").Dialog("Open Order").Dialog("SearchResults").WinList("Flight No.").GetItem(RandomNumber(0,IntNumber_SearchResults-1))

Window("Flight Reservation").Dialog("Open Order").Dialog("Search Results").WinList("Flight No.").Select Str_SearchResults

Window("Flight Reservation").Dialog("Open Order").Dialog("Search Results").WinButton("OK").Click

Window("Flight Reservation").Activate

Delete_Order = Window("Flight Reservation").WinEdit("Order No:").GetROProperty("text")

Window("Flight Reservation").WinButton("Delete Order").Click

Window("FlightReservation").Dialog("Flight Reservations").WinButton("是(Y)").Click

Window("Flight Reservation").Activate

Reporter.ReportEvent micPass,"删除的订单号是:"&Delete_OrderNo,"删除的订单是:"&Str_SearchResults

Window("Flight Reservation").Activate

Window("Flight Reservation").WinMenu("Menu").Select"File;Open Order..."

Window("FlightReservation").Dialog("Open Order").WinCheckBox("Customer Name").Set"ON"

Window("FlightReservation").Dialog("Open Order").WinEdit("Edit").Set"tianyanqin"

Window("FlightReservation").Dialog("Open Order").WinButton("OK").Click

Wend

Window("Flight Reservation").Dialog("Open Order").Dialog("Flight Reservations").WinButton("确定").Click

Window("FlightReservation").Dialog("Open Order").WinButton("Cancel").Click

Reporter.ReportEvent micPass,"订单删除成功","

  • 参考文献
  1. 田艳琴著,《QTP从实践到精通》,电子工业出版社,2010版
  2. 陈能计著,《QTP自动糊测试进阶》,电子工业出版社,2010版
  3. 张斌著,《精通QTP与自动化测试框架设计实践》,人民邮电出版社,2010版
  4. 黄文高著,《QTP自动化测试与框架模型设计》,机械工业出版社,2011版

使用QTP软件对飞机票订票系统进行测试相关推荐

  1. 软件测试 飞机票的订购系统,QTP自带飞机订票系统的测试_登录测试

    '登录部分 Dim i      '定义行号 For i=1 to datatable.GetSheet("Action1").getrowcount Dialog("L ...

  2. 软件功能测试订票系统,飞机票订票系统功能测试项目

    项目 项目简介 3 飞机票订票系统功能测试项目 飞机票订票软件项目组完成了系统的集成工作,根据开发计划将要将程序交给测试组进行功能测试.测试小组该如何对该软件进行功能测试呢? 项目目标与要求 (1)能 ...

  3. 基于Java+Swing+mysql飞机票订票系统

    基于Java+Swing+mysql飞机票订票系统 一.系统介绍 二.功能展示 1.用户登陆 2.注册 3.综合查询(管理员) 4.航班录入(管理员) 4.查询航班 5.机票预定 6.机票退改管理 三 ...

  4. C++飞机票订票系统

    C++飞机票订票系统 题目7飞机票订票系统 问题描述: 某公司每天有10航班(航班号.价格),每个航班的飞机,共有80个座位,分20 排,每排4个位子.编号为A,B,C,D. 如座位号: 10D表示1 ...

  5. 题目7飞机票订票系统

    题目7飞机票订票系统 问题描述: 某公司每天有10航班(航班号.价格),每个航班的飞机,共有80个座位, 20排,每排4个位子.编号为A,BCD.如座位号:10D表示10排D座. 运行界面如下: 1) ...

  6. 软件功能测试订票系统,QTP自动化测试自带订票系统登录功能

    录制该实例时,出现过很多问题,里面有个很奇怪问题"Cannot find the "Agent name must be at least 4 characters long.&q ...

  7. (附源码)ssm航空客运订票系统 毕业设计 141612

    SSM航空客运订票系统 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针 ...

  8. ssm航空客运订票系统 毕业设计源码141612

    SSM航空客运订票系统 摘 要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题.针 ...

  9. 软件自动化测试订飞机票,飞机订票系统自动化测试方案[教学知识]

    <飞机订票系统自动化测试方案[教学知识]>由会员分享,可在线阅读,更多相关<飞机订票系统自动化测试方案[教学知识](18页珍藏版)>请在人人文库网上搜索. 1.飞机订票系统自动 ...

最新文章

  1. DeepWide推荐系统
  2. AI 图像傅里叶变换
  3. CTFshow 文件上传 web166
  4. 虚拟机ubuntu19.04下设置idea快捷键
  5. 计算机三级数据库上机怎么考,最新计算机三级数据库上机考试试题
  6. [转]动态加载jar文件
  7. 数据结构—链表-单链表应用-拆分链表
  8. android post数据到php服务器,通过post方法将数据上传到服务器Android Studio
  9. 程序员面试金典——5.1二进制插入
  10. [译] 如何用 Android vitals 解决应用程序的质量问题
  11. (day 52 - DFS) 剑指 Offer 68 - II. 二叉树的最近公共祖先
  12. win10鼎信诺为什么安装不了_win10安装软件没反应怎么办
  13. wifi频率和zigbee干扰_设置Zigbee和wifi信道避免干扰的方法
  14. 一个有意思的VMP破解 旺旺吧上网经营管理系统
  15. 含指数函数的不定积分方法归纳
  16. 《重构--改善既有代码的设计》--代码的坏味道(3)
  17. Windows10一句话从administrator权限提升到system权限
  18. 双显示器如何设置上下显示和鼠标上下进入第二屏幕?
  19. 关于HTAP与HSAP
  20. 通过注册表修改win 10 默认登陆方式(不想用PIN码只想密码登录)

热门文章

  1. Thinkphp5威客任务平台网站源码
  2. 欣灵电气递交注册:年营收5.2亿 胡志兴家族色彩浓厚
  3. 电子沙盘数字沙盘MR AR VR开发教程
  4. 深圳软件测试培训:软件测试的需求评审
  5. Hadoop 和 spark 读取多个文件通配符规则(正则表达式)joe
  6. 如虎添翼:施加负压的电磁车模
  7. 【权限维持】Windows自启动映像劫持粘滞键辅助屏保后门WinLogon
  8. 芯片破壁者(十六):德州仪器的“罗生门”
  9. flex 开源项目组件大全
  10. Qt vs2013升级到vs2019