您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 第4章_软件自动化测试
Version01Slide120December2019第四章软件自动化测试4.1软件自动化测试的概念软件自动化测试的定义:根据测试规则编制计算机软件,并在计算机环境中运行,自动验证被测程序的响应和行为。4.1.1软件自动化测试的意义(1)提高软件测试质量;(2)提高软件测试效率;(3)将测试人员从繁重的重复性劳动中解放出来。Version01Slide220December20194.1软件自动化测试的概念1.手工测试的局限性(1)无法实现代码路径的全覆盖;(2)对于机械的重复测试代价太大;(3)无法捕捉与时序、死锁、资源冲突、多线程相关的错误;(4)无法模拟大数据量和大用户量并发的应用场景;(5)难以进行长时间的可靠性测试;(6)难以在短时间内实现大量测试;(7)实现回归测试比较麻烦。4.1.1软件自动化测试的意义Version01Slide320December20194.1软件自动化测试的概念2.自动化测试的优势(1)回归测试方便,缩短了软件测试周期;(2)能够执行繁琐的程序测试,效率高;(3)测试覆盖率高;(4)测试的一致性好,具有可重复性;(5)测试的稳定性和可靠性高;(6)能够执行手工无法做的测试工作;(7)节省了人力资源,降低了测试成本。4.1.1软件自动化测试的意义Version01Slide420December20194.1软件自动化测试的概念1.适合做自动化测试的系统或场合(1)单元测试、集成测试;(2)协议或接口相关的功能测试;(3)负载压力测试、性能测试;(4)系统稳定性和可靠性测试;(5)测试过程烦琐、执行动作很多的软件。4.1.2软件自动化测试的应用场合Version01Slide520December20194.1软件自动化测试的概念2.不适合做自动化测试的系统或场合(1)逻辑测试、验收测试、适应性测试、涉及到物理交互的测试;(2)系统业务逻辑和交互过于复杂;(3)需求频繁变动,稳定性不好的软件;(4)开发周期很短的软件;(5)一次性开发的软件。4.1.2软件自动化测试的应用场合Version01Slide620December20194.1软件自动化测试的概念1.自动化测试的时间点(1)功能稳定的系统与开发过程同时准备;(2)功能变化的系统待开发过程完成进行;(3)GUI稳定后再开始自动化测试。2.自动化测试的覆盖率不要追求在很短的时间实现自动化测试,也不要追求100%的自动化测试覆盖率。积累经验,循序渐进的自动化测试,效果会更好。4.1.3软件自动化测试的重要问题Version01Slide720December20194.1软件自动化测试的概念3.把测试纳入整个软件开发计划自动测试是整个开发过程的有机组成部分,它必须要与开发中的软件紧密配合。4.自动测试依赖测试流程和测试用例无论是手工测试还是自动测试,测试流程和测试用例的设计非常重要,只有在良好的测试用例基础上,编写测试脚本、运行测试脚本,才能保证软件测试的效率。4.1.3软件自动化测试的重要问题Version01Slide820December20194.1软件自动化测试的概念软件自动化测试的基本原理:通过设计特殊的程序模拟测试人员对计算机的操作过程、操作行为,或者类似于编译系统那样对被测程序进行检查。软件自动化测试的基本方法:对代码进行静态和动态分析、软件功能的录制和回放、编写测试脚本、虚拟用户技术和测试管理技术。4.1.4软件自动化测试的原理和方法Version01Slide920December20194.1软件自动化测试的概念1.代码分析分析被测对象就是对其代码进行语法扫描,找出不符合编码规则的地方。根据质量模型评价代码质量,生成系统的调用关系图。2.录制和回放录制和回放属于黑盒测试。录制是将用户的每一步操作都记录下来,并转换成脚本语言,描述运行过程和用户的操作;回放是将脚本语言的描述转换为屏幕上的操作,然后将被测系统的输出与预期结果进行比较。4.1.4软件自动化测试的原理和方法Version01Slide1020December20194.1软件自动化测试的概念2.录制和回放录制和回放的关键点是对象识别,获得类别、名称和属性值。例如,UP广告发布平台登录页面的“登录名”对象。4.1.4软件自动化测试的原理和方法Nativeclass:EditAttachedText:登录名Enabled:TrueFocused:TrueHeight:20Width:120Text:adminVersion01Slide1120December20194.1软件自动化测试的概念3.脚本技术脚本是一种特殊的计算机程序,包含了数据和指令。脚本技术是围绕脚本程序的结构而进行的设计,可以实现测试用例所要求的数据输入、操作流程和验证点。脚本产生方法:(1)通过录制产生,然后再做修改;(2)用脚本语言编写程序。4.1.4软件自动化测试的原理和方法Version01Slide1220December20194.1软件自动化测试的概念4.虚拟用户技术通过模拟真实用户的数量和操作行为,对被测程序施加负载,以测量系统的性能指标,包括响应时间和吞吐量等。5.自动比较(1)静态比较和动态比较;(2)简单比较和复杂比较;(3)敏感性测试比较和健壮性测试比较;(4)比较过滤器。4.1.4软件自动化测试的原理和方法Version01Slide1320December20194.1软件自动化测试的概念1.回归测试的概念回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。2.回归测试方法(1)重新测试全部用例;(2)基于风险选择测试;(3)重新测试修改的部分。4.1.5软件自动化回归测试Version01Slide1420December20194.1软件自动化测试的概念3.自动化回归测试(1)基于自动测试工具的测试框架,具有测试计划驱动技术的所有优点;(2)充分利用测试工具的功能,与测试管理集成;(3)基于业务流的测试,数据也是基于业务流配置的;(4)应用与自动测试框架分开;(5)脚本与数据分开。4.1.5软件自动化回归测试Version01Slide1520December20194.1软件自动化测试的概念1.认识不正确且期望值过高2.缺乏有经验的测试人才3.测试工具本身的质量得不到保证4.对于测试人员没有进行有效的培训5.盲目引入自动化测试工具6.没有提供良好的测试工具使用环境7.测试组织不够合理4.1.6自动化测试容易出现的问题Version01Slide1620December20194.2软件自动化测试脚本开发技术1.软件自动化测试脚本的逻辑结构(1)数据驱动框架;(2)合理划分脚本模块;(3)建立函数库。2.设计适合测试脚本的测试用例与手工测试用例不同,自动化测试用例要求描述精确,即每条自动化测试用例的逻辑不要太复杂,验证点不要过多,应该清晰地描述操作步骤和验证点信息。4.2.1软件自动化测试脚本开发思路Version01Slide1720December20194.2软件自动化测试脚本开发技术2.设计适合测试脚本的测试用例4.2.1软件自动化测试脚本开发思路手工测试用例自动化测试用例用例名称:登录按钮状态步骤:启动应用系统,进入登录页面,保持用户名和密码框为空,登录按钮状态为不可用;当用户名和密码框不为空时,登录按钮状态为可使用。用例1:标题:用户名和密码框为空时的按钮状态启动应用系统,进入登录页面,保持用户名和密码框为空。验证点:登录按钮状态为不可使用(灰)。用例2:标题:用户名和密码框不为空时的按钮状态在用户名和密码框中输入字符。验证点:登录按钮状态为可以使用(亮)。用例3:标题:用户名和密码框清空时的按钮状态在用户名和密码框中输入字符。清空用户名和密码框中输入的字符。验证点:登录按钮状态为不可使用(灰)。Version01Slide1820December20194.2软件自动化测试脚本开发技术3.测试脚本的重构和优化(1)线性脚本线性脚本是录制手工测试获得的脚本。录制动作有击键、移动、输入数据等,所有录制的测试用例都可以完整地回放(2)结构化脚本结构化脚本具有各种逻辑结构,包括选择、分支、循环迭代,而且还有函数调用功能。4.2.1软件自动化测试脚本开发思路Version01Slide1920December20194.2软件自动化测试脚本开发技术3.测试脚本的重构和优化(3)共享脚本共享脚本是指可以被多个测试用例使用的脚本,也允许其他脚本调用。共享脚本可以在不同主机、不同系统之间共享,也可以在同一主机、同一系统之间共享。(4)数据驱动脚本数据驱动脚本将测试的输入存储在独立的数据文件中,而不是存储在脚本中。可以针对不同数据输入实现多个测试用例4.2.1软件自动化测试脚本开发思路Version01Slide2020December20194.2软件自动化测试脚本开发技术3.测试脚本的重构和优化(5)关键字驱动脚本关键字驱动脚本是数据驱动脚本的逻辑扩展。它将数据文件变成测试用例的描述,采用一些关键字指定要执行的任务。测试脚本不仅可以在功能测试上模拟用户的操作,比较分析,而且可以用在性能测试、负载测试上,虚拟用户可以同时进行相同的、不同的操作,给被测软件施加足够的数据和操作,检查系统的响应速度和数据吞吐能力。4.2.1软件自动化测试脚本开发思路Version01Slide2120December20194.2软件自动化测试脚本开发技术1.增量式调试脚本(1)按照流程和需求录制测试脚本;(2)建立测试驱动数据集;(3)验证点和分支的逻辑,明确数据与流程间的相关性(4)回放测试脚本。4.2.2软件自动化测试脚本开发过程Version01Slide2220December20194.2软件自动化测试脚本开发技术2.测试脚本同步测试工具会用比手工按键快的多的速度回放已录制的测试脚本,导致击垮被测程序。在已录制的测试脚本中引入了人为的等待时间,放慢测试脚本的执行。但是,这种方式并不太科学。while语句或嵌套的loops语句是经常采用的保证成功回放的技术。这是比较好的同步方式。4.2.2软件自动化测试脚本开发过程Version01Slide2320December20194.2软件自动化测试脚本开发技术3.录制、回放隐藏的对象脚本可能被录制为增加或双击表格中一个字段或字段位置不固定的数组的值。由于位置不固定,所以可能造成回放失效措施:添加一些功能性脚本,例如“向下滚屏”、“下一页”、“查询”,可以在while中添加一项功能,确保回放的隐藏对象可以识别。4.2.2软件自动化测试脚本开发过程Version01Slide2420December20194.2软件自动化测试脚本开发技术4.为关键脚本创建自动的消息通知关键性的业务是否被执行是正确测试的前提条件,仅仅依赖于人工监视是不方便的。所以,在测试脚本中应当设计关键业务执行的消息通知。5.编制文档(1)测试软件的日期;(2)更新任何需要唯一数据的字段;4.2.2软件自动化测试脚本开发过程Version01Slide2520December20194.2软件自动化测试脚本开发技术(3)根据环境判断模式/模拟模式/位图录制,调整显示器设置;(4)列出所有具有依赖关系的测试脚本;(5)指出为了执行脚本需要的权限级别或用户的角色;(6)在什么条件下脚本会失败,以及重新运行脚本的绕行方法;(7)在运行测试脚本过程中需要打开或关闭的应用程序(8)指明数据的格式,例如,日期格式等等。4.2.2软件自动化测试脚本开发过程Version01Slide2620December20194.2软件自动化测试脚本开发技术6.脚本的版本控制和命名(1)项目名称;(2)版本号;(3)测试种类;(4)测试用例编号;(5)被测功能。4.2.3软件自动化测试脚本开发过程Version01Slide2720December20194.3软件自动化测试工具(1)支持脚本语言;(2)支持函数可重用;(3)支持
本文标题:第4章_软件自动化测试
链接地址:https://www.777doc.com/doc-2156414 .html