构建企业级的自动化测试平台

 自动化测试技术近几年来在国内出现很高的研究热潮,软件自动化测试包含UI自动化测试,接口自动化测试,单元测试自动化等,本文主要讨论UI自动化测试技术。UI自运化测试技术需要支持三种类型的软件测试,分别为:B/SC/S、字符终端三种软件架构。

 

1、 B/S架构

 

B/S架构针对的是WEB程序的测试,其开发技术比较统一,主要是HTML+CSS+JavaScript编写的客户端界面,但由于AJAX技术的盛行,很多富客户端框架例如Ext JSjQuery Easy UI编写的客户端界面,是UI自动化测试时的一个难点,因为AJAX框架编写的软件界面,ID是不断变化的,每次加载页面,生成的ID都不一致,故在进行这类的界面自动化测试,需要采用关键字驱动技术,但关键字驱动技术并不是万能的,因为关键字驱动技术在测试的时候会出现定位不准确的问题。

 

2、 C/S架构

 

C/S架构的程序由于市面上的开发平台不统一的问题,在自动化测试技术中也是一项比难的技术,目前市面上的开发平台主要有JAVA SEWinFormMFCDelphi等平台/语言开发的界面,故在识别UI元素的时候,采用的技术也不一样,由于WinFormMFCMicrosoft公司的开发平台,所以WinFormMFC是在当有在windows操作系统中识别率最高的平台,而JAVA SE的识别率则更低一些,Delphi识别率则最低,其根本原因是因为Delphi封装的比较狠,一般的编程语言都很难完全识别到Delphi的控件。DelphiJAVA SEC# WinForm未推出的时候,也曾红极一时,所以很多企业都有Delphi语言开发的软件,故实施UI自动化,Delphi控件识别是无法规避的难题。

 

3、 字符终端

 

字符终端的软件架构是在Windows操作系统出来之前的产物,早期的计算机都是字符终端系统,而且很多银行、电信公司的第一代核心生产系统都是采用字符终端的架构,故在进行UI自动化测试时,字符终端的识别也是必须解决的技术问题,字符终端的测试相当比较简单,使用光标定位和关键字驱动即可,但对屏幕分辨率有很大的依赖。所以在编写自动化测试脚本时,需要尽量避免对屏幕分辨率的依赖。

 

4、测试数据和案例设计

 

UI自动化测试的另外两个技术难题是测试数据和案例设计的问题,由于很多生产系统消耗型的数据非常多,所谓消耗型的数据,就是只能使用一次,不能重复多次使用的数据,而自动化测试主要是解决在回归测试阶段的测试,以减轻回归测试的工作量,解决测试数据的问题,可以从两个方面入手,一是由自动化测试人员根据测试案例在Excel中手动编写测试数据,提供给自动化测试平使用,另一种方法是接入企业现有的测试数据平台,由测试数据平台提供数据,但由为接入测试数据平台需要多方协调工作,难度较度,故很多企业会采用第一种方法。

 

自动化案例设计的技术含量较高,普通的功能测试人员很难胜任这项工作,一般是由专业的测试开发工程师或者是程序员来执行,为了降低自动化测试的实施成本,可以将案例设计图形化、流程化,图形化案例对应一段测试脚本,以简化测试案例的设计难度,图形化案例依赖于用户界面控件,用户界面控件是指测试开发工程师或是程序员通过各种技术手段识别到的被测系统的用户界面控件,并以通俗易懂的形式提供给自动化测试平台,供案例设计人员使用。

 

自动化案例设计应同时支持业务流程案例和场景,因为一个完整的交易可能是由一个业务流程组成的,例如银行里的存钱交易,首先需要开立基本账户,然后才能存钱。为了支持持续集成测试,需要提供场景功能,将案例和业务流程案例集成到场景,在无人值守的环境下进行持续集成测试。

 

5、 自动化测试平台的技术体系

 

自动化测试平台应包含案例设计、业务流程案例、场景、数据集四大基本功能模块,并包含测试执行机,其架构体系图如下:

 

5、 建立自动化测试平台的生态体系

 

为使用平台具有生命力,拥有大量的个人用户和企业用户,我们需要构建一个具有生态系统能力的自动化测试平台,完善平台、分发控制器、执行机的API(应用程序编程接口),提供SDK(软件开发工具包),建立自动化测试的专业网站(可收录用户在测试过程遇到的问题,解决思路、部份源代码等)、出版自动化测试的图书,制作产品光盘等。时机成熟可以考虑开放部份套件的源代码。

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lishengbo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值