接着基于Ruby的watir-webdriver自动化测试方案与实施(一)
继续 ... ...
 
回顾
软件自动化测试的概述         
  Web自动化测试的方案设计
功能方案设计
业务方案设计
 
Web自动化测试的方案实施
  自动化测试脚本的录制和编写
  自动化测试的执行和具体实现
  测试操作和测试数据的回收

自动化测试脚本设计和录制

•工具: WatirRecorder++

统一预置参数输入规则,提供规则模板,做到一个用例一个类,一个方法一个输出。(一个类可以多个方法)

•例子一: (实现hao123,搜索“ruby”功能)
require 'watir-webdriver'
include Watir
require 'test/unit'
class TC_recorded < Test::Unit::TestCase
def test_recorded
@@b = Watir::Browser.new
@@b.goto('http://www.hao123.com/')
@@b.text_field(:name, 'word').set('ruby')
@@b.text_field(:name, 'word').set('ruby')
@@b.button(:value, '百度一下').click
end
end

自动化测试的具体实现

•具体实现在Tools工具类中,多以Linux、Mysql体现
•列子二: (通过linux查询黑白名单是否生效)
class Linux < Mysql
def initialize ( host )
@@host = host
@@username = "root"
@@password = "rootmengmeng“ def L.gethost
return @@host
end
def L.getusername
return @@username
end
def L.getpassword
return @@password
end
def acl(ip)
@name = ip
a = "#{@name}"
server_cmd1 = "{ echo ' acl -L'; sleep 2; echo -e '\n'; } | telnet 0 1234 | grep #{a}"
ssh = Net::SSH.start(L.gethost, L.getusername, :password => L.getpassword) do |ssh|
result = ssh.exec!(server_cmd1)
@result=result
…..
.….
end
attr_writer :host

软件自动化测试成本投入和风险分析

软件自动化测试的成本投入

•脚本的维护成本:自动化的测试流程,使得脚本的维护成为自动化实施的一个关键性的依据。对于一个规范化的系统开发流程来说,实现测试的自动化是很有必要的。但是自动化的脚本维护使得我们的自动化测试在成本上变得较为昂贵。每一个系统的开发都是时刻随着需求的变更而改变,然而在大多数的情况下,就是很微小的一点系统修改都会导致我们去大量的修改自动化的测试脚本。

(这就是我们为什么要引入架构的关系!)

我们的架构的好处就是业务与逻辑分开,就是页面出现了更新或修改只需重新录制或编写新的用例即可,不会影响业务结果。

自动化测试的脚本的维护

•整个自动化测试开放平台分两个部件:

JAVA前端(负责数据的预置、与执行的发起)

Ruby底层(负责业务的实现、与操作的执行)

•关于维护

JAVA前端所有配置参数都是动态获取,后期业务变更无需修改

Ruby底层

Test用例层与Control控制层随着需求的迭代,需要长期的进行维护

Tools工具层只会根据业务上有很大的变动而更改

othe无需更改

软件自动化测试的风险分析

•风险的存在原因:
  自动化测试只是针对系统的大部分主要功能进行了有效的测试和验证,从而使得覆盖的测试面较为狭窄,导致系统的有些隐藏问题无法发现。
•风险的减小建议:
  在自动化测试的实现初期 ,设计好自动化的测试用例,把握好系统的重点功能及可能会出现的问题,进而再实现测试自动化。在现有条件下减小可预计的系统风险。
•目标:
  在现有条件下减小可预计的系统测试风险。
说在最后的
      1、自动化并不是全自动,需要花精力才能让他自动化。
      2、自动化工具不是万能的,他也有自己的缺陷。
      3、自动化永远不可能取代人工的位置。
      4、自动化脚本的维护有时是很致命的,需要有一定的经验才能做好。 
 

