当前位置:文档之家› 自动化测试

自动化测试


改进测试工作质量 改进所有的测试领域 减轻工作量加快测试进度
性能测试改进
压力测试改进 质量度量与测试优化
……
自动化测试适用场合领域
自动化测试的特点
执行回归测试 枯燥乏味的重复性工作 一致的,可重复的测试 执行手工很难达到或手工无法完成的测试
不适合做自动化测试的系统或场合 适合做自动化测试的系统或场合
(3)共享脚本 共享脚本是指可以被多个测试用例使用的脚本,也允许其 他脚本调用。共享脚本可以在不同主机、不同系统之间共享, 也可以在同一主机、同一系统之间共享。
(4)数据驱动脚本
数据驱动脚本将测试的输入存储在独立的数据文件中,而 不是存储在脚本中。可以针对不同数据输入实现多个测试用例
自动化测试脚本开发思路
自动化测试过程
自动测试决定
测试工具采购 自动测试引入 测试计划、设计与开发 自动测试执行与管理 过程评估与改进
自动化测试原理和方法
1.代码分析
分析被测对象就是对其代码进行语法扫描,找出不符合编
码规则的地方。根据质量模型评价代码质量,生成系统的调用关系图。
2.录制和回放
录制和回放属于黑盒测试。录制是将用户的每一步操作都记录下来,并转
(4)比较过滤器。
自动化回归测试
1. 回归测试的概念 回归测试是指修改了旧代码后,重新进行测试以确认修改
没有引入新的错误或导致其他代码产生错误。
2.回归测试方法 (1)重新测试全部用例 ;
(2)基于风险选择测试;
(3)重新测试修改的部分。
自动化回归测试
3. 自动化回归测试 (1)基于自动测试工具的测试框架,具有测试计划驱动 技术的所有优点 ;
工具分类: 1.根据测试方法分类 (1)白盒测试工具; (2)黑盒测试工具。
自动化)代码覆盖率分析器和代码测量器; (2)内存泄露检测工具;
(3)可用性测试工具;
(4)测试数据生成器; (5)网络测试工具; (6)GUI测试工具;
自动化测试工具
(7)负载性能测试工具; (8)测试设计与开发工具; (9)测试执行与评估工具; (10)测试管理工具;
(5)被测功能。
工具特征: (1)支持脚本语言; (2)支持函数可重用; (3)支持外部函数库;
自动化测试工具
(4)对程序界面中的对象具有较好的识别能力;
(5)支持抽象层操作; (6)支持分布式测试;
(7)支持数据驱动测试;
(8)支持容错处理; (9)具有软件调试功能; (10)支持测试文件的管理;
无法实现或难以实现的测试。
自动化测试的意义
BVT测试改进 回归测试改进 多平台兼容性测试改进 软件配置测试改进 普通测试执行改进 集中于高级测试问题改进 执行手工测试无法完成的测试 定时启动测试 测试用例设计改进 阶段 测试计划 测试设计 测试执行 测试结果分析 缺陷监控 测试报告生成 总体 工作量 增加 减少 减少 减少 减少 减少 减少
脚本产生方法: (1)通过录制产生,然后再做修改; (2)用脚本语言编写程序。
4.虚拟用户技术
自动化测试原理和方法
通过模拟真实用户的数量和操作行为,对被测程序施加负
载,以测量系统的性能指标,包括响应时间和吞吐量等。
5.自动比较
(1)静态比较和动态比较;
(2)简单比较和复杂比较;
(3)敏感性测试比较和健壮性测试比较;
自动化测试脚本开发过程
(5)指出为了执行脚本需要的权限级别或用户的角色; (6)在什么条件下脚本会失败,以及重新运行脚本的绕
行方法;
(7)在运行测试脚本过程中需要打开或关闭的应用程序 (8)指明数据的格式,例如,日期格式等等。
自动化测试脚本开发过程
6. 脚本的版本控制和命名
(1)项目名称 ; (2)版本号 ; (3)测试种类 ; (4)测试用例编号;
据用户人数事先设定测试目标,优化测试流程。
(4)实时监测器可以在负载测试的任何时候观察到应用 系统的运行性能,显示交易性能数据和其他系统组件(应用服 务器、WEB服务器、网络设备、数据库)的实时性能。 (5)收集、汇总所有测试数据,提供高级的分析报告。
自动化测试工具
2. 功能测试工具Win Runner Win Runner是基于windows的自动化功能测试软件。主 要用于检测应用程序是否能够达到预期的功能,测试复杂的企
业级应用。
(1)按照预先设计,将业务处理过程录制下来,并转换 为测试脚本,支持测试脚本的编辑、扩展、执行,提供测试结 果报告。 (2)在脚本中可以插入检查点,包括文本、位图和数值
等,设定需要检测的数据库表和记录。
自动化测试工具
(3)数据驱动向导(Data Driver Wizard)可以把一个 业务流程测试转换成数据驱动测试,反映多个用户各自独立而 真实的行为。 (4)通过交互式的报告工具提供详细、易读的报告,列 出测试中发现的错误内容、位置、检查点等重要事件。
(11)专用工具。
自动化测试工具
3.根据测试对象分类 (1)单元测试工具; (2)负载性能测试工具; (3)GUI测试工具;
(4)WEB应用测试工具;
(5)数据库测试工具; (6)页面链接测试工具。
自动化测试工具
实现了负载测试、功能测试和测试管理的几个工具。
1. 负载测试工具Load Runner


