自动化功能测试技术.ppt

上传人:wuy****n92 文档编号:91501819 上传时间:2023-05-27 格式:PPT 页数:48 大小:726KB
返回 下载 相关 举报
自动化功能测试技术.ppt_第1页
第1页 / 共48页
自动化功能测试技术.ppt_第2页
第2页 / 共48页
点击查看更多>>
资源描述

《自动化功能测试技术.ppt》由会员分享,可在线阅读,更多相关《自动化功能测试技术.ppt(48页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、自动化功能测试技术1目目 录录自动化功能测试框架自动化功能测试框架1QuickTest Pro主要功能主要功能2QuickTest Pro测试流程测试流程34QuickTest Pro上机实践上机实践21:自动化功能测试背景:自动化功能测试背景l软件测试的目的是为了发现尽可能多的缺陷,不是为了说明软件中没有缺陷l由于软件系统的功能增加越来越快,测试难度越来越大,手工测试已经跟不上这种发展趋势。自动化功能测试方法应运而生l自动化功能测试特别适用于回归测试,有效排除人为因素影响,保证测试标准一致,测试结果可重复,并且提高测试效率31:自动化功能测试意义:自动化功能测试意义l自动化测试可以将测试人员

2、从重复枯燥的手工操作中解放出来,让测试人员有更多的精力关注在对被测系统的分析上。测试人员将更加重视测试用例的设计l自动化测试在现阶段不能取代手工测试l凡是重复枯燥的工作,都可以也应该被自动化测试取代l回归测试是使用自动化测试的一个比较适宜的阶段41:自动化功能测试前提:自动化功能测试前提l自动化测试需要在覆盖率和实现成本上找到平衡点。覆盖率越高,实现和维护成本越大。覆盖率低,自动化测试没有实现的价值。针对产品,应该在自动化测试中实现实施测试的关键流程。l自动化测试需要测试人员有一定的软件设计和开发能力,同时也要对被测系统的业务有一定的认识。l自动化测试需要有完善的测试流程和测试策略做保证。l自

3、动化测试的脚本的维护成本比较高。51:自动化功能测试优势:自动化功能测试优势l手工测试手工测试 测试用例测试用例测试用例测试用例1输入数据2操作3预期结果1业务数据2业务功能实现业务功能所所占占用用的的时时间间所所占占用用的的时时间间l自动化测试自动化测试 61:自动化功能测试优势自动化功能测试优势l手工测试Time-consumingandtedious(费时并单调)Impossibletotesteachfeaturethoroughly(不能彻底测试)l自动化测试lFast(快速)lReliable(可靠)lRepeatable(可重复)lProgrammable(可程序化)lCompr

4、ehensive(全面)lReusable(可重用)71:自动化功能测试原理自动化功能测试原理l录制+回放l录制:执行具体的业务操作,通过工具形成脚本l完善脚本l添加验证点l添加数据驱动测试l设计各种流程l回放:还原被测试环境,回放脚本,查看日志l工具适用的前提:l能够识别应用的各种对象81:自动化功能测试实施规划自动化功能测试实施规划阶段一:完成对主要业务的流程覆盖阶段二:完成对业务的校验和约束阶段三:应用到更多的业务中去,规模扩大开发自动化测试框架,降低对测试工具的依赖使用动作词的自动化测试第一层次第二层次第三层次层次阶段测试自动化程度91:自动化功能测试设计自动化功能测试设计101:自动

5、化功能测试实现自动化功能测试实现111:自动化功能测试难点自动化功能测试难点1.设计功能分解2.实现对象识别121:自动化功能测试功能分解自动化功能测试功能分解l画出业务流程图l根据业务流程分解业务功能l可以被复用的功能也要分解出来l按照路径覆盖的思想,组织测试用例131:自动化功能测试对象识别自动化功能测试对象识别(静态静态)序号序号WebWeb对象对象推荐识别属性推荐识别属性方法方法1 1BrowserBrowsercreationTimecreationTime2 2PagePageindexindex3 3FrameFramenamename4 4WebTableWebTablenam

6、ename5 5WebEditWebEditnamenameSetSet6 6WebButtonWebButtontexttextClickClick7 7WebListWebListnamenameSelectSelect8 8LinkLinktexttextClickClick9 9ImageImagenamename1010WebCheckBoxWebCheckBoxnamename1111WebRadioGroupWebRadioGroupnamename1212WebElementWebElementinnertext/html taginnertext/html tag1313Di

7、alogDialogtexttext1414WinButtonWinButtontexttext141:自动化功能测试对象识别自动化功能测试对象识别(静态静态)l示例:示例:1.Browser(“creationTime:=0”).Page(“index:=0”).WebEdit(“name:=amount”).Set“1000”2.在第一个被创建的IE窗口,查找name属性为amount的输入框,输入数据10002.Browser(“creationTime:=1”).Page(“index:=0”).WebButton(“text:=保存”).Click在第二个被创建的IE窗口,查找按钮,

8、该按钮上显示的文字是“保存”,点击该按钮151:自动化功能测试对象识别自动化功能测试对象识别(动态动态)l一个好助手ObjectSpyl通过ObjectSpy可以查看到所需要识别的对象的所有属性值,挑选其中可以唯一识别该对象的一个属性或多个属性,对该对象进行描述。161:自动化功能测试对象识别自动化功能测试对象识别(动态动态)lGetToProperty:Returnsthevalueofthespecifiedpropertyfromthetestobjectdescription.GetTOProperties:Returnsthecollectionofpropertiesandvalu

9、esusedtoidentifytheobject.GetROProperty:Returnsthecurrentvalueofthetestobjectpropertyfromtheobjectintheapplication.l举个例子:假设在库中有一个对象窗口A,用于识别该对象的属性有2个,一个属性是text,在库中记录的值是QQQQ.另一个属性是name,记录的值是MM在实际运行脚本时属性text的值是PPPP而不是QQQQ那么:Window(窗口A).GetToProperty(text)返回的是:QQQQWindow(窗口A).GetRoProperty(text)返回的是:PPP

10、PWindow(窗口A).GetToProperties(text)返回的是用于识别窗口A的两个属性和值的集合171:自动化功能测试工具自动化功能测试工具lWinRunner(原Mercury,现HP)lQuickTestProfessional(原Mercury,现HP)lRationalRobot(原Rational,IBM)lRationalFunctionalTester(原Rational,IBM)lSilkTest(原Segue,现Borland)l182:QuickTest Pro 基本原理基本原理l对象库ObjectRepository是QTP的核心和灵魂,在录制的时候,QTP

11、把操作过的所有对象都记录下来,保存在对象库中,记录的形式是一个逻辑名加上若干识别属性。l在执行脚本的某个语句时,QTP分析该脚本语句要对哪个对象操作,根据该语句中的对象逻辑名,在对象库中查找对这个对象的详细记载,然后在运行的真实软件中按图索骥,找到需要操作的对象,把语句规定的操作施加在该对象上。施加的主要动作就是把操作的相关消息事件放入到该对象窗口的消息循环队列中。192:QuickTest Pro 插件插件l.NETlJAVAlWebserviceslVisualagelPeoplesoftlStingraylSAPlOraclelTE(TerminalEmulator)lSiebellDe

12、lphi20项目项目开发环境开发环境Web-Related EnvironmentsWeb-Related EnvironmentsIE,Netscape,AOLIE,Netscape,AOLJDK,Java Foundation Classes,AWTJDK,Java Foundation Classes,AWTSymantec Visual CafSymantec Visual CafActiveX ControlsActiveX ControlsERP/CRMERP/CRMOracle:Jinitiator,11i,NCAOracle:Jinitiator,11i,NCASAPSAPSi

13、ebel 7.xSiebel 7.xPeopleSoft 8.xPeopleSoft 8.xCustom Client ServerCustom Client ServerWindowsWindowsC+/CC+/CVisual BasicVisual BasicOperating SystemsOperating SystemsWindows 98,2000,NT,ME,XPWindows 98,2000,NT,ME,XPLegacyLegacy3270,5250 Emulators3270,5250 EmulatorsVT100VT100.Net.NetWinFormsWinFormsWe

14、bFormsWebForms.Net controls.Net controlsWeb ServicesWeb ServicesXML,HTTPXML,HTTPWSDL,SOAPWSDL,SOAPJ2EE,.NetJ2EE,.NetMultimediaMultimediaRealAudio/VideoRealAudio/VideoFlashFlash212.:QuickTest Pro 界面介绍界面介绍lTestPane:包括KeywordView和ExpertView两个视图。图中显示的是关键词视图,录制生成的脚本可以在这里很直观的看到,可以在此视图完成参数化的工作。ExpertView可以

15、在在此视图中直接修改生成的脚本,适合对VB脚本和QTP的函数比较熟悉的测试人员使用lDataTable:就是一个Excel,用于提供自动化测试脚本所需的输入数据或者校验数据。指向测试脚本文件目录下的Default.xls文件。可以直接在Excel中编辑数据lActiveScreen:录制脚本时生成,记录下Web页面,可以在此完成大量的修改脚本工作,如添加检查点等222324253:QTP的测试流程的测试流程1、设计测试数据、设计测试数据2、录制测试脚本、录制测试脚本3、修改并调试测试脚本、修改并调试测试脚本4、执行测试脚本、执行测试脚本5、分析测试结果、分析测试结果6、报告发现的缺陷、报告发现

16、的缺陷263:QTP的测试流程的测试流程l分析业务,设计测试用例,决定要校验哪些功能点l设计测试用例相关的测试数据l决定哪些用例手工执行,哪些用例使用QTP执行l合理安排录制脚本的顺序,使生成的脚本复用273:QTP的测试流程的测试流程步步骤骤原始数据原始数据输输入入执执行行动动作作预预期期结结果果1用用户户名:名:密密码为码为test用用户户名:空名:空密密码码:空:空提交提交弹弹出出对话对话框,提示框,提示“all required fields must be filled in”2用用户户名:名:1密密码码:空:空提交提交弹弹出出对话对话框框“all required fields m

17、ust be filled in”3用用户户名:空名:空密密码码:1提交提交弹弹出出对话对话框框“all required fields must be filled in”4用用户户名:名:密密码码:1提交提交提示提示“Password does not match for:”5用用户户名:名:test密密码码:test提交提交提示提示“Could not find account for:test”6用用户户名:名:密密码码:test提交提交登登录录成功成功例:现在要测试某个系统登录页面,详细的测试数据如下:例:现在要测试某个系统登录页面,详细的测试数据如下:283:QTP的测试流程的测试

18、流程当在Web页面或者其它的应用程序的GUI上执行操作时,QTP会记录下你的操作步骤,并产生测试脚本,在KeywordView中以表格的方式显示测试脚本的操作步骤(steps)。根据测试数据,执行后生成的脚本如下:293:QTP的测试流程的测试流程303:QTP的测试流程的测试流程l添加对象和步骤添加对象和步骤l参数化参数化l增加条件控制增加条件控制l建立检查点建立检查点l建立输出值建立输出值l分割脚本分割脚本313:QTP的测试流程的测试流程l添加对象和步骤添加对象和步骤如果在我们录制的脚本中,缺少用户名和密码的输入框这两个对象。下面增加用户名和密码的输入框:选中“PlantsByWebSp

19、here”这个Page对象,点击insertnewstep如果你所要添加的控件QTP已经识别过类似的控件,你可以使用这个类似的控件,并且通过修改属性来添加这个新的步骤,如果QTP没有识别过,选择stepgenerator,弹出对话框点击图中的图标按钮,弹出对话框,点击其中的按钮,鼠标会从箭头变为手型指针,在你要测试页面上选中你要添加步骤所需要的控件用户名和密码的输入框323:QTP的测试流程的测试流程l添加对象和步骤添加对象和步骤添加用户名和密码输入框中的值(value),“”是指在输入框中输入空。点击ok,所选对象的属性将被保存到对话框中最后,使用TestUpdateRun方式运行脚本。Up

20、dateRun方式运行脚本,可以在运行的同时更新ActiveScreen,checkPoint以及TestObject。特别是更新ActiveScreen的功能,手工添加的步骤使用普通方式运行脚本,不会生成ActiveScreen,这样就无法添加检查点另外,也可以在对象库(ObjectReponsitory)中添加对象333:QTP的测试流程的测试流程l参数化参数化l根据测试数据,可以发现,执行的所有操作,只是修改登陆名和密码,所以我们可以把这两个输入值参数化,使得脚本执行时,自动取DataTable的值来运行。调出参数化窗口的方法有两个:在KeyWordView中点击想要被参数化的值,如图中

21、的“test1”,再点击出现的图标,或者使用快捷键“Ctrl+F11”;在这个输入框对象上,右键,弹出对话框,选择“Objectproperties”343:QTP的测试流程的测试流程l参数化参数化l参数化时,可以选择使用GlobalSheet或者LocalSheet,当把参数化的值放到GlobalSheet中,就成为全局变量,放到LocalSheet中后,就是局部变量,只在本Action中可以调用。一般建议使用LocalSheet。Global全局参数:它控制整个Action的运行次数,global里有几行参数,则运行几次脚本。CurrentAction(LocalSheet):对应于单一的

22、Action的参数,对于一个Action没有实际的意义,而几个Action共同在一个脚本中使用时,就由他来控制单一Action的循环次数。353:QTP的测试流程的测试流程l增加条件控制增加条件控制If 条件1正确Then执行语句1ElseIf 条件2正确 Then 执行语句2Else 执行语句3End If可以添加ElseIf子句以扩充If.Then.Else语句的功能,可以控制基于多种可能的程序流程363:QTP的测试流程的测试流程l建立检查点建立检查点验证在测试运行时应用程序是否可以显示预期的信息373:QTP的测试流程的测试流程l建立检查点建立检查点l弹出对话框的内容是我们需要校验的重

23、要信息,可以在弹出对话框的文字上添加标准检查点:在ActiveScreen中显示的弹出对话框的文字上右键,选择“InsertStandardcheckpoint”,在弹出框中选择”Static:请输入密码”,然后点击“OK”按钮选中“请输入密码”的字样,然后在Configurevalue的标签中选中Parameter的单选框,点击图标按钮在name的输入框中输入你给弹出框内容起的名字,做一个标识,如“校验信息”,这对应到DataTable中的列名。同样,建议使用LocalSheet383:QTP的测试流程的测试流程l建立输出值建立输出值与建立检查点类似,可以在ActiveScreen中右键“I

24、nsertOutputValue”,操作方式相同。可以把弹出框的信息输出到DataTable中去。393:QTP的测试流程的测试流程l分割脚本分割脚本l可以把在页面输入和对弹出框的校验分成两个Action。在KeywordView中,选中弹出对话框的对象,点击“Step”菜单,选择“SpitAction”分别给页面输入和弹出框两个Action命名。点击“OK”按钮l这样,原来的一个Action就分成了两个Action。任何一个Action都可以被其它的Action调用。l在测试登录的这个例子中,不需要分割Action。403:QTP的测试流程的测试流程l在DataTable中输入预先设计好的测

25、试数据,然后执行编辑好的测试脚本:lBrowser(PlantsbyWebSphere).Page(PlantsbyWebSphere).Frame(banner).Link(LOGIN).ClicklBrowser(PlantsbyWebSphere).Page(PlantsbyWebSphere).Frame(work).WebElement(Password:).CheckCheckPoint(Password:)lBrowser(PlantsbyWebSphere).Page(PlantsbyWebSphere).Frame(work).WebElement(Password:).Ou

26、tputCheckPoint(Password:_2)lBrowser(PlantsbyWebSphere).Page(PlantsbyWebSphere).Frame(work).WebEdit(userid).Set413:QTP的测试流程的测试流程lBrowser(PlantsbyWebSphere).Page(PlantsbyWebSphere).Frame(work).WebEdit(passwd).SetSecure49a351520f66c3d526bf2effb1e3lBrowser(PlantsbyWebSphere).Page(PlantsbyWebSphere).Fram

27、e(work).Image(Signin).Click32,12lBrowser(PlantsbyWebSphere).Page(PlantsbyWebSphere).SynclBrowser(PlantsbyWebSphere).Closel在KeywordView中选中Action,右键,点击“ActionCallProperties”,弹出对话框,显示执行本Action的次数。选择“Runonallrows”,执行所有的数据。423:QTP的测试流程的测试流程执行完测试数据后,或者意外中断,测试执行结束,就会生成测试报告。测试报告也是一个树形结构,需要注意标记为“X”的报告项。如果有标记为“X”的报告项,可能是执行脚本出错,或者是检查点校验没有通过,可能是一个缺陷。43443:QTP的测试流程的测试流程如果QTP和缺陷管理工具如TestDirector以及QualityCenter连接起来,就可以把QTP中执行测试用例中发生的错误以及发生错误时的截图发到缺陷管理工具中去,生成缺陷报告。454:QTP上机实践上机实践参考QTP上机实习46自动化功能测试应用分析自动化功能测试应用分析l有图形用户界面的应用系统l需求变化不大的核心流程l需求变化不大的主要功能点l覆盖率要求高的主要动能点l适合于回归次数多的测试策略l自动化测试实现案例复用技术4748

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com