基于大型复杂系统自动化测试平台的设计与应用

来源 :中国管理信息化 | 被引量 : 0次 | 上传用户:xbjxbj008
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘 要] 软件测试日益受到重视,自动化测试也成为一种趋势。文章介绍了大型复杂系统自动化测试平台的设计,以及引入自动化测试平台后,衍生出来的多种应用。
  [关键词] 自动化测试;大型系统;软件测试;回归测试;系统运维
  doi : 10 . 3969 / j . issn . 1673 - 0194 . 2015 . 21. 096
  [中图分类号] TP311.5 [文献标识码] A [文章编号] 1673 - 0194(2015)21- 0184- 04
  1 前 言
  随着我国信息业的不断发展,大型企业的软件系统变得规模巨大、业务日渐复杂,企业对软件功能、性能的要求也越来越高。越来越多的企业认识到软件测试对企业信息化的重要性,对软件的质量要求也越来越高。
  自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。用机器替代人工执行重复的手动测试。是软件测试的重要组成部分。为了快速支持更短的上线周期,快速应对系统的变更和错误,提高测试团队的工作效率,构建自动化测试平台进行自动化回归测试成为企业信息化建设的必由之路。
  大型复杂系统,规模巨大、数据海量、业务逻辑复杂,采用手工测试覆盖率远达不到要求。因此我们搭建了可以动态扩展的自动化测试平台,用于对软件版本的回归测试。在自动化测试平台的实际使用中,还将应用范围进行了拓展。将自动化测试平台应用延伸到了生产环境的监控、自动化运维等领域。
  2 自动化测试工具分析
  目前自动化测试工具主要分为三大类:
  (1)国外商业化自动化测试软件。这类软件一般功能强大,提供了丰富的插件和完善的第三方接口,售后服务完善,应用范围广泛,但是价格一般比较昂贵。主要包括:HP QTP、IBM Rational Functional Tester等。
  (2)开源或免费自动化测试软件。这类软件一般专注于某一领域,大部分可以免费使用。但是对使用者技术要求一般都比较高,软件的稳定性和易用性一般要低于商业软件。主要包括:Selenium、Watir、AutoIt等。例如:Selenium和Watir专注于Web测试,AutoIt专注于Windows程序。
  (3)国内商业化自动化测试软件。随着市场对自动化测试工具的需求量越来越大,国内很多企业也开发出来国产化的自动化测试工具。考虑到开发成本,这类软件一般应用于特定领域或场景。目前,市场上种类较多,主要支持Web应用。由于产品化程度不高,一般都支持定制化开发功能。
  3 自动化测试平台的需求
  传统的自动化测试工具存在以下问题:自动化程度不高,不能实现无人值守;测试任务的组织、管理性较差;任务执行后的结果分析不灵活;未与被测环境进行关联,部署被测环境耗时耗力。
  针对传统自动化测试的问题,我们对自动化测试平台提出了以下要求:
  (1)支持Java Web、Web Service等应用的自动化测试。
  (2)自动化测试脚本组件化,复用便捷。
  (3)自动化测试脚本、业务数据分离。
  (4)自动化测试脚本在统一的服务器集中管理。
  (5)支持无人值守的批量执行自动化测试用例。
  (6)支持测试用例执行状态的短信、邮件通知。
  (7)支持测试缺陷的统一管理。
  (8)支持灵活多样的分析报表。
  (9)支持系统的自动化部署。
  4 自动化测试的设计
  4.1 自动化测试平台
  平台如图1所示的自动化测试平台架构。自动化测试平台主要由两部分组成,包括:自动化测试、系统自动化部署。司令机和测试士兵机、部署士兵机通过Socket进行通信。
  自动化测试,主要包括两个部分:司令机、自动化测试士兵机。
  自动化部署,主要包括两个部分:司令机、自动化部署士兵机。
  司令机、测试士兵机制作成标准虚拟机,可以实时进行横向或纵向扩展。部署士兵机可以由司令机与生产系统或测试系统服务器建立互信后,自动部署。
  4.2 系统功能
  自动化测试平台中执行自动化功能测试的单位是任务,一个任务由多个测试用例组成,一个测试用例由多个测试组件、测试数据组成如图2所示。
  4.2.1 司令机
  主要提供了测试组件管理、测试用例管理、任务管理、资源管理、策略管理、统计分析、日志查询等功能。
  测试组件管理:对士兵机上传到司令机中的测试组件进行管理。
  测试用例管理:将测试组件添加测试数据后,组合成测试用例,并添加用例所属系统、责任人等信息。
  任务管理:将多个测试用例关联到对应的任务。设置任务的短信提醒策略、执行策略、责任人等信息。并支持手动触发任务执行。
  资源管理:主要管理测试士兵机、短信和邮件发送服务器。
  策略管理:系统提供了任务执行策略、短信和邮件发送策略。定时任务可以按照秒、天、周、月、年设置策略进行定时执行。发送策略支持按照任务和测试用例执行状态(成功/失败)发送短信和邮件。
  日志查询:主要包括任务、测试集执行日志,短信发送日志等。
  统计分析:分时间段,按业务系统进行各类统计、分析。
  待办任务:分时间段、业务系统展示测试问题,由责任人判断出错原因。
  指令发送:根据任务管理配置,向客户端发送测试任务执行指令。
  4.2.2 测试士兵机
  主要提供测试组件编制、任务执行、保存组件到司令机等功能。
  编制组件:支持编制或录制脚本,支持检查点。
  上传组件:将组件上传到司令机。
  执行任务:接受司令机发送的指令,执行任务。
  4.2.3 部署士兵机
  编制部署流程:可以组合发布流程步骤,编制每个步骤的发布脚本和发布条件。
  上传发布流程:将部署流程数据上传到司令机。
  执行部署任务:接受司令机发送的指令,执行部署流程。
  4.3 开发流程
  自动化测试开发流程,如图3所示。
  (1)在测试士兵机中编制基本的业务组件;
  (2)业务组件保存司令机中;
  (3)在司令机中,业务组件输入参数后,组合成测试用例;
  (4)在司令机中,测试用例可以组合成任务;
  (5)司令机给测试士兵机发送指令,由测试士兵机执行任务;
  (6)士兵机将测试结果反馈给司令机。
  4.4 自动化脚本编制原则
  经过不断总结,在编制业务组件过程中,形成了自动化测试脚本编制原则。
  C/S架构,一般情况下将每个功能作为一个业务组件。
  B/S架构,一般情况下将每个页面划分一个业务组件。对于业务逻辑比较复杂的页面,可以将一个页面拆分为多个业务组件。
  4.5 工作流程
  自动化测试平台工作流程,如图4所示。
  (1)ITSM系统通过接口向自动化测试平台发送版本发布需求;
  (2)司令机发送测试系统部署、自动化测试执行指令;
  (3)测试系统(部署士兵机)自动化部署系统新版本;
  (4)测试士兵机对测试系统进行部署验证;
  (5)测试士兵机对测试系统进行自动化测试;
  (6)司令机发送生产系统部署指令;
  (7)生产系统(部署士兵机)自动化部署新版本;
  (8)测试士兵机对生产系统进行部署验证。
