Перейти к содержимому

Автоматическое QA-тестирование в настоящем браузере

КраткоПосле крупного изменения MonstarX предлагает план QA. Нажмите «Запустить QA», и агент QA прочитает код, а затем проверит до 24 ключевых сценариев (регистрация, бронирование, оплата…) в настоящих облачных браузерах — каждый с новым тестовым аккаунтом и настоящим почтовым ящиком. В чате появится отчёт с записью каждого теста и диагнозом всего, что не прошло. В режиме «Только отчёт» вы сами решаете, что исправлять, а в режиме «Автоматическое исправление» MonstarX исправляет и перепроверяет сам. QA тратит кредиты и никогда не запускается без вас.

QA (quality assurance, контроль качества) — это проверка того, что приложение действительно работает: посетитель может зарегистрироваться, забронировать время, оплатить, получить письмо и увидеть то, что должен. Вручную после каждого изменения это занимает часы.

В MonstarX это делает за вас агент QA. Он читает код приложения, чтобы понять, что создано, а затем проходит по приложению в настоящих браузерах в облаке, как внимательный тестировщик. Вы получаете понятный отчёт в чате, видео каждого теста и помощь с исправлением того, что не работает.

Каждая сборка заканчивается блоком Автоматические проверки сборки. Они запускаются сами и защищают предпросмотр: код должен работать, прежде чем сборка завершится. Подробнее — в статье Как следить за сборкой.

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

Платную проверку QA никогда не запускает сам. Он её предлагает, а решаете вы.

После первой сборки и после крупных изменений в чате появляется карточка План QA готов. В ней сказано, что проверит MonstarX. Нажмите Запустить QA, чтобы начать, или Позже, чтобы пропустить. Запустить QA можно в любой момент и позже — кнопкой QA на верхней панели.

План на карточке, Что MonstarX будет проверять, сообщает:

  • Области проверки — части приложения, которых коснулось изменение;
  • В браузере — до 24 ключевых сценариев, которые проверяются небольшими группами;
  • Что вы получите — понятный отчёт о том, что работает, что требует внимания и что проверить не удалось;
  • Если QA обнаруживает проблемы — будет ли он только сообщать о них или ещё и исправлять (см. ниже), а также что QA тратит кредиты.

Если приложение изменилось после того, как план был составлен, кнопка Запустить QA запросит новый план — так QA всегда тестирует текущий код.

Нажмите QA на верхней панели (блок Когда предлагать QA в браузере) или откройте НастройкиОбщиеQA в браузере (блок Когда предлагать QA). Выберите вариант:

НастройкаЧто происходит
После существенных изменений (по умолчанию)План появляется после крупных изменений и ждёт вашего решения.
По запросуНикаких предложений. План показывается, только когда вы открываете QA.
После каждой сборкиПлан появляется после каждого изменения приложения.
  1. Проверка кода. Агент QA читает код приложения и сравнивает его с тем, что вы просили, и с планом функций. Каждую функцию он относит к созданным, частично созданным или ещё не созданным и отмечает всё, что заявлено готовым, но не доделано. На карточке это выглядит как «Проверка кода · Создано: 5 · Частично создано: 1».

  2. План тестов. Агент пишет до 24 коротких тестов для браузера, которые идут по настоящим кнопкам и страницам из кода: «зарегистрироваться, забронировать прогулку на 30 минут, отменить её».

  3. Браузеры. Каждый тест идёт в отдельном облачном браузере, по несколько одновременно. На карточке написано Проверяем одновременно: 6 сценариев… Готово: 2 из 6. Нажмите Смотреть вживую, чтобы наблюдать за тестом во время выполнения. Если карточка выше окна чата, её заголовок и текущее действие закрепляются внизу чата, пока вы прокручиваете.

  4. Результаты. Каждый тест отмечается по завершении — с временем выполнения и кнопкой Запись, чтобы посмотреть, как он шёл.

Проверка в процессе: у каждого теста свой облачный браузер.
Что делает облачный браузер теста: здесь он регистрируется со своим тестовым аккаунтом и попадает на страницу «Мои ближайшие записи» (ускорено).

Несколько вещей делают тесты реалистичными:

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

Карточка QA в чате подводит итог в заголовке, например Пройдены все тесты: 7 тестов или Пройдено: 5 из 7 тестов.

Под заголовком вы увидите:

  • Каждый тест с галочкой или крестиком, временем выполнения и кнопкой Запись, чтобы посмотреть, как он шёл. Запись первого непройденного теста открывается сама.
  • Для непройденного теста — шаг, на котором всё сломалось (На шаге «Забронировать прогулку»), и дословно то, что показала страница.
  • Не проверено — если тест не смог завершиться (например, браузер перестал продвигаться), объясняется почему. Проверка никогда не считается пройденной, если какой-то тест не удалось выполнить.
  • Нужны ключи — сценарий, который доходит до ещё не подключённого сервиса (например, Stripe), проверяется до этого шага и помечается значком ключа, надписью «нужны ключи Stripe» и ссылкой Подключить Stripe. Это не считается ошибкой. Подробнее — в статье Подключите Stripe, Twilio и другие сервисы.
  • План функций: протестированные функции работают — 4 из 5 — как результаты соотносятся с планом.

В плане функций функции получают пометку: Проверено (проверено в настоящем браузере), Проверка QA не пройдена или Нужны ключи.

QA выясняет причину. Он прослеживает неудачный сценарий по коду, журналам и данным и перечисляет проблемы в блоке Что не так, каждую со своей меткой:

МеткаЧто значит
ОшибкаПриложение делает что-то не так.
Не созданоЭтой функции ещё нет.
Проблема с тестомПриложение работает, ошибся сам тест. QA исправляет тест и пробует снова.
Проблема с предпросмотромПредпросмотр не работал или тормозил. QA перезапускает его и тестирует снова.
Нужно ваше действиеТо, что может проверить только человек: настоящие платежи, почтовый ящик, который не принадлежит тесту, вход через сторонний сервис, CAPTCHA.

Для каждой проблемы также указано, насколько QA уверен (Подтверждено, Вероятно или Неясно), причина и способ исправления. Доказательства — в блоке Технические подробности.

«Только отчёт» или «Автоматическое исправление»?

Заголовок раздела ««Только отчёт» или «Автоматическое исправление»?»

Что QA делает дальше, выбирается в блоке Когда QA обнаруживает проблему — в меню QA или в разделе НастройкиОбщиеQA в браузере:

  • Только отчёт (рекомендуется). QA показывает замечания и спрашивает перед каждым исправлением. На карточке есть кнопки Исправить эту проблему (или Исправить проблемы: 3), Проверить ещё раз при проблеме с тестом или предпросмотром и Позже. Пока вы ничего не нажали, приложение не меняется.
  • Автоматическое исправление. QA сам передаёт найденные проблемы конструктору, проверяет изменение и снова тестирует. Это тратит больше кредитов.

Исправление работает как любой запрос на сборку: оно появляется в чате как «QA · попытка исправления 1 из 3», сохраняет версию, к которой можно вернуться, а затем QA проверяет каждую проблему (Исправлено, Частично исправлено или Не исправлено) и снова запускает те же тесты.

После трёх попыток исправления или когда оставшееся требует участия человека, на карточке появляется Проверьте всё это самостоятельно и чек-лист: шаги, что должно произойти, что увидело автоматическое тестирование и предполагаемая причина. Кнопка Попробовать исправить ещё раз даёт конструктору ещё одну попытку.

Когда всё из плана функций создано, в чате появляется итоговая карточка. Её заголовок показывает, где вы сейчас:

  • Всё создано и протестировано — все функции созданы, и QA пройден.
  • Всё из плана создано с пометкой «QA ещё не тестировал эту версию в реальном браузере» — QA не запускался на этой версии. Нажмите Посмотреть план QA, затем Запустить QA.
  • Всё из плана создано. Не решено: 1 проблема — QA закончил, но что-то осталось. В блоке Неустранённые проблемы есть кнопка Попробовать исправить ещё раз или просьба описать, что вы видите.

В блоке Идеи для дальнейших шагов MonstarX предлагает от трёх до пяти функций, которые подходят приложению. Нажмите Добавить (или Добавить все), чтобы внести их в план функций, а затем Создать или Создать все.

  • Кнопка Отмена на карточке QA сразу останавливает проверку, сохраняя то, что уже найдено. Исправление, которое ещё не началось, так и не начнётся.
  • Кнопка Запустить QA сейчас в меню QA запускает новую проверку.
  • В меню QA также видно, чем закончилась последняя проверка.

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

QA запускается сам и тратит мои кредиты?

Нет. QA только предлагает план и ждёт, пока вы нажмёте Запустить QA. Если включено Автоматическое исправление, запущенная вами проверка может сама перейти к исправлению и повторному тестированию, а это тратит больше кредитов.

Сколько сценариев проверяет QA?

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

QA может проверить письма, которые отправляет приложение?

Да. У каждого тестового аккаунта настоящий почтовый ящик, поэтому QA может открыть письмо с подтверждением или сбросом пароля и перейти по ссылке. Проверить вам останется только ящик, который не принадлежит тесту.

QA может проверить оплату или вход через Google?

Не от начала до конца. Сценарий, который доходит до неподключённого сервиса, помечается Нужны ключи. Настоящие платежи, вход через сторонние сервисы и CAPTCHA попадают в Нужно ваше действие — их проверяет человек.

Можно продолжать работу, пока идёт QA?

Предпросмотром пользоваться можно: QA тестирует свою копию приложения. Если вы запустите сборку, QA остановит проверку. Когда сборка закончится, он предложит протестировать готовое приложение, и вы выберете Запустить QA или Позже.

QA оставит тестовые аккаунты в приложении?

Нет. Когда проверка заканчивается, её тестовые аккаунты удаляются вместе со всем, что они создали.