Чек-лист или тест-кейсы?

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

Для начала вспомним терминологию:

Чек-лист - это список проверок, которые помогают тестировщику протестировать приложение или отдельные функции.

Тест-кейс - набор предусловий, входных данных, действий (где применимо), ожидаемых результатов и постусловий, разработанных на основе тестовых условий.

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

  1. Насколько проект сложный? Чем сложнее проект, тем целесообразнее писать тест-кейсы. Каждый сможет сообразить как зайти в видеоконференцию, но не каждому хватит знаний рассчитать ипотеку. Для очень сложных и больших проектов имеет смысл писать и чек-лист, и тест-кейсы - чек-лист, чтобы не забыть ЧТО нужно проверить, тест-кейсы - чтобы знать КАК это проверить. Сначала пишем чек-листы, потом, на их основе - тест-кейсы.

  2. В каком состоянии готовности проект? Если проект только начинает развиваться, только формируются требования и пишется минимально готовый продукт (MVP), то особого смысла писать тест-кейсы нет - ведь продукт по сути ещё не готов и поддерживать тест-кейсы, написанные по нему будет довольно сложно. Чек-лист, как чуть более гибкая система, даёт возможность сделать “шаг влево - шаг вправо” без существенной потери качества. 

  3. Насколько стабилен проект? Этот вопрос следует из предыдущего. Когда требования устаканились (это может произойти как до, так и после выпуска продукта в ПРОМ) и становится понятно, что проект больше меняться не будет (это можно выяснить как прямым путем - спросив у продуктоунера или тимлида, так и по косвенным признакам - например, высококачественная документация, которая практически уже не меняется или планы руководства в ближайшее время выкатить проект на широкую аудиторию (даже если это всего лишь MVP, то вряд ли он уже будет серьезно меняться), то имеет смысл начинать писать тест-кейсы - они помогут вам и вашим коллегам не забыть какой-нибудь важный шаг.

  4. Сколько ресурсов имеется? Этот вопрос опционален и, пожалуй, должен задаваться в последнюю очередь. В идеальной картине мира оформление тестовой документации и проведение тестирования не должны от этого зависеть, но на практике может встать выбор - сделать документацию получше или тестирование поглубже. Можно написать классные тест-кейсы, но не успеть сделать даже смоук, а можно ограничиться чек-листом и сделать более оптимальную проверку. В случае возникновения подобной ситуации необходимо донести до руководства информацию. Возможно, вам увеличат время или (если такое происходит регулярно) выделят ещё одного человека.

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

P.S. Уважаемые коллеги! Если есть что сказать про качество статьи - поделитесь, пожалуйста, обратной связью, очень хочется научиться делать полезные, качественные и интересные статьи.

@JaneGame
08.02.2024 13:15 UTC
Первоисточник

Комментарии

@Boethiah
09.02.2024 07:41 UTC
0

"Но не успеть сделать даже смоук" - в смысле? Есть приоритизация, а смоук это самые базовые тесты

@JaneGame
09.02.2024 11:06 UTC
0

Я работаю, например, на очень большом проекте. Минимальное время смоука - 10 часов - это основная пользовательская функциональность, без которой вся бизнес ценность программы стремится к нулю. Это без негативных сценариев, второстепенных функциональностей и т.д.

09.02.2024 23:35 UTC
0

А что с автоматизацией? На что уходит 10 часов?

10.02.2024 11:33 UTC
0

Минимальная. У начальства в приоритете новые фичи и фикс багов. Не ночью же ей теперь заниматься.

10.02.2024 12:41 UTC
0

Ну так оно всегда будет. И дальше будет расти количество мануальщиков, чтобы в 10 часов все успеть.

10.02.2024 12:59 UTC
0

Ну до недавнего времени я вообще одна была в команде и, когда начались все эти телодвижения в сторону автоматизации, то оказалось (внезапно) что даже при уделении автоматизации 10-15% времени задач стало уходить меньше. А если ставить на задачи высокий приоритет и уменьшать количество часов на автоматизацию в 3-4 раза, да ещё и с большими перерывами, то автоматизация резко замедляется (тоже очень внезапно). В итоге решили взять второго человека и отложить автоматизацию на месяц, что уже вылилось в полгода.

10.02.2024 19:12 UTC
0

Это я к тому, что я прекрасно это понимаю, но пока руководство не готово это понять - я не готова тратить свои собственные ресурсы на обеспечение их хотелок (и так потратила, когда изучала автотесты, чтобы как можно скорее включиться в процесс (меня брали ручником изначально)).

10.02.2024 19:18 UTC
0

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

Зато при правильной автоматизации и релизы на больших проектах реальны за пару дней, с минимальным количеством мануальщиков.

ПС Да и уделять 10-20% на автоматизацию, так не получится выхлоп. Там много тонкостей. Ведь клацание на кнопочки это только 15-30% в больших проектах. Остальные 70% это подготовка данных тестирования типа - создать аккаунт, положить деньги, изменить страну проживания, добавить карту, сделать карту expired (уже забыл по русски - просроченой?): теперь начинаем тест. Вот написания этих дополнительных возможностей по генерации данных и есть реальные сложности в больших проектах.

10.02.2024 19:39 UTC
0

Я пока новичок в этом. И, к моему сожалению, боюсь, что опять практически откатилась к тому состоянию, что была до всей этой истории. Хотя, думаю, вспомнить всё-таки проще, чем с нуля начинать.

У нас в основном по АПИ автоматизация + кафка для интеграционного тестирования. Хотелось бы ещё UI, но наша платформа слабо приспособлена под нее + ещё ряд кейсов с длительным периодом ожидания - от часа до суток - тут тоже, насколько понимаю, нужны заглушки от разработчиков. Обещали в конце прошлого квартала, но воз и ныне там.

10.02.2024 19:45 UTC
0

Ох ты. АПИ вообще самое простое в автоматическом тестировании. Правда опять же 70% это подготовка тестовых данных одинаково для всех при интеграционных тестах.

т.е. у вас куча АПИ коллов, которые вы руками посылаете и проверяете ответы?

10.02.2024 20:54 UTC
0

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

@xiaoAntares
09.02.2024 11:10 UTC
0

Привет! Мы тоже работает над большими проектами. Тестируем готовые решения, на одном из проектов только шапок у нас 29 (о количестве комбинаций вывода информации я даже говорить не хочу), и тоже столкнулись с дилеммой - чек-лист или тест-кейсы?

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

Для тех, кто тоже столкнулся с такими вещами совет - сначала чек-листы, потом тест-кейсы :)

@JaneGame
09.02.2024 11:16 UTC
0

Привет!Да, я поэтому и указала это первым пунктом) Для маленьких-средних проектов допустимо использовать что-то одно, для больших - удобнее оба.

@Ravenz16
09.02.2024 11:16 UTC
-2

У меня такое же понимание сформировалось к 3 месяцу работы, но я не побежал на хабр писать статьи))

@JaneGame
09.02.2024 11:23 UTC
+3

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

@Novolene
18.02.2024 16:20 UTC
+1

А почему автор должна последовать вашему примеру?