什么是 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

回到顶部