Продолжаем цикл статей по основам тестирования.
Как мы уже выяснили, тестирование — это процесс. Процесс не может быть чем-то хаотичным. И процесс тестирования не исключение. Он состоит из определенных этапов. По ISTQB они называются активности.
Каждый из них важен и помогает понять, для чего мы выполняем то или иное действие.
Процесс тестирования состоит из следующих этапов (активностей):
- Планирование тестирования
- Мониторинг и контроль тестирования
- Анализ тестирования
- Проектирование тестов
- Реализация тестов
- Выполнение тестов
- Завершение тестирования
Это не строгая последовательность выполнения действий. Активности могут меняться местами во время всего процесса тестирования, идти параллельно или даже исключаться.
Планирование тестирования
Планирование дает ответы на вопросы:
- что нам предстоит тестировать,
- как много будет работы,
- какие есть сложности,
- всё ли необходимое у нас есть и тому подобные.
Как правило, получить ответы на эти вопросы невозможно без анализа требований, так как они являются первичным источником ответов.
На этом же этапе определяется стратегия тестирования и пишется тест-план.
Тестировщику необходимо продумать объемы тестирования, сколько потребуется людей, какие нужны девайсы, какие есть риски и так далее. А для этого надо хорошо знать продукт, чтобы декомпозировать его на составные части и оценить объем проверки каждой.
Мониторинг и контроль тестирования
Мониторинг тестирования предполагает непрерывное сравнение фактического хода работы с планом тестирования, используя любые метрики мониторинга тестирования (которые мы определили в плане тестирования).
Цель мониторинга — сбор информации и обеспечение обратной связи о состоянии тестирования. То есть если что-то у нас идет не так как задумано, мы должны узнать об этом как можно раньше, чтобы минимизировать риски для разработки продукта.
Здесь же мы корректируем первоначальный план, чтобы исправить текущую ситуацию.
Например, в ходе выполнения тестирования мы вдруг поняли, что ошиблись в оценке тестирования и объем работы оказался намного больше ожидаемого. Варианты корректировки: добавляем людей на проект, изменяем количество тестов, сдвигаем сроки. То есть делаем то, что исправит ситуацию.
Этот этап характерен для любой активности в тестировании и даже во время всего жизненного цикла разработки ПО.
Анализ тестирования
На этом этапе мы детально определяем, что мы будем тестировать с точки зрения измеримых критериев покрытия.
Анализ тестирования состоит из нескольких активностей. Одна из них — анализ базиса тестирования. В роли базиса выступают техническое задание (ТЗ), документация по проекту, которая дает примерное представление о продукте. Например, спецификации требований такие как бизнес-требования, функциональные требования, системные требования, пользовательские истории. Это такие документы, которые описывают функциональные и нефункциональные компоненты или поведение системы в целом.
Выявление дефектов в ходе анализа тестирования является важным потенциальным преимуществом. Такие активности по анализу тестирования не только проверяют, являются ли требования согласованными, сформулированными должным образом и полными, но также проверяют, правильно ли требования отражают потребности клиентов, пользователей и других заинтересованных лиц.
Проектирование тестов
Теперь необходимо понять, как будем тестировать. Нашей основной задачей на этом этапе является создание тест-кейсов и чек-листов, которые будут описывать ход проверки.
На этом этапе важно обеспечить максимально полное и эффективное покрытие тестами проект, чтобы он стал качественным в итоге.
Реализация тестов
Если проектирование тестов отвечает на вопрос «как проверить?», то реализация тестов отвечает на вопрос: «теперь есть все для запуска тестов?».
На этом этапе определяется все ли готово к тестированию, например, настроено ли тестовое окружение (все ли устройства, на которых будет проводиться тестирование, есть), поставлены ли нужные браузеры. Здесь тест-кейсы выстраиваются в определенном порядке, чтобы облегчить выполнение тестов.
Выполнение тестов
И только на этапе выполнения тестов, мы с вами приступаем непосредственно к тестированию продукта.
Здесь мы находим ошибки и создаем баг-репорты на каждую из них (советы по их составлению https://vk.com/wall-172009645_243 ). Также проверяем исправление багов, то есть факт того, что программисты исправили проблему и она больше не воспроизводится (подробнее можно почитать тут https://vk.com/wall-172009645_1231).
Завершение тестирования
На этом этапе создаются итоговые отчеты о результате тестирования и передача их всем заинтересованным лицам. Проверяется, что все необходимые отчеты о баг-репортах исправлены, проверены и закрыты. Анализируется полученный опыт, чтобы определить изменения, необходимые для обеспечения более качественного тестирования в будущем. Другими словами, проводится работа над ошибками.
***
Теперь вы видите, что тестирование — это не поиск ошибок? Это целый слаженный процесс, который направлен на проверку соответствия продукта заявленным требованиям. Если мы будем просто и бездумно искать ошибки, то никогда не выпустим качественный продукт. Да мы даже не сможем понять сколько времени и людей понадобится для этого.
________________________________
Напомню, что данные этапы (или активности) могут идти в любой последовательности и даже исключаться из процесса.
________________________________