论文部分内容阅读
随着现代信息化社会的建设与发展,各种应用软件和系统软件在各种领域中都发挥着不可替代的作用。在各种软件系统被应用到各行各业的同时,它的存在形态也变得越来越多样化、复杂化及大规模化。而软件质量是自软件诞生之日起便是人们始终关注的焦点问题。在现代化的今天,人们对软件质量的关注和要求也随之提高。软件测试作为保证软件质量的重要手段,也吸引着越来越多的学者投入到软件测试的研究中。自动化测试也从简单的录制回放,逐渐向关键字驱动、数据驱动的方向发展。对传统的自动化测试过程进行更深入的研究,将更多的手工测试环节向自动化测试过渡,对提高测试自动化、测试效率有非常重要的意义。在传统的自动化测试流程中,有关测试用例的自动化流程仅有自动化用例执行。目前大部分的企业应用中测试用例还是由人工设计的,非常依赖测试人员的测试经验。测试用例是测试的依据所在,提高测试用例覆盖率,约简测试用例集,对于提高软件自动化测试效率有非常重要的意义。本文旨在通过研究测试用例自动生成的方法,提出一种基于UML时序图的测试用例自动生成的解决方案,达到提高测试用例覆盖率并约简测试用例集的目的,并针对算法进行实验验证及分析。在此的基础上,将算法应用于自动化测试系统的测试用例生成模块中。本文以测试用例生成为核心,首先从UML时序图的半形式化定义着手,研究UML时序图的规则、转换过程以及命名规范,得到测试用例生成的基础数据模型。接着对比现有的测试用例生成算法,综合分析适用场景、复杂度以及算法效率,从中选择适当的算法生成测试用例,并研究了选用算法的改进方法。其次,分析了系统特点、系统相关的角色特点,依据系统的用例以及用例说明,描述了系统功能性及非功能性的详细需求。该自动化测试系统主要包括测试用例自动生成模块、测试用例解析模块、测试脚本执行模块、权限管理模块以及测试报告生成模块。然后,根据本文的技术方案设计,改进了遗传蚁群算法,用实验证明了算法的可行性。在概要设计部分,借用系统架构、功能模块划分、数据库的概念模型及物理模型概要地描述系统。借助每个模块的流程图以及类图,阐述了系统的详细设计及实现细节。最后,结合三角形程序展示了自动化测试系统的自动化测试过程,并对项目的未来发展进行展望。本系统实现后,提高了软件测试自动化,降低了由于测试用例覆盖设计不完全、测试执行低下、测试质量低下带来的软件质量问题,间接地节省了软件测试人员在测试工作的时间与精力。