创造性、灵活性
覆盖率量化困难 重复测试效率低 不一致性、可靠性低 依赖人力资源
自动化测试概念
软件自动化测试的定义:自动化测试是把以人为驱动的测试行为转
化为机器执行的一种过程。通常,在设计了测试用例并通过评审之 后,由测试人员根据测试用例中描述的规程一步步执行测试,得到 实际结果与期望结果的比较。在此过程中,为了节省人力、时间或 硬件资源,提高测试效率,便引入了自动化测试的概念。 利用软件测试工具自动实现全部或部分测试。 自动测试是软件测试的一个重要组成部分,它能完成许多手工测试
4.为关键脚本创建自动的消息通知 关键性的业务是否被执行是正确测试的前提条件,仅仅依
赖于人工监视是不方便的。所以,在测试脚本中应当设计关键
业务执行的消息通知。 5. 编制文档 (1)测试软件的日期; (2)更新任何需要唯一数据的字段;
(3)根据环境判断模式/模拟模式/位图录制,调整显示器设置;
(4)列出所有具有依赖关系的测试脚本;
实施一项测试设计时,不遵循任何设计标准,结果产生了不可重复的测试脚本, 尽可能少的自动化产品覆盖尽可能多的平台 因而不可重用 测试流程管理自动化通常应该优先考虑
试图将测试需求100%自动化 性能测试自动化优与功能测试自动化
使用错误的工具 自动化产品选用需要关注其支持服务和售后服务 在应用程序开发周期中启用测试工具太晚, 尽量选用趋于主流的产品 测试工程师参与应用开发生存周期太晚,导致不能很好的了解应用和系统设计, 对测试自动化方案具有可扩展性 因而无法完成测试
• 回归测试方便,缩短了软件测试周期。 • 能够执行繁琐的程序测试,效率高。 • 测试覆盖率高。 • 测试的一致性好,具有可重复性。 • 测试的稳定性和可靠性高。 • 能够执行手工无法做的测试工作。 • 节省了人力资源,降低了测试成本。
手工测试 vs.自动测试
手工测试

自动测试
发现缺陷率高 容易实施
换成脚本语言,描述运行过程和用户的操作;回放是将脚本语言的描述转换
为屏幕上的操作,然后将被测系统的输出与预期结果进行比较。
自动化测试原理和方法
录制和回放的关键点是对象识别,获得类别、名称和属性
值。
Nativeclass:Edit
Attached Text:登录名
Enabled:True Focused:True Height:20
自动化测试
背景对比引入
概念定义 意义 适用场合 原则和注意点 测试过程 原理和方法 自动化回归测试 脚本开发思路和过程 测试工具 测试的不足和对策
软件自动化测试产生
没有测试
手工测试
自动测试
软件自动化测试产生背景
• 以往的测试无法做到覆盖所有代码路径。 • 简单的功能性测试用例在每一轮测试中都不能少,而且具有一定的机械性、重复性,
登录按钮状态为不可
用;当用户名和密码 框不为空时,登录按
用例2: 标题:用户名和密码框不为空时的按钮状态 在用户名和密码框中输入字符。 验证点:登录按钮状态为可以使用(亮)。 用例3: 标题:用户名和密码框清空时的按钮状态 在用户名和密码框中输入字符。 清空用户名和密码框中输入的字符。 验证点:登录按钮状态为不可使用(灰)。
工作量往往较大。
• 许多与时序、死锁、资源冲突、多线程等有关的错误,通过手工测试很难捕捉到。 • 进行系统负载、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合时,
很难通过于工测试来进行。
• 难以进行长时间的可靠性测试。 • 难以在短时间内实现大量测试。 • 实现回归测试比较麻烦 。
软件自动化测试优点
钮状态为可使用。
自动化测试脚本开发思路
3. 测试脚本的重构和优化 (1)线性脚本 线性脚本是录制手工测试获得的脚本。录制动作有击键、 移动、输入数据等,所有录制的测试用例都可以完整地回放
(2)结构化脚本
结构化脚本具有各种逻辑结构,包括选择、分支、循环迭 代,而且还有函数调用功能。
自动化测试脚本开发思路
与手工测试用例不同,自动化测试用例要求描述精确,即
每条自动化测试用例的逻辑不要太复杂,验证点不要过多, 应该清晰地描述操作步骤和验证点信息。
自动化测试脚本开发思路
手工测试用例 用例名称:登录按钮 状态 步骤: 启动应用系统,进 入登录页面,保持用 户名和密码框为空, 自动化测试用例 用例1: 标题:用户名和密码框为空时的按钮状态 启动应用系统,进入登录页面,保持用户名和密码框为空。 验证点:登录按钮状态为不可使用(灰)。
相关主题