自动化功能测试技术[精选].ppt
文本预览下载声明
自动化功能测试技术 目 录 1:自动化功能测试背景 软件测试的目的是为了发现尽可能多的缺陷,不是为了说明软件中没有缺陷 由于软件系统的功能增加越来越快,测试难度越来越大,手工测试已经跟不上这种发展趋势。自动化功能测试方法应运而生 自动化功能测试特别适用于回归测试,有效排除人为因素影响,保证测试标准一致,测试结果可重复,并且提高测试效率 1:自动化功能测试意义 自动化测试可以将测试人员从重复枯燥的手工操作中解放出来,让测试人员有更多的精力关注在对被测系统的分析上。测试人员将更加重视测试用例的设计 自动化测试在现阶段不能取代手工测试 凡是重复枯燥的工作,都可以也应该被自动化测试取代 回归测试是使用自动化测试的一个比较适宜的阶段 1:自动化功能测试前提 自动化测试需要在覆盖率和实现成本上找到平衡点。覆盖率越高,实现和维护成本越大。覆盖率低,自动化测试没有实现的价值。针对产品,应该在自动化测试中实现实施测试的关键流程。 自动化测试需要测试人员有一定的软件设计和开发能力,同时也要对被测系统的业务有一定的认识。 自动化测试需要有完善的测试流程和测试策略做保证。 自动化测试的脚本的维护成本比较高。 1:自动化功能测试优势 1:自动化功能测试优势 手工测试 Time-consuming and tedious(费时并单调) Impossible to test each feature thoroughly (不能彻底测试) 自动化测试 Fast (快速) Reliable (可靠) Repeatable (可重复) Programmable(可程序化) Comprehensive (全面) Reusable(可重用) 1:自动化功能测试原理 录制+ 回放 录制:执行具体的业务操作,通过工具形成脚本 完善脚本 添加验证点 添加数据驱动测试 设计各种流程 回放:还原被测试环境,回放脚本,查看日志 工具适用的前提: 能够识别应用的各种对象 1:自动化功能测试实施规划 1:自动化功能测试设计 1:自动化功能测试实现 1:自动化功能测试难点 设计——功能分解 实现——对象识别 1:自动化功能测试功能分解 画出业务流程图 根据业务流程分解业务功能 可以被复用的功能也要分解出来 按照路径覆盖的思想,组织测试用例 1:自动化功能测试对象识别(静态) 1 :自动化功能测试对象识别(静态) 示例: Browser(“creationTime:=0”).Page(“index:=0”).WebEdit(“name:=amount”).Set “1000” 在第一个被创建的IE窗口,查找name属性为amount的输入框,输入数据1000 Browser(“creationTime:=1”).Page(“index:=0”).WebButton(“text:=保存”).Click 在第二个被创建的IE窗口,查找按钮,该按钮上显示的文字是“保存”,点击该按钮 1 :自动化功能测试对象识别(动态) 一个好助手——Object Spy 通过Object Spy可以查看到所需要识别的对象的所有属性值,挑选其中可以唯一识别该对象的一个属性或多个属性,对该对象进行描述。 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的两个属性和值的集合 1 :自动化功能测试工具 WinRunner(原Mercury,现HP) QuickTest Professional (原Mercury,现 HP) Ratio
显示全部