论文部分内容阅读
软件测试是保障软件质量的重要手段,传统的手工测试效率低下,已经不能满足当下要求,自动化测试是其发展的趋势,自动化测试的关键是测试用例的生成。近几年来,测试用例自动生成技术和方法有了一定的发展,但尚未完全成熟,现有技术和方法还未能满足当前软件测试自动化的实际需要,因此研究测试用例自动生成技术对于软件测试自动化技术的发展有着重要的意义。本文主要对测试用例自动生成技术这一问题进行了详细的研究。首先,介绍了软件测试自动化的相关理论和技术以及一些著名的测试用例自动生成算法。接着介绍了混合蛙跳算法的原理,分析了该算法的优缺点,并在此基础上提出了两种改进的混合蛙跳算法:一种是自适应交替的差分混合蛙跳算法(简称ADESFLA),该算法提出了一种改进的选择机制,将差分进化算法和混合蛙跳算法两者的“优势互补”,在算法迭代过程中自适应交替使用,使算法前期和后期都具有良好的寻优能力。另一种是具有领导机制的混合蛙跳算法(简称LMSFLA),该算法将青蛙个体差别对待,每个个体按照个体的优劣程度选择不同的位置更新公式,一定程度上丰富了粒子多样性;在全局最优个体青蛙附近设立粒子群引导,当全局最优个体陷入局部极值时帮助其跳出局部极值陷阱。通过6个连续函数的实验表明,两种改进的算法都具有良好的寻优性能。接着,详细介绍了测试用例自动生成框架的一些关键技术:程序插桩技术、分支谓词、分支函数、适应度函数构造等,并将算法LMSFLA作为测试用例自动生成框架的核心算法包,提出了一种基于LMSFLA算法的测试用例自动生成框架模型。通过为指定路径生成测试用例实验,以路径覆盖率和收敛速度为指标,与同类算法IAGSA进行对比实验,实验结果表明,算法LMSFLA生成测试用例的速度更快,路径覆盖率更高,有较好的可行性。最后,对基于流程管理和WEB的OA系统实例的架构进行分析,得出对该实例自动化测试的必要性。应用现有的自动化测试工具:Web功能测试工具Selenium以及Web性能测试工具LoadRunner,对该实例完成了功能测试和性能测试,并对实验结果进行了分析。