自动测试反问的考量

发表于:2014-04-08来源:博客园作者:cloud_test点击数: 标签:自动化测试
自动化测试(Automated Test) 侧重说明由测试工具自动地执行某项软件测试任务,自动化处理范围比较小。测试计划,设计和管理由其他手工完成 测试自动化(Test Automation)

  自动化测试(Automated Test)

  侧重说明由测试工具自动地执行某项软件测试任务,自动化处理范围比较小。测试计划,设计和管理由其他手工完成

  测试自动化(Test Automation)

  侧重说米国整个测试过程由计算机系统自动完成,体现更理想 的自动化思想。不仅要求工具完成测试的执行,而且要求测试的设计和管理也有系统自动完成。

  测试环境的搭建和设置,自动上传软件包到服务器并完成安装

  脚本自动生成,根据UML状态图,时序图等生成可运行的测试脚本

  测试数据的自动产生,可以通过SQL语句在数据库产生大量的数据,用于测试

  测试操作步骤的自动执行,包括软件系统的模拟操作,测试执行过程的监控

  测试结果分析,实际输出和预期输出的自动对比分析

  测试流程的自动处理,包括测试计划复审和批准,测试任务安排和执行,缺陷生命周期自动化处理

  当然,以测试人员的目标来说,测试自动化是追求的理想境界,虽然说不现实,但是我们每时每刻都在努力着。

  不同的测试任务,选用的自动化解决方案是不同的,。单元测试开发结合非常密切,其自动化测试一般建立在继承开发环境上。功能测试系统测试有较大的区别,功能测试需要关注图形用户界面(GUI),性能测试采用底层通信或应用程序接口(application programming Interface ,API)等方式来实现和系统的交互作用。

  在自动化测试过程中,需要遵循一个有效的原则才能到达所期望的目标

  自动测试反问的考量

  自动化无法处理一些模糊结论的判断和验证,适合非常明确的任务,来解决某个特定的问题;

  自动化测试比较不适合新功能的测试,比较适合回归测试;

  单元测试测试中,自动化测试工具和开发工具集成一起,自动化测试程度比较高且全面----xnuit

  集成测试阶段,自动化测试工具的作用是间接的,一般通过基本功能的验证来验证系统的集成

  系统测试阶段,一般进行压力测试,性能测试,可靠性测试;功能测试的逻辑,数据,API验证比较适合自动化测试;GUI,易用性比较适合手工完成

  验收测试,一般手工完成测试

  软件测试自动化实现的原理和方法:直接对代码进行静态和动态分析,测试过程的捕获和回放,测试脚本技术,虚拟用户技术以及测试管理技术

  1.代码分析(静态,动态分析。Selenium IDE采用JavaScript 代码对web页面DOM元素进行操作,从而实现对页面的自动化测试。所有命令对应的API都是通过Selenium这个对象的原型方式(prototype)进行定义或者扩展的。)

  eg:Selenium API 中doClick代码(this.browserbot是很重要的对象)

复制代码

  Selenium.prototpe.doClick=function(locator){

  /**

  *Clicks on a link,button,checkbox or radio button.If the click action causes a new

  *page to load (like a link usually does),call waitForPageToLoad.

  *

  *@param locator an element locator

  *

  */

  var element=this.browserbot.findElement(locator);

  this.browserbot.clickElement(element);

  }

复制代码

  1.2代码扩展

  解压selenium-ide.jar然后用以下代码保存为selenium-api.js代替原来的同名文件。

  ///Create a sample for hello world

  Selenium.prototype.doHelloworld=function(){

  throw new SeleniumError("Hello world");

  };

  Selenium RC 设置HTTP代理(HTTP Proxy).测试机向代理服务器发出请求,然后代理服务器向应用服务器转发请求,并接受服务器的响应,传送给测试机。欺骗浏览器。

  要是用selenium RC server 能够运行HTTPS,IE需要配置,firefox有自己的配置文件(Profile).

  Selenium RC 证书selenium-1.0-beta-1\sslSupport下的cybervillainsCA.cer倒入到IE

  2.GUI对象识别

  3.DOM对象识别 (ieinspector)

  4.脚本技术(线性,结构化,关键字,数据驱动)

  5.自动化比较技术(自动化测试时,预期输入是事先定义的,要么在脚本或数据库中,将捕获的结果和预期结果进行比较)

原文转自:http://www.cnblogs.com/cloud-test/p/3530221.html