软件测试期末报告记录软件工程2班叶安帮090202021035.doc_第1页
软件测试期末报告记录软件工程2班叶安帮090202021035.doc_第2页
软件测试期末报告记录软件工程2班叶安帮090202021035.doc_第3页
软件测试期末报告记录软件工程2班叶安帮090202021035.doc_第4页
软件测试期末报告记录软件工程2班叶安帮090202021035.doc_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件测试期末报告记录软件工程2班叶安帮090202021035 作者: 日期:2 计算机学院软件测试工具应用期末考核报告北京理工大学珠海学院计算机学院软件测试工具应用期末考核报告论文名称: 自动化测试工具QTP在飞机售票系统中的应用 专业班级: 09软件工程2班 学生学号: 090202021035 学生姓名: 叶安帮 目录目录11. QTP自动化测试简介22. QTP的工作模式23. QTP自动化测试流程21) 准备TestCase 22) 配置QTP23) 录制脚本 24) 修改增强脚本 25) 调试脚本 36) 回放脚本 37) 脚本维护 34. 飞机售票系统的自动化测试 31) 测试规划 3i. 界面测试 3ii. 功能测试 32) 测试用例43) QTP脚本开发8i. 登录脚本 8ii. 订票脚本 9iii. 其他按钮脚本114) 测试报告14i. 登录测试14ii. 订票测试14iii. 其他按钮测试155) 测试环境166) 遇到的问题及解决方案16教师评语及得分17自动化测试工具QTP在飞机售票系统中的应用1. QTP自动化测试简介QTP是新一代自动化测试解决方案,采用了关键词驱动测试的理念,能完全简化测试的创建和维护工作。使用QTP的目的是想用它来执行重复的手动测试,主要是用于回归测试和测试同一软件的新版本。因此在测试前要考虑好如何对应用程序进行测试,例如要测试哪些功能,操作步骤,输入数据,期望结果等。2. QTP的工作模式QTP提供的功能实现三层架构:测试数据,测试对象和测试脚本三个结构的分离。QTP提供DataTable对象来保存测试数据,且也提供了把脚本中的测试数据参数化到DataTable而脚本中只引用了参数化的名称的功能,而DataTable存储的是一个Excel文档,方便修改测试数据,这样便实现了测试数据与测试脚本分离;QTP也把自动化测试中要操作的对象放到了对象库中进行管理者,实现了对对象的统一管理,也实现了测试对象与测试脚本的分离。3. QTP自动化测试流程1) 准备TestCase - 在进行自动化之前,将测试内容进行文档化,不建议直接录制脚本 - 在录制脚本之前设计好脚本,便于录制过程的流畅 - 由于测试用例设计和脚本开发可能不是同一个人完成,便于团队合作 - 便于后期的维护 - 文档化的方式:TD或者文档2) 配置QTP QTP支持不同的开发环境,在正式录制之前,需要根据被测程序的开发环境,选择合适的Add-In,并进行加载。3) 录制脚本 启动QTP的录制功能,按照Test Case的操作步骤描述执行,QTP自动记录每一步操作,并自动生成VBscrpt脚本。4) 修改增强脚本 刚刚录制好的脚本可能包含错误,或者没有达到预期的目的,这就需要在录制脚本的基础上,进行修改增强 - 删除录制过程中多余的以及错误的操作,以最少的脚本完成任务 - 如果前面操作的输出是后面操作的输入,则需要使用变量或者输出值来进行替换 - 不是所有的操作都可以通过录制产生的,有些需要通过手工编码实现这些功能 - 录制产生的脚本是线性的,可以加入条件、循环控制语句,实现更复杂的流程 - 对脚本进行结构化 - 加入注释,便于阅读和维护5) 调试脚本 - 回放通过的脚本,不一定是正确的,也可能会包含错误 - 在测试脚本正式使用之前,要保证其本身的正确性 - 避免测试脚本故障和被测程序故障搅在一起,不容易定位6) 回放脚本 - 对于回放的错误,不要急于马上提交Bug,首先要判断是脚本本身的错误还是程序的错误,确认后再提交。7) 脚本维护 - 随着工作的不断推进,脚本量会越来越多 - 被测试程序的不断更新,也需要更新相应的测试脚本 - 采用版本管理工具保存脚本,如CVS、VSS,可以随时获取历4. 飞机售票系统的自动化测试1) 测试规划A. 界面测试:i. 登录界面Agent Name最长为10,Password最长8位测试 ii. 订票界面Date of Flight日期输入框,Fly From 选项框,Fly To 选项框,Name 姓名输入框,Class列别单选框,Tickets数目框 测试B. 功能测试:i. 登录功能OK、Cancel、Help按钮测试ii. 订票功能Flights按钮,Insert Order订票按钮,Update Order更新按钮,Delete Order删除按钮,顶部6个图标按钮和菜单测试2 ) 测试用例编号类型用例名称测试步骤预期结果实际结果001登录测试空账号1. 不输入账号密码2. 点击OKPlease enter agent namePlease enter agent name002登录测试少于4位的账号1. 输入账号1232. 点击OKAgent name must be at least 4 characters long.Agent name must be at least 4 characters long.003登录测试3位以上的账号和空密码1. 输入账号12342. 点击OKPlease enter passwordPlease enter password004登录测试3位以上的账号和少于4位密码1. 输入账号12342. 密码1Password name must be at least 4 characters longPassword name must be at least 4 characters long005登录测试3位以上的账号和3位以上密码1. 输入账号12342. 密码1234Incorrect password. Please try againIncorrect password. Please try again006登录测试3位以上的账号和正确的密码1. 输入账号12342. 密码mercury登录成功登录成功007界面测试关闭窗口1.点击Cancel按钮窗口关闭窗口关闭008界面测试帮助1.点击Help按钮The password is MERCURYThe password is MERCURY009选票测试全0时间1. 输入时间00/00/002. Fly From选择Denver3. Fly To选择Frankfurt4. 点击Flights按钮Invalid month Entered.The month must be greater than 01 and less than 12.Invalid month Entered.The month must be greater than 01 and less than 12010选票测试错误时间1. 输入时间13/00/002. Fly From选择Denver3. Fly To选择Frankfurt4. 点击Flights按钮Invalid month Entered.The month must be greater than 01 and less than 12.Invalid month Entered.The month must be greater than 01 and less than 12.011选票测试正确月份1. 输入时间12/00/002. Fly From选择Denver3. Fly To选择Frankfurt4. 点击Flights按钮Valid flight dates are after 05/31/12Valid flight dates are after 05/31/12012选票测试正确月份错误的日期1. 输入时间12/32/002. Fly From选择Denver3. Fly To选择Frankfurt4. 点击Flights按钮Invalid day Entered. The date should be valid for the given month.Invalid day Entered. The date should be valid for the given month.013选票测试正确月份和正确日期1. 输入时间12/02/002. Fly From选择Denver3. Fly To选择Frankfurt4. 点击Flights按钮Valid flight dates are after 05/31/12Valid flight dates are after 05/31/12014选票测试正确的时间1. 输入时间12/02/142. Fly From选择Denver3. Fly To选择Frankfurt4. 点击Flights按钮弹出Flights Table弹出Flights Table015选票测试选中航班1. 随即点中一行记录2. 然后点击OK要求填写详细信息要求填写详细信息016选票测试关闭航班窗口Flights Table窗口中点击Cancel航班表关闭航班表关闭017选票测试Name填写字符1. 在Name中输入*2. 点击Insert Order按钮弹出Name错误信息订票成功018选票测试Name填写数字1. 在Name中输入1232. 点击Insert Order按钮弹出Name错误信息订票成功019选票测试Name填写特殊字符1. 在Name中输入空格2. 点击Insert Order按钮弹出Name错误信息订票成功020选票测试Name填写中文字符1. 在Name中输入大家2. 点击Insert Order按钮订票成功订票成功021选票测试票数少于等于101. 在Name中输入大家2. Tickets输入103. 点击Insert Order按钮订票成功订票成功022选票测试票数大于101. 在Name中输入大家2. Tickets输入203. 点击Insert Order按钮订票成功Only teb tickets may be ordered at one time023其他按钮测试更改信息1. 正确订票后2. 修改界面中任何一处信息至新的错误信息3. 点击Update OrderPlease select flight.Please select flight.024其他按钮测试更改信息1. 正确订票后2. 修改界面中任何一处信息至新的正确信息3. 点击Update Order更新成功更新成功025其他按钮测试删除信息1. 正确订票后2. 点击DeleteOrder,弹出Are you sure you want to delete this Order?3. 点击不(N)回到界面,信息不变回到界面,信息不变026其他按钮测试删除信息1. 正确订票后2. 点击DeleteOrder,弹出Are you sure you want to delete this Order?3. 点击是(Y)删除成功,界面为空删除成功,界面为空027其他按钮测试清空输入内容1. 界面中输入任何信息2. 然后点击清空按钮界面信息清空界面信息清空028其他按钮测试打开订票记录1. 点击打开按钮2. 勾选Customer Name3. 输入错误信息4. 然后点击OKNo orders found. Please try againNo orders found. Please try again029其他按钮测试打开订票记录1. 点击打开按钮2. 勾选Customer Name3. 输入信息再去掉4. 再勾去Customer Name5. 然后点击OKUnable to open database to retrieve flight informationUnable to open database to retrieve flight information030其他按钮测试打开订票记录1. 点击打开按钮2. 勾选Customer Name3. 输入正确信息4. 然后点击OK5. 选中弹出的列表项6. 点击OK信息读取到界面中信息读取到界面中031其他按钮测试打开订票记录1. 点击打开按钮2. 勾选Filght Date3. 输入错误日期12/45/124. 然后点击OK5. 点击OKInvalid day Entered. The date should be valid for the given month.Invalid day Entered. The date should be valid for the given month.032其他按钮测试打开订票记录1. 点击打开按钮2. 勾选Filght Date3. 输入日期12/21/134. 然后点击OK5. 点击OKNo orders found. Please try againNo orders found. Please try again033其他按钮测试打开订票记录1. 点击打开按钮2. 勾选Filght Date3. 输入正确日期11/13/154. 点击OK5. 弹出符号日期列表6. 选中列表项7. 然后点击OK信息读取到界面中信息读取到界面中034其他按钮测试打开订票记录1. 点击打开按钮2. 勾选Order No.3. 输入错误编号234. 然后点击OKOrder number 23 does not existOrder number 23 does not exis035其他按钮测试打开订票记录1. 点击打开按钮2. 勾选Order No.3. 输入正确编号134. 然后点击OK信息读取到界面中信息读取到界面中036其他按钮测试删除记录1. 正确订票后2. 点弹出Are you sure you want to delete this Order?3. 点击是(Y)删除成功,界面为空删除成功,界面为空037其他按钮测试订票图表1.点击按钮弹出柱状图弹出柱状图038其他按钮测试查看所有订票信息1.点击按钮弹出所有订票信息的text文档弹出所有订票信息的text文档039其他按钮测试查看帮助信息1.点击按钮弹出帮助CHM文档弹出帮助CHM文档040菜单测试File菜单测试点击1. 在界面中输入任何信息2. 点击File菜单,弹出下拉3. 点击New Order信息被清空信息被清空041菜单测试File菜单测试点击1. 点击File菜单,弹出下拉2. 点击Open Order弹出按钮一样的效果弹出按钮一样的效果042菜单测试Edit菜单测试点击1. 点击Edit菜单,弹出下拉2. 点击Copy3. 点击Past无任何效果无任何效果043菜单测试Edit菜单测试点击1. 在界面中输入信息2. 并选择信息内容3. 点击Edit菜单,弹出下拉4. 点击Copy5. 连续点击2次Past界面输入框中显示123123界面输入框中显示123123044菜单测试Edit菜单测试点击1. 在界面中输入信息,并选择信息内容2. 点击Edit菜单3. 弹出下拉4. 点击Cut界面输入框中的信息被剪切了界面输入框中的信息被剪切了045菜单测试Analysis菜单测试点击1. 点击菜单Analysis,弹出下拉2. 点击Reports弹出按钮一样的效果弹出按钮一样的效果046菜单测试Analysis菜单测试点击1. 点击菜单Analysis,弹出下拉2. 点击Graphs弹出按钮一样的效果弹出按钮一样的效果047菜单测试Analysis菜单测试点击1. 点击菜单Help,弹出下拉2. 点击Contents弹出按钮一样的效果弹出按钮一样的效果048菜单测试Analysis菜单测试点击1. 点击菜单Help,弹出下拉2. 点击About弹出Mercury相关信息窗口弹出Mercury相关信息窗口3) QTP脚本开发i. 登录脚本Dim outputvalueDim istatusDialog(Login).WinButton(Help).ClickDialog(Login).Dialog(Flight Reservations).WinButton(确定).ClickDialog(Login).WinEdit(Agent Name:).Set DataTable(Username, dtGlobalSheet)Dialog(Login).WinEdit(Password:).Set DataTable(Password, dtGlobalSheet)Dialog(Login).WinButton(OK).Clickistatus = DataTable(Static, dtGlobalSheet)outputvalue = Dialog(Login).Dialog(Flight Reservations).Static(Static).GetROProperty(text)If outputvalue istatus Then reporter.ReportEvent 1,登录功能测试,登录信息正确性未进行验证,期望值为:+istatus+,实际提示信息为:+outputvalue else reporter.ReportEvent 0,登录功能测试,测试成功! End IfDialog(Login).Dialog(Flight Reservations).WinButton(确定).Clickii. 订票脚本Dim dateTargetDim ticketTargetDim staticsdateTarget = 0ticketTarget = 0由于QTP提示的时间输入系统当前日期,所以运行程序前,请把系统时间改为2012.06.03能用date获取当前系统日期,但是获取结果是06/03/2012,无法与订票日期06/03/12进行对比statics = DataTable(Static, dtGlobalSheet)Window(Flight Reservation).ActiveX(MaskEdBox).Click 0,6Window(Flight Reservation).ActiveX(MaskEdBox).Type DataTable(Date, dtGlobalSheet)Window(Flight Reservation).WinComboBox(Fly From:).Select RandomNumber(0, 5)在点击Fly From下拉框时就可以初步判断日期是否输入正确,有弹出提示窗口即有误If Window(Flight Reservation).Dialog(Flight Reservations).Exist(2) Then dateTarget = 1result = Window(Flight Reservation).Dialog(Flight Reservations).Static(Static).GetROProperty(text)If statics result Then reporter.ReportEvent 1,输入日期测试,输入日期测试失败,期望值为:+statics+,实际提示信息为:+resultelse reporter.ReportEvent 0,输入日期测试,测试成功,日期非法,不能为: + DataTable(Date, dtGlobalSheet)End IfWindow(Flight Reservation).Dialog(Flight Reservations).WinButton(确定).ClickEnd If日期输入正确情况下执行下面语句,错误则跳过If dateTarget 1 Then Window(Flight Reservation).WinComboBox(Fly From:).Select RandomNumber(0, 5)Window(Flight Reservation).WinComboBox(Fly To:).Select RandomNumber(0, 5)Window(Flight Reservation).WinButton(FLIGHT).ClickWindow(Flight Reservation).Dialog(Flights Table).WinList(From).Select RandomNumber(0, 10)Window(Flight Reservation).Dialog(Flights Table).WinButton(OK).ClickWindow(Flight Reservation).WinEdit(Name:).Set DataTable(Name, dtGlobalSheet)Window(Flight Reservation).WinRadioButton(Business).SetWindow(Flight Reservation).WinEdit(Tickets:).SetSelection 0,1Window(Flight Reservation).WinEdit(Tickets:).Set DataTable(Tickets, dtGlobalSheet)Window(Flight Reservation).WinButton(Insert Order).Click判断是否弹出提示窗口,弹出则是Tickets输入有误If Window(Flight Reservation).Dialog(Flight Reservations).Exist(2) Then ticketTarget = 1result = Window(Flight Reservation).Dialog(Flight Reservations).Static(Static).GetROProperty(text)If statics result Thenreporter.ReportEvent 1,输入订票数测试,输入订票数失败,期望值为:+statics+,实际提示信息为:+resultEnd If Window(Flight Reservation).Dialog(Flight Reservations).WinButton(确定).Clickelsereporter.ReportEvent 0,输入订票数测试,测试成功,成功订票 End ifEnd If最后测试下姓名填写,系统对姓名没做限制,但是我们期望有限制If statics = Name输入错误 Thenreporter.ReportEvent 1,输入名字测试,输入名字失败,期望值报错为:+statics+,实际不提示信息End IfWindow(Flight Reservation).WinButton(Button).Clickiii. 其他按钮脚本插入并修改第一条信息Window(Flight Reservation).ActiveX(MaskEdBox).Click 1,5Window(Flight Reservation).ActiveX(MaskEdBox).Type 111115Window(Flight Reservation).WinComboBox(Fly From:).Select FrankfurtWindow(Flight Reservation).WinComboBox(Fly To:).Select LondonWindow(Flight Reservation).WinButton(FLIGHT).ClickWindow(Flight Reservation).Dialog(Flights Table).WinList(From).Activate 13512 FRA 12:48 PM LON 01:33 PM SR $161.70Window(Flight Reservation).WinEdit(Name:).Set 家Window(Flight Reservation).WinButton(Insert Order).ClickWindow(Flight Reservation).WinEdit(Name:).Set 大家Window(Flight Reservation).WinButton(Update Order).Click插入第二条信息Window(Flight Reservation).WinButton(Button_3).ClickWindow(Flight Reservation).ActiveX(MaskEdBox).Click 1,5Window(Flight Reservation).ActiveX(MaskEdBox).Type 111115Window(Flight Reservation).WinComboBox(Fly From:).Select FrankfurtWindow(Flight Reservation).WinComboBox(Fly To:).Select LondonWindow(Flight Reservation).WinButton(FLIGHT).ClickWindow(Flight Reservation).Dialog(Flights Table).WinList(From).Activate 13512 FRA 12:48 PM LON 01:33 PM SR $161.70Window(Flight Reservation).WinEdit(Name:).Set 大家Window(Flight Reservation).WinButton(Insert Order).Click插入第三条信息Window(Flight Reservation).WinButton(Button_3).ClickWindow(Flight Reservation).ActiveX(MaskEdBox).Click 1,5Window(Flight Reservation).ActiveX(MaskEdBox).Type 111115Window(Flight Reservation).WinComboBox(Fly From:).Select FrankfurtWindow(Flight Reservation).WinComboBox(Fly To:).Select LondonWindow(Flight Reservation).WinButton(FLIGHT).ClickWindow(Flight Reservation).Dialog(Flights Table).WinList(From).Activate 13512 FRA 12:48 PM LON 01:33 PM SR $161.70Window(Flight Reservation).WinEdit(Name:).Set 大家Window(Flight Reservation).WinButton(Insert Order).Click插入第四条信息Window(Flight Reservation).WinButton(Button_3).ClickWindow(Flight Reservation).ActiveX(MaskEdBox).Click 1,5Window(Flight Reservation).ActiveX(MaskEdBox).Type 111115Window(Flight Reservation).WinComboBox(Fly From:).Select FrankfurtWindow(Flight Reservation).WinComboBox(Fly To:).Select LondonWindow(Flight Reservation).WinButton(FLIGHT).ClickWindow(Flight Reservation).Dialog(Flights Table).WinList(From).Activate 13512 FRA 12:48 PM LON 01:33 PM SR $161.70Window(Flight Reservation).WinEdit(Name:).Set 大家Window(Flight Reservation).WinButton(Insert Order).Click打开信息Window(Flight Reservation).WinButton(Button).ClickWindow(Flight Reservation).Dialog(Open Order).WinCheckBox(Customer Name).Set ONWindow(Flight Reservation).Dialog(Open Order).WinEdit(Edit).Set 大家Window(Flight Reservation).Dialog(Open Order).WinButton(OK).ClickWindow(Flight Reservation).Dialog(Open Order).Dialog(Search Results).WinList(Flight No.).Activate RandomNumber(0, 2)使用X按钮删除信息Window(Flight Reservation).WinButton(Button_2).ClickWindow(Flight Reservation).Dialog(Flight Reservations).WinButton(是(Y).Click使用日期打开信息Window(Flight Reservation).WinButton(Button).ClickWindow(Flight Reservation).Dialog(Open Order).WinCheckBox(Flight Date).Set ONWindow(Flight Reservation).Dialog(Open Order).ActiveX(MaskEdBox).Type 111115Window(Flight Reservation).Dialog(Open Order).WinButton(OK).ClickWindow(Flight Reservation).Dialog(Open Order).Dialog(Search Results).WinList(Flight No.).Activate RandomNumber(0, 1)Window(Flight Reservation).WinMenu(Menu).Select File;New Order柱状图按钮Window(Flight Reservation).WinButton(Button_4).ClickWindow(Flight Reservation).Dialog(Graph).MaximizeWindow(Flight Reservation).Dialog(Graph).RestoreWindow(Flight Reservation).Dialog(Graph).Close所有订票信息按钮Window(Flight Reservation).WinButton(Button_5).ClickWindow(记事本).Close帮助按钮Window(Flight Reservation).ActiveX(MaskEdBox).Click 1,5Window(Flight Reservation).WinButton(Button_6).ClickWindow(Flight Reservation Help).Close菜单打开所有订票信息Window(Flight Reservation).ActiveX(MaskEdBox).Click 1,5Window(Flight Reservation).WinMenu(Menu).Select Analysis;Reports.Window(记事本).Close菜单打开订票柱状图Window(Flight Reservation).ActiveX(MaskEdBox).Click 1,5Window(Flight Reservation).WinMenu(Menu).Select Analysis;Graphs.Window(Flight Reservation).Dialog(Graph).Close菜单打开帮助Window(Flight Reservation).ActiveX(MaskEdBox).Click 1,5Window(Flight Reservation).WinMenu(Menu).Select Help;ContentsWindow(Flight Reservation Help).Close菜单打开关于信息Window(Flight Reservation).ActiveX(MaskEdBox).Click 1,5Window(Flight Reservation).WinMenu(Menu).Select Help;About.Window(Flight Reservation).Dialog(About Flight Reservation).WinButton(OK).Click使用编号打开订票信息Window(Flight Reservation).ActiveX(MaskEdBox).Click 1,5Window(Flight Reservation).WinMenu(Menu).Select File;Open Order.Window(Flight Reservation).Dialog(Open Order).WinCheckBox(Order No.).Set ON这个编号不准确,运行前请查看编号是否存在Window(Flight Reservation).Dialog(Open Order).WinEdit(Edit_2).Set 15Window(Flight Reservation).Dialog(Open Order).WinButton(OK).Click菜单复制、黏贴按钮测试Window(Flight Reservation).ActiveX(MaskEdBox).Click 1,5Window(Flight Reservati

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论