当前位置:文档之家› 软件自动化测试方案课件(40张)

软件自动化测试方案课件(40张)

背景对比引入 概念定义 意义 适用场合 原则和注意点 测试过程 原理和方法 自动化回归测试 脚本开发思路和过程
自动化测试
测试工具
测试的不足和对策
软件自动化测试产生
没有测试
手工测试
自动测试
软件自动化测试产生背景
• 以往的测试无法做到覆盖所有代码路径。 • 简单的功能性测试用例在每一轮测试中都不能少,而且具有一定的机械性、重复性,
自动化测试原理和方法
录制和回放的关键点是对象识别,获得类别、名称和属性 值。
Nativeclass:Edit Attached Text:登录名 Enabled:True Focused:True Height:20 Width:120 Text:admin
使用QARUN录制一个登录的例子 启动录制 打开目标程序 输入正确的用户名/密码 确定登录成功 停止录制 回放脚本
用例2: 标题:用户名和密码框不为空时的按钮状态
在用户名和密码框中输入字符。 验证点:登录按钮状态为可以使用(亮)。
用例3: 标题:用户名和密码框清空时的按钮状态
在用户名和密码框中输入字符。 清空用户名和密码框中输入的字符。 验证点:登录按钮状态为不可使用(灰)。
自动化测试脚本开发思路
3. 测试脚本的重构和优化 (1)线性脚本 线性脚本是录制手工测试获得的脚本。录制动作有击键、
(6)支持分布式测试; (7)支持数据驱动测试; (8)支持容错处理;
(9)具有软件调试功能; (10)支持测试文件的管理;
工具分类:
自动化测试工具
1.根据测试方法分类
(1)白盒测试工具; (2)黑盒测试工具。
2.根据测试用途分类 (1)代码覆盖率分析器和代码测量器;
(2)内存泄露检测工具; (3)可用性测试工具; (4)测试数据生成器;
创造性、灵活性 覆盖率量化困难
重复测试效率低
不一致性、可靠性低
依赖人力资源
自动化测试概念
软件自动化测试的定义:自动化测试是把以人为驱动的测试行为转 化为机器执行的一种过程。通常,在设计了测试用例并通过评审之 后,由测试人员根据测试用例中描述的规程一步步执行测试,得到 实际结果与期望结果的比较。在此过程中,为了节省人力、时间或 硬件资源,提高测试效率,便引入了自动化测试的概念。 利用软件测试工具自动实现全部或部分测试。 自动测试是软件测试的一个重要组成部分,它能完成许多手工测试 无法实现或难以实现的测试。
因测而试不流可程重管用理自动化通常应该优先考虑
试性图能将测测试试自需动求化1优00与%功自能动测化试自动化 使用错误的工具 自动化产品选用需要关注其支持服务和售后服务 在应用程序开发周期中启用测试工具太晚, 尽量选用趋于主流的产品 测试工程师参与应用开发生存周期太晚,导致不能很好的了解应用和系统设计, 对测试自动化方案具有可扩展性 因而无法完成测试
自动化测试脚本开发过程
6. 脚本的版本控制和命名 (1)项目名称 ; (2)版本号 ; (3)测试种类 ; (4)测试用例编号; (5)被测功能。
工具特征:
自动化测试工具
(1)支持脚本语言;
(2)支持函数可重用; (3)支持外部函数库;
(4)对程序界面中的对象具有较好的识别能力; (5)支持抽象层操作;
阶段
工作量
测试计划 增加
测试设计 减少
测试执行 减少
测试结果分析 减少
缺陷监控 减少
测试报告生成 减少
总体
减少
自动化测试适用场合领域
自动化测试的特点 执行回归测试
适不合适做合自做动自化动测化试测的试系的统系或统场或合场合 逻单辑元测测试试、、验集收成测测试试、适应性测试、涉
枯燥乏味的重复性工作
及协到议物或理接交口互相的关测的试功能测试
析,而且可以用在性能测试、负载测试上,虚拟用户可以同时 进行相同的、不同的操作,给被测软件施加足够的数据和操作 ,检查系统的响应速度和数据吞吐能力。
自动化测试脚本开发过程
1. 增量式调试脚本 (1)按照流程和需求录制测试脚本; (2)建立测试驱动数据集; (3)验证点和分支的逻辑,明确数据与流程间的相关性 (4)回放测试脚本。
工作量往往较大。 • 许多与时序、死锁、资源冲突、多线程等有关的错误,通过手工测试很难捕捉到。 • 进行系统负载、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合时,
很难通过于工测试来进行。 • 难以进行长时间的可靠性测试。 • 难以在短时间内实现大量测试。 • 实现回归测试比较麻烦 。
软件自动化测试优点
(5)网络测试工具;
(6)GUI测试工具;
自动化测试工具
(7)负载性能测试工具; (8)测试设计与开发工具; (9)测试执行与评估工具; (10)测试管理工具; (11)专用工具。
自动化测试工具
3.根据测试对象分类 (1)单元测试工具; (2)负载性能测试工具; (3)GUI测试工具; (4)WEB应用测试工具; (5)数据库测试工具; (6)页面链接测试工具。
移动、输入数据等,所有录制的测试用例都可以完整地回放 (2)结构化脚本 结构化脚本具有各种逻辑结构,包括选择、分支、循环迭
代,而且还有函数调用功能。
自动化测试脚本开发思路
(3)共享脚本 共享脚本是指可以被多个测试用例使用的脚本,也允许其
他脚本调用。共享脚本可以在不同主机、不同系统之间共享, 也可以在同一主机、同一系统之间共享。 (4)数据驱动脚本
数据驱动脚本将测试的输入存储在独立的数据文件中,而 不是存储在脚本中。可以针对不同数据输入实现多个测试用例
自动化测试脚本开发思路
(5)关键字驱动脚本 关键字驱动脚本是数据驱动脚本的逻辑扩展。它将数据文
件变成测试用例的描述,采用一些关键字指定要执行的任务。 测试脚本不仅可以在功能测试上模拟用户的操作,比较分
自动化测试脚本开发思路
手工测试用例
用例名称:登录按钮 状态 步骤:
启动应用系统,进 入登录页面,保持用 户名和密码框为空, 登录按钮状态为不可 用;当用户名和密码 框不为空时,登录按 钮状态为可使用。
自动化测试用例
用例1: 标题:用户名和密码框为空时的按钮状态
启动应用系统,进入登录页面,保持用户名和密码框为空。 验证点:登录按钮状态为不可使用(灰)。
2. 测试脚本同步 测试工具会用比手工按键快的多的速度回放已录制的测试
脚本,导致击垮被测程序。在已录制的测试脚本中引入了人为的等待时间,放慢测 试脚本的执行。但是,这种方式并不太科学。WHILE语句或嵌套的LOOPS语句是经 常采用的保证成功回放的技术。这是比较好的同步方式。自动化测试脚本开发过程
自动化测试过程
自动测试决定 测试工具采购 自动测试引入 测试计划、设计与开发 自动测试执行与管理 过程评估与改进
自动化测试原理和方法
1.代码分析 分析被测对象就是对其代码进行语法扫描,找出不符合编
码规则的地方。根据质量模型评价代码质量,生成系统的调用关系图。 2.录制和回放
录制和回放属于黑盒测试。录制是将用户的每一步操作都记录下来,并转 换成脚本语言,描述运行过程和用户的操作;回放是将脚本语言的描述转换 为屏幕上的操作,然后将被测系统的输出与预期结果进行比较。
自动化测试工具
2. 功能测试工具Win Runner Win Runner是基于windows的自动化功能测试软件。主
要用于检测应用程序是否能够达到预期的功能,测试复杂的企 业级应用。
(1)按照预先设计,将业务处理过程录制下来,并转换 为测试脚本,支持测试脚本的编辑、扩展、执行,提供测试结 果报告。
自动化测试脚本开发思路
1. 软件自动化测试脚本的逻辑结构 (1)数据驱动框架; (2)合理划分脚本模块; (3)建立函数库。
2. 设计适合测试脚本的测试用例 与手工测试用例不同,自动化测试用例要求描述精确,即
每条自动化测试用例的逻辑不要太复杂,验证点不要过多, 应该清晰地描述操作步骤和验证点信息。
3.录制、回放隐藏的对象 脚本可能被录制为增加或双击表格中一个字段或字段位置
不固定的数组的值。由于位置不固定,所以可能造成回放失效。 措施:添加一些功能性脚本,例如“向下滚屏”、“下一
页”、“查询”,可以在WHILE中添加一项功能,确保回放的 隐藏对象可以识别。
自动化测试脚本开发过程
4.为关键脚本创建自动的消息通知 关键性的业务是否被执行是正确测试的前提条件,仅仅依
(2)在脚本中可以插入检查点,包括文本、位图和数值 等,设定需要检测的数据库表和记录。
自动化测试工具
(3)数据驱动向导(Data Driver Wizard)可以把一个 业务流程测试转换成数据驱动测试,反映多个用户各自独立而 真实的行为。 (4)通过交互式的报告工具提供详细、易读的报告,列 出测试中发现的错误内容、位置、检查点等重要事件。
自动化测试工具
(3)建立持续且循环的负载,定义用户的访问时间,根 据用户人数事先设定测试目标,优化测试流程。 (4)实时监测器可以在负载测试的任何时候观察到应用 系统的运行性能,显示交易性能数据和其他系统组件(应用服 务器、WEB服务器、网络设备、数据库)的实时性能。 (5)收集、汇总所有测试数据,提供高级的分析报告。
(1)重新测试全部用例 ; (2)基于风险选择测试; (3)重新测试修改的部分。
自动化回归测试
3. 自动化回归测试 (1)基于自动测试工具的测试框架,具有测试计划驱动
技术的所有优点 ; (2)充分利用测试工具的功能,与测试管理集成 ; (3)基于业务流的测试,数据也是基于业务流配置的 ; (4)应用与自动测试框架分开; (5)脚本与数据分开。
赖于人工监视是不方便的。所以,在测试脚本中应当设计关键 业务执行的消息通知。 5. 编制文档
(1)测试软件的日期; (2)更新任何需要唯一数据的字段; (3)根据环境判断模式/模拟模式/位图录制,调整显示器设置; (4)列出所有具有依赖关系的测试脚本;
相关主题