自动化测试之一:自动化测试基础

本文介绍了分层的自动化测试,包括单元、接口和UI自动化测试,还说明了适合自动化测试的项目需满足软件需求变动不频繁、项目周期长、脚本可重复调用等条件。此外,对Selenium的三个版本及appium这一移动平台自动化测试工具进行了简介。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分层的自动化测试

    所谓传统的自动化测试是基于产品UI层的自动化测试,它是将黑盒功能测试转化为由程序或工具执行的一种自动化测试。

    分层自动化测试倡导的是从黑盒(UI)单层到黑盒和白盒多层的自动化测试,即从全面黑盒自动化测试到对系统的不同层次进行的自动化测试。

    ①:单元自动化测试

            单元自动化测试是指对软件中的最小可测试单元进行检查和验证。(由开发人员去做更合适,熟悉代码)

    ②:接口自动化测试

            Web应用的接口自动化测试大体分为两类:模块接口测试和协议接口测试。

           (1) 模块接口测试:主要测试程序模块之间的调用与返回。它主要强调对一个可实现完整功能的类,方法或函数的调用的测试。

           (2) 协议接口测试:主要测试对网络传输协议的调用。如HTTP/SOAP等,一般应用在前端和后端开发之间,以及不同项目之间。

            模块接口测试更适合开发人员去做,协议接口测试既可以由开发人员做,也可以由测试人员去做。

    ③:UI自动化测试

            UI自动化测试以实现手工测试用例为主,可降低系统功能回归测试的成本(人力成本和时间成本),UI自动化测试由部分功能测试用例提炼而来,更适合测试。

适合自动化测试的项目

     一般来说,满足以下三个条件就可以对项目开展自动化测试:

           (1) 软件需求变动不频繁

           (2)项目周期较长

           (3)自动化测试脚本可重复调用

Selenium简介

       selenium经历了三个大的版本,Selenium1.0,Selenium2.0,Selenium3.0,selenium不是由氮素一个工具构成的,而是由一些插件和类库组成的。

       Selenium 1.0:

           (1)Selenium IDE:是嵌入在Firefix浏览器中的一个插件,可实现简单的浏览器操作的录制与回放功能

           (2)Selenium Gird:是一个自动化测试辅助工具,可以很方便的实现在多台机器上或异构环境中运行测试用例

           (3)Selenium RC:是Selenium家族的核心部分,支持多种不同语言编写的自动化测试脚本,把Selenium RC的服务器作为代理服务器去访问应用,即可以达到测试的目的;   

                    其由Client Libraries 和Selenium Server两部分组成,前者主要用于编写测试脚本,负责控制Selenium Server的库,后者负责控制浏览器行为;    

                   Selenium Server主要分为三部分:Selenium Core,Launcher,Http Proxy。Selenium Core就是由一堆JavaScript函数的集合。通过这些js函数,我们可以用程序对浏览器进行操作。Launcher用于启动浏览器,把Selenium Core加载到浏览器页面当中,同时,把浏览器的代理设置为Http Proxy。

     Selenium 2.0:

          Selenium 2.0 = Selenium 1.0 + WebDriver

          在2.0中,主推的就是WebDriver,可以将其看成Selenium RC的替代品,但是2.0并没有彻底抛弃Selenium RC。

          Selenium RC 和WebDriver有着本质的区别:

               Selenium RC 是在浏览器中运行JavaScript应用,使用浏览器内置的JavaScript翻译器来翻译和执行selenese的(selenese是selenium命令集合)

               WebDriver通过原生浏览器支持或者浏览器宽展来直接控制浏览器,其是针对各个浏览器而开发的,取代了嵌入被测Web应用中的JavaScript,其还可以利用操作系统级的调用,模拟用户输入。

     Selenium 3.0:

         selenium 3.0 = Selenium 2.0 - Selenium RC

         其只支持Java8以上版本

         其中的Firefox浏览器驱动独立了,2.0测试库默认是继承Firefox浏览器驱动的,在3.0中,Ffirefox浏览器和Chrome浏览器一样,在使用前需要下载和设置浏览器驱动。

         mac OS操作系统集成了Safari的浏览器驱动,该驱动默认在/usr/bin/safaridriver目录下

        只支持IE 9.0以上版本

appium简介

    appium是当前移动平台上主流的自动化测试工具之一

     appium是由application和selenium合成的。

     appium类封装了标准Selenium客户端类库,为用户提供常见的json格式的Selenium命令,以及额外的移动设备控制相关的命令。appium客户端API实现了Mobile Json Wire Protocol和 W3C WebDriver spec的元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值