基于SaaS的自动化测试云平台研究

2012-06-27 05:50王奇曹良帅赵贤敬舒敏根熊文剑鲍海峰
电信工程技术与标准化 2012年10期
关键词:租户测试用例脚本

王奇,曹良帅,赵贤敬,舒敏根,熊文剑,鲍海峰

(1 中国移动(深圳)有限公司,深圳 518048;2. 中国移动通信集团黑龙江有限公司,哈尔滨 150001)

基于SaaS的自动化测试云平台研究

王奇1,曹良帅1,赵贤敬1,舒敏根1,熊文剑1,鲍海峰2

(1 中国移动(深圳)有限公司,深圳 518048;2. 中国移动通信集团黑龙江有限公司,哈尔滨 150001)

本文首先针对中国移动在系统测试方面的现状,分析了自动化测试的优势以及在进行测试中存在的问题,开发了基于案例解析的自动化测试框架并阐述了其构造流程。结合多用户远程集中支撑的需求,提出了SaaS云服务的架构。最后,本文搭建了基于SaaS的自动化测试平台,并实现了可视化的用例编写和运维。结果表明,基于该平台,用户可以快部署建自动化测试并提高了测试效率。

自动化测试;集中化;云计算;SaaS

1 引言

中国移动业务运营支撑系统是中国移动公司业务运营的核心系统,承担着中国移动数亿用户业务受理、账务管理、缴费、查询等支撑任务,是全球最大的电信运营支撑系统之一,由集团公司统一规划,集团公司与各省市分公司建设的两级结构。随着其规模的不断扩大和复杂度的日益增加,其系统测试和建设质量的重要性也日益突出。同时,各省公司为了快速适应市场需求,新业务的上线频度较高,但留给系统上线测试的时间窗口很短,使得测试压力较大。如何能保证系统在最短的时间得到充分的测试以降低上线风险,是系统建设和运维需要考虑的一个十分重要的问题。系统测试包括功能测试和性能测试,其中功能测试更为突出,因为每次上线都要对其功能点进行验证测试,性能测试则往往是阶段性的测试,部分功能点的变更一般对其性能不会带来较大的变化。本文也重点关注功能测试。

中国移动业务运营支撑系统测评中心(后文简称测评中心)隶属于中国移动(深圳)有限公司,致力于中国移动业务支撑系统的功能测试和性能测试工作,并在功能测试方面进行了深入的研究。一方面通过将手工测试的工作转化为计算机自动执行,提升测试效率,设计了先进的集中化自动化测试框架;同时考虑测试的管理和维护,可以对多个省公司进行集中化的并行测试支撑,并开发了基于SaaS(软件即服务)的自动化测试云平台。

基于SaaS模式的自动化测试云平台,由测评中心统一建设并部署在设于中国移动的南方基地机房,以授权的方式提供给各省公司使用。该平台的特点是可以在较短时间内快速部署并投入使用;同时各省公司无需关心测试平台的构建和设计,可以专注于业务系统的规划和建设,降低了各省公司在测试领域的技术门槛及专业人员的投入。另外,由于与我们合作的省公司本地不需要再部署测试平台,所以相应减少了平台建设、软件购买和系统维护的压力。

下文将对自动化测试框架和SaaS平台进行详细阐述。

2 功能自动化测试技术及其框架设计

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程,即通过自动化测试工具或其它手段,按照我们预定的计划进行自动测试的活动。自动化测试从发展之初至今,在各个方面都得到了长足的发展和应用[1-2]。其优势主要表现在以下方面:

(1)提高测试效率,缩短软件开发测试周期;

(2)节省人力资源,降低测试成本;

(3)增强测试的稳定性和可靠性;

(4)提高软件测试的准确度和精确度,增加软件信任度。

功能自动化测试,一般分为基于GUI(图形界面)的方式和基于数据协议分组的方式,两者在于模拟用户的方式不同,可以达到类似的效果,本文主要讨论前者。

2.1 基于GUI的功能自动化测试原理

基于GUI的功能自动化测试是模拟用户使用软件的步骤,通过功能自动化测试工具来驱动鼠标和键盘操作应用软件。

在进行测试之前,用户需要使用功能自动化测试工具,根据测试用例进行脚本的录制,也就是使用工具记录操作的每一个步骤,然后将录制下的脚本保存下来,以便多次进行回放使用。

在录制的过程中,工具将主要记录3大部分的内容:操作对象或测试路径,操作行为和操作数据。如图1所示。

图1 某功能测试脚本

