Привет, друзья! В современном мире разработки программного обеспечения микросервисы стали настоящим хитом, словно умные кубики Лего, которые собираются вместе в интеллектуальное приложение. Но стоит ли бояться тестирования этих микросервисов? Давайте вместе разберемся, как освоить их проверку!

Аналогия с кубиками Лего. Для начала давайте представим приложение как огромную модель из кубиков Лего, а микросервисы — как сами эти кубики. Они могут работать независимо, но если их соединить, получится настоящее волшебное здание. Но как узнать, какой вклад вносит каждый «кубик»?

Пример из реальной жизни: интернет-магазин микросервисов. Допустим, у нас есть интернет-магазин. В нем действуют три микросервиса: «Магазин одежды», «Корзина покупок» и «Оплата». Каждый микросервис — это свой собственный «кубик Лего».

Важные ключи к пониманию

  1. Что такое API? API — это язык, на котором программы общаются друг с другом. Возможно, вы понимаете его как «словарь», который говорит программам, какими командами они могут обмениваться. Для микросервисов это как описание каждого «кубика», где они объявляют, как взаимодействовать. Например, если у нас есть микросервис для корзины покупок и другой для оформления заказа, их API определяет, как передавать информацию о товарах из корзины в заказ.

  2. Простое тестирование «на практике». Давайте представим, что мы играем с кубиками Лего. Каждый кубик — это микросервис. Разбирая и соединяя их, мы учимся понимать, как они функционируют вместе. Применительно к тестированию, подход «на практике» означает, что мы проверяем, как микросервисы взаимодействуют друг с другом. По сути, мы анализируем, как кубики Лего соединяются так, как ожидается.

  3. Как убедиться в правильной работе? Здесь ключевое — провести проверку каждого «кубика» по отдельности и в совокупности. Начнем с индивидуальной проверки каждого микросервиса: удостоверимся, что каждый «кубик» функционирует корректно. Затем проверим их взаимодействие. Представьте себе, что вы строите сложную модель из Лего. Если каждый «кубик» плотно соединен с другими, и конструкция надежна, значит, всё в порядке. Точно так же, если все микросервисы гармонично работают и «здание» функционирует, это означает, что всё в порядке.

Примерно так мы можем убедиться, что «Магазин одежды» правильно отображает товары.

  • Визуальная проверка. Просто зайдите на сайт магазина. Если вы видите разнообразные товары с названиями, ценами и описаниями, то «Магазин одежды» выполняет свою функцию.

  • Тест поиска. Попробуйте воспользоваться поиском на сайте. Если система быстро находит и отображает результаты для вашего запроса, то «Магазин одежды» правильно обрабатывает поиск.

  • Загрузка картинок. Проверьте, что изображения товаров загружаются вместе с описаниями и ценами. Если вы видите фотографии товаров рядом с информацией, то всё в порядке.

Таким образом, путем проверки отображения товаров, работы поиска и загрузки изображений вы можете убедиться, что «Магазин одежды» функционирует как задумано.

Применение методов в приложении «Яндекс Go»

Представьте, что у вас есть приложение для заказа такси, аналогичное «Яндекс Go». Это приложение состоит из нескольких микросервисов, каждый из которых отвечает за свой участок функциональности.

  1. «Мониторинг водителей». Этот микросервис следит за местоположением водителей и их оценками. Как проверить его функциональность?

  • Тестовый заказ. Сделайте заказ и узнайте, сколько времени потребуется водителю для прибытия. Если микросервис точно определяет расстояния и время, то он работает правильно.

  • Отмена заказа. Закажите поездку, а затем отмените ее. Проверьте, как быстро микросервис реагирует на отмену и обновляет статус.

  1. «Платежная система». Этот микросервис управляет оплатой поездок. Как убедиться, что он функционирует корректно?

  • Тестовый платеж. Сделайте тестовую оплату за небольшую поездку и убедитесь, что средства списались правильно.

  • История поездок. Проверьте, что микросервис сохраняет историю поездок и суммы платежей корректно.

  1. «Карта и маршруты». Этот микросервис отображает карту и рассчитывает маршруты. Как проверить его работу?

  • Выбор маршрута. Задайте начальную и конечную точки, затем выберите маршрут. Проверьте, что система корректно строит варианты маршрутов.

  • Изменение точек. Измените точки отправления или прибытия во время заказа и убедитесь, что «Карта и маршруты» быстро адаптируются.

Секреты успешного тестирования

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

  2. Общение с разработчиками. Разговаривайте с теми, кто создал микросервисы. Их опыт и знания — настоящее сокровище.

Заключение

Тестирование микросервисов, по сути, это как сборка сложной пазловой модели. Используя подходы, описанные выше, вы сможете гарантировать, что все «кубики Лего» в вашем приложении соединились в надежную и удобную структуру. Так что, друзья, тестирование микросервисов — это несложно, как игра в Лего. Освоив это и применяя советы, вы сможете построить качественное приложение!

Комментарии (7)


  1. azzas
    30.08.2023 08:26
    +6

    Очередные выдержки из теории тестирования по верхам. Где в этой статье контент? Где best practice? Где инструменты?


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


    1. iBljad
      30.08.2023 08:26

      Да если бы тут хоть какая-то теория была кроме 15 упоминаний кубиков...


  1. Batalmv
    30.08.2023 08:26
    +1

    Такое ощущение, что автора попросили рассказать о тестировании в школе ... ну и сюда выложил, чтобы не пропадать добру :)


  1. mitrichlab
    30.08.2023 08:26

    Потом они приходят на собеседование. В резюме Яндекс практикум и публикации на Хабре


    1. ArtemOdintsov
      30.08.2023 08:26

      Ну пусть приходит, согласен, что стать ни о чем. Тебе холодно или жарка от того , что у него в резюме статья?


    1. ArtemOdintsov
      30.08.2023 08:26

      =)
      =)


  1. rusik2293
    30.08.2023 08:26

    Верни мое время на чтение обратно