113
0
0
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники
Назад

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

Время чтения 4 минуты
Нет времени читать?
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники
113
0
0
Нет времени читать?
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники

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

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

Общие зоны ответственности: аналитик как первый тестировщик

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

По сути, аналитик тестирует требования еще до того, как QA начнет тестировать систему, и делает это в процессе сбора и формулирования требований. Именно аналитик формулирует, что должно быть на выходе, и фиксирует это в критериях приемки (Acceptance Criteria).

Хороший аналитик всегда немножечко тревожный, поскольку задает максимальное количество вопросов «А что, если…?». Тем самым он прокладывает путь тестированию на будущее, продумывает альтернативные пути: что будет, если пользователь передумает, если сервис зависнет, если данные придут в кривом формате и так далее. А еще аналитик ищет нестыковки в логике на этапе обсуждений, задает «глупые» (на самом деле самые полезные) вопросы и фиксирует ответы. Как раз в этом смысле аналитик — первый тестировщик, его артефакты становятся фундаментом для QA: из критериев приемки рождаются тест-кейсы, из BPMN-диаграмм (при условии, что они сделаны качественно) — чек-лист сценариев, а из прототипов дизайна могут получиться почти полноценные UX-тесты.

Что аналитик может сделать, чтобы упростить тестирование

Аналитик не пишет тесты, но может очень сильно упростить жизнь QA.

Артефакты аналитики

Я уже упомянула, что Acceptance Criteria — это готовый список проверок и что аналитик подсвечивает edge cases («А что, если пользователь введет код три раза неверно?»). В ручном тестировании, помимо этого, аналитик фиксирует предусловия и постусловия. Например, прорабатывает статусную модель: «После отмены заказа статус становится „Отменен“, деньги не списываются».

Еще полезным артефактом со стороны аналитика будет создание прототипов и диаграмм, где видно не только happy path, но и все «если что-то пошло не так». 

На диаграмме последовательности (о ней я рассказывала в этой статье) тестировщик может видеть весь интеграционный сценарий целиком: какие сервисы вызываются, где возможны таймауты, какие ответы приходят асинхронно.

Ручное и автотестирование

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

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

Многие специалисты описывают сценарии именно по такой структуре, не задумываясь о том, что непроизвольно соблюдают формат описания сценариев Given-When-Then из методологии BDD (Behavior-Driven Development, разработка через поведение).

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

Структура:

  • Given (Дано).
  • When (Когда).
  • Then (Тогда).

Вот пример описания пользовательского сценария по формату BDD:

  • Given: пользователь указал email.
  • When: система отправила код подтверждения.
  • Then: пользователь может задать новый пароль.

Инженер по тестированию дальше сам решает, как это автоматизировать, но за основу он может брать именно работу аналитика.

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

Идеальный аналитик = бывший тестировщик?

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

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

T-shape развитие: понимать, но не подменять

Команды ценят T-shape специалистов — тех, кто глубоко разбирается в своей области, но при этом понимает смежные роли. В контексте тестирования для аналитика это значит знать основы тестирования (виды тестов, как работает автотест, зачем нужны негативные сценарии), обзорно понимать, как устроены тестовые данные и как ими пользуются QA. Всё это позволит говорить с QA на одном языке и помогать им работать быстрее.

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

Заходит как-то тестировщик в бар, а там аналитик и разработчик…

Есть такая техника Three Amigos («3 амигос») — это когда встречаются аналитик, разработчик и тестировщик. Именно в рамках таких встреч на берегу снимаются противоречия, обсуждаются требования и будущие сценарии, и каждый смотрит на задачу со своей стороны. Если на этом этапе нашли спорный момент — даже хорошо, поскольку это во много раз дешевле, чем потом разбираться с багами уже на продакшене.

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

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

Вместо заключения

Аналитик и тестировщик — невзаимозаменяемые роли: у каждого своя зона ответственности. Аналитик не пишет тесты, но создает условия, при которых тесты будут полными, осмысленными и полезными, и чем раньше аналитик включается в процесс «как это будут тестировать», тем меньше сюрпризов на продакшене и тем быстрее команда выпускает качественный продукт. Время — деньги 🙂

Комментарии0
Тоже интересно
Комментировать
Поделиться
Скопировать ссылку
Telegram
WhatsApp
Vkontakte
Одноклассники