




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Web自动化测试开放平台自动化测试开放平台WebWeb自动化测试解决方案自动化测试解决方案王勇2014年12月未来网络范围与目标 适用对象: 软件测试团队 软件开发团队 项目验收团队 适用目标: 了解软件生命周期的测试过程(跳过) 了解和掌握自动化测试概念 掌握自动化测试的一些基本知识内容提要u 软件自动化测试的概述软件自动化测试的概述u WebWeb自动化测试的方案设计自动化测试的方案设计u WebWeb自动化测试的方案实施自动化测试的方案实施u 软件自动化测试成本投入和风险分析软件自动化测试成本投入和风险分析为什么要实施自动化测试?为什么要实施自动化测试? 应用系统日趋复杂的客观要求 一个
2、不可避免的问题是,应用系统变得日趋复杂,并且造成了更大的风险。测试消耗的成本越来越高,花费的时间也越来越长。而成本与时间是有限的。为了在限制的成本与时间范围内,控制控制发布的软件产品的质量,测试人员被要求在尽量短的时间内对软件进行足够的测试。 避免重复测试的主观要求 迭代式开发过程:迭代式开发过程:目前的软件开发或多或少使用了迭代式开发过程,这就导致了我们需要进行一轮又一轮的测试。 回归测试:回归测试:为了检验软件版本是否正确,或者当发现软件中出现了一个或多个以前曾经被修复的缺陷时,不可避免的需要进行回归性的测试。什么时候实施自动化测试?什么时候实施自动化测试?如果我们的自动化测试实施失败了,
3、很显然,我们在不适宜的时机进行了这个工作。开发阶段?开发阶段?稳定阶段?稳定阶段? 部署阶段?部署阶段?建议:可预见的需求不影响建议:可预见的需求不影响自动化测试用例的设计的设计自动化测试实施失败的因素期望值过高。就像管理人员要求完全测试一样,期望期望值过高。就像管理人员要求完全测试一样,期望100100的测试自的测试自动化,也同样是一个不现实的需求。动化,也同样是一个不现实的需求。自动化的收益和成本:自动化的收益和成本: 成本用例的开发用例的维护成本用例的开发用例的维护 收益收益 = = 重复运行次数重复运行次数 (时间)(时间) + + 节约的时间节约的时间功能覆盖率功能覆盖率100成本成
4、本7自动化测试的成长过程pure scripted全部脚本化vague scripts少量的脚本fragmentarytest cases零碎的测试用例探索式测试roles角色Testing often begins as freestyle, expands toward scripted.测试总是从自由式的探索开始,朝脚本化方向扩张time8自动化测试的应用时机配置管理数据库构建版本发布数据库初始化自动化冒烟测试手工探索测试自动化回归测试冒烟测试结果测试结果报告开发偏重业务流程偏重功能模块u 软件测试自动化的概述软件测试自动化的概述u Web自动化测试的方案设计自动化测试的方案设计l功能方
5、案设计功能方案设计l业务方案设计业务方案设计u Web自动化测试的方案实施自动化测试的方案实施u 软件自动化测试成本投入和风险分析软件自动化测试成本投入和风险分析内容提要让我们一起来设计!依据什么来设计测试方案?依据什么来设计测试方案? 测试方案要具有代表性!测试方案要具有代表性!仔细想想。仔细想想。 http:/ 自动化测试的功能方案设计的流程:自动化测试的功能方案设计的流程: 操作对象对象属性功能实现结果验证l 自动化自动化测试的功能方案设计测试的功能方案设计操作用例图:操作用例图:通过通过Java实现实现通过通过WebDriver实现实现通过通过Ruby实现实现2005 iSoftSto
6、ne Information Service Corporation. All rights reserved.12Web对象的识别Watir-WebDriverWatir-WebDriver2005 iSoftStone Information Service Corporation. All rights reserved.13Web对象的识别Watir-WebDriverWatir-WebDriver 输入框 input 按钮 button 下拉框 select 链接 link 点击 click 单选 radio 多选 checkbox 模拟键盘 send_keys:enter自动化测试
7、开放平台框架设计自动化测试开放平台框架设计自动化测试框架的用例设计示例 一、基于ruby的watir-webdriver开发 二、统一预置参数输入规则,提供规则模板,做到一个用例一个类,一个方法一个输出。(一个类可以多个方法) 三、统一输出规则,比如:infoTiStone Login successful!001011 Info:代表该用例执行成功!error代表失败!warn代表警告! TiStone:代表执行用例名称 Login successful!:描述或捕获的value值,以“!”结尾 001011:返回码 四、统一用例名称,应与输出保持一致自动化测试框架的用例设计示例 五、入参统
8、一通过RubyBean介入 六、浏览器实例化、被测系统跳转、用户登录、浏览器实例化等统一继承Tools工具类自动化测试框架的ControlControl设计示例 一、一个用例对应一个Control 二、效验输出,判断用例执行成败,根据规则关联Linux服务器捕获相关日志、配置文件等分析失败原因,缩减定位区域范围。 三、对比数据,关联MySql查询数据,对比web捕获value值。自动化测试框架的ToolsTools设计示例 一、封装常用工具类 二、Linux与MySql业务接口 三、面向对象,实现继承Tools,降低用例开发难度自动化测试框架的Model设计示例 一、提供统一执行、单一执行与批
9、量执行模式 二、关联JAVA前端,通过RubyBean实现两端交互自动化测试框架的JAVA前端设计示例 一、通过被测系统与ruby节点被测系统:需要测试的系统Ruby节点:实现前端与底层ruby关联(可选) 二、用例管理提供创建用例节点提供上传指定节点自动化用例 三、用户管理自动化测试框架的结果展示设计示例 一、用例执行后展示 二、点击查看详情u 软件测试自动化的概述软件测试自动化的概述u Web自动化测试的方案设计自动化测试的方案设计u Web自动化测试的方案实施自动化测试的方案实施l 自动化测试脚本的录制和编写自动化测试脚本的录制和编写l 自动化测试的执行和具体实现自动化测试的执行和具体实
10、现l 测试操作和测试数据的回收测试操作和测试数据的回收u 软件自动化测试成本投入和风险分析软件自动化测试成本投入和风险分析内容提要自动化测试脚本设计和录制 工具工具: WatirRecorder+统一预置参数输入规则,提供规则模板,做到一个用例一个类,一个方法一个输出。(一个类可以多个方法)自动化测试脚本的手工编写 例子一: (实现hao123,搜索“ruby”功能)require watir-webdriverinclude Watirrequire test/unitclass TC_recorded Test:Unit:TestCasedef test_recorded b = Wati
11、r:Browser.new b.goto(http:/ b.text_field(:name, word).set(ruby) b.text_field(:name, word).set(ruby) b.button(:value, 百度一下百度一下).clickendend自动化测试的具体实现 具体实现在Tools工具类中,多以Linux、Mysql体现 列子二: (通过linux查询黑白名单是否生效)class Linux L.getpassword) do |ssh| result = ssh.exec!(server_cmd1) result=result . .endattr_wri
12、ter :hostu 软件自动化测试的概述软件自动化测试的概述u Web自动化测试的方案设计自动化测试的方案设计u Web自动化测试的方案实施自动化测试的方案实施u 软件自动化测试成本投入和风险分析软件自动化测试成本投入和风险分析内容提要软件自动化测试的成本投入脚本的维护成本:脚本的维护成本:自动化的测试流程,使得脚本的维护成为自动化实施的一个关键性的依据。对于一个规范化的系统开发流程来说,实现测试的自动化是很有必要的。但是自动化的脚本维护使得我们的自动化测试在成本上变得较为昂贵。每一个系统的开发都是时刻随着需求的变更而改变,然而在大多数的情况下,就是很微小的一点系统修改都会导致我们去大量的修
13、改自动化的测试脚本。( (这就是我们为什么要引入架构的关系!这就是我们为什么要引入架构的关系!) )我们的架构的好处就是业务与逻辑分开,就是页面出现了更新或修改只需重新我们的架构的好处就是业务与逻辑分开,就是页面出现了更新或修改只需重新录制或编写新的用例即可,不会影响业务结果。录制或编写新的用例即可,不会影响业务结果。自动化测试的脚本的维护整个自动化测试开放平台分两个部件:JAVA前端(负责数据的预置、与执行的发起)Ruby底层(负责业务的实现、与操作的执行)关于维护JAVA前端所有配置参数都是动态获取,后期业务变更无需修改Ruby底层Test用例层与Control控制层随着需求的迭代,需要长
14、期的进行维护Tools工具层只会根据业务上有很大的变动而更改othe无需更改软件自动化测试的风险分析风险的存在原因:风险的存在原因:自动化测试只是针对系统的大部分主要功能进行了有效的测试和验证,从而使得覆盖的测试面较为狭窄,导致系统的有些隐藏问题无法发现。风险的减小建议:风险的减小建议:在自动化测试的实现初期 ,设计好自动化的测试用例,把握好系统的重点功能及可能会出现的问题,进而再实现测试自动化。在现有条件下减小可预计的系统风险。目标:目标:在现有条件下减小可预计的系统测试风险。说在最后的 1、自动化并不是全自动,需要花精力才能让他自动化。 2、自动化工具不是万能的,他也有自己的缺陷。 3、自动化永远不可能取代人工的位置。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《汉语阅读教程》课件-2教学课件:汉语阅读教程L2
- 2025年委托物业管理合同示范文本格式样本协议
- 2025网签租赁合同需要注意哪些事项
- 肌无力危象的临床护理
- 动脉瘤的临床护理
- 紫癜性肾炎的临床护理
- 2025股权转让合同补充协议书范本
- 2025年一级建造师之一建公路工程实务题库与答案
- 解析表达特点洞悉观察秘妙-《蟋蟀的住宅》教学设计
- 乳头状鳞状细胞癌的临床护理
- 医院食堂运营食堂餐饮服务 投标方案(技术方案)
- 船舶岸基应急预案
- 招标代理机构入围服务 投标方案(技术标)
- GB/T 19632-2023殡葬服务、设施、设备、用品分类与代码
- 宠物疾病与公共卫生 人畜共患病
- 杀虫剂对生物的影响(课件)三年级科学下册冀人版
- 年产吲哚美辛的生产设计设计说明书
- 学校安全事故应急处置流程图
- 车位租赁合同证明书
- GB/T 3091-2015低压流体输送用焊接钢管
- 广东省国家公务员录用体检表
评论
0/150
提交评论