基于录制回放的自动化测试过程如图所示包括以下几个步骤:(1)编写自动化测试用例;(2)根据测试用例的步骤,通过自动化测试工具来录制脚本;(3)根据测试用例,再次完善脚本;(4)加载测试数据,控制测试循环;(5)测试自动化脚本运行。其中,第2步是自动化测试的关键,其通过录制方式来简化操作,达到易用目的。

与手工测试相比,前4步相对复杂,比手工测试花的成本要高,但第5步可以由计算机自动执行,这也说明自动化测试适用于测试用例可以多次重复的场景,用例重复次数越多,自动化测试优势越明显。而对于测试用例重复执行次数很少的场景,自动化测试无明显优势。

一般来说,上文简单的录制回放的自动化测试方法存在一些不足之处:

(1)通过简单录制方式产生自动化测试脚本,不方便修改。而且需要脚本的编写和维护人员具有一定的编程基础;同时随着脚本数量的增加,一旦测试流程变化或者页面元素发生变化,很难从大量的脚本中快速定位和修改;

(2)测试数据的管理不便,测试数据和脚本融合在一起,无法进行测试数据的管理;

(3)测试结果无法进行分类管理和统计查询,通过工具回放模式产生的日志无法满足测试后分析和统计的需要;

(4)测试缺陷无法处理和跟踪,往往需要再配合其它的测试管理工具。

因此,为了更好的对测试进行管理,降低测试脚本的维护量,使得测试人员可以编写测试用例,我们开发了一套满足目前需要的自动化测试框架。该框架以案例解析引擎为核心,故命名为基于案例解析引擎的自动化测试框架。

2.2 基于案例解析引擎的自动化测试框架

基于案例解析引擎的自动化测试框架,其系统结构如图2所示。

其中,案例解析引擎是整个框架的核心。其主要工作是将测试用例直接转化为可以执行的自动化测试脚本,用户只需要按照框架文件的格式进行用例的编写即可。在测试执行时,案例解析引擎将根据不同的测试引擎生成不同的脚本。

图2 自动化测试框架结构图

案例解析引擎设计的核心思想是采用描述性编程的方法,把用户提供的3个属性(对象、操作和数据)根据测试工具的脚本语法规则映射成脚本代码。在执行过程中,动态加载用例参数,一步步执行用例中的测试步骤。

基于该框架,自动化测试的执行流程如图3所示。

图3 自动化测试框架执行流程

3 SaaS云架构设计

上文通过设计自动化测试框架解决了自动化测试关键技术及管理问题,对于如何解决将该框架应用于各省公司,下文引入了云计算理念,并设计了基于SaaS云的技术架构。

3.1 SaaS云定义

根据权威的NIST(美国国家标准技术研究院)定义,云计算主要有3种服务模式: SaaS,这层的作用是将应用作为服务提供给客户;PaaS,这层的作用是将一个开发平台作为服务提供给用户;IaaS,这层的作用是提供虚拟机或者其它资源作为服务提供给用户。[3-6]

本文主要考虑SaaS,它是通过互联网(可以为公用网和私有网,对应共有云和私有云)以服务形式交付和使用软件的业务模式。在SaaS模式下,软件使用者无需购置额外硬件设备、软件许可证及安装和维护软件系统,通过互联网浏览器在任何时间、任何地点都可以轻松使用软件并按照使用量定期支付费用。

SaaS服务依托于软件和互联网,无论从技术上还是从商务上来看,都拥有不同于传统软件的特性,如互联网特性、多租户特性及服务特性等。

3.2 基于云的3层架构设计

本文对云服务的3层框架做了实例化,其中SaaS层针对具体的测试应用做了实例化的延伸。IaaS层主要基于虚拟化技术实现虚拟主机的分割,根据需要可以分给多个任务或用户。PaaS层主要考虑服务的客户化定制和服务器的分布式部署、模块引擎。SaaS层主要考虑子服务的模块化,子服务的整合和调度。其中SaaS层主要考虑和实现的重点是通过将子服务按照功能进行划分若干不同的子模块,各模块之间通过数据接口和控制服务进行串接,再根据服务提供进行整合和调度,各测试任务通过SaaS服务调度模块和数据库统一配置,从而实现不同的测试服务。

3.3 SaaS服务架构设计

对于3层架构的IaaS和PaaS层,本文将不再进行阐述。本文重点讨论SaaS层的建设和如何将自动化测试框架应用到该层,提供对外服务。图4为基于SaaS的自动化测试服务的架构图。该架构底层设计为数据接口服务,主要提供数据相关的增删改查服务;基础框架层主要包括自动化测试案例引擎、报表引擎和工作流;接下来是相关的告警服务相关接口,如邮件和短信接口;最上两层为组合提供的相关服务以及子服务。

