Как стать автором
Обновить

Путь к надёжности: как QA инженеру действовать в нестандартных ситуациях

Время на прочтение5 мин
Количество просмотров7K

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

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

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

Ситуация 1 – Новые баги

Пришёл фикс бага на тестирование, ты его тестируешь основной баг пофикшен, но ты находишь два-три других бага, которых раньше не было. Что делать, какой статус ставить основному багу, куда деть новые?

  • Первым делом в такой ситуации стоит отметить, что появились новые баги. Лучше создать отдельные задачи с типом issue, а не писать баги в комментарии.

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

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

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

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

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

Ситуация 2 – Не баг, а фича

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

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

  • Если требований нет, то стоит уточнить правильное поведение у менеджера продукта, либо UI/UX дизайнера, в зависимости от того в какой логике проблема.

  • Даже если в требованиях написано, что это не баг, можно с ними не согласиться по объективным причинам. Например, у конкурентов другое поведение, или такое поведение кажется нелогичным или противоречит бизнес-логике приложения. В таких случаях выносите этот вопрос на обсуждение с менеджером продукта.

Помните, что баги встречаются не только в коде, но и в документации и в дизайне.

Ситуация 3 – Запрос доступа к камере

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

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

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

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

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

Ситуация 4 – Опасные разрешения

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

  • Разрешение на установку приложений для Google Play считается чувствительным, и нужно соответствовать особым критериям, чтобы можно было его добавить. Без этого приложение с таким разрешением не допустят до релиза. 

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

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

Ситуация 5 – Завтра релиз, а ничего не готово

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

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

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

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

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

Ситуация 6 – Не запрашивай лишнего

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

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

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

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

Общие рекомендации и выводы

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

  • Ищите компромисс между качеством продукта и задачами бизнеса, ваша задача найти и указать на проблемы, нельзя взять и сказать “я не буду тестировать без бэкенда и точка”.

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

  • Знайте и изучайте гайдлайны платформ, замечайте если какие-то места в приложении их нарушают, даже если сейчас ваше приложение прошло ревью в следующий раз может не пройти.

  • QA - это не только про тестирование, это обеспечение качества на всех этапах разработки продукта, а само качество продукта -- это не только отсутствие багов, но и пользовательский опыт, своевременные релизы и производительность.

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

Спасибо что дочитали! Давайте оставаться на связи: можете писать мне в linkedin и подписывайтесь в телеграмм t.me/LilBugHunters

Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Какие скиллы должен иметь каждый QA?
66.67% Применение техник тест-дизайна28
73.81% Умение ставить гипотезы для воспроизведения бага31
66.67% Написание тестовой документации28
76.19% Знание процессов тестирования32
85.71% Софт скиллы и общение с командой36
33.33% Автоматизация14
88.1% Знание и использование инструментов тестирования37
54.76% Кидать мемчики в чатики23
Проголосовали 42 пользователя. Воздержались 4 пользователя.
Теги:
Хабы:
Всего голосов 20: ↑18 и ↓2+16
Комментарии6

Публикации