● 摘要
动态测试是保证软件可靠性的重要手段之一,它通过运行程序来检验软件的动态特性和运行结果的正确性,并根据程序的运行情况对程序进行评价,其是检测程序动态行为的一种有效手段。通过动态测试可以检查运行结果与预期结果的差异,分析程序的运行效率和健壮性等性能,在软件测试中有着极为广泛的应用。随着测试技术的迅猛发展和测试工具的广泛应用,出现了许多针对程序进行测试的测试方法和测试工具。目前在动态测试中常运用程序插装技术。程序插装可分为基于源代码插装和基于二进制码插装两种方式,目前大多数动态测试工具都是基于源代码进行插装的。而大多数情况下,软件产品是以第三方类库的形式进行测试的,因而难以采用在源码上插装的方法采集测试覆盖率信息和执行状态信息。此外,基于源代码的插装比基于二进制码的插装效率要低,灵活度不够。为了解决上述问题,本文在对动态测试技术和Java语言运行特点研究的基础上,扩展现有动态测试技术,建立动态测试模型,提出了一种基于字节码插装的Java软件动态测试方法,模型从白盒结构测试角度定义了对Java程序进行动态测试的过程,主要关注程序的内部结构和程序的动态执行轨迹。根据所提出的解决方案,设计并实现了基于字节码插装的动态测试工具。本文详细介绍了工具的系统功能和具体功能模块的实现。然后介绍了工具的操作过程和处理流程,并与老版QESat/Java(Quality Engineering-Software Analysis and Testing Tools)动态测试部分进行了比较。最后,对全文进行总结并指出了今后研究的方向。
相关内容
相关标签