刘鸿飞 石晓宁 梅磊 汪慧婷
摘要:为适应多样性软件研发环境的要求,文章提出了基于云计算架构的云测试平台解决方案。该方案便于测试人员选取测试环境、测试软件,然后由平台动态地调用软件、硬件资源去执行测试,极大地降低了时间成本和人力成本。文章选用了Klocwork10静态分析软件在云测试平台进行自动化测试,结果表明,云测试平台可以较好地完成测试任务,满足了测试的要求,提高了测试的效率。
关键词: 云计算;云测试;软件测试;自动化测试;Klocwork10
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2019)09-0035-03
Abstract: In order to meet the testing requirements of various software R&D environments, this paper proposes a cloud testing platform solution based on cloud computing architecture. The platform allows the tester to select the testing environment and software, and then the platform dynamically invokes software and allocates hardware resources to perform the test, which greatly reduces the time cost and labor cost. This paper selected Klocwork 10 static analysis software for automated testing on the cloud testing platform. The results show that the cloud testing platform can complete the test task well, meet the testing requirements, and improve the testing efficiency.
Key words: cloud computing; cloud testing; software testing; automated testing;Klocwork10
1 概述
隨着科技水平的提升,对软件可靠性、安全性的要求也逐渐提高[1]。由于缺少统一的开发环境标准,不同装备的软件开发环境迥异,极大增加了软件测试人员搭建测试环境[2]、进行静态分析[3]的难度。为了适应当前多样的研发环境,方便测试人员进行测试,提高测试效率,本文设计实现了云测试平台的方案,用户只需通过云平台的web界面提交测试请求,便可以得到测试结果,省去了测试人员购买测试设备、搭建测试环境等烦琐的过程,从而达到省时、省力、省钱的效果,凸显了云测试平台的易用性。
2 云计算与云测试
云计算[4]是在分布式计算(Distributed Computing)、并行计算(Parallel Computing)和网格计算(Grid Computing)的基础上发展起来的一种计算模型,具有超大规模、虚拟化、高可靠性、高可扩展性、按需服务等特点。
云计算可以提供3个层次的服务:基础设施即服务(Infrastructure as a Service),如用户可以租用平台的硬件服务器等;平台即服务(Platform as a Service),如向用户提供软件研发的平台等;软件即服务(Software as a Service),如向用户提供软件租用的服务等。
云计算有三种云模式:公有云,一般由第三方供应商提供,可通过互联网使用,价格低廉但无法保证数据的安全性;私有云,为客户单独构建,具有较高的服务质量以及数据安全可靠型;混合云,公有云与私有云的结合,具有较强的灵活性,既可以对外提供服务,又可以保障内部数据安全。
云测试[5]是一种基于云计算技术的测试方法,它将软件测试或者测试应用作为一种服务供用户使用。用户采用浏览器与云测试平台进行交互、通过网络上传测试脚本或测试任务、或直接使用云测试平台的应用资源进行测试,最后再通过网络从云测试平台上下载测试结果与评价。云测试具有诸多云计算的特点,使其能够更有效地解决软件测试中的问题,如价格便宜、资源整合、使用方便等。
3 软件云测试平台
3.1 系统架构
云平台采用模块化的系统架构设计,如图1所示,具有高灵活性、高可扩展性和高可靠性等特点。
灵活性:可以针对用户的不同需求,将功能模块进行灵活的组合;
可扩展性:方便添加、升级功能,无须改变当前系统设置,只需升级对应功能模块或将新的功能模块插入到系统架构中即可完成;
高可靠性:采用分布式数据库技术,能够保障系统关键数据不丢失,同时提高系统响应用户请求的速度,从而支持大规模并发用户访问。
3.2 系统资源抽象
云平台对底层的硬件资源实现不同层次和粒度的抽象化,使得云平台的软件环境与底层的硬件架构相分离,便于将异构的硬件服务器、基础架构、存储、网络架构等整合成资源池进行统一管理,从而可以实现资源的负载均衡、动态调度、快速部署,同时也可以为用户以及管理员快速、精准地掌握任务、系统运行情况提供可靠帮助。
3.3 智能化管理
云平台的智能化管理包括整个平台的负载均衡、实时监控和任务的动态调度等,同时可以根据系统各种指标以及运行的历史信息形成状态评估以及报表,供运维人员参考。