基于Ruby的watir-webdriver自动化测试方案与实施(二)的更多相关文章

  1. 基于Ruby的watir-webdriver自动化测试方案与实施(三)

    接着基于Ruby的watir-webdriver自动化测试方案与实施(二) http://www.cnblogs.com/Javame/p/4159468.html 继续 ... ...   编写脚本 ...

  2. 基于Ruby的watir-webdriver自动化测试方案与实施(五)

    接着基于Ruby的watir-webdriver自动化测试方案与实施(四) http://www.cnblogs.com/Javame/p/4164570.html 继续 ... ... 关于特殊控件 ...

  3. 基于ruby的watir自动化测试 笔记一

    基于Ruby的watir-webdriver自动化测试方案与实施(五)   基于Ruby的watir-webdriver自动化测试方案与实施(四)   基于Ruby的watir-webdriver自动 ...

  4. 基于Ruby的watir-webdriver自动化测试方案与实施(四)

    接着基于Ruby的watir-webdriver自动化测试方案与实施(三) http://www.cnblogs.com/Javame/p/4159468.html 继续 ... ...   首先回忆 ...

  5. 基于Ruby的watir-webdriver自动化测试方案与实施(一)

    基于Ruby的watir-webdriver自动化测试方案与实施(五)   基于Ruby的watir-webdriver自动化测试方案与实施(四)   基于Ruby的watir-webdriver自动 ...

  6. 基于ruby的watir自动化测试 笔记二

    基于ruby的watir自动化测试 笔记一的补充版,新增加了些特殊的控件捕获方法.还在更新中.... attribute_value 获取当前控件的属性 Value = ie.link(:id=> ...

  7. 基于Java+Selenium的WebUI自动化测试框架(十二)-----读取Excel文件(POI)(2)

    上一篇我们讲了怎么利用Java的反射机制,将Excel的读取到的数据,赋值给我们构造函数中定义的变量. 接下来就简单了,我们将实际实现这个读取的简单过程.来看下面一段代码. private stati ...

  8. 基于Ruby的Watir-WebDriver自动化测试框架

    基于Ruby的watir-webdriver自动化测试方案与实施(五)   基于Ruby的watir-webdriver自动化测试方案与实施(四)   基于Ruby的watir-webdriver自动 ...

  9. 从0到1,教你实现基于Ruby的watir-webdriver自动化测试

    一.为什么选择Ruby []完全开源. []多平台:Ruby可以运行在Linux, UNIX, Windows, MS-DOS, BeOS, OS/.. []多线程:线程就是指在一个程序中处理若干控制 ...

随机推荐

  1. IOS开发之微信山寨版

    为了犒劳自己的学习内容,就山寨个微信的视图控制吧.拿着微信,仔细的看了一下,主要用到了TabBarController以及配置TabBarItem, NavigationController以及配置N ...

  2. 转:Android随笔之——使用Root权限实现后台模拟全局按键、触屏事件方法(类似按键精灵)

    本文转载自CSDN的jzj1993,原文连接:http://blog.csdn.net/jzj1993/article/details/39158865 有时我们需要使用安卓实现在后台模拟系统按键,比 ...

  3. 利用pixi.js制作精灵动画

    CSS Sprites 技术对于广大的前端工程师来说应该是一点也不陌生.国内开发者昵称为CSS精灵,通过一定的技术手段,让精灵动起来,我称其为精灵动画,那么目前有哪些实现方式 呢?下面让我们详细的聊聊 ...

  4. MySQL Doublewrite Buffer及业务评估

    1. 关于Doublewrite Buffe的总结 Doublewrite Buffer:Doublewrite Buffer出现的初衷是防止buffer pool中的脏页刷新到磁盘中,出现部分写的问 ...

  5. hibernate笔记--双向一对多映射方法

    前两节写了两个例子,分别是单向多对一的映射和单向一对多的映射,这一节继续以这个例子讲一下双向一对多的映射方法,如下图所示: 很多时候,我们既想从一对端获取多对端的信息,又想从多对端获取一对端的数据,这 ...

  6. java操作数据库增删改查的小工具2--TxQueryRunner

    当涉及到多表查询时,如数据库中有两张表分别为t_person和t_address,表结构如下: 其中t_person的外键为t-address的主键aid, 新建两个javaBean类,Person ...

  7. 【集合框架】Java集合框架综述

    一.前言 现笔者打算做关于Java集合框架的教程,具体是打算分析Java源码,因为平时在写程序的过程中用Java集合特别频繁,但是对于里面一些具体的原理还没有进行很好的梳理,所以拟从源码的角度去熟悉梳 ...

  8. Azure Backup (2) Azure备份服务

    <Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China. 本文介绍的Azure管理界面是Classic Model,网址:h ...

  9. HTML基础知识汇总

    前言 一直想总结一下,苦于没有时间,正好看到了一个总结了不错的博客,我就在他的基础上进行一下测试并总结,原博地址:http://www.cnblogs.com/wanghzh/p/5805587.ht ...

  10. CSS魔法堂:重拾Border之——图片作边框

    前言  当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...