什么是 SOA 测试?
SOA(面向服务架构)测试
SOA测试是对SOA架构风格的测试。在此测试中,软件组件设计为通过通信协议通常通过网络进行通信。它是服务生命周期管理的一个重要方面,因为它支持跨多个SOA服务实现解决服务质量的多个方面。
这是一项复杂的测试,因为复合软件具有许多活动部件和互连,对测试具有挑战性。此测试验证软件的整个多层架构。它测试一组遗留应用程序、定制组件或第三方组件。
SOA
它是一种集成业务应用程序和流程以满足业务需求的方式。它赋予业务流程敏捷性和灵活性。对流程或软件的任何更改或修改都可以针对特定组件,而不会影响整个系统。在SOA中,软件开发人员要么开发要么购买程序,称为服务。
服务
服务是应用程序或业务流程的功能单元。它可以被另一个应用程序或业务流程重用或重复。它们易于组装且易于配置组件。它们可以被视为构建块。他们可以构建任何类型的应用程序或软件。此外,它们可以轻松地添加到应用程序或业务流程中或从中删除。服务主要由它们执行的功能定义。
网页服务
Web服务是独立的软件组件,可以通过Web发布、查找和使用。Web服务通过Internet进行通信。
服务提供商在Internet上发布服务或软件。
用户在Web服务注册表中搜索特定的Web服务。
然后,返回URL(统一资源定位器)和WSDL(Web服务描述语言)。使用它们,服务提供者和请求者通过SOAP消息进行通信。
当用户调用Web服务时,会建立到提供程序的HTTP连接。生成SOAP消息以指示提供者调用所请求的Web服务逻辑。
提供者以SOAP消息的形式接收响应,该消息嵌入到HTTP响应中。此响应是用户应用程序可读和可理解的数据格式。
SOA测试
SOA包括多种技术。SOA构建的应用程序具有松散耦合的不同服务。SOA测试强调以下3个系统层-
服务层-它包括服务,从业务功能获得的系统公开的服务。例如,健康应用程序包括体重跟踪器、血糖跟踪器和血压跟踪器。该服务层由以下服务组成,这些服务从数据库中获取各自的信息-体重跟踪服务、血糖跟踪服务、血压跟踪服务和登录/注册服务。
流程层-该层包括流程,作为一个功能的一部分的服务集合。这些过程可以是UI的一部分,例如搜索引擎,或ETL工具的一部分。这一层主要强调UI和流程。体重追踪器的UI,以及UI和数据库的集成是主要目标。我们考虑以下功能-添加新数据、更新现有数据、构建新跟踪器和删除数据。
消费者层-该层包括UI。基于此级别,SOA软件测试分为以下3个级别-
服务水平
接口级
端到端级别
对于测试设计和测试执行,分别使用自顶向下的方法和自底向上的方法。
SOA测试策略
测试计划方法
SOA测试人员应该完全了解软件的架构。
软件必须分解成更小的独立服务。
软件结构必须组织在3个组件下:数据、服务和前端应用程序。
应该仔细分析组件,并且必须概述业务环境。
这些业务情况必须分为普通情况和应用特定情况。
必须创建和维护一个可追溯性矩阵,所有测试用例都必须追溯到业务环境。
测试执行方法
业务环境驱动的数据库测试
分析了与系统相关的业务的不同方面。
环境是在以下集成的基础上开发的:i)软件的网络服务,ii)网络服务和软件。
数据是根据上述情况设置的。
数据的设置方式也必须涵盖端到端的情况。
存根
创建虚拟接口来测试服务。
通过这些虚拟接口提供输入,并且可以验证输出。
当软件使用未测试的外部服务接口时,我们可以在集成测试期间创建一个存根。
回归测试
当有多个版本为系统提供稳定性和可用性时,就会对软件进行这种测试。
创建了一个广泛的回归测试集,涵盖构成软件基本部分的服务。
该集合可以在流程的多个版本中重复使用。
服务水平测试
此测试测试组件的功能、安全性、性能和互操作性。首先,每个服务都是独立测试的。
功能测试此测试在每个服务上执行
确保服务提供对请求的正确响应。
收到请求的正确错误以及错误数据、错误数据等。
评估服务需要在运行时执行的操作的每个请求和响应。
每当服务器、客户端或网络级别出现错误时,验证故障消息。
检查响应并确定它们的格式是否正确。
确定从响应中接收到的数据是否与请求的数据相对应。
安全测试安全测试是SOA应用程序服务级别测试的一个组成部分,因为它可以确保其安全。安全测试期间涵盖以下内容-
由Web服务安全测试确定的行业标准,Web服务必须遵循该标准。
必须准确发挥作用的安全措施。
文件上的数据加密和数字签名。
验证和授权。
必须在XML上测试漏洞,例如SQL注入、恶意软件、XSS、CSRF等。
防止服务攻击。
性能测试应对任何服务进行这种测试,因为服务是可重用的,而且许多应用程序可能同时使用相同的服务。性能测试考虑以下因素
应在极端负载下测试的服务性能和功能。
服务性能在单个工作和与其集成的应用程序中进行比较。
应该进行负载测试以验证响应时间、检测瓶颈、验证CPU和内存使用情况以及预测可伸缩性。
集成级测试
执行服务级别测试是为了保证单个服务的正常运行,而不是耦合组件的正常运行。
执行集成测试强调接口。
此测试涵盖所有可能的业务情况。
在此阶段再次进行非功能测试。通过安全性、合规性和性能测试来确保和维护系统的稳定性。
检查通信和网络协议以验证服务之间数据通信的一致性。
端到端测试此测试可确保软件在功能和非功能方面满足业务需求。它考虑了以下内容-
集成后,所有服务均按预期运行。
异常处理。
软件界面。
所有组件中的数据流。
业务流程。
SOA测试中的挑战
服务的接口总是缺乏或短缺。
测试过程在许多系统中继续进行,因此需要复杂的数据需求。
应用程序是一组易于变化的组件。因此,更频繁地需要回归测试。
由于多层结构,很难完全隔离缺陷。
很难预测负载,因为服务用于各种接口。因此,它使性能测试计划变得难以管理。
SOA是一组不同的技术。SOA测试需要具有不同技能的人员,这最终会增加计划和执行费用。
安全测试也很难执行,因为应用程序是多个服务的集成。此外,验证也相当复杂。
SOA测试工具
SOAPUI-此开源工具用于服务测试和API测试。它是一个桌面应用程序,支持多种协议,例如SOAP、REST、HTTP、JMS、AMF、JDBC等。它有助于开发、检查和调用Web服务。SOAPUI还用于负载测试、自动化测试和安全测试。它带有内置的报告工具。
iTKOLISA-该产品套件为分布式系统的功能测试提供了解决方案。它可用于回归测试、集成测试、负载测试和性能测试。它还用于设计和执行测试用例。
HPServiceTest-这是一种功能测试工具,与UI以及共享服务测试兼容。它可以通过单个脚本进行功能和性能测试。它与HPQC集成。它可以管理大量的服务和数据。它通过模拟JEE、AXIS和DotNet环境支持互操作性测试。
ParasoftSOA测试-此分析工具套件是为API和API测试开发的。它支持Web服务、REST、MQ、JMS、TIBCO、HTTP、XML等。它使功能、集成、回归、安全、性能测试成为可能。存根可以通过ParasoftVirtualize创建。
评论列表