ТЕСТИРОВАНИЕ SOA | ПОЛНОЕ РУКОВОДСТВО

ТЕСТИРОВАНИЕ SOA | ПОЛНОЕ РУКОВОДСТВО

В этом SOA В учебном пособии по тестированию мы подробно узнаем, что такое тестирование SOA, процесс тестирования SOA и следующие концепции.

Что такое SOA

Сервисно-ориентированная архитектура — это метод архитектуры, с помощью которого бизнес-службы распределяют обязанности между различными службами. которые зависят друг от друга.

SOA — это архитектурный шаблон, который позволяет службам взаимодействовать друг с другом на разных платформах и языках. Он использует коммуникационные протоколы для предоставления услуг другим компонентам через компоненты приложения.

SOA слабо связана, что упрощает добавление нового сервиса или обновление существующего сервиса. Эти интерфейсы используют общий стандарт связи, который помогает организации без особых усилий интегрироваться с различными приложениями, сохраняя при этом независимость приложений

SOA помогает организации за счет снижения затрат на инфраструктуру за счет доступа к различным службам с использованием сетевых вызовов, не выполняя каждый раз глубокую интеграцию. Это заставляет программные компоненты взаимодействовать с различными сетями, чтобы работать друг с другом. SOA обычно ассоциируется с XML и SOAP, но понимает, что SOA — это больше, чем просто протокол.

Примеры SOA

SOA используется почти во всех секторах и отраслях, связанных с Интернетом, таких как здравоохранение, правительство, военные, военно-воздушные силы, электронная коммерция, банки, пищевая промышленность и т. д.

Несколько примеров:

  • SOA помогла банку First Citizen предложить услуги своим клиентам вместе с 20 другими учреждениями, использующими такие услуги, как визуализация чеков, обработка чеков и аутсорсинговое обслуживание клиентов.< ли>OfficeMax с помощью услуг, предоставляемых через SOA, сделал основные бизнес-функции, такие как выполнение заказов, анализ бизнес-транзакций в режиме реального времени, отслеживание и измерение сходства продуктов, самые продаваемые продукты, упреждающее реагирование на инвентаризацию, проверку ценовых ошибок и т. д.
  • Cisco раскрыла свои заказы. процессы и услуги с использованием SOA, чтобы гарантировать единообразие процесса заказа продуктов для всех продуктов и каналов, подразделений, приобретений и деловых партнеров.

Что это тестирование SOA

Тестирование SOA является важным аспектом управления жизненным циклом службы, поскольку оно помогает организации учитывать несколько аспектов качества службы в различных реализациях службы SOA.

Тестирование SOA является сложным, поскольку составное приложение имеет множество движущихся частей и взаимосвязей, что делает это сложно проверить. Тестирование SOA проверяет всю многоуровневую архитектуру данной программной службы. Тестирование SOA проверяет набор устаревших приложений, специально разработанных компонентов или сторонних компонентов.

Тестирование SOA — это проверка веб-служб, которые действуют как интерфейс между клиентом и сервером.

Давайте возьмем пример пользователя, проверяющего фондовый рынок, он предоставляет системе информацию о своих акциях, и сервер возвращает эти данные пользователю. Необходимая веб-служба SOA свяжется с серверным приложением или базой данных, которые обработают запрос и ответят действительным ответом.

Протоколы SOA облегчают взаимодействие между клиентом и поставщиком услуг, всей архитектурой SOA основана на этих взаимодействиях.

Архитектура веб-служб SOA

Веб-службы можно определить как службы, доступные через Интернет. Это компонент, который развертывается на сервере, чтобы он мог взаимодействовать с другими службами через Интернет.

  • Веб-служба публикуется в Интернете поставщиком службы в реестре веб-служб.
  • Интернет действует как мост между приложением и веб-службой.

SOA-ТЕСТИРОВАНИЕ | ПОЛНОЕ РУКОВОДСТВО

Давайте рассмотрим простой пример чтобы объяснить, как потребитель взаимодействует с веб-службами

  1. Пользователь открывает приложение и ищет данные.
  2. Клиентская система отправляет запрос вместе с URL-адресом для поиска службы в реестре веб-службы.< li>Реестр веб-служб получает соответствующий ответ, клиент получает в ответ URL-адрес и WSDL.
  3. Связь устанавливается с помощью протокола SOAP путем отправки ответа обратно поставщику услуг и запрашивающей стороне.
  4. Полученный ответ преобразуется в ответ HTTPS, который является окончательным ответом, приложение потребителя заботится о расшифровке ответа. .

Тестирование SOA включает проверку, проверку и аутентификацию поставщиков услуг. Инженеры по тестированию должны знать обо всех компонентах SOA.

Тестирование SOA сосредоточено на трех системных уровнях, таких как уровень потребителя, уровень процесса и уровень обслуживания.

SOA-ТЕСТИРОВАНИЕ | ПОЛНОЕ РУКОВОДСТВО

Потребительский уровень

Потребительский уровень — это уровень пользовательского интерфейса системы. С точки зрения тестирования, это область BlackBox.

Она содержит полную структуру/иерархию интерфейсов, т. е. способ взаимодействия пользователя с веб-сайтом, который отправляет запрос серверной части и возвращает результаты пользователю.< h3 id=h-уровень-процесса>Уровень процесса

Уровень процесса показывает нам, как реализуется и интегрируется бизнес-процесс.

Он включает в себя набор различных сервисов, являющихся частью единой функциональности.

Допустим, здесь процесс может быть частью пользовательского интерфейса, базы данных и т. д.

Уровень процесса концентрируется в основном на интерфейсах и интеграции с базой данных, то есть на процессе.

Мы можем понять уровень процесса на примере веб-сайт электронного обучения.

Пользователь проходит тест на веб-сайте, на уровне процесса могут выполняться следующие действия: добавление новых данных, редактирование, удаление или создание новых данных.

Уровень обслуживания

Уровень обслуживания содержит несколько функций, на которых основано приложение.

Здесь мы можем понять концепцию уровня обслуживания с помощью веб-сайта электронного обучения.

Обычно такие веб-сайты есть — информационные статьи (блог), видео (видео на YouTube), подписка по электронной почте для дальнейших обновлений.

Эти функции в основном выполняют бизнес-функции.

Веб-службы заботятся о транзакциях запроса/ответа.

Веб-сайт отображает соответствующие данные, которые запрашивает пользователь. Уровень служб состоит из служб, которые получают соответствующие данные из базы данных:

  • служба блогов
  • служба потокового видео
  • служба подписки на электронную почту

Процесс тестирования SOA

SOA следует обычному жизненному циклу тестирования программного обеспечения, каждая фаза имеет свои критерии входа и результаты. Но инженеры по тестированию должны приложить больше усилий для настройки необходимой тестовой среды, поскольку SOA сложна.

Каждая организация имеет свой процесс тестирования системы, общий метод, используемый большинством предприятий, заключается в следующем.

  • Требования/обзор дизайна
  • Планирование тестирования
  • Разработка тестирования
  • Настройка тестовой среды
  • Выполнение теста
  • Отчеты о тестировании

< strong>Тестирование веб-сервисов

При тестировании веб-служб используются инструменты тестирования для проверки ответа сервера при отправке запроса.

Тестовые данные могут представлять собой различные запросы, отправляемые на сервер в разных сценариях.

Поскольку приложение взаимодействует с разными веб-службами через разные API. шлюза важно тестирование веб-сервисов.

Инструменты тестирования API, такие как Soap UI, помогают в выполнении тестирования.

Ознакомьтесь с нашим подробным руководством по тестированию API

Функциональное тестирование

Функциональное тестирование в SOA может включать независимое тестирование функциональности каждого сервиса.

Обычно функциональное тестирование объединяется с тестированием веб-сервиса, так как оба имеют схожие процессы.

Давайте рассмотрим пример службы входа в систему, которая проверяет предоставленные учетные данные. получая его от потребителя и отправляя на сервер. Здесь происходит проверка как функциональности, так и взаимодействия между веб-службами.

Ознакомьтесь с нашим подробным руководством по функциональному тестированию

Тестирование производительности

Тестирование производительности в SOA может быть связано с эффективностью службы для доставки ожидаемого ответа/сообщения оптимальным образом в кратчайшие сроки.

Обычно это делается, когда функциональность сервисов полностью проверена. ve при тестировании производительности сервисов.

Для тестирования производительности используются инструменты тестирования производительности, такие как Jmeter, Gatling и т. д. 

Ознакомьтесь с нашим подробным руководством по тестированию производительности

Тестирование безопасности

Тестирование безопасности очень важно в SOA, поскольку оно взаимодействует с несколькими веб-службами в Интернете, подлинность сторонней службы может быть проблемой.

< p>Тестирование безопасности связано с оценкой и обработкой уязвимостей, таких как SQL-инъекция, межсайтовый скриптинг и т. д.

Поэтому команда тестирования должна уделять много внимания аутентификации, и должны быть приняты надлежащие меры безопасности.

Ознакомьтесь с нашим подробным руководством по тестированию безопасности

Проблемы тестирования SOA

  • Безопасность этих опасения, поскольку вредоносные системы могут выступать в качестве сторонних служб и извлекать конфиденциальную информацию из приложения.
  • Команда должна уделять много внимания автоматизации, поскольку службы могут быть очень динамичными, поэтому требуется частое регрессионное тестирование с регулярными обновлениями и обслуживанием. .
  • Без надлежащего пользовательского интерфейса определение правильных входных и выходных данных для выполнения исчерпывающего тестового покрытия этих сервисов затруднено.
  • Разработка стратегий тестирования затруднена, поскольку в слабосвязанной архитектуре SOA отсутствуют четко определенные границы.
  • Стоимость планирования и выполнения высока, так как требует ресурсов с разными наборами навыков

Преимущества SOA

SOA-ТЕСТИРОВАНИЕ | ПОЛНОЕ РУКОВОДСТВО

  • Повторное использование —Услуги будут использоваться повторно, что поможет сократить время и затраты. Он даже использует стороннее приложение. Например, несколько веб-сайтов используют карты Google для своего раздела адресов, они просто повторно используют существующую службу, а не создают собственную службу определения местоположения.
  • Надежность —Приложения SOA просты в обслуживании, так как легко отлаживать небольшие сервисы и устранять проблемы, не нарушая другие функции, в то время как монолитные приложения сложно поддерживать, отлаживать и тестировать на качество, чтобы сузить проблемные области.
  • Масштабируемость.  Службы работают на нескольких серверах в среде, что повышает масштабируемость. Если объем данных увеличивается, их легко обработать, запустив больше экземпляров службы.
  • Независимая от платформы — SOA объединяет несколько служб из разных источников, т. е. разных платформ и кодов, создавая сложное приложение из независимые службы.
  • Доступность – SOA предлагает различные службы по запросу, что делает службы легко доступными для всех.
  • Гибкость – SOA имеет четкое сопоставление между службами и бизнес-уровнями, что помогает организации меняться в соответствии с потребностями бизнеса. и технологические достижения.
  • Простота обслуживания. Поскольку это слабосвязанная архитектура, эта независимость позволяет разработчикам легко добавлять, обновлять и изменять больше сервисов.

Разница между API и SOA

До сих пор существует много путаницы в отношении того, отличаются ли API от SOA или похожи на них. Поэтому, прежде чем углубляться в различия, давайте посмотрим на их сходство. Целью API и SOA является доступность, масштабируемость, безопасность, соответствие требованиям и возможность поддержки с помощью защищенных, отслеживаемых, организованных, опосредованных и проверенных систем с защищенными, отслеживаемыми, оркестрируемыми, опосредованными и проверенными системами.

API

SOA

API – это интерфейс, открытый несколькими приложениями, чтобы другие приложения могли с ним взаимодействовать.

SOA – методология архитектуры, с помощью которой бизнес-службы распределяют обязанности между различными службами, которые могут быть зависимы друг от друга. друг на друга.

Целью API является создание сервисов и обеспечение их открытого доступа.

SOA – это архитектурная практика, основанная на несвязанных приложениях и поощряющая повторное использование сервисов.

Используется для инициирования связи между клиентом и сервером.

Это форма архитектуры, ориентированная на предприятие.

API используются как для внешних, так и для внутренних сценариев использования.

SOA в основном используются для внутренних целей.

API подходит для массового использования разработчиками/партнерами.

SOA обычно используется для A2A (от приложения к приложению) и B2B (от бизнеса к бизнесу).

API обычно связаны с REST/JSON.

SOA связана с XML и SOAP.

< strong>Случаи использования тестирования SOA

Рассмотрим веб-сайт электронного обучения с такими компонентами, как письменный контент (блог), видеоконтент (потоковое видео), служба входа в систему и служба электронной почты.

  • Пользователь, регистрирующийся на веб-сайте электронного обучения, проверяет учетные данные с использованием службы электронной почты во внешнем интерфейсе и запрос-ответ от клиента к серверу во внутреннем интерфейсе.
  • Пользователь, ищущий определенную статью, проверяет получение сведений во внешнем интерфейсе и ответ сервера на запрос клиента. в серверной части.
  • Пользователь получает доступ к видеоконтенту – проверьте, как веб-сайт взаимодействует со сторонней потоковой службой (например, Youtube).

Рекомендации по тестированию SOA

  • Чтобы понять бизнес-задачи и процессы, Необходима команда функционального тестирования, а также различные аспекты соглашений об уровне обслуживания и базовых технологий.
  • Бизнес-аналитики должны очистить входные данные о целях тестирования, а также проверить и утвердить разработанную стратегию тестирования и планы тестирования.
  • Организация должна обеспечить надлежащее обучение технологии и инструментам SOA для тестировщиков, инженеров по производительности и разработчиков. Они должны быть готовы эффективно преобразовывать планы тестирования в исполняемые тестовые сценарии.
  • Соглашения об уровне обслуживания, а также качество обслуживания, производительность, ошибки толерантность и т. д. должны учитываться архитекторами тестирования при разработке плана тестирования.

Заключение

Тестирование SOA следует в основном сосредоточиться на тестировании деловой стороны вещей. Поскольку он объединяет несколько сервисов, изменения, внесенные в один сервис, могут повлиять на другие сервисы. Регрессионное тестирование решает эти проблемы, иначе высока вероятность того, что система может рухнуть в результате незначительного изменения в одной из служб.

Тестирование SOA использует разные инструменты для тестирования API, производительности и безопасности, разные тесты. инструменты и организации, необходимые для тестирования этих сложных систем. Эффективный подход к тестированию SOA имеет решающее значение для того, чтобы убедиться, что сервис SOA подходит для решения бизнес-проблемы.
TAG: qa

От QA genius

Adblock
detector