1.自动化的收益和成本:
成本=用例的开发+用例的维护
收益 = 重复运行次数 (时间) + 节约的时间
自动化测试的成长过程?
Testing often begins as freestyle, expands toward scripted.
测试总是从自由式的探索开始,朝脚本化方向扩张
自动化测试的应用时机?
重头戏
测试方案设计
1 自动化测试的功能方案设计的流程:
操作对象—>对象属性—>功能实现—>结果验证
2 自动化测试的功能方案设计操作用例图:
Web对象的识别—Watir-WebDriver
•输入框 input
•按钮 button
•下拉框select• 链接 link
•点击 click
•单选 radio
•多选 checkbox
•模拟键盘 send_keys :enter
自动化测试开放平台框架设计
自动化测试框架的用例设计示例
•一、基于ruby的watir-webdriver开发
•二、统一预置参数输入规则,提供规则模板,做到一个用例一个类,一个方法一个输出。(一个类可以多个方法)
•三、统一输出规则,比如:①[info]②TiStone ③Login successful!④001011
① [Info]:代表该用例执行成功![error]代表失败![warn]代表警告!
② TiStone:代表执行用例名称
③ Login successful!:描述或捕获的value值,以“!”结尾
④ 001011:返回码
•四、统一用例名称,应与输出②保持一致
•五、入参统一通过RubyBean介入
•六、浏览器实例化、被测系统跳转、用户登录、浏览器实例化等统一继承Tools工具类
自动化测试框架的Control设计示例
•一、一个用例对应一个Control
•
•二、效验输出,判断用例执行成败,根据规则关联Linux服务器捕获相关日志、配置文件等分析失败原因,缩减定位区域范围。
•
•三、对比数据,关联MySql查询数据,对比web捕获value值。
自动化测试框架的Tools设计示例
•一、封装常用工具类
•
•二、Linux与MySql业务接口
•
•三、面向对象,实现继承Tools,降低用例开发难度
自动化测试框架的Model设计示例
•一、提供统一执行、单一执行与批量执行模式
•二、关联JAVA前端,通过RubyBean实现两端交互
自动化测试框架的JAVA前端设计示例
•一、通过被测系统与ruby节点
被测系统:需要测试的系统
Ruby节点:实现前端与底层ruby关联(可选)
•二、用例管理
提供创建用例节点
提供上传指定节点自动化用例
•三、用户管理
自动化测试框架的结果展示设计示例