服务验证、维护与SOAP协议详解
1. 服务的验证与确认
1.1 服务测试的特殊性
服务测试的基本概念与组件测试相似,但组织通常无法全面了解整个应用。跨组织的服务访问要求在不了解客户端实际使用方式的情况下对服务进行认证,这使得服务的验证和确认更加困难和重要。
1.2 系统测试的挑战
对于跨组织系统,测试整个系统尤为困难,因为已发布的服务执行的命令会改变状态。例如,在不实际从账户中取钱的情况下,无法测试支票账户服务的取款方法的生产版本。服务提供商必须提供服务的测试版本,以验证客户端对服务的访问。
1.3 服务质量(QoS)测试的重要性
简单的单元测试或回归测试可能无法发现服务执行时间的变化。即使服务返回正确结果,由于请求耗时过长,消费者仍可能超时。此外,服务在处理一两个并发请求时可能正常工作,但在处理20个并发请求时,可能无法达到规定的性能QoS。
1.4 全面测试服务的方法
为了全面测试服务,需要进行功能测试、回归测试、负载测试和代码检查。具体测试方法如下:
- 单元测试 :验证服务中的所有对象。单元测试通常在类的构建之前或期间编写,用于验证类是否正常工作。通常使用JUnit等测试和调试工具进行单元测试,编写类代码的程序员同时编写单元测试。
- 功能测试 :有时也称为黑盒测试,测试服务接口,确保其按预期执行。功能测试会测试事务的所有可能状态,向服务发送无效数据,如低限(零和负数)和高限。功能测试的目标是实现最大代码覆盖率,执行服务中的所有代码。对于新服务或有变更的服务进行