В этом материале рассмотрим основные знания и навыки, которыми должен обладать начинающий тестировщик. Поговорим о том, что важно изучить в самом начале пути и с какими задачами вы можете столкнуться в процессе обучения.
Разработка ПО
Прежде чем погружаться в тестирование, важно понять, как происходит процесс разработки программного обеспечения (SDLC). Чаще оно включает в себя жизненный цикл разработки, жизненный цикл тестирования, модели жизненного цикла и методологии управления проектами (в особенности методологии Scrum и Kanban). Понимание процессов разработки помогает определить, когда и какие навыки тестирования необходимо использовать, и как быть, если функционал ещё не готов, а требования есть.
Начало пути
Чтобы сделать первые шаги в тестировании, нужно освоить базу – как происходит разработка ПО. В эту базу входят основы тестирования – цели и задачи, отличия тестирования от отладки, причины, по которым тестирование необходимо, его вклад в успех, обеспечение качества тестирования.
Также изучите различия между ошибками, дефектами и отказами. Стоит понять, какие бывают первопричины дефектов и как они могут влиять на конечный продукт – например, заказчиком была неправильно указана формула расчета, а команда этого не заметила на следующих этапах проектирования и тестирования, из-за чего ошибка в итоге может дойти до пользователя.
Тестирование
Как часть жизненного цикла разработки ПО, процесс тестирования (STLC) играет ключевую роль, и его этапы зависят от выбранной методологии управления проектом. Обычно опытные специалисты первым делом запускают трассировку требований, чтобы исключить источники дефектов. Тестирование может сильно различаться: к примеру, в гибких методологиях он гораздо проще, так как построение полного процесса для каждого спринта (стандартно длится около двух недель 2) может быть затратно и даже бессмысленно.
API-тестирование
На определенном этапе разработки в ПО ещё могут отсутствовать графические интерфейсы, поэтому важно уметь проводить API-тестирование с помощью такого инструмента как Postman или его аналогов. Важно знать, что такое метод CRUD, какие запросы он включает и почему не всегда подходит для API-тестирования.
Уровни и типы тестирования
Для того, чтобы построить эффективный STLC, нужно понимать уровни и типы тестирования. Например, если требуется тестировать один компонент ПО без интеграции с другими, тестирование будет ограничено одним уровнем. Уровни тестирования бывают следующие:
- Компонентное (тестируются отдельные модули программы).
- Интеграционное (проверка взаимодействия между модулями).
- Системное (проверка интеграции и функциональности системы в целом).
- Приемочное (финальная проверка перед выпуском).
По типу же тестирование бывает функциональное, нефункциональное, тестирование методом белого ящика и тестирование изменений.
Тест-дизайн
Эта часть отвечает за тестовую документацию, куда входят различные техники тест-дизайна. Мы рассмотрим две основные:
- Техники «черного ящика»:
- анализ граничных значений (например, проверка поля, принимающего значения от 1 до 20);
- эквивалентное разбиение (помогает сократить количество тестов, исключая те, которые не принесут новой информации);
- тестирование с помощью таблицы альтернатив (помогает выявить баги в модулях с условиями, такими как процесс регистрации в интернет-магазине);
- тестирование с использованием диаграммы состояний (например, проверка реакции системы на отмену операции);
- тестирование по сценариям использования (проверка возможности входа в личный кабинет пользователя).
- Техники на основе опыта:
- предположение об ошибках;
- исследовательское тестирование;
- тестирование с использованием чек-листов.
Инструменты тестирования
Новичкам в тестировании необходимо освоить инструменты функционального тестирования и управления тестированием. Важно уметь пользоваться ими и понимать их классификацию:
- Инструменты управления тестированием и тестовым окружением (тест-планы, управление требованиями - таблица трассировки, управление дефектами - Jira, управление конфигурацией - Git).
- Инструменты статического тестирования (планирование и контроль рецензирования).
- Инструменты проектирования и реализации тестов (техники тест-дизайна, mind map).
- Инструменты для покрытия и выполнения тестов (таблица трассировки, TestRail).
Баг-репорт
Начинающий тестировщик должен не только уметь находить баги, но и правильно оформлять их в баг-репортах. Плохое описание бага может значительно усложнить его исправление. Потому баг-репорт должен быть составлен по принципу SMART:
- S — конкретность;
- M — измеримость;
- A — достижимость;
- R — актуальность;
- T — ограниченность во времени.
Основные элементы баг-репорта:
- ID бага.
- Заголовок (должен четко описывать проблему).
- Спецификация (версия ПО, браузер, среда тестирования).
- Предусловия (если применимо).
- Шаги для воспроизведения (должны быть максимально понятными и конкретными).
- Ожидаемый результат.
- Фактический результат (описание бага).
- Вложения (INI, скриншоты, логи и др.).
- Исполнитель.
- Приоритетность.
- Комментарии.
Вместо заключения
Этот чек-лист описывает базовые шаги, необходимые для начинающего тестировщика перед началом работы с реальными проектами. По мере роста навыков будет расширяться и круг ответственности, а значит и чек-лист. Этот материал — лишь первый шаг на пути в мир тестирования.