QTP自带的飞机订票功能测试报告
QTP自带的飞机订票功能考试报告

Reporter.ReportEvent micFail,"登录测试","实际的:"+outputvalue+"预期的:"+istatus+"不相同!" '报错
ﻩelse
ﻩReporter.ReportEvent micPass,"登录测试","实际的:"+outputvalue+"预期的:"+istatus+"相同!" '报对
图2-01
第二步:在QTP主界面中单击“Record”,在登陆界面的文本框中,输入正确的用户名和密码,单击“OK”按钮,进入飞机订票系统界面。在QTP主界面,单击“Stop”按钮,结束当前的录制,如图2-02;
图2-02
录制的脚本代码为:
'写一个循环,读取datatable的每一行测试用例
Dim i '定义变量i
指导教师:*****
测试目标
了解熟悉QTP自动化测试工具及其基本功能,掌握QTP自动化测试的基本测试步骤,能运用QTP测试工具对系统进行简单的自动化测试。在QTP测试中能写出基本的脚本语言,以及能够对脚本语句进行编写,能够测试登录功能、订票功能。其中有判断订票是否成功、添加检查点及循环所有航班能否成功测试。
Dim outputvalue '定义变量实际得到的输出
Dim istatus '定义变量希望得到的输出
For i=1 to datatable.GetSheet("Action1").getrowcount '从第一行,读到datatable的最后一行
飞机订票系统测试报告

飞机订票系统功能测试报告课题名称飞机订票系统功能测试报告系/专业班级学号学生姓名指导教师:第一章QTP自动化测试介绍1.1概述QTP是HP公司开发的功能自动化测试工具。
相对于手工测试,QTP自动化测试比人工测试快得多,同时可以避免人工测试的错误,因此,随着测试技术的发展,自动化测试逐渐成为测试的一个重要测试工具。
1.2测试介绍本次课程的内容就是学习QTP自动化测试工具,以飞机订票系统为实例,通过飞机订票的过程,包括登陆、订票、删除等一系列功能操作,运用QTP自动化测试工具来进行具体测试操作,从而来了解并学习QTP自动化测试工具。
在使用QTP进行自动化测试时,所包含的几个步骤:1、准备录制;2、创建对象库;3、创建函数和函数库;4、录制执行;5、强化测试脚本;6、调试脚本;7、在回归测试中运行测试;8、分析结果,报告问题。
按照以上步骤,对飞机订票系统的各个功能进行自动测试,完成系统的测试工作。
1.3 测试内容对于飞机订票系统的自动化测试,首先要熟悉了解一下这个飞机订票系统的基本运行流程,从登陆到订票到查询、删除等一系列基本功能的操作,在对系统流程了解后,再开始对其中的一些功能进行测试工作。
在对这个飞机订票系统,此次测试内容有登陆功能,其中登陆功能测试包含一个用户正确登陆、设置参数可以进行多个用户(正确和错误的)的登陆以及运用手工登陆的方法进行测试,在订票功能中,有对订票是否成功的测试、设置检查点以及循环所有航班的测试,另外还有传真订单的录制,其中有录制签名和录制模式,除此之外还有与数据库的链接等一些简单的功能测试。
1.4测试目标本次课程主要目标就是了解熟悉并学习简单的自动化测试工具,能运用基本的测试工具,对系统进行简单的自动化测试。
对于QTP自动化测试的测试目标:熟悉QTP自动化测试工具及其基本功能掌握QTP自动化测试的基本测试步骤运用QTP测试工具对系统进行简单的自动化测试在QTP测试中,能写出基本的脚本语言对于飞机订票系统的测试目标:测试登陆功能,包括单个用户能否正确登陆、多个用户的正确和错误是否能正确登陆,以及手工能否登陆的测试 订票功能的测试,其中有判断订票是否成功、添加检查点及循环所有航班能否成功测试传真和删除订单的测试,在传真测试中,录制签名后,进行播放时签名是能否播放出来,对于订单的删除,进行脚本语句的编写,能否成功完成测试第二章测试计划及测试环境搭建2.1测试原理分析QTP主要采用的是GUI模拟人的操作。
10.0.42.127_飞机订票性能测试报告

