论文部分内容阅读
本文围绕Web服务自动测试技术展开了研究。首先对现有的Web服务测试技术进行分析,结合Web服务自动化测试的需求,提出提高Web服务测试自动化程度需要解决的问题:一,需要以较低的代价获得更加有效的测试数据;二,由于Web服务没有人机交互界面这一特性,需要根据测试数据自动生成并运行测试驱动程序;三,需要提高对测试执行结果进行验证的自动化程度。针对以上提出的三个问题,提出了相应的解决方案:
1)测试数据的生成。为了获得更加有效的测试数据,提出两种测试数据生成的方法:一,利用Web服务的合约信息来为初始测试生成测试数据;二,利用Web服务的运行时刻信息来辅助回归测试测试数据的生成。在这两种测试数据生成方法的基础上,进一步提出一种利用合约变异技术对测试数据进行选择的方法,降低了测试数据的规模,提高了测试的效率。
2)测试数据的执行。利用.NET动态编译技术来为Web服务生成动态代理类,然后利用此代理类来自动构造并执行测试驱动程序。
3)测试执行结果的验证。利用Web服务的合约信息在测试执行时刻对执行结果进行辅助验证。
根据以上的方案,设计并实现了一个Web服务自动测试的工具,并对工具开发过程中遇到的一些问题及其解决过程进行了详细阐述。
最后,对本测试数据选择方法进行了实验,并验证其能在保证测试质量的前提下大大降低测试数据的规模。