飞机订票系统功能测试报告课题名称飞机订票系统功能测试报告系/专业班级学号学生姓名指导教师:第一章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模拟人的操作。
它在模拟人的操作时会记录操作的对象及所做的操作和顺序,然后在回放时按记录顺序操作这些对象。
而在这个模拟的过程中,最重要的莫过于界面对象(控件)的识别。
例如,对于登陆功能中的用户名,在“用户名”输入框中输入“zhangtt”,其伪代码如下:WebEdit(“用户名”).Set“zhangtt”,下面据此分析这个测试原理:首先,QTP会通过“用户名”这个名字找到对象库的对象名中查找;然后通过找到的对象名,找到对象名映射的属性包;接着QTP就会通过这个属性包来匹配页面上的控件的属性,如果在页面上找到一个唯一与此属性包匹配的控件,那么QTP就会认为此控件为要找的控件;最后QTP根据“WebEdit”来确定控件的类型,并调用QTP对于此类控件内置的操作方法“Set”把“zhangtt”赋予了控件。
至于其他控件的识别和操作,基本原理和上面一样,另外有一些需手动添加一些对象,方可识别。
在后面的具体例子中,会详细叙述,在此不做精细描述。
2.2测试思想设计根据测试原理的分析以及QTP测试的基本步骤可以设计如图2-2-1所示的测试思想流程图。
该流程图使用的是Microsoft Visio 2003绘制。
图2-2-1测试思想流程图2.3测试计划在此次课程的QTP自动化测试学习时,首先对QTP自动化测试工具进行了解,安装QTP自动化测试这个工具,同时注册及启动QTP测试软件,于此同时熟悉其基本的功能和操作,除此之外,熟悉飞机订票系统的基本流程,其登陆、订票、传真及删除订单等一些功能,于此同时,将两者相结合,开始运用QTP自动化测试工具对此飞机订票系统进行一系列的自动化测试工作。
在测试过程中,设计包括以下几个方面:1、登陆功能测试2、订票功能测试3、传真的录制与播放功能测试4、删除订单的测试2.4测试环境搭建一、QTP自动化测试的安装:1.双击QTP的安装文件“setup.exe”,弹出如图2-4-1所示的安装界面,图2-4-1 QTP安装界面在其中选择“QuickTest Professional 安装程序”,则进入安装程序中,然后按照系统提示,依次安装,最终安装成功,如图2-4-2所示图2-4-2 安装成功界面二、QTP自动化测试工具的注册与启动1、注册:双击打开安装好的QTP 自动化测试工具,则会弹出如图2-4-2所示的注册信息提示:图:2-4-2 注册提示在此点击“Install License”进行注册,其中在选择注册号时,其方法是:将GetLicense.exe注册机放到安装目录(默认C:\ProgramFiles\Mercury Interactive\QuickTest Professional)并运行它,注册机将生成一个注册文件,该文件在C:\Program Files\Common Files\Mercury Interactive\License Manager。
用记事本打开名字为lservrc的文件,复制“第一行中含#之前的所有字符”。
如图2-4-3所示:图:2-4-3 注册界面然后依次点击“下一步”即可完成注册。
注册完成后,双击打开“QuickTest Professional”即可启动。
第三章测试用例设计及执行3.1登陆功能的测试(一)登录功能的测试用例设计测试用例ID 场景AgentNamePassword 动作预期结果实际结果001 用户名和密码正确zhangtt mercury 点击“OK”登录成功成功登录002 用户名正确,密码不填zhangtt 点击“OK”登录失败003 用户名不填,密码填写mercury 点击“OK”登陆失败004 用户名正确,密码错误zhangtt wrong 点击“OK”登陆失败(二)登陆功能的测试执行①单个用户的登录,一个用户登录的自动化测试是采用录制与播放的方式进行测试的,其录制脚本语言为:Dialog("Login").ActivateDialog("Login").WinEdit("Agent Name:").Set "zhangtt"Dialog("Login").WinEdit("Password:").SetSecure"4e9398ddaab6f473e43f8529bdc308515c123f19"Dialog("Login").WinButton("OK").ClickWindow("Flight Reservation").ActivateWindow("Flight Reservation").Close②多个用户的登陆,多个用户登陆时,测试了用户名、密码正确和错误以及用户名密码不填的情况,对此测试时,进行了参数化设置以及信息的捕捉,在此同时还需要将自动登陆更改为手工登陆,具体测试操作如下:注:为了能看到密码值,在此先将密码设置为明文的,其操作为:将Password动作改为“set”,并将密码修改为明文“mercury”第一步:进行参数化设置:在值后点击按钮,则弹出参数化设置界面,在此进行参数化设置,如图3-1-1所示:其用户名和密码的参数化设置均是一致采用此种方法的图3-1-1 参数化设置界面第二步:在设置好的参数表格中填写测试数据(有用户名密码正确的情况,也有错误的或不存在的均进行测试)第三步:添加脚本语言,其程序为:If Dialog("Login").Dialog("Flight Reservations").Exist(5) ThenDim err_messageerr_message = Dialog("Login").Dialog("Flight Reservations").Static("Agent name must be at").GetROProperty("text")Reporter.ReportEvent micFail,"登陆失败","错误信息是:"&err_messageDialog("Login").Dialog("Flight Reservations").WinButton("确定").ClickDialog("Login").WinButton("cancle").ClickElseReporter.ReportEvent micPass,"登陆验证","登陆成功"Window("Flight Reservation").CloseEnd If第四步:捕捉动态信息,添加识别对象,其方法是,在菜单中点击“”按钮,弹出添加对象的窗口如图3-1-2所示,图3-1-2 识别对象窗口在“Object Repository”窗口中,单击“Add Objects to Local”添加所需识别的对象,如图3-1-3所示:以此来一一添加所需识别的对象图3-1-3 添加识别对象第五步:添加手动登陆的代码,程序为:SystemUtil.RunPathFinder.Locate("C:\ProgramFiles\MercuryInteractive\QuickTestProfessional\samples\flight\ap p\flight4a.exe"),"",PathFinder.Locate("C:\ProgramFiles\MercuryInteractive\QuickTestProfessiona l\samples\flight\app"),"open"第六步:将运行行数修改为运行所有添加的数据,其操作是右击“Action”选择“”弹出运行行数界面,选择“Run on all rows”,如图3-1-4所示:图3-1-4 修改运行行数界面第七步:测试运行,运行结果如图3-1-4所示:图3-1-4 测试运行结果3.2 订票功能的测试(一)判断订票是否成功的测试首先录制订票过程,将其订票程序录制出来,录制完成后点击“stop”,停止录制,要判断订票是否成功的方法有两个,一种是结合对象识别器编写脚本实现,另外一种是添加检查点实现,在此,选用添加检查点的方法进行测试。