论文部分内容阅读
软件测试是软件开发过程中一个耗费人力和时间的环节,软件测试自动化是提高软件测试效率的有效手段,云计算的超大规模、虚拟化、高可用性、通用性、可扩展性和按需服务的特点,为构建虚拟、可靠的软件测试环境,实现方便低成本的软件测试服务提供了可能性。本课题针对基于云计算的软件测试中提高系统并行测试能力的关键问题进行研究,重点研究软件功能自动化测试的并行测试方法。通过定义测试场景、测试场景流图、可并行测试路径等来描述软件的测试功能点以及各功能点之间的执行关系。通过对测试用例进行语义化的描述并利用测试用例的语义描述来生成测试场景流图和可并行测试路径;将可并行测试路径根据其测试环境需求在云测试平台上利用Map/Reduce机制进行调度测试,将可并行测试路径Map到云端虚拟机上进行自动化测试,测试完成后实现对测试结果的Reduce过程,在调度测试过程中主要涉及到操作系统镜像匹配、资源监控、资源选择等内容;测试完成后实现对各个测试路径的测试结果的集成,并最终生成可视化的测试报告。其次,论文基于开源的云计算框架Eucalyptus、自动化测试框架Autotest以及基于Web框架Django开发的Test_Manager搭建了一个基于云计算的软件测试平台—AT-Cloud。利用Eucalyptus可以灵活的管理虚拟机,如动态的分配、删除虚拟机等,实现对资源的弹性管理;自动化测试框架Autotest实现对软件的可并行测试路径进行自动化测试,产生测试结果;Test_Manager主要用来实现Eucalyptus和Autotest的通信以及用户交互等功能。最后,通过在AT-Cloud上对一个软件实例ATM系统进行测试实验,验证了本文所提出的并行测试方法的有效性,提高了软件的测试效率并且节约了测试资源。