论文部分内容阅读
随着互联网技术的迅速发展,软件的功能越来越丰富、规模越来越大、性能越来越强,人们对软件产品质量的要求也越来越高。云测试基于云计算与自动化技术,有效克服了传统软件测试过程遇到的困难。用户按需获取云测试服务,在云端快速搭建可靠的虚拟软件测试环境后以较低的成本完成测试工作。云测试中的虚拟机调度策略不仅影响测试效率,还影响能源消耗。因此,在云测试过程中选择合适的虚拟机调度策略显得尤为重要。本文主要研究云测试中的虚拟机资源调度,主要工作与创新点包含以下几点:(1)分析当前云测试中所涉及的自动化软件测试技术与云计算技术,讨论自动化软件测试的适用范围和使用局限性,研究云计算的服务层次和基本架构,阐述云测试的相关技术及其优势与挑战。(2)研究云测试过程中虚拟机的调度流程,详细分析常见的虚拟机调度策略并将其分为三类:以节约能耗为中心、以负载均衡为中心以及以QoS性能为中心。分析常见虚拟机调度算法的优缺点,介绍了云数据中心资源调度模拟系统CloudSim。(3)分析测试任务间的依赖关系并提出单依赖与多依赖模型,将多依赖关系分为一对多依赖、多对一依赖以及多对多依赖。针对蚁群算法中蚂蚁只靠信息素交流的特点,将测试任务依赖关系作为蚂蚁的信息素参考因素,并在云测试虚拟机调度的过程中应用该算法。模拟实验表明,与轮询算法和遗传算法相比,该蚁群算法不仅能够提高测试效率,还能保证虚拟机的负载均衡。(4)本文采用CloudStack、Selenium、TestNG以及Struts2研发了基于IaaS服务的自动化云测试平台。根据软件工程开发流程研究云测试平台的需求提出功能性需求,并对该平台的总体架构、后台实现和数据库分别进行设计。从用户角度阐述测试平台的整体架构设计,介绍总体测试流程。最后,对本文的工作进行了总结,并对将来的工作进行了展望。