虚拟用户数图(Running Vusers)说明:如图所示,当时间到达1秒时,匿名用户开始每隔3秒陆续有3个用户登陆系统进行注册,当时间到达18秒时,用户数同时达到20人在线注册,时间持续到1分12秒左右,用户开始陆续退出注册。
平均事务响应时间图(Transaction Response Time)说明:如图所知,当用户开始注册时,用户注册的曲线图和Action事务曲线图大致相同,并且用户注册曲线图和Action事务曲线图在34秒到38秒之间逐步上升;38秒后Action事务曲线图开始逐渐下降,而用户注册的曲线图也在38秒后下降,直到54秒到56秒时上升后才又开始下降;用户注册的曲线图和Action 事务曲线图波动变化比较平缓,波动较小,由此可知,该服务器的性能较好。
吞吐量图(Throughput)说明:上图是吞吐量图,吞吐量图显示在场景运行期间的每一秒,从Web服务器上接受到的数据量的值。
拿该值和网络带宽比较,可以确定目前的网络带宽是否是瓶颈;如上图所示,该图的曲线随着用户数的增加而增加,呈现曲线状态,说明目前的网络速度能够满足目前的系统流量。
点击率图(Hits per Second)说明:点击数是按照客户端向Web服务器发起了多少次http请求计算的,由上图所示,我们可以计算出客户端一共向Web服务器发送了143次请求(即点击数为143);其中,在40秒时,点击数达到了最大值44次,而在55秒时达到了第二次最大值32次。
此后点击数开始减少并最后没有了点击数。
事务概述图(Transaction Summary)说明:由上图所知,该图一共有100个事务,并且所有的事务都成功执行;其中Vuser_init和Vuser_end各有20个事务,Action中有60个事务。
QTP测试工具实验报告

QTP测试工具实验报告一、QTP 简介1.1自动化测试的好处如果你执行过人工测试,你一定了解人工测试的缺点,人工测试非常浪费时间而且需要投入大量的人力。
使用人工测试的结果,往往是在应用程序交付前,无法对应用程序的所有功能都作完整的测试。
使用QuickTest可以加速整个测试的过程,并且建置完新版本的应用程序或网站后,可以重复使用测试脚本进行测试。
以QuickTest执行测试,就与人工测试一样。
QuickTest会仿真鼠标的动作与键盘的输入,不过QuickTest比人工测试快了很多。
1.2 QuickTest工作流程1.录制测试脚本前的准备在测试前需要确认你的应用程序及QuickTest是否符合测试需求?确认你已经知道如何对应用程序进行测试,如要测试哪些功能、操作步骤、预期结果等。
同时也要检查一下QuickTest的设定,如Test Settings以及Options对话窗口,以确保QuickTest会正确的录制并储存信息。
确认QuickTest以何种模式储存信息。
2.录制测试脚本操作应用程序或浏览网站时,QuickTest会在Keyword View 中以表格的方式显示录制的操作步骤。
每一个操作步骤都是使用者在录制时的操作,如在网站上点击了链接,或则在文本框中输入的信息。
3.加强测试脚本在测试脚本中加入检查点,可以检查网页的链接、对象属性、或者字符串,以验证应用程序的功能是否正确。
将录制的固定值以参数取代,使用多组的数据测试程序。
使用逻辑或者条件判断式,可以进行更复杂的测试。
4.对测试脚本进行调试修改过测试脚本后,需要对测试脚本作调试,以确保测试脚本能正常并且流畅的执行。
5.在新版应用程序或者网站上执行测试脚本通过执行测试脚本,QuickTest会在新本的网站或者应用程序上执行测试,检查应用程序的功能是否正确。
6.分析测试结果分析测试结果,找出问题所在。
7.测试报告如果你安装了TestDirector(Quality Center),则你可以将发现的问题回报到TestDirector(Quality Center)数据库中。
基于QTP的飞机订票系统功能测试报告

飞机订票系统功能测试报告课题名称飞机订票系统功能测试报告系/专业计算机与软件学院班级学号学生姓名目录第1章订票系统简介 (3)1.1订票功能 (3)1.2修改订票功能 (3)1.3删除订票功能 (4)第2章测试需求分析与计划 (5)2.1需求分析 (5)2.1.1 功能点1 (5)2.1.2 功能点2 (5)2.1.3 功能点3 (5)2.2 测试计划 (6)2.2.1 编写测试用例表 (6)2.2.2 根据测试用例执行测试 (6)2.2.3测试汇总表 (6)2.2.4汇总分析 (6)第3章测试用例及执行 (7)3.1订票功能测试 (7)3.1.1 测试用例 (7)3.1.2录制脚本过程(截屏) (9)3.1.3 测试脚本 (12)3.1.4 执行和结果 (12)3.2修改功能测试 (13)3.2.1 测试用例 (13)3.2.2 测试过程(截屏) (13)3.2.3 测试脚本 (17)3.2.3执行和结果 (18)3.3删除功能测试 (19)3.3.1 测试用例 (19)3.3.2 测试过程 (19)3.3.3 测试脚本 (21)3.3.4 执行和结果 (22)第4章测试结果分析 (23)4.1测试用例的汇总表 (23)4.2检查项 (23)4.3分析与建议 (23)第5章飞机订票系统测试小结 (24)参考文献 (25)第1章订票系统简介1.1订票功能第一步:用户Mercury登录到飞机订票系统。
如图1.1(图1.1)第二步:用户可以在相应的栏目里输入日期、出发地、目的地、飞机班次、顾客的姓名、飞机票数、类型等后,点击“insert”按钮成功订票1.2修改订票功能第一步:用户Mercury登录到飞机订票系统。
,如图1.2(图1.2)第二步:用户根据原来订票的信息,打开原来自己订票的信息。
第三步:用户修改原有的订票订票信息1.3删除订票功能第一步:用户Mercury登录到飞机订票系统。
如图1.3(图1.3)第二步:用户根据原来订票的信息,打开原来自己订票的信息。
QTP飞机订票系统测试用例

项目名称 飞机订票系统 项目编号 001开发人员 No_1 模块信息 登录页面用例作者 No_1 参考信息 需求说明、设计说明测试类型 功能测试 设计日期2012年12月5日测试人员 ***测试方法 手工测试和自动化测试结合 测试日期 2012年12月13日测试对象 测试用户能否正常登陆前置条件存在正确的用户名:登陆页面正常装载(用户名不固定,密码为mercury不区分大小写)用例编号 操作 输入数据 预期结果 实际结果 测试状态 01 输入正确的用户名、正确的密码,按Enter键用户名:mingzi,密码:mecury正常登陆 正常登陆,转入对应的系统页面Pass02输入正确的用户名,正确的密码(没区分大小写),按Enter键用户名:mingzi,密码:MERTURY/mecury正常登陆正常登陆,转入对应的系统页面Pass03输入的用户名为空,正确的密码(没区分大小写),按Enter键密码:MERTURY登陆失败提示请输入用户名fail04输入正确的用户名,密码为空,按Enter键用户名:mingzi登陆失败 提示请输入密码 fail05输入的用户名和密码均为空,按Enter键登陆失败 提示请输入用户名 fail06输入错误的用户名,正确的密码(没区分大小写),按Enter键用户名:zi,密码:MERTURY/mecury登陆失败提示请输入大于4个字符长度的用户名 fail07 输入正确的用户名,错误的密码(没区分大小写),按Enter键用户名:mingzi,密码:mer登陆失败提示请输入大于4个字符长度的密码fail08 输入正确的用户名,错误的密码(没区分大小写),按Enter键用户名:mingzi,密码:memememe登陆失败提示密码错误,请重试fail09 输入错误的用户名,错误的密码,按Enter键用户名:%45#@,密码:¥2wsgh登陆失败 提示登录不成功,请重试fail10 输入错误的用户名或者密码(没区分大小写)次数过多时,按Enter键用户名:mingzi,密码:Hoho (错误大于6次)登陆失败提示错误次数太多,不能再登录了fail开发人员 No_2 模块信息 订票页面用例作者 No_2 参考信息 需求说明、设计说明测试类型 功能测试 设计日期 2012年12月5日测试人员 ***测试方法 手工测试和自动化测试结合 测试日期2012年12月13日测试对象 测试用户能否正常订票前置条件 正常登录到订票界面,且输入正确的时间、起始地、目的地用例编号 操作 输入数据 预期结果 实际结果 测试状态01 输入正确的时间、起始地、目的地,按“flight”按钮时间:12/26/12起始地:Zurich目的地:Denvver正常订票正常订票,点击Flights转入对应的FlightsTable页面Pass02 输入的时间为空,正确的起始地起始地:Denvver不能订票提示请输入航班日期Fail03 输入错误的时间,不符合常规时间:12/66/36不能订票输入的日期无效。
QTP实验报告【范本模板】
QTP实验报告专业:班级:指导教师:姓名:学号:一、测试目标本次试验所用的软件为QTP所自带的飞机订票系统。
目的在于了解熟悉QTP自动化测试工具及其基本功能,掌握QTP自动化测试的基本测试步骤,能运用QTP测试工具对系统进行简单的自动化测试。
在QTP 测试中能写出基本的脚本语言,以及能够对脚本语句进行编写.本次所测试的内容包括QTP基本的录制与回放、增加点击help步骤、添加检查点以及参数化操作。
二、测试原理分析QTP主要采用的是GUI模拟人的操作。
它在模拟人的操作时会通过录制记录操作的对象及所做的操作和顺序,然后在回放时按照记录顺序操作这些对象。
而在这个模拟的过程中最重要的莫过于界面对象控件的识别。
三、基本操作3.1 基本的启动操作第一步:点击QTP的执行文件;第二步:第一步完成后会出现下图的对话框,然后选择ActiveX,点击OK,如图1;图1第四步:出现如一下图所示的对话框,然后点选Blank Test,如图2;3.2 录制与回放3.2.1 录制以Windows 的订票系统为例,录制登陆退出操作,操作前先选择Tools-Options-RestoreLayout ,Automation —Record and Run Settings,开始录制(注:这里用户名我们统一用mercury )。
3。
2.2回放录制完成后为了验证录制是否正确,要进行脚本的回放。
在回放时会出现如下图所示的操作,此时点选第二个选项,如图3。
3。
2。
3查看报告回放结束后我们可以在Automation-Results 查看结果报告,可以在图2图3Tools-Options —Run 标签中是否勾选view results when run session ends 来设定results 在什么时候显示。
报告结果如图4;3。
3增加点击help 步骤选中Login 点右键,Insert Step —Step Generator 。
QTP实验指导1
南昌航空大学实验报告时间:二0一一年月日课程名称:软件黑盒测试实验名称:熟悉自动化测试工具QTP的使用班级:09201217 姓名:林虎飘同组人:指导教师评定:签名:1实验目的(1)理解和掌握自动化测试的基本原理和方法。
(2)掌握QTP录制及回放测试脚本的方法。
2实验要求(1)使用QTP对被测程序AUT进行脚本录制和回放,掌握录制及回放的操作步骤。
(2)掌握对测试脚本中相关测试数据的参数化方法。
3实验内容本次实验主要包括两个内容:(1)录制机票预订登陆窗口login的登陆脚本并回放脚本验证录制的正确性。
(2)对脚本中的agent name和password参数化,并输入5组的数据。
(3)获取agent name不合法时的提示窗口信息,并将该信息写入测试报告。
(4)获取password不合法时的提示窗口信息,并将该信息写入测试报告。
4实验步骤当使用应用程序时,QTP会记录你的操作步骤,并产生测试脚本。
当停止录制后,会看到QTP在Keyword View中以表格的方式显示测试脚本的操作步骤;回放脚本时,QTP能自动执行之前的人工操作。
4.1 录制测试脚本1.执行QuickTest并开启一个全新的测试脚本⏹开启QuickTest,在“Add-in Manager”窗口中选择“visual basic”选项,点击“OK”关闭“Add-in Manager”窗口,进入QuickTest Professional 主窗口。
⏹如果QuickTest Professional 已经启动,检查“Help>About QuickTest Professional”查看目前加载了那些add-ins。
如果没有加载“visual basic”,那么必须关闭并重新启动QuickTestProfessional,然后在“Add-in Manager”窗口中选择“Web”。
⏹如果在执行QuickTest Professional时没有开启“Add-in Manager”则点击“Tool>Options”,在“General”标签页勾选“Display Add-in Manager on Startup”,在下次执行QuickTestProfessional 时就会看到“Add-in Manager”窗口了2.开始录制测试脚本选中“Test>Record”或者点选工具栏上的“Record”按钮。
软件开发与项目管理-KC0210000017_Flight航空订票系统测试
模块五软件测试案例--Flight 航空定票系统一、案例描述HP公司,QTP测试软件自带Flight 航空定票系统软件登录模块、定票模块的用例设计和QTP测试脚本的开发。
二、案例要求1、通过实验掌握”用例设计”2、掌握QTP测试脚本各种处理方法的开发3、保存测试结果4、分析测试结果三、案例实现步骤(一)测试需求Flight 航空定票系统测试需求如下:1、登录模块:用户名和口令4~10 位2、定票模块不同用户登录,定购不同的机票;根据日期、定单号、姓名查询定单。
(二)实现步骤1.编写测试用例表2 Flight 航空定票系统定票模块测试用例2.编写自动化测试程序步骤:(1)运行QTP软件,待打开后新建一个Test,点击工具栏上的“Record”按钮,打开飞机订票系统进行脚本的录制,然后点击“stop”按钮,结束录制;(2)将要进行验证的地方设置参数化:图1 测试用例(1)图2 测试用例(2)(3)点击“run”按钮,回放程序,通过程序回放过程中的正确与否,进行修改程序;测试脚本部分程序:Starter'应用程序的路径Sub StarterSystemUtil.Run Environment("Flyurl")End Sub'用函数来验证状态Public Function testRegExp(ByVal patrn, ByRef sour)' TODO: add function body hereDim regEx ' Create variable.Set regEx = New RegExp ' Create regular expression.regEx.Pattern = patrn ' Set pattern.regEx.IgnoreCase = true ' Set case sensitivity.regEx.Global=trueif regEx.Test(sour)=true Thenreporter.ReportEvent micPass,"登录失败!",cstr(sour) Elsereporter.ReportEvent micFail,"出现异常","提示信息不正确!"End IfEnd Function'定义变量Dim insertNum,insertbegin, istest,istatus,iselectorder,orderid'从DataTable中取值insertNum=DataTable("iCount",dtGlobalSheet)insertbegin=DataTable("begin",dtGlobalSheet)iselectorder=DataTable("SelectOpen",dtGlobalSheet)print iselectorderistest=datatable.Value("status")'登录界面Dialog("Login").WinEdit("Agent Name:").Set DataTable("name", dtGlobalSheet) Dialog("Login").WinEdit("Password:").SetSecure DataTable("password", dtGlobalSheet) Dialog("Login").WinButton("OK").Click'判断是否有子提示框出现If Dialog("Login").Dialog("Flight Reservations").Exist Then'取子提示框上的提示信息istatus=Dialog("Login").Dialog("Flight Reservations").Static("Please enter agentname").GetROProperty("text")testRegExp istest,istatusDialog("Login").Dialog("Flight Reservations").WinButton("确定").ClickDialog("Login").CloseElsereporter.ReportEvent micPass,"登录成功","登录成功!"DataTable.GetSheet("Action1").SetCurrentRow(insertbegin)For i=1 to insertNumsearchorderDataTable.GetSheet("Action1").SetNextRowNextopenorder(iselectorder)Window("Flight Reservation").WinMenu("Menu").Select "File;Exit"End If'打开新订单,并填写信息Sub searchWindow("Flight Reservation").WinMenu("Menu").Select "File;New Order"Window("Flight Reservation").ActiveX("MaskEdBox").Type DataTable("FlyDate", dtLocalSheet) Window("Flight Reservation").WinComboBox("Fly From:").Select DataTable("FlyFrom", dtLocalSheet)'若时间不完整,弹出对话框时的处理If Window("Flight Reservation").Dialog("Flight Reservations").Exist Thensstatus=Window("Flight Reservation").Dialog("Flight Reservations").Static("Please enter a flight").GetROProperty("text")Window("Flight Reservation").Dialog("Flight Reservations").WinButton("确定").ClickWindow("Flight Reservation").ActiveX("MaskEdBox").Type micBackWindow("Flight Reservation").ActiveX("MaskEdBox").Type micBackWindow("Flight Reservation").ActiveX("MaskEdBox").Type micBackWindow("Flight Reservation").ActiveX("MaskEdBox").Type micBackWindow("Flight Reservation").ActiveX("MaskEdBox").Type "051212"End IfWindow("Flight Reservation").WinComboBox("Fly To:").Select DataTable("FlyTo", dtLocalSheet)Window("Flight Reservation").WinButton("FLIGHT").Click'随机取航班iCount = Window("Flight Reservation").Dialog("Flights Table").WinList("From").GetItemsCount Window("Flight Reservation").Dialog("Flights Table").WinList("From").SelectRandomNumber(0,iCount-1)Window("Flight Reservation").Dialog("Flights Table").WinButton("OK").ClickEnd Sub'选择座位,获取定单号Sub orderWindow("Flight Reservation").WinEdit("Name:").Set DataTable("passageName", dtLocalSheet)Window("Flight Reservation").WinRadioButton(DataTable("seat",dtLocalSheet)).ClickWindow("Flight Reservation").WinButton("Insert Order").ClickWindow("Flight Reservation").ActiveX("Threed Panel Control").WaitProperty "text","Insert Done...",10000orderid = Window("Flight Reservation").WinEdit("Order No:").GetROProperty("text")DataTable("OrderNum",dtLocalSheet)=orderidEnd Sub'选择查询方式Sub openorder(iselectorder)DataTable.GetSheet("Action1").SetCurrentRow(insertbegin)For i=1 to insertNumIf iselectorder=1 Then'按姓名查Window("Flight Reservation").WinMenu("Menu").Select "File;Open Order..."Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Customer Name").Set "ON"Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").SetDataTable("passageName", dtLocalSheet)Window("Flight Reservation").Dialog("Open Order").WinButton("OK").ClickWindow("Flight Reservation").Dialog("Open Order").Dialog("SearchResults").WinButton("OK").ClickElse if iselectorder=2Then'按时间查Window("Flight Reservation").WinMenu("Menu").Select "File;Open Order..."Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Flight Date").Set "ON"Window("Flight Reservation").Dialog("Open Order").ActiveX("MaskEdBox").Type DataTable("FlyDate", dtLocalSheet)Window("Flight Reservation").Dialog("Open Order").WinButton("OK").ClickWindow("Flight Reservation").Dialog("Open Order").Dialog("SearchResults").WinButton("OK").ClickElse if iselectorder=3 then'按时间和姓名查Window("Flight Reservation").WinMenu("Menu").Select "File;Open Order..."Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Customer Name").Set "ON"Window("Flight Reservation").Dialog("Open Order").WinEdit("Edit").SetDataTable("passageName", dtLocalSheet)Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Flight Date").Set "ON"Window("Flight Reservation").Dialog("Open Order").ActiveX("MaskEdBox").Type DataTable("FlyDate", dtLocalSheet)Window("Flight Reservation").Dialog("Open Order").WinButton("OK").ClickWindow("Flight Reservation").Dialog("Open Order").Dialog("SearchResults").WinButton("OK").ClickElse if iselectorder=4 then' 按编号查Window("Flight Reservation").WinMenu("Menu").Select "File;Open Order..."Window("Flight Reservation").Dialog("Open Order").WinCheckBox("Order No.").Set "ON"print DataTable("OrderNum",dtLocalSheet)print orderidWindow("Flight Reservation").Dialog("Open Order").WinEdit("Edit_2").SetDataTable("OrderNum",dtLocalSheet)Window("Flight Reservation").Dialog("Open Order").WinButton("OK").ClickEnd ifEnd ifEnd ifEnd IfDataTable.GetSheet("Action1").SetNextRowNextEnd Sub(4)测试执行报告图3 运行结果(1)图4 运行结果(2)图5 运行结果(3)。
机票预订系统(测试分析报告)
测试分析报1引言编写目的测试分析报告是在测试分析的基础上,对测试的结果以及测试的数据等加以记录和分析总结。
它也是测试过程中的一个重要环节,同时,它也是对软件性能的一个总的分析和认可及对不足之处的说明。
因此,测试分析报告对于今后对软件的功能的加强,不足之处的弥补等都起着十分重要的提纲作用。
另外,它还有利于今后软件开发者阅读原程序,根据测试提供的数据和结果,分析原代码,掌握各函数的功能和局限性。
从而缩短软件开发者的再开发时间和所耗费的精力、资金。
从这方面上,我们不难发现,测试分析报告所指明的对象主要是针对于软件开发者。
背景说明:1.被测试软件系统的名称:XX航空公司机票预订系统;2.此项目是由XX航空公司应顾客需求,要求开发一套实时,有效,完善,安全性好的软件系统。
XXXX软件开发小组应聘对此进行开发。
定义Microsoft Access: 系统服务器所使用的数据库管理系统(DBMS)。
SQL: 一种用于访问查询数据库的语言事务流:数据进入模块后可能有多种路径进行处理。
主键:数据库表中的关键域。
值互不相同。
外部主键:数据库表中与其他表主键关联的域。
ROLLBACK: 数据库的错误恢复机制。
参考资料1)张海藩《软件工程导论》(第五版)北京:清华大学出版社;2)《机票预订系统需求分析说明书》 XXXX软件开发小组;3)《机票预订系统可行性分析说明书》 XXXX软件开发小组;4)《机票预订系统概要和详细设计说明书》 XXXX软件开发小组。
2测试概要主界面模块:对输入参数查验,检测数据库数据异常时能否判断并给予适当处理。
测试用例预期结果错误的用户名提示:用户名错误错误的密码提示:密码错误正确的用户名、密码提示:登陆成功并转入相应页面航班管理模块:测试用例:测试用例预期结果错误的用户名提示:用户名错误错误的密码提示:密码错误正确的用户名、密码提示:登陆成功并转入相应页面用户管理模块:测试用例:测试用例预期结果输入显示用户,添加用户,进入下一界面创建订单,更改用户进入退票页,输入相关信息并确认显示退票成功进入订票页面,输入正确的用户信息显示订票成功和打印取票通知进入创建订单页面输入航班班次显示航班信息取票模块:测试用例:测试用例预期结果提交的信息与数据库资料不符提示输入有误,请重新输入提交的信息与数据库资料符合打印机票并更新数据库的机票信息旅客管理模块:测试用例:测试用例预期结果提交的信息与数据库资料不符提示输入有误,请重新输入提交的信息与数据库资料符合打印机票并更新数据库的机票信息3测试结果及发现测试1(标识符)系统登录/注册模块测试:对于无效输入能够做出判断,并提示用户;有效输入能够成功存入数据库中。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
QTP 自带的飞机订票功能测试报告指导教师:*****测试目标课题名称 系/专业 班 级 学 号 学生姓名飞机订票系统功能测试报告******* /学********** *****了解熟悉QTP自动化测试工具及其基本功能,掌握QTP自动化测试的基本测试步骤,能运用QTP测试工具对系统进行简单的自动化测试。
在QTP测试中能写出基本的脚本语言,以及能够对脚本语句进行编写,能够测试登录功能、订票功能。
其中有判断订票是否成功、添加检查点及循环所有航班能否成功测试。
测试内容熟悉了解飞机订票系统的基本运行流程,从登录到订票、查询、删除等一系列基本功能的操作,并能够对其中的一些功能进行测试工作。
此次飞机订票系统测试内容有登录功能,其中登陆功能测试包含一个用户能否正确登录、设置参数可以进行多个用户正确和错误的登录进行测试。
在订票功能中有对订票是否成功的测试、设置检查点以及循环所有航班的测试。
测试原理分析QTP主要采用的是GUI模拟人的操作。
它在模拟人的操作时会通过录制记录操作的对象及所做的操作和顺序,然后在回放时按照记录顺序操作这些对象。
而在这个模拟的过程中最重要的莫过于界面对象控件的识别。
基本操作第二步:点击QTP的执行文件第二步:第一步完成后会出现下图的对画框,然后点击” 如图1-01 ;OK ,第三步:选择“ Biank Test ”选项,如图1-02 ;图 1-01------- QuickTest Professional --------TutorialStart RecordingOpen ExistingTip of the dayj_____________________________________The RegisterUserFunc statemfent now has an optional argument th at y ou can use to seta function as the default operation for a test object.P Shovi this screen on sta rtup¥lUurfp CA-T w ■ ~图1-02第四步:关闭右上角的对话框,选择左上角的“ Record”选项,如图1-03 ;1:图1-03第五步:对具体软件程序的测试有两种方法。
第一种是录制并且运行测试任何一个打开的基于Windows下的应用程序,第二种是只是录制和运行QTP软件中打开的应用程序。
如图1-04 ;图1-04第六步:在“ application ”中点击“+”按钮选择要执行程序的文件,并点击确定按钮,开始录制,如图1-05 ;图1-05登陆测试测试用例设计针对登录模块的输入条件:用户名和密码,有以下几种情况:1.当用户什么也没输入,直接点0K按钮,是否提示请输入用户名;2.当用户输入正确的用户名,没输入密码,直接点击0K按钮,是否提示请输入密码;3.对密码进行验证看是否设置输入密码的长度;4.当输入正确的用户名和密码时,点击OK按钮是否进入操作界面;对登录模块进行测试时,尽可能全面的测试登陆功能的正常和异常情况:只要用户名大于或等于4个字符,密码是“ mercury ”,即可登录。
录制与测试过第一步:用QTP 自动打开Flight Reservation 系统的登陆界面, 输入用户名和密码,确定当前的操作,将订票系统打开,登陆界面如 图 2-01 ;图 2-01第二步:在QTP 主界面中单击“ Record ”,在登陆界面的文本框中,输入正确的用户名和密码,单击“0K 按钮,进入飞机订票系统图 2-02=r i■ Sm廿thJ "九界面。
在QTP 主界面,单击“ Stop ” Ji»og| Lc-gri7WinE[±il -Ag>enlN3rne ■XSEl^menzury* DiaJogrLc-gh^WinEdtl'Passwwftn.SHtSecure^fKffigW按钮,结束当前的录制,如图2-02 ;隔仙T-abfe■r □ xAgent INarrbe:Ete fijdt Sew jnMrt "SrraEn 岀畑TE . -JodB JfiJridcwi Heto■"剧u 娅IRec^idiflaADEAlPass-wordOK | Cancel I Help录制的脚本代码为:'写一个循环,读取datatable的每一行测试用例Dim i ' 定义变量iDim outputvalue ' 定义变量实际得到的输出Dim istatus ' 定义变量希望得到的输出For i=1 to datatable.GetSheet("Actio n1").getrowcou nt' 从第一行,读到datatable 的最后一行Dialog("Logi n").Wi nEdit("Age nt Name:").Set DataTable("Age ntName", dtLocalSheet)Dialog("Logi n").Wi nEdit("Password:").SetSecure DataTable("Password", dtLocalSheet)Dialog("Logi n").Wi nButt on ("OK").CIickDialog("Logi n").Dialog("Flight Reservatio ns").Static("Age nt name mustbe at least 4 characters Ion g.").Output CheckPo in t("Age nt n ame must beat least 4 characters Ion g.")Dialog("Logi n").Dialog("Flight Reservatio ns").Wi nButto n(”确定").Click outputvalue=datatable("outmsg",dtlocalsheet)' 获取该次循环的实际输出istatus=datatable("status",dtlocalsheet) ' 获取该次循环的预期输出If outputvalue<>istatus ThenReporter.ReportEvent micFail,"登录测试","实际的:"+outputvalue+"预期的:"+istatus+"不相同!"'报错elseReporter.ReportEvent micPass,"登录测试","实际的:"+outputvalue+"预期的:"+istatus+"相同!"' 报对End If datatable.GetSheet("Actio n1").set nextrow ' NextDialog("Logi n").Wi nButto n( "Ca ncel").CIickDialog("Login_2").Wi nButto n( "Ca ncel").CIick获取下一行测试用例测试结果通过运用QTF对飞机订票系统的测试,将已设计好的测试用例添加到QTP中,通过脚本的参数化设置,对测试用例进行自动化循环测试,如下图2-03 ;图2-03QTF对测试用例的自动化测试后,分别将可以登陆成功和不能登陆成功的测试用例进行测试,运行结果如图2-04图2-04订票测试订票实例的前提是登录订票系统的成功,该实例是在订票系统中进行订票操作:输入航班日期、选择起飞地、选择目的地、选择航班、输入顾客姓名、输入票的张数、选择航班级别、单击订票按钮,完成订票功能。
录制与测试过程第一步:录制脚本,选择“ Record”如图(3-01);:岂」file Edit View Insert Automation Resources Debug3New p图3-01第二步:在Age nt Nn ame和Password 中都输入Mercury 点击“Ok”按钮,如图3-02 ;图3-02第三步:输入飞机的时间、出发地、目的地,然后选择“ Flights ”选择航班,如图3-03 ;wn 回FligH Schedule: Date of Flight: Fp From : |l 2/23/12| London刁□rd&r Infarmation: Flijit No:DepaiHure Time:Arrive Time: Airline:ITI图 3-03第四步:选择要乘坐飞机的航班,然后点击确定,如图3-04 ;图 3-04 第五步:输入顾客的姓名、票数、票的类型、点击“ in sert如图3-05 ;Fly I □:Paris图3-05第六步:点击“Stop”结束录制过程,脚本录制成功,如图3-06 ;辺New ▼匕念Open・kJ』HI 丫右-ESIJ Record > Run| ■Stop |]K I*I A d■图3-06录制的脚本代码为:Dialog("Logi n").Wi nEdit("Age nt Name:").Set "mercury"Dialog("Logi n").Wi nEdit("Password:").SetSecure"50d03c65bf584d4548c5df42c75a1b2ce70a1491"Dialog("Logi n").Wi nButt on ("OK").CIickDim i ' 定义变量iFor i=1 to datatable.GetSheet("Actio n1").getrowco unt 中若干个测试用例 Win dow("FlightReservatio n").ActiveX("MaskEdBox").TypeDataTable("Date", dtLocalSheet) Win dow("FlightReservatio n").Wi nComboBox("FlyFrom:").SelectDataTable("FlyFrom", dtLocalSheet) Win dow("FlightReservatio n").Wi nComboBox("FlyTo:").SelectDataTable("FlyTo", dtLocalSheet)Win dow("Flight Reservatio n").Wi nButto n("FLIGHT").CIick '日期不同,起飞地不同,目的地不同,可选择的航班是不一样的 '为适应这种不同,则需要从刚才现实的列表中随机选择一个 '则需要用到随机函数,首先要获取列表框中的条目个数Win dow("Flight Reservatio n").Wi nEdit("Name:").Set "lixiao" Win dow("Flight Reservatio n").Wi nRadioButto n( "Busi ness").Set Win dow("Flight Reservatio n").Wi nButto n("l nsert Order").Click Win dow("Flight Reservatio n").Wi nButto n("Butto n").CIickdatatable.GetSheet("Actio n1").set nextrow ' 读取下一行NextWin dow("Flight Reservatio n").CIose循环 datatableItemCou nt=Wi ndow("FlightTable").Wi nList("From").GetltemsCou nt Selectltem=Ra ndomNumber(O,ltemCo unt) 目Win dow("FlightTable").Wi nList("From").Select SelectItem Win dow("FlightTable").Wi nButto n( "OK").CIickReservatio n").Dialog("Flights从0~ltemCount 中随机选择一个数Reservatio n").Dialog("FlightsReservatio n").Dialog("Flights测试结果通过运用QTF对飞机订票系统的测试,将已设计好的测试用例添加到QTP中,通过脚本的参数化设置,对测试用例进行自动化循环测试,如下图3-07 ;图3-07QTP寸测试用例的自动化测试后,对订票参数的测试用例进行测试,测试结果如图3-08图3-08分析与建议功能较少,但基本上满足了飞机订票的需求,但是建议一般用户也能对系统进行访问,查看自己的订票。