基于WEB UI接口轻量级测试框架及实施方案-1
上一篇 / 下一篇 2012-09-13 17:30:30 / 个人分类:杂谈
;t \o2D9\0 1、背景介绍
0xd{T y`w7oL0%C6D2j-c9Gu!|B0 1.1 接口51Testing软件测试网c q3F}F
J5t?`6RW0 webui接口是服务器与客户端交互的方式,即浏览器或者其他客户端工具与web服务UI层交互的协议.常见的有两大类,一是浏览器与服务器交互的 HTTP,HTTPS协议的接口,另一类web service接口如soap,rmi,rpc等协议。这些接口的共通特征都是作为Server对外的UI提供通信服务。51Testing软件测试网iZ3qyj,d
:pes#F;M X*B051Testing软件测试网F'c!_F7J-V `'dweb ui接口测试即站在web服务程序UI层之上自动化测试的一种手段,是站在用户的角度上测试web服务程序业务逻辑的正确性。测试的重点是围绕web服务 暴露的接口检查接口数据的正确性,这个过程是将web服务程序当做黑盒,通过自动化测试技术提高测试执行效率降低人工回归的成本。
BT&d#S$n051Testing软件测试网 x'G}} q"{/G)P1.3 可测性分析51Testing软件测试网iw0o!K1JB!M
e,M/opP `-{0 1.3.1 为什么做接口测试51Testing软件测试网^]d,[h
f8H]h"S']2_\0 在业务模块的分层测试中,各种测试方式的比重如下图所示,实践中我们从系统级测试发现的bug数目最多,所以系统级测试占比比较大;除此之外,由于现在 敏 捷的尝试以及普遍开展的项目迭代,面向模块提前介入测试的方式也越来越频繁,而此时并不具备系统级可测性,因此模块的接口就成为测试自动化的最好入口。
UQ @s AX;P0)d'r*P J2R+|-j0在业务系统常用测试方案中,有以下说明:51Testing软件测试网6FJb*U7J%Ly!e"U:^j
(1)单测在不同的团队和模块有不同的作法,如果QA太多的介入,则对QA coding能力要求较高,case的传承性也受到挑战51Testing软件测试网5x+P:h8DLr~Ei
(2)业务模块接口测试主要关注接口请求参数与返回数据的正确性,以参数覆盖为测试等价类51Testing软件测试网H'w5s/j&^FF@F
(3)系统级case对web业务模块来说都是基于浏览器用户行为的,目前有selenium自动化,大部分是手工测试。
DX4VI$M0从分层测试的特征,业务系统的结构出发,我们认为,接口测试的必要性包括:51Testing软件测试网%l:t3c_&~4`:Z-X
(1)迭代开发模式中,接口测试可先于系统级测试提前进行,属于测试前置
zxh;G.TQ!p U0(2)相比于基于浏览器客户端的系统级测试,接口测试更专注接口数据正确性,稳定性与可靠性的性价比高
uAf6yT"X01.3.2 接口可测性
-b!dn:^K&v'?0接口在业务模块中的类型为典型的HTTP接口(Ajax,Dwr,Action…),也有Java类型的一些接口(RPC,RMI,SOAP),在可测性上具有一些共通特征:
O"K!\-`z9U;py1zq0(1)可自动化率高:接口总能通过相应的client来发送请求51Testing软件测试网 j-~8isHl
(2)脱离RD代码依赖,只针对接口:属于黑盒测试范畴,难度较白盒低
"J\2G U.nlO5M3N0(3)执行速度介于系统级与单测之间:对于业务模块来讲,脱离浏览器后的接口测试稳定性与效率都是大幅提升
;{8KzH7oh_0(4)容易实现数据分离与数据驱动,容易抽取公共的框架性内容,降低case编写维护人员对coding的依赖51Testing软件测试网!n/cN%J/Gg:Q:J
4w|9S7`9zVsii0 2、轻量级测试框架itest51Testing软件测试网$cb I1ZWVK
7| \k(og7OY!}0 itest是interface test接口测试框架的简称:支持基于网络通信的WEB UI接口自动化测试,支持HTTP,SOAP,RPC等几种常见协议,支持多种验证结果的模式,支持数据分离,最主要的特征还是通过数据文件驱动测试执 行,不需要编码实现测试用例。
%Alp5E8` |o051Testing软件测试网\Fa fP$D6E#l2.1 架构设计