论文摘要
随着软件工程技术的发展,基于组件的软件开发已成为软件工程领域的研究热点,同时在实际应用中第三方组件市场也已经形成。组件技术的发展极大地促进了软件开发的效率,但组件的测试充分性始终得不到保证,特别是组件可靠性和安全性的测试问题始终没有得到较好的解决。其原因是使用方得不到组件实现的源代码,因此无法对组件的内部实现进行有效的分析,而只能通过动态测试技术进行测试。动态测试是通过在测试数据上运行程序并检验程序的动态行为和运行结果发现软件中潜在的缺陷。软件动态监测是软件动态测试过程的重要组成部分,它通过收集软件程序运行时的各种信息来观察软件行为是否符合规范,主要用于软件性能分析、软件优化以及软件调试与测试等领域。基于软件动态监测的组件测试方法是利用动态监测技术对组件运行时的行为进行实时监测,通过观察组件运行时的行为能有效地发现组件中存在的问题。基于调试技术的动态监测技术,利用程序在调试状态下的特点解决了在二进制级别对组件进行测试时无法有效地观察组件行为的问题,从而达到监测组件运行的目的。在基于调试的动态监测技术的监测系统框架的基础上研究COM组件动态监测系统,以便监测到组件的接口调用、接口参数的变化和组件内发生的异常。COM组件动态监测系统在COM组件安全测试系统中的实际应用效果表明了基于调试技术的动态监测技术的可行性与有效性。