什么是 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 测试工具
SOAP UI -此开源工具用于服务测试和 API 测试。它是一个桌面应用程序,支持多种协议,例如 SOAP、REST、HTTP、JMS、AMF、JDBC 等。它有助于开发、检查和调用 Web 服务。SOAP UI 还用于负载测试、自动化测试和安全测试。它带有内置的报告工具。
iTKO LISA -该产品套件为分布式系统的功能测试提供了解决方案。它可用于回归测试、集成测试、负载测试和性能测试。它还用于设计和执行测试用例。
HP Service Test -这是一种功能测试工具,与 UI 以及共享服务测试兼容。它可以通过单个脚本进行功能和性能测试。它与 HP QC 集成。它可以管理大量的服务和数据。它通过模拟 JEE、AXIS 和 DotNet 环境支持互操作性测试。
Parasoft SOA 测试 -此分析工具套件是为 API 和 API 测试开发的。它支持 Web 服务、REST、MQ、JMS、TIBCO、HTTP、XML 等。它使功能、集成、回归、安全、性能测试成为可能。存根可以通过 Parasoft Virtualize 创建。
以上是 什么是 SOA 测试?示例教程 的全部内容, 来源链接: utcz.com/z/345754.html