欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    自动化功能测试技术.ppt

    • 资源ID:6601105       资源大小:726KB        全文页数:48页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    自动化功能测试技术.ppt

    1,自动化功能测试技术,2,目 录,自动化功能测试框架,1,QuickTest Pro主要功能,2,QuickTest Pro测试流程,3,4,QuickTest Pro上机实践,3,1:自动化功能测试背景,软件测试的目的是为了发现尽可能多的缺陷,不是为了说明软件中没有缺陷由于软件系统的功能增加越来越快,测试难度越来越大,手工测试已经跟不上这种发展趋势。自动化功能测试方法应运而生自动化功能测试特别适用于回归测试,有效排除人为因素影响,保证测试标准一致,测试结果可重复,并且提高测试效率,4,1:自动化功能测试意义,自动化测试可以将测试人员从重复枯燥的手工操作中解放出来,让测试人员有更多的精力关注在对被测系统的分析上。测试人员将更加重视测试用例的设计自动化测试在现阶段不能取代手工测试凡是重复枯燥的工作,都可以也应该被自动化测试取代回归测试是使用自动化测试的一个比较适宜的阶段,5,1:自动化功能测试前提,自动化测试需要在覆盖率和实现成本上找到平衡点。覆盖率越高,实现和维护成本越大。覆盖率低,自动化测试没有实现的价值。针对产品,应该在自动化测试中实现实施测试的关键流程。自动化测试需要测试人员有一定的软件设计和开发能力,同时也要对被测系统的业务有一定的认识。自动化测试需要有完善的测试流程和测试策略做保证。自动化测试的脚本的维护成本比较高。,6,1:自动化功能测试优势,手工测试,自动化测试,7,1:自动化功能测试优势,手工测试 Time-consuming and tedious(费时并单调)Impossible to test each feature thoroughly(不能彻底测试)自动化测试Fast(快速)Reliable(可靠)Repeatable(可重复)Programmable(可程序化)Comprehensive(全面)Reusable(可重用),8,1:自动化功能测试原理,录制+回放录制:执行具体的业务操作,通过工具形成脚本完善脚本添加验证点添加数据驱动测试设计各种流程回放:还原被测试环境,回放脚本,查看日志工具适用的前提:能够识别应用的各种对象,9,1:自动化功能测试实施规划,阶段一:完成对主要业务的流程覆盖,阶段二:完成对业务的校验和约束,阶段三:应用到更多的业务中去,规模扩大,开发自动化测试框架,降低对测试工具的依赖,使用动作词的自动化测试,第一层次,第二层次,第三层次,层次,阶段,测试自动化程度,10,1:自动化功能测试设计,11,1:自动化功能测试实现,12,1:自动化功能测试难点,设计功能分解实现对象识别,13,1:自动化功能测试功能分解,画出业务流程图根据业务流程分解业务功能可以被复用的功能也要分解出来按照路径覆盖的思想,组织测试用例,14,1:自动化功能测试对象识别(静态),15,1:自动化功能测试对象识别(静态),示例:Browser(“creationTime:=0”).Page(“index:=0”).WebEdit(“name:=amount”).Set“1000”在第一个被创建的IE窗口,查找name属性为amount的输入框,输入数据1000Browser(“creationTime:=1”).Page(“index:=0”).WebButton(“text:=保存”).Click 在第二个被创建的IE窗口,查找按钮,该按钮上显示的文字是“保存”,点击该按钮,16,1:自动化功能测试对象识别(动态),一个好助手Object Spy通过Object Spy可以查看到所需要识别的对象的所有属性值,挑选其中可以唯一识别该对象的一个属性或多个属性,对该对象进行描述。,17,1:自动化功能测试对象识别(动态),GetToProperty:Returns the value of the specified property from the test object description.GetTOProperties:Returns the collection of properties and values used to identify the object.GetROProperty:Returns the current value of the test object property from the object in the application.举个例子:假设在库中有一个对象窗口A,用于识别该对象的属性有2个,一个属性是text,在库中记录的值是QQQQ.另一个属性是name,记录的值是MM在实际运行脚本时属性text的值是PPPP而不是QQQQ那么:Window(窗口A).GetToProperty(text)返回的是:QQQQWindow(窗口A).GetRoProperty(text)返回的是:PPPPWindow(窗口A).GetToProperties(text)返回的是用于识别窗口A的两个属性和值的集合,18,1:自动化功能测试工具,WinRunner(原Mercury,现HP)QuickTest Professional(原Mercury,现 HP)Rational Robot(原Rational,IBM)Rational Functional Tester(原Rational,IBM)SilkTest(原Segue,现Borland),19,2:QuickTest Pro 基本原理,对象库Object Repository是QTP的核心和灵魂,在录制的时候,QTP把操作过的所有对象都记录下来,保存在对象库中,记录的形式是一个逻辑名加上若干识别属性。在执行脚本的某个语句时,QTP分析该脚本语句要对哪个对象操作,根据该语句中的对象逻辑名,在对象库中查找对这个对象的详细记载,然后在运行的真实软件中按图索骥,找到需要操作的对象,把语句规定的操作施加在该对象上。施加的主要动作就是把操作的相关消息事件放入到该对象窗口的消息循环队列中。,20,2:QuickTest Pro 插件,.NETJAVAWeb servicesVisualagePeoplesoftStingraySAPOracleTE(Terminal Emulator)SiebelDelphi,21,22,2.:QuickTest Pro 界面介绍,Test Pane:包括Keyword View 和Expert View两个视图。图中显示的是关键词视图,录制生成的脚本可以在这里很直观的看到,可以在此视图完成参数化的工作。Expert View可以在在此视图中直接修改生成的脚本,适合对VB脚本和QTP的函数比较熟悉的测试人员使用Data Table:就是一个Excel,用于提供自动化测试脚本所需的输入数据或者校验数据。指向测试脚本文件目录下的Default.xls文件。可以直接在Excel中编辑数据Active Screen:录制脚本时生成,记录下Web页面,可以在此完成大量的修改脚本工作,如添加检查点等,23,24,25,26,3:QTP的测试流程,1、设计测试数据2、录制测试脚本3、修改并调试测试脚本4、执行测试脚本5、分析测试结果6、报告发现的缺陷,27,3:QTP的测试流程,分析业务,设计测试用例,决定要校验哪些功能点设计测试用例相关的测试数据决定哪些用例手工执行,哪些用例使用QTP执行合理安排录制脚本的顺序,使生成的脚本复用,28,3:QTP的测试流程,例:现在要测试某个系统登录页面,详细的测试数据如下:,29,3:QTP的测试流程,当在Web页面或者其它的应用程序的GUI上执行操作时,QTP会记录下你的操作步骤,并产生测试脚本,在Keyword View中以表格的方式显示测试脚本的操作步骤(steps)。根据测试数据,执行后生成的脚本如下:,30,3:QTP的测试流程,31,3:QTP的测试流程,添加对象和步骤参数化增加条件控制建立检查点建立输出值分割脚本,32,3:QTP的测试流程,添加对象和步骤如果在我们录制的脚本中,缺少用户名和密码的输入框这两个对象。下面增加用户名和密码的输入框:选中“Plants By WebSphere”这个Page对象,点击insert new step如果你所要添加的控件QTP已经识别过类似的控件,你可以使用这个类似的控件,并且通过修改属性来添加这个新的步骤,如果QTP没有识别过,选择step generator,弹出对话框点击图中的 图标按钮,弹出对话框,点击其中的按钮,鼠标会从箭头变为手型指针,在你要测试页面上选中你要添加步骤所需要的控件用户名和密码的输入框,33,3:QTP的测试流程,添加对象和步骤添加用户名和密码输入框中的值(value),“”是指在输入框中输入空。点击ok,所选对象的属性将被保存到对话框中最后,使用TestUpdate Run方式运行脚本。Update Run方式运行脚本,可以在运行的同时更新Active Screen,checkPoint 以及Test Object。特别是更新Active Screen的功能,手工添加的步骤使用普通方式运行脚本,不会生成Active Screen,这样就无法添加检查点另外,也可以在对象库(Object Reponsitory)中添加对象,34,3:QTP的测试流程,参数化根据测试数据,可以发现,执行的所有操作,只是修改登陆名和密码,所以我们可以把这两个输入值参数化,使得脚本执行时,自动取DataTable的值来运行。调出参数化窗口的方法有两个:在KeyWord View中点击想要被参数化的值,如图中的“test1”,再点击出现的图标,或者使用快捷键“Ctrl+F11”;在 这个输入框对象上,右键,弹出对话框,选择“Object properties”,35,3:QTP的测试流程,参数化参数化时,可以选择使用Global Sheet或者Local Sheet,当把参数化的值放到Global Sheet中,就成为全局变量,放到Local Sheet中后,就是局部变量,只在本Action中可以调用。一般建议使用Local Sheet。Global全局参数:它控制整个Action的运行次数,global里有几行参数,则运行几次脚本。Current Action(Local Sheet):对应于单一的Action的参数,对于一个Action没有实际的意义,而几个Action共同在一个脚本中使用时,就由他来控制单一Action的循环次数。,36,3:QTP的测试流程,增加条件控制If 条件1正确 Then执行语句1ElseIf 条件2正确 Then 执行语句2Else 执行语句3End If可以添加ElseIf子句以扩充 If.Then.Else 语句的功能,可以控制基于多种可能的程序流程,37,3:QTP的测试流程,建立检查点验证在测试运行时应用程序是否可以显示预期的信息,38,3:QTP的测试流程,建立检查点弹出对话框的内容是我们需要校验的重要信息,可以在弹出对话框的文字上添加标准检查点:在Active Screen中显示的弹出对话框的文字上右键,选择“Insert Standard checkpoint”,在弹出框中选择”Static:请输入密码”,然后点击“OK”按钮选中“请输入密码”的字样,然后在Configure value的标签中选中Parameter的单选框,点击 图标按钮在name的输入框中输入你给弹出框内容起的名字,做一个标识,如“校验信息”,这对应到DataTable中的列名。同样,建议使用Local Sheet,39,3:QTP的测试流程,建立输出值与建立检查点类似,可以在Active Screen中右键“Insert Output Value”,操作方式相同。可以把弹出框的信息输出到DataTable中去。,40,3:QTP的测试流程,分割脚本可以把在页面输入和对弹出框的校验分成两个Action。在Keyword View 中,选中弹出对话框的对象,点击“Step”菜单,选择“Spit Action”分别给页面输入和弹出框两个Action命名。点击“OK”按钮这样,原来的一个Action就分成了两个Action。任何一个Action都可以被其它的Action调用。在测试登录的这个例子中,不需要分割Action。,41,3:QTP的测试流程,在DataTable中输入预先设计好的测试数据,然后执行编辑好的测试脚本:Browser(Plants by WebSphere).Page(Plants by WebSphere).Frame(banner).Link(LOGIN).ClickBrowser(Plants by WebSphere).Page(Plants by WebSphere).Frame(work).WebElement(Password:).Check CheckPoint(Password:)Browser(Plants by WebSphere).Page(Plants by WebSphere).Frame(work).WebElement(Password:).Output CheckPoint(Password:_2)Browser(Plants by WebSphere).Page(Plants by WebSphere).Frame(work).WebEdit(userid).Set,42,3:QTP的测试流程,Browser(Plants by WebSphere).Page(Plants by WebSphere).Frame(work).WebEdit(passwd).SetSecure 49a351520f66c3d526bf2effb1e3Browser(Plants by WebSphere).Page(Plants by WebSphere).Frame(work).Image(Sign in).Click 32,12Browser(Plants by WebSphere).Page(Plants by WebSphere).SyncBrowser(Plants by WebSphere).Close在Keyword View 中选中Action,右键,点击“Action Call Properties”,弹出对话框,显示执行本Action的次数。选择“Run on all rows”,执行所有的数据。,43,3:QTP的测试流程,执行完测试数据后,或者意外中断,测试执行结束,就会生成测试报告。测试报告也是一个树形结构,需要注意标记为“X”的报告项。如果有标记为“X”的报告项,可能是执行脚本出错,或者是检查点校验没有通过,可能是一个缺陷。,44,45,3:QTP的测试流程,如果QTP和缺陷管理工具如Test Director以及Quality Center连接起来,就可以把QTP中执行测试用例中发生的错误以及发生错误时的截图发到缺陷管理工具中去,生成缺陷报告。,46,4:QTP上机实践,参考QTP上机实习,47,自动化功能测试应用分析,有图形用户界面的应用系统需求变化不大的核心流程需求变化不大的主要功能点覆盖率要求高的主要动能点适合于回归次数多的测试策略自动化测试实现案例复用技术,48,问题与讨论,

    注意事项

    本文(自动化功能测试技术.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开