图4 基于SaaS的自动化测试服务架构图

SaaS理念的核心思想有两个:一是租户的概念,即所有用户都定义为租户,每个租户根据权限定制自己的服务;二是权限的设置、管理与控制,租户的服务定制化程度取决于对资源的权限划分的颗粒度。由于本SaaS服务只在形式上租赁,本文中租户和用户同概念,均指省公司。SaaS设计思想在该架构中体现为SaaS服务平台。

4 SaaS自动化测试平台

基于前文自动化测试框架的设计与SaaS云服务的研究,本文开发了自动化测试平台。该平台一方面基于先进的自动化测试框架技术,采取以案例解析为核心思想,通过分布驱动部署和图形化界面实现,简化测试相关操作和管理;另一方面,考虑SaaS的租户服务定制的核心理念,将平台所有功能模块设计为子服务,各个子服务均设计租户权限控制,这样不同租户可以根据权限控制定制自己的服务需求。

该自动化测试服务平台具备如下特点,克服了2.1节中描述的简单录制回放自动化测试方法的不足。

(1)低门槛和去专业化:测试人员无需学习自动化测试技术,手工测试人员可以直接参与该自动化测试实施;用例脚本分离,测试人员只需关心测试用例,无需学习脚本相关技术;测试工作不再以测试执行为重心,测试人员主要是完善测试用例的设计,为项目的整体测试质量提供了时间和效率的保障;

(2)可视化:一是用例编写采用直观的图形拖拽方式,简化了用户操作难度,提升了测试设计的编写速度;二是图形化的运行结果展示和监控,既方便了管理人员对测试项目的宏观把控和了解,也可以协助缺陷分析人员快速定位缺陷,提升了整体的测试工作效率;可视化监控也可以方便管理人员直观实时了解用例执行情况和系统运行情况;

(3)定时调度和实时监控:测试脚本的定时调度机制和自动化测试过程中消息实时传递(测试过程的监控、测试运行结果的实时通知),使得测试人员无需关心测试执行过程,重点关心测试结果,同时降低了自动化测试过程中的沟通成本;

(4)用户功能定制化:本平台的SaaS服务定制设计,用户可以根据需要,选择定制自己关心的功能模块,以满足个性化需求;

(5)快速部署:本平台的SaaS服务部署为B/S架构,使得用户端无需任何部署,只需调通网络,即可进行测试;即使有的用户自己部署测试引擎,本平台也提供了远程接口,也可以快速部署连接。

本平台的总的功能模块如图5所示,当然用户可以根据需求部分裁剪定制部分功能。

自动化测试平台部署为SaaS云服务模式,各个省公司通过网络(IP承载网),即可按需定制其所需要的自动化测试服务。

本文中的系统用户分为3种类型,分别为SaaS权限管理员,平台管理员和用户。其中SaaS权限管理员负责对租户的申请审查、租户信息管理、租户租用服务分配和租户的权限管理。平台管理员负责SaaS软件测试平台的服务发布、版本更新等运维工作。用户是租户下的企业内部用户,是系统的最终使用者即省公司。

图5 平台功能模块

省公司使用该服务平台,可以满足多个省份同时使用进行测试任务的执行,并将测试结果返回给省公司,可以实时监控任务的执行状态和问题跟踪。租户使用该服务平台的流程如图6所示。

5 结束语

本文创新提出一种自动化测试框架,构建了可视化脚本编写方式的自动化测试平台,并部署为SaaS云的服务模式。该平台由测评中心负责建设,各省公司通过租赁的方式来使用平台服务。

基于上文的分析可以看出,本文的设计思路适用于测试对象系统相对稳定的系统,具体来说是要求对象系统的业务流程和前台界面变化不大,这样测试用例执行重复度才会较高,以体现本文自动化测试平台的效率和优势。就目前看,各省公司的多数业务支撑系统和管理信息系统(MIS)系统小版本上线频繁,且其核心业务的流程和前台变化较小。因此本文的自动化测试平台可用于省公司的业务支撑系统和MIS系统小版本上线前的回归测试。

省公司基于该平台可以有效的完成自动化测试,加快系统上线时间,降低系统风险;通过回归,可以提高覆盖率;通过合理调度安排,可以有效提升测试资源的使用率和测试人员效率。

基于SaaS模式,各省公司通过承载网定制化使用该平台相关服务,可以快速的组织自动化测试的流程和部署,同时也可以节省测试资源和软硬件投资。

