论文部分内容阅读
自软件开发方法与技术作为一门独立的课题提出,对软件测试技术的研究和探讨也从未中止过。作为软件测试技术领域的研究热点,自动化测试正在现实应用中发挥着越来越显著的作用,自动化测试技术的提出使得软件测试的效率有了突破性的进展,资源消耗得到了明显的控制。本文概述了软件测试技术的相关知识,分析了软件测试的一般过程及基本分类。在对测试管理及软件质量相关概念进行概述的基础上对测试技术进行了深入的研究,提出自动化测试的相关内容。首先,对自动化测试技术的一般流程和基本原理进行深入分析,介绍常用的自动化测试工具。自动化测试的特点决定了其更有利于实施回归测试,回归测试在软件测试过程中的地位决定了回归测试的必要性,同时也成为自动化测试过程中的一种必要的测试形式。另外,回归测试是软件演化过程中频繁进行的且开销巨大的一项任务,自动化测试过程中测试用例集的优化程度直接影响着测试的成本和效率。针对自动化测试中回归测试的特点,通过总结和分析以往启发式测试用例集精简算法,文中提出一种改进的测试用例集精简方法,即通过对测试用例集进行消除1-1冗余、互补策略选择等方法,完成对初始测试用例集规模尽可能大程度的缩减。而且,测试需求集简化思想的融入和演化,使得测试用例集约简算法更加丰富和实用。实验结果表明,相对于以往的测试用例集优化方法,新方法的效率和资源分配的合理性均有了显著地提高。最后,在测试用例集优化问题中引入测试用例优先级排序思想。优先级排序技术是一种高效的回归测试技术,它能够使测试过程在一定的测试时间内执行更多有效的测试用例。优先级的判定过程是一个复杂度很高的活动,能针对不同的测试用例设置不同的优先级,静态或动态的调整测试用例执行过程中的优先级别,使测试用例集始终以较高的检错率和覆盖率执行。实验研究表明,利用启发式方法对测试用例集排序后所获得的收益大于优先级判定过程中的开销。