其他文献
ERP系统管理着企业的人、财、物、产、供、销,给企业提供了高度集成的管理平台,是企业信息化建设的重要组成部分;条码技术是物流管理现代化的重要技术手段,包括条码的编码技术、条码标识符号的设计、快速识别技术和计算机管理技术,它是实现计算机管理和电子数据交换不可少的前端采集技术。很多企业在建设实施ERP系统的时候也同时考虑如何应用条码技术来提高ERP系统中物流、生产、表单传递管理的效率,以达到快速出入库
在我国经济发展进入快速转型期的今天,高等职业教育经过近十年的发展,逐渐走上以全面提高教育质量为核心,以服务地方经济发展方式转变和产业转型升级为重点的发展道路。研究
对湿式旋风脱硫除尘器短期内出现破损的机理进行了分析,其原因是高速含尘气流对除尘器锥体内壁的冲刷磨损和不锈钢应力共同作用的结果;提出防腐耐磨综合措施.实践证明这种措
简要概述了马钢第二炼铁厂近年来在喷煤工艺流程中对粉尘治理方面的一些改造措施和方案,并介绍了改造后的效果。
以海外油气田开发项目的风险管理为研究对象,通过论述海外油气田开发项目的特点以及开发过程中可能遇到的风险及特征,采用灰色关联度综合评价方法构建海外油气田开发项目风险
目的:探讨对老年糖尿病患者实施自我管理教育的临床效果。方法选择2011年6月-2012年12月收治的老年糖尿病患者80例,随机分实验组42例和对照组38例。对照组按常规方法指导;实验组
本文总结了影响急诊护士小儿静脉穿刺成功率的因素及相应的对策,影响因素主要包括:患儿因素、护士因素、环境因素;护理对策主要包括:选择合适的体位、选择合适的血管、争取家属配
本文对油田公司数据中心机房设备管理的统计需求和实现方式进行了综合分析,结合机房设备管理的实际需要,设计并编制出满足数据中心机房设备业务管理要求的相关基础数据表和统计
过敏性紫癜是以坏死性小血管炎为主要病理基础的免疫性疾病,是一种以皮肤、关节、胃肠道和肾脏损害为主的多系统疾病[1]。紫癜性肾炎是指过敏性紫癜引起的肾脏损害,临床上除