另外,该平台经过改造,还可以承载基于后台的功能自动化测试及性能测试。

图6 自动化测试平台使用流程

[1] Isenberg H. Automated testing[OL/EB]. http://www.automatedtesting.com/, 2007.

[2] 陈技能. QTP自动化测试实践[M]. 北京: 电子工业出版社, 2008.

[3] Elfatatry A, Layzell P. Software as a service: a negotiation perspective[A]. Proceedings of the 26th Annual International Computer Software and Applications Conference[C]. 2002.501-506.

[4] 叶伟. 互联网实弹的软件革命: SaaS架构设计[M]. 北京:电子工业出版社,2009.

[5] 谢亿民. 互联网和软件融合成就SaaS[J]. 软件世界, 2006,(15):31.

[6] 王舜燕,黄芬. 基于SaaS模式的软件设计方法探讨[J]. 计算机与数字工程, 2008(10):102-105

Hillstone高性能数据中心防火墙喜获ICSA最高级别认证

10月10日,Hillstone宣布其旗下高性能数据中心防火墙获得ICSA LabsEN级标准的防火墙认证,充分证明Hillstone网络安全产品经过市场的严格考验,拥有高安全性。在信息安全领域中,国际组织ICSA Labs的测试是具知名度与公信力的测试,以公开、公平、公正和严格苛刻而著称,一向是安全厂商证明技术实力的佐证,也是用户选择安全产品的风向标。

富士通一体化云基础架构解决方案亮相“第五届CCS云计算高峰论坛”

在近期举办的为期两天的第五届CCS云计算高峰论坛上,Fujitsu (富士通)携云基础架构解决方案亮相。会上,富士通(中国)信息系统有限公司首席架构师邱弘发表了主题为“驰骋云端,自由纵横—富士通云计算基础架构解决方案”的演讲,对Fujitsu(富士通)的云计算技术理念,云架构解决方案以及相关案例进行了详细介绍,获得现场观众的一致好评。

Dialogic入围Light Reading公司的Leading Lights最佳新产品(移动产品)奖提名

Dialogic公司近日宣布其Dialogic PowerMedia Extended Media Server(PowerMedia XMS)入围Light Reading公司的Leading Lights最佳新产品(移动产品)奖提名名单。被提名产品的评选依据是其在“凭借其工程和技术优势,在实现下一代可赢利移动服务部署上可发展为市场主导产品”方面的表现。PowerMedia XMS的入选使其成功进入诸如苹果、谷歌、优科无线(Ruckus Wireless)、三星和泰科来(Tekelec)等新型移动产品优秀开发公司的行列。

Vishay推出用于通信电源的170V TMBS整流器

10月11日,Vishay Intertechnology, Inc.宣布推出9款采用功率TO-220AB、TO-263AB和TO-3PW封装的170V器件,丰富和扩大了TMBS Trench MOS势垒肖特基整流器系列。这些器件定位于通信电源应用,电流等级从10~80A,在30A下的典型正向压降为0.65V。

Research on SaaS-based automated testing cloud platform

WANG Qi1, CAO Liang-shuai1, ZHAO Xian-jing1, SHU Min-gen1, XIONG Wen-jian1, Bao Hai-feng2
(1 China Mobile (Shenzhen) Limited, Shenzhen 518048, China; 2 China Mobile Group Heilongjiang Co., Ltd., Harbin 150001, China)

According the status of the system test of China Mobile Communications Corporation, advantages of automated testing and the corresponding problems in manually testing were analyzed, then an automated testing framework based on case analysis was presented. Next, a SaaS-based cloud services architecture was brought forward to meet the request of remote central support of users. Last, a SaaS-based automated testing platform was built, in which the visualized test case building and operation was brought forward. Finally, the results show that, the more eff i cient automated testing system can be fast deployed by using the platform.

automated testing; centralization; cloud computing; SaaS

TN929.5

A

1008-5599(2012)10-0067-06

2012-09-01

王奇:教授级高级工程师,现任中国移动(深圳)有限公司总经理。

猜你喜欢
租户测试用例脚本
酒驾
安奇奇与小cool 龙(第二回)
基于SmartUnit的安全通信系统单元测试用例自动生成
基于多租户隔离的云安全建设
基于混合遗传算法的回归测试用例集最小化研究
快乐假期
小编的新年愿望
基于MVC模式的多租户portlet应用研究*
基于依赖结构的测试用例优先级技术
企业多租户云存储平台的设计与实现