第11章自动化测试华东交通大学软件学院2第11章自动化测试本章重点为什么提倡测试自动化?自动化测试应纠正的错误认识。自动化测试实施的一般步骤。常用的自动化测试工具。华东交通大学软件学院311.1自动化测试概述定义是通过测试工具、测试脚本(TestScripts)等手段,按照测试工程师的预定计划对软件产品进行自动的测试,从而验证软件是否满足用户的需求。华东交通大学软件学院411.1自动化测试概述优势和局限性优势在时间方面在成本方面在质量方面在人际沟通方面华东交通大学软件学院511.1自动化测试概述优势和局限性局限性:在以下方面不适用周期短的项目定制型的项目业务规则复杂的项目硬件测试易用性测试华东交通大学软件学院611.2认识的误区自动化测试可以完全替代手工测试;自动化测试可以大大提高缺陷的发现率;自动化测试可以实现100%的测试覆盖率;自动化测试工具很容易掌握;自动化测试可以立即降低测试工作量,加快测试进度。华东交通大学软件学院711.3自动化测试的实施需解决的问题自动化测试的最终目标是什么?能否自动验证结果,如何验证?站在巨人肩上,还是从零开始?华东交通大学软件学院811.3自动化测试的实施自动化测试的一般过程(公司级)公司从资金和管理上给予支持;成立专门的测试团队来建立自动化测试的流程和测试体系;将源代码从版本库中取出、编译、集成、发布和自动化测试。华东交通大学软件学院911.3自动化测试的实施自动化测试的一般过程(团队级)明确需求获取测试用例和脚本脚本独立输入输出便于管理结果验证确保正确良好的测试执行控制执行和分析脚本华东交通大学软件学院1011.3自动化测试的实施提高自动化测试的水平手工设计测试用例设计学习开发语言学习测试脚本语言在测试工作中总结出需要自动化的手工测试类型自己开发测试代码实现自动化测试学习使用测试工具实现自动化测试综合运用测试技术华东交通大学软件学院1111.4测试工具测试工具分类功能测试工具性能测试工具白盒测试工具测试管理工具华东交通大学软件学院1211.4测试工具主流的测试工具MI公司WinRunner,LoadRunner,TD,QTPRational公司Robot,PurifyPlus,TestManager,CQCompuware公司QARun,QALoad,DevPartner,QACenter,TrackRecord华东交通大学软件学院1311.4测试工具测试工具的选择功能与操作系统和开发工具兼容测试工具的集成能力报表统计功能连续性价格华东交通大学软件学院1411.5WinRunner功能简介轻松创建测试设置检查点进行数据校验分析结果测试的维护华东交通大学软件学院1511.5WinRunner测试流程华东交通大学软件学院1611.5WinRunnerWinRunner的执行华东交通大学软件学院1711.5WinRunnerWinRunner的执行华东交通大学软件学院1811.5WinRunnerWinRunner的执行华东交通大学软件学院1911.5WinRunnerWinRunner范例程序:Flight4A华东交通大学软件学院2011.5WinRunnerWinRunner范例程序华东交通大学软件学院2111.5WinRunnerGUI对象的识别什么是GUI对象为何需要预先识别GUI对象如何识别GUI对象使用logicalnames通常是对象的物理描述(physicaldescription)的昵称华东交通大学软件学院2211.5WinRunnerGUI对象的识别使用GUISpy华东交通大学软件学院2311.5WinRunnerGUI对象的识别使用GUISpy实践:识别Flight4A登录窗口的Cancel按钮华东交通大学软件学院2411.5WinRunnerGUI对象的识别使用GUISpy实践:识别Flight4A登录窗口的Cancel按钮华东交通大学软件学院2511.5WinRunnerGUI对象的识别测试脚本GUI映射被测应用程序华东交通大学软件学院2611.5WinRunnerGUI对象的识别设定GUIMap模式GUIMapFileperTestGlobalGUIMapFile(默认设置)华东交通大学软件学院2711.5WinRunnerGUI对象的识别设定GUIMap模式华东交通大学软件学院2811.5WinRunnerGUI对象的识别RapidTestScriptWizard实践:快速识别Flgiht4A华东交通大学软件学院2911.5WinRunnerGUI对象的识别RapidTestScriptWizard华东交通大学软件学院3011.5WinRunnerGUI对象的识别RapidTestScriptWizard华东交通大学软件学院3111.5WinRunnerGUI对象的识别RapidTestScriptWizard华东交通大学软件学院3211.5WinRunnerGUI对象的识别RapidTestScriptWizard华东交通大学软件学院3311.5WinRunnerGUI对象的识别RapidTestScriptWizard华东交通大学软件学院3411.5WinRunnerGUI对象的识别RapidTestScriptWizard华东交通大学软件学院3511.5WinRunnerGUI对象的识别RapidTestScriptWizard华东交通大学软件学院3611.5WinRunnerGUI对象的识别RapidTestScriptWizard华东交通大学软件学院3711.5WinRunner测试脚本的录制和回放两种录制模式ContextSensitive通过识别GUI对象来记录在被测应用中执行的操作。Analog记录键盘的输入、鼠标的点击和鼠标指针在屏幕上移动轨迹的x,y坐标。华东交通大学软件学院3811.5WinRunner测试脚本的录制和回放实践:以ContextSensitive方式录制测试脚本。打开Flight4A打开2号订单打开传真订单窗口填写传真号,并进行数字签名取消数字签名保存脚本文件华东交通大学软件学院3911.5WinRunner测试脚本的录制和回放实践:以Analog方式录制测试脚本。接前,移动窗口设定Analog录制方式再次进行数字签名切换录制方式发送该订单保存脚本文件华东交通大学软件学院4011.5WinRunner测试脚本的录制和回放回放测试脚本华东交通大学软件学院4111.5WinRunner测试脚本的录制和回放回放测试脚本华东交通大学软件学院4211.5WinRunner测试脚本的录制和回放3种执行模式VerifyRunModeDebugRunModeUpdateRunMode华东交通大学软件学院4311.5WinRunner对象检查点3种方式单个属性的检查点(Forsingleproperty)单个对象的检查点(ForObject/Window)多个对象的检查点(ForMultipleObjects)华东交通大学软件学院4411.5WinRunner实践:单个属性的对象检查点打开Flight4A打开【OpenOrder】窗口设置【OK】按钮的单个属性检查点(更改默认选定的属性和预期值)保存脚本文件华东交通大学软件学院4511.5WinRunner实践:单个对象的检查点打开Flight4A打开【OpenOrder】窗口设置【OrderNo】编辑框的检查点(选择默认设置)设置【OrderNo】编辑框的另一个自定义的检查点保存脚本文件华东交通大学软件学院4611.5WinRunner实践:多个对象的检查点打开Flight4A打开【OpenOrder】窗口设置【CustomerName】和【FlightDate】编辑框的检查点(选择默认设置)保存脚本文件华东交通大学软件学院4711.5WinRunner函数的使用函数产生器(FunctionGenerator)提供两种方式来使用从对象或窗口产生函数从函数清单中生成函数华东交通大学软件学院4811.5WinRunner函数的使用实践:使用函数来判断多张机票的总额是否计算正确。打开Flight4A打开2号订单传真2号订单:输入传真号并发送保存脚本文件从对象产生函数从函数清单产生函数华东交通大学软件学院4911.5WinRunner函数的使用实践:使用函数来判断多张机票的总额是否计算正确。华东交通大学软件学院5011.5WinRunner函数的使用实践:使用函数来判断多张机票的总额是否计算正确。华东交通大学软件学院5111.5WinRunner数据驱动的测试一般过程创建测试;将测试转换为数据驱动的测试,并填写数据表;执行测试;分析测试结果。华东交通大学软件学院5211.5WinRunner如何将测试转换为数据驱动的测试参数化:对固定值进行替换,创建数据表,表中包含参数的一系列取值。在测试中插入语句和函数,利用循环,从数据表中不断读入数据,每次读一行数据。插入语句:打开和关闭数据表。指定代表数据表的变量。华东交通大学软件学院5311.5WinRunner实践:数据驱动的测试打开Flight4A,打开2号订单,并设置【OrderNo】的对象检查点利用DataDriverWizard进行参数化华东交通大学软件学院5411.5WinRunner实践:数据驱动的测试华东交通大学软件学院5511.5WinRunner实践:数据驱动的测试华东交通大学软件学院5611.5WinRunner实践:数据驱动的测试华东交通大学软件学院5711.5WinRunner实践:数据驱动的测试华东交通大学软件学院5811.5WinRunner实践:数据驱动的测试