QTP自带的飞机订票功能测试报告课题名称飞机订票系统功能测试报告系/专业*******学院班级*****学号*****学生姓名*****指导教师:*****测试目标了解熟悉QTP自动化测试工具及其基本功能,掌握QTP自动化测试的基本测试步骤,能运用QTP测试工具对系统进行简单的自动化测试。在QTP测试中能写出基本的脚本语言,以及能够对脚本语句进行编写,能够测试登录功能、订票功能。其中有判断订票是否成功、添加检查点及循环所有航班能否成功测试。测试内容熟悉了解飞机订票系统的基本运行流程,从登录到订票、查询、删除等一系列基本功能的操作,并能够对其中的一些功能进行测试工作。此次飞机订票系统测试内容有登录功能,其中登陆功能测试包含一个用户能否正确登录、设置参数可以进行多个用户正确和错误的登录进行测试。在订票功能中有对订票是否成功的测试、设置检查点以及循环所有航班的测试。测试原理分析QTP主要采用的是GUI模拟人的操作。它在模拟人的操作时会通过录制记录操作的对象及所做的操作和顺序,然后在回放时按照记录顺序操作这些对象。而在这个模拟的过程中最重要的莫过于界面对象控件的识别。基本操作第二步:点击QTP的执行文件第二步:第一步完成后会出现下图的对画框,然后点击”OK”,如图1-01;图1-01第三步:选择“BlankTest”选项,如图1-02;图1-02第四步:关闭右上角的对话框,选择左上角的“Record”选项,如图1-03;图1-03第五步:对具体软件程序的测试有两种方法。第一种是录制并且运行测试任何一个打开的基于Windows下的应用程序,第二种是只是录制和运行QTP软件中打开的应用程序。如图1-04;图1-04第六步:在“application”中点击“+”按钮选择要执行程序的文件,并点击确定按钮,开始录制,如图1-05;图1-05登陆测试测试用例设计针对登录模块的输入条件:用户名和密码,有以下几种情况:1.当用户什么也没输入,直接点OK按钮,是否提示请输入用户名;2.当用户输入正确的用户名,没输入密码,直接点击OK按钮,是否提示请输入密码;3.对密码进行验证看是否设置输入密码的长度;4.当输入正确的用户名和密码时,点击OK按钮是否进入操作界面;对登录模块进行测试时,尽可能全面的测试登陆功能的正常和异常情况:只要用户名大于或等于4个字符,密码是“mercury”,即可登录。录制与测试过第一步:用QTP自动打开FlightReservation系统的登陆界面,输入用户名和密码,确定当前的操作,将订票系统打开,登陆界面如图2-01;图2-01第二步:在QTP主界面中单击“Record”,在登陆界面的文本框中,输入正确的用户名和密码,单击“OK”按钮,进入飞机订票系统界面。在QTP主界面,单击“Stop”按钮,结束当前的录制,如图2-02;图2-02录制的脚本代码为:'写一个循环,读取datatable的每一行测试用例Dimi'定义变量iDimoutputvalue'定义变量实际得到的输出Dimistatus'定义变量希望得到的输出Fori=1todatatable.GetSheet(Action1).getrowcount'从第一行,读到datatable的最后一行Dialog(Login).WinEdit(AgentName:).SetDataTable(AgentName,dtLocalSheet)Dialog(Login).WinEdit(Password:).SetSecureDataTable(Password,dtLocalSheet)Dialog(Login).WinButton(OK).ClickDialog(Login).Dialog(FlightReservations).Static(Agentnamemustbeatleast4characterslong.).OutputCheckPoint(Agentnamemustbeatleast4characterslong.)Dialog(Login).Dialog(FlightReservations).WinButton(确定).Clickoutputvalue=datatable(outmsg,dtlocalsheet)'获取该次循环的实际输出istatus=datatable(status,dtlocalsheet)'获取该次循环的预期输出IfoutputvalueistatusThenReporter.ReportEventmicFail,登录测试,实际的:+outputvalue+预期的:+istatus+不相同!'报错elseReporter.ReportEventmicPass,登录测试,实际的:+outputvalue+预期的:+istatus+相同!'报对EndIfdatatable.GetSheet(Action1).setnextrow'获取下一行测试用例NextDialog(Login).WinButton(Cancel).ClickDialog(Login_2).WinButton(Cancel).Click测试结果通过运用QTP对飞机订票系统的测试,将已设计好的测试用例添加到QTP中,通过脚本的参数化设置,对测试用例进行自动化循环测试,如下图2-03;图2-03QTP对测试用例的自动化测试后,分别将可以登陆成功和不能登陆成功的测试用例进行测试,运行结果如图2-04图2-04订票测试订票实例的前提是登录订票系统的成功,该实例是在订票系统中进行订票操作:输入航班日期、选择起飞地、选择目的地、选择航班、输入顾客姓名、输入票的张数、选择航班级别、单击订票按钮,完成订票功能。录制与测试过程第一步:录制脚本,选择“Record”如图(3-01);图3-01第二步:在AgentNname和Password中都输入Mercury点击“OK”按钮,如图3-02;图3-02第三步:输入飞机的时间、出发地、目的地,然后选择“Flights”选择航班,如图3-03;图3-03第四步:选择要乘坐飞机的航班,然后点击确定,如图3-04;图3-04第五步:输入顾客的姓名、票数、票的类型、点击“insert”,如图3-05;图3-05第六步:点击“Stop”结束录制过程,脚本录制成功,如图3-06;图3-06录制的脚本代码为:Dialog(Login).WinEdit(AgentName:).SetmercuryDialog(Login).WinEdit(Password:).SetSecure50d03c65bf584d4548c5df42c75a1b2ce70a1491Dialog(Login).WinButton(OK).ClickDimi'定义变量iFori=1todatatable.GetSheet(Action1).getrowcount'循环datatable中若干个测试用例Window(FlightReservation).ActiveX(MaskEdBox).TypeDataTable(Date,dtLocalSheet)Window(FlightReservation).WinComboBox(FlyFrom:).SelectDataTable(FlyFrom,dtLocalSheet)Window(FlightReservation).WinComboBox(FlyTo:).SelectDataTable(FlyTo,dtLocalSheet)Window(FlightReservation).WinButton(FLIGHT).Click'日期不同,起飞地不同,目的地不同,可选择的航班是不一样的'为适应这种不同,则需要从刚才现实的列表中随机选择一个'则需要用到随机函数,首先要获取列表框中的条目个数ItemCount=Window(FlightReservation).Dialog(FlightsTable).WinList(From).GetItemsCountSelectItem=RandomNumber(0,ItemCount)'从0~ItemCount中随机选择一个数目Window(FlightReservation).Dialog(FlightsTable).WinList(From).SelectSelectItemWindow(FlightReservation).Dialog(FlightsTable).WinButton(OK).ClickWindow(FlightReservation).WinEdit(Name:).SetlixiaoWindow(FlightReservation).WinRadioButton(Business).SetWindow(FlightReservation).WinButton(InsertOrder).ClickWindow(FlightReservation).WinButton(Button).Clickdatatable.GetSheet(Action1).setnextrow'读取下一行NextWindow(FlightReservation).Close测试结果通过运用QTP对飞机订票系统的测试,将已设计好的测试用例添加到QTP中,通过脚本的参数化设置,对测试用例进行自动化循环测试,如下图3-07;图3-07QTP对测试用例的自动化测试后,对订票参数的测试用例进行测试,测试结果如图3-08图3-08分析与建议功能较少,但基本上满足了飞机订票的需求,但是建议一般用户也能对系统进行访问,查看自己的订票。没有连到外网,只是在本机进行测试,建议在互联网进行功能等测试。飞机订票系统测试小结通过对QTP飞机订票系统从需求分析到执行测试,从录制脚本到脚本分析结果,使得我对以前所学习的软件测试方面的知识有了更好的理解,实践中才能更深入的理解掌握知识。在此期间我了解和认识了软件测试技术和QTP自动化测试工具,并且学习了QTP工具的使用。现在已经能很熟练的使用QTP测试工具。使用QTP可以加速测试的整个过程,并且建置完新版本的应用程序后网站后,可以重复使用测试脚本进行测试。