论文部分内容阅读
随着社会的不断进步和计算机科学技术的飞速发展,计算机及软件在国民经济和社会生活等方面的应用越来越广泛和深入,软件质量已经成为制约计算机应用的主要因素之一,而软件测试是现阶段保障软件质量的重要手段。如今软件系统正朝着网络化的方向发展,Web软件得到了广泛的应用,Web服务随之产生,Web服务的测试日渐显示了其重要的地位。由于Web服务存在多协议、自描述、模块化等特点,以及实现方法对测试人员不可见等现状,使得测试Web服务具有一定的挑战性。 本文旨在研究Web服务测试技术,着眼于Web服务测试框架的设计,较为全面的分析了软件测试技术以及Web服务测试方法,并建立了基于合约的Web服务测试模型,较为完善的完成了整个Web服务测试的生命周期。 论文从传统软件测试技术入手,介绍了软件测试方法和测试用例生成方法,探讨了今后软件测试技术的研究方向,并在此基础上介绍了Web服务的测试技术。针对Web服务的特点,采取了基于合约式设计的Web服务测试方法,它是基于规格测试的特例,Web服务提供者和服务使用者通过在WSDL文档中定制合约,对Web服务中的方法增加前置条件和后置条件描述,即对Web服务的功能更进一步的说明,以提高Web服务的易测试性,并有助于在Web服务测试中区分服务提供者和使用者的责任。 本文在此理论的基础上,提出了一个基于合约的Web服务测试框架DbCWSTF。该测试框架是基于“可复用”的思想设计的,通过将测试设计部分和测试执行部分分开,从而在一定程度上大大提高了测试的自动化程度,并且可用于回归测试。 DbCWSTF将整个测试分为测试设计和测试驱动两大部分。测试设计部分主要负责从被测服务的WSDL文档中提取有用信息,从而生成规格文件即合约,进而根据规格文件生成能够充分测试被测服务的测试数据,最后再根据测试数据生成相应的测试脚本;测试驱动部分主要根据测试脚本执行测试,最后将测试结果与预期结果进行比较,从而生成结果报表,以便于日后的查看和管理。 通过本文的研究,初步实现了通过WSDL描述文档对Web服务的黑盒测试,而且该测试框架DbCWSTF从“可复用”的设计理念出发,并实现了部分模块的自动化,为今后测试自动化的开发工作奠定了良好的基础。