Изучите тестирование интерфейсов: SOAP, правила RestFul, JMeter и инструменты тестирования интерфейсов, представленные на рынке.
Изучите тестирование интерфейсов: SOAP, правила RestFul, JMeter и инструменты тестирования интерфейсов, представленные на рынке.

введение

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

 Этот блог даст вам глубокое понимание классификации тестирования интерфейсов, проектирования различных архитектур, ключевых направлений тестирования и наиболее часто используемых инструментов тестирования интерфейсов, представленных в настоящее время на рынке. Мы обсудим эволюцию архитектуры от протоколов SOAP, RPC, RestFul к протоколам HTTP и сосредоточимся на JMeter, мощном инструменте тестирования интерфейса, подробно описав его введение, установку, общие компоненты и шаги для выполнения тестирования интерфейса.


1. Классификация тестов интерфейса

Внутренний интерфейс:

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

Внешний интерфейс:

  1. Тестируемая система вызывает внешние интерфейсы
  2. Интерфейс, предоставляемый системой внешнему миру

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

2. Текущий проект архитектуры интерфейса.

  1. На основе архитектуры SOAP и спецификаций XML. На основе протокола WebService. Особенности: Адрес интерфейса заканчивается на wsdl.
  2. Ожидается, что архитектура RPC будет основана на протоколе даббо и протоколе экономии. Микросервисы SpringCloud.
  3. На основе архитектуры RestFul, спецификации json и ожидаемого протокола http.

Правила RestFul:

Адрес интерфейса: http://127.0.0.1/user, get (запрос пользователя) post (добавить пользователя) put (изменить пользователя) delete (удалить пользователя)

  • Формат данных Json: существует только два типа данных:
  • Пара ключ-значение: {ключ: значение}
  • Массив: массив1, массив2

Подробное объяснение протокола http:

Запрос: строка запроса, заголовок запроса, тело запроса.
  1. Строка запроса: POST http://47.107.116.139/phpwind/index.php?m=u&c=login&a=dorun HTTP/1.1
  2. Заголовок запроса:
  3. ХОСТ 47.107.116.139 (запрашивающий хост)
  4. Соединение: поддержание активности (сохранение активно)
  5. Content-Length: 112 (длина контента)
  6. Принимаем: application/json, text/javascript, */8, q=0.01 (формат данных)
  7. X-Request-With: XMLHttpRequest (асинхронный запрос)
  8. Пользовательский агент: Mozilla/5.0 (Windows NT) (тип клиента)
  9. Тип контента: (Тип контента)
  10. ......
  11. Файл cookie: csrf_token=xxxxxx (информация о файлах cookie, файл cookie, отправленный клиентом на сервер)
  12. тело запроса

username=msxy%password=msxy\&backurl=httpxxxxx

Ответ: строка ответа, заголовки ответа, тело ответа.
  1. Строка ответа:

HTTP/1.1 200 OK

  1. заголовок ответа
  2. Server: nginx
  3. Data: Tue, 24 Aug 2021 12:23:12 GMT
  4. Conten-Type: text/html; charset=UTF-8
  5. Transfer-Encoding: chunked
  6. X-Powered-By: PHP/5.6.36
  7. Set-Cookie: (информация о файлах cookie, отправляемая сервером клиенту)
  8. Тело ответа
  9. xxx

3. Инструменты тестирования интерфейсов на рынке

Jmeter+Ant+Git+Jenkins

Postman+Newman+Git+Jenkins

soapui, apipost, fildder, charles

4. Знакомство с Jmeter, установка и настройка при изменении среды.

Основанный на инструменте стресс-тестирования языка Java, он может выполнять тестирование интерфейса и производительности.

Установка: JDK1.8 или выше, настройте переменные среды.

5. Знакомство с каталогом Jmeter

каталог jmeter
каталог jmeter

резервные копии: каталог резервных копий сценариев, формат JML

bin: хранит сценарии запуска Jmeter, файлы конфигурации и файлы модулей.

Jmeter.bat запускает Jmeter

jmeter.prperites основной файл конфигурации.

docs: автономная справочная документация.

дополнительно: интегрированные файлы сборки, хранящиеся у третьих лиц, унаследованные от Ant и Jenkins.

Каталог lib: хранит пакеты jar

лицензия: файл лицензии

6. Общие компоненты Jmeter

1. План испытаний: отправная точка, контейнер для всех компонентов.

2. Группа тем: представляет определенное количество пользователей.

3. Сэмплер: наименьшее устройство, отправляющее запрос на сервер.

4. Логический контроллер: в сочетании с сэмплером для реализации сложной логики.

5. Препроцессор: работа до запроса

6. Постпроцессор: работа после запроса

7. Утверждение: используется для определения того, успешно ли выпущен запрос.

8. Таймер: отвечает за интервал задержки между запросами, фиксированный, по Гауссу, случайный.

9. Компоненты конфигурации: информация о конфигурации

10. Слушатель: отвечает за сбор результатов.

Порядок: очень важно

План тестирования>>Группа потоков>>Компонент конфигурации>>Препроцессор>>Таймер>>Сэмплер (запрос)>>Постпроцессор>>Утверждение>>Прослушиватель.

Область применения: очень важно

Обязательные компоненты: план тестирования, группа потоков, сэмплер.

Вспомогательные компоненты: помимо необходимых компонентов

Вспомогательные компоненты действуют на родительские компоненты, родственные компоненты и все дочерние компоненты в родственных компонентах.

7. Jmeter выполняет тестирование интерфейса.

  1. Получите документацию по API (если это не работает, используйте Fiddler для захвата пакетов) и ознакомьтесь с работой интерфейса, адресом интерфейса, методом аутентификации, входными параметрами, выходными параметрами и кодами ошибок.
  2. Напишите тест-кейсы интерфейса.

Идеи тестов:

Положительный пример:

Введите обычные параметры и убедитесь, что интерфейс возвращается нормально.

Контрпример:

Аутентификация: пусто, ошибка, срок аутентификации истек, ограничение времени аутентификации...

Параметры: пусто, ошибка типа, ошибка длины, переопределение кода ошибки.

Другие, черный список, пейджинг

  1. Выполнено с использованием инструментов тестирования интерфейса.
  2. Jmeter+Ant+Git+Jemkins реализует непрерывную интеграцию для вывода отчетов о тестировании интерфейса и отправки их по электронной почте.

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

я участвуюНа третьем этапе специального тренировочного лагеря Tencent Technology Creation 2023 года будет проводиться конкурс сочинений. Соберите команду, чтобы выиграть приз!

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.