Привет, Хабр! Анастасия Асеева-Нгуен (эксперт по инженерным практикам в Tinkoff Group) приглашает специалистов по тестированию на бесплатный Demo-урок «Метрики», который пройдёт в рамках нового профессионального курса OTUS — «QA Lead». А мы публикуем статью Анастасии Шариковой — руководителя отделом тестирования в Bookmate.
Всем привет! Меня зовут Анастасия Шарикова, я руковожу отделом тестирования в Bookmate и веду телеграм канал Yet another QA.
Сегодня речь пойдет о чек-листах — отличном универсальном инструменте, который может помочь в повседневных задачах QA специалистам любых уровней. Обратимся к теории и вспомним, что есть и особый вид тестирования, который их использует:
Тестирование на основе чек-листов — метод создания тестов, основанный на опыте, при котором опытный тестировщик использует высокоуровневые списки.
К сожалению, многие забывают, что чек-листы можно использовать не только как подготовительный этап к дальнейшему написанию тест-кейсов, но и сами по себе. Зачастую они даже могут их заменить целиком, и о вариантах их использования и плюсах и минусах будет написано далее.
Варианты использования чек-листов
Как верно было написано у С. Куликова в «Тестирование программного обеспечения. Базовый курс»
… тестировщику приходится работать с огромным количеством информации, выбирать из множества вариантов решения задач и изобретать новые.
— и во многих случаях действительно прекрасным инструментом и для разработки, структурирования проверок и для многих других задач QA специалист может использовать чек-листы. Давайте рассмотрим поподробнее некоторые варианты:
Ad-hoc/Исследовательское тестирование — структуризация идей и задач в случае проведения таких видов тестирования+ отметка для себя о том, что уже проверено.
Тестирование на основе чек-листов — довольно популярный метод создания тестов, основанный на опыте, при котором опытный тестировщик использует высокоуровневые списки. Список в данном случае содержит пункты, которые нужно отметить или запомнить, или состоит из набора правил или критериев, согласно которым верифицируется нужный программный продукт.
Mind Maps — несмотря на то, что чаще всего чек-лист выглядит как перечень блоков, секций, страниц, других элементов, которые следует протестировать, он может быть и визуализирован в виде майнд карт. А еще их можно не только составлять самим, но и находить уже готовые, что позволит сэкономить время и посмотреть на задачи проверок свежим взглядом.
«Групповое» тестирование — фичи, сложные задачи, командная работа, во всех этих случаях можно использовать списки для синхронизации проверок в группе, работающей над одной задачей.
Приемка задач — и в этом контексте мы можем говорить и про визуализацию стадий тестирования, и про визуализацию готовности взятия задачи в работу. В первом случае мы можем составить список, пример которого можно найти, например, тут . Во втором случае мы можем создать, например, чек-лист в таске в Jira, который будет требовать наличие документации, макетов, информации об окружении и прочей важной информации для перевода задачи в статус Testing.
Информирование менеджмента — зачастую проще выслать ссылку на постоянно обновляемый чеклист, который покажет процент выполнения, чем ежечасно отвечать на вопросы в духе “А когда? А сейчас уже проверили?”
Помощь коллегам — конечно, TDD и прочие крутые практики это хорошо, но иногда может быть достаточно и просто отправить разработчику список проверок, которые предварительно составили по конкретной задаче, чтобы он проверил, ничего ли не упущено. Особенно хорошо работает, если разработчик на проекте недавно или джуниор уровня.
Матрицы трассируемости - по сути основой этой матрицы и будет служить чек-лист. Подробнее о примере, можно почитать, например, тут.
Планирование тестирования - один из вариантов составления тест-планов, который вполне имеет место.
Конечно, это не весь список возможностей, но уверена, что-то из этого многие смогут применить у себя на проекте, особенно в небольших командах.
Способы составления чек-листов
Тут ваши возможности почти что безграничны - списки могут быть и структурированными, и многоуровневыми, и в свободном порядке - главное, чтобы формат был удобен лично тем, кто будет их использовать. По сути, их формат будет во многом зависеть от того, зачем вы их составляете и того, какой инструмент вы решили для этого использовать. Ну и конечно не стоит забывать о том, что их важное преимущество - возможность к многократному переиспользованию.
Преимущества и сложности в использовании
Рассмотрим основные преимущества и сложности, которые могут появиться при использовании чек-листов для различных кейсов и задач:
Плюсы:
Гибкость - этот вид проверки может быть использован во всех уровнях и типах тестирования, хоть и в разной форме, помимо этого, его легко адаптировать под нужды конкретной задачи.
Простота создания и поддержки - создать, использовать и поддерживать контрольный список несложно, помимо этого существует довольно много легкодоступных инструментов, но их я рассмотрю в конце статьи.
Удобно использовать в команде и вне ее - чек-листы можно использовать не только внутри команды, например для совместного тестирования одной фичи, но и как источник информации для команд разработки, заинтересованных в информации, так и для руководства.
Простота визуализации - легко понять, что уже готово, что не готово, оценить возможность передачи задачи в работу, например или изучить продукт или его часть на наличие и состояние критических проблем без траты времени на поиск в jira или подобных системах.
Расширение тестового покрытия за счет отличий при прохождении - тут и возможность избежать “парадокса пестицида” (подробнее можно почитать у автора термина), и возможность по-разному комбинировать проверки, в случае тестирования, например. функционального.
Минусы:
Недостаточная для некоторых целей детализация - например, внутри команды содержание будет понятным, но внешним заказчикам или руководству может быть непонятна суть пунктов списка.
Возможность различной интерпретации - QA инженеры с различным опытом могут выполнять одинаковые задачи, используя различные подходы, что может быть одновременно и плюсом и минусом.
Не всегда удобно для отчетности - ложные системные компоненты, функции и их взаимодействие сложно или даже невозможно проиллюстрировать с помощью чек-листов.
Не подходят для новичков и джунов - если опытный сотрудник без проблем может понять, что следует проверить, проконтролировать и учесть с помощью списков, так как он обладает достаточными знаниями о проекте, с новичком или джуниором есть вероятность, что такого уровня документации будет мало.
Инструменты
Как итог, перечислю одни из самых популярных инструментов для составления чек-листов:
Trello — тоже имеет функционал составления чек-листов в рамках задач.
Google.Sheets — этот инструмент в представлении не нуждается. Тем не менее это, конечно, не единственное решение с таблицами, Exсel тоже подойдет!
To Do — перерождение Wunderlist и отличное решение для чек-листов, особенно для личного использования.
Miro — а вот тут будет удобно создавать уже Mind Maps.
Jira — в этом случае есть много вариантов встраивания под разные задачи + доп. Инструменты, такие как этот.
Знаете еще крутые инструменты и кейсы использования? Пишите в комментариях!
Интересно развиваться в данном направлении? Запишитесь на бесплатный Demo-урок «Метрики», а также приходите на другие Demo-уроки для QA-специалистов:
«Основы puppeteer» — трансляция в рамках курса «Автоматизация тестирования на JavaScript»
«Скрипты и сценарии нагрузочного тестирования — Performance center (PC) и Vugen» — трансляция в рамках курса «Нагрузочное тестирование»