Мануальное, или ручное, тестирование — процесс проверки программного обеспечения вручную, без использования автоматизированных инструментов. Тестировщик имитирует поведение конечного пользователя: проверяет реакцию программы на вводимые данные, клики, переходы по страницам и другие элементы взаимодействия. Основная задача — найти ошибки (баги), возникающие при реальном использовании приложения.
В отличие от автоматизированного тестирования (требующего написания кода), мануальное тестирование не требует навыков программирования. Оно особенно важно на ранних этапах разработки, когда функционал часто меняется, и высоки затраты на автоматизацию. Необходимо такое тестирование и при проверке удобства интерфейса и взаимодействия пользователя с продуктом, где важны субъективные ощущения. Мануальное тестирование позволяет быстро реагировать на нестандартные сценарии, не охватываемые автоматизированными тестами, и эффективно выявлять ошибки на уровне пользовательского интерфейса. Однако, оно может быть трудоёмким для больших и сложных проектов. Поэтому на более поздних этапах разработки часть задач часто передаётся автоматизированному тестированию.
Тест-кейсы и баг-репорты
Тест-кейс — структурированный документ, описывающий конкретные сценарии тестирования и ожидаемые результаты. Каждый тест-кейс предназначен для проверки одного или нескольких аспектов работы программы. Он помогает тестировщику систематично проверять функционал приложения. Написание тест-кейса начинается с заголовка, чётко указывающего, что будет проверяться (например, «Проверка авторизации пользователя», «Регистрация нового аккаунта», «Переход между страницами»). Заголовок должен быть кратким и информативным. Далее описываются предшествующие условия, необходимые для начала теста (например, для проверки авторизации — наличие у пользователя имени и пароля). Это помогает избежать лишних шагов и сосредоточиться на ключевом функционале. Основной раздел содержит подробное описание шагов, которые тестировщик должен выполнить. Шаги должны быть чёткими и конкретными, чтобы любой человек мог их повторить (например, «Открыть страницу логина», «Ввести корректный логин и пароль», «Нажать на кнопку ‘Войти’»). Важно записывать шаги по порядку. Описывается ожидаемый результат — то, что должно произойти при успешном выполнении всех шагов. Он должен быть однозначным и чётким (например, «Пользователь успешно авторизован и перенаправлен на главную страницу»). Если результаты совпадают с ожидаемыми, тест считается успешным. Тест-кейсы используются повторно для разных релизов программы, обеспечивая последовательное тестирование. После выполнения всех шагов тестировщик фиксирует фактический результат и сравнивает его с ожидаемым. Несовпадение указывает на баг.
Когда тестировщик находит ошибку, он составляет баг-репорт — документ, подробно описывающий проблему, включая шаги, приведшие к ней, и фактический результат. Хорошо составленный баг-репорт помогает разработчикам быстро понять и исправить ошибку.
Основные элементы баг-репорта:
- Bug ID: Уникальный идентификатор бага.
- Название бага: Краткое и информативное описание проблемы.
- Шаги воспроизведения: Подробное описание действий, приведших к обнаружению бага.
- Ожидаемый результат: Как программа должна была себя вести.
- Фактический результат: Как программа вела себя на самом деле.
- Приоритет и серьёзность: Важность и срочность исправления бага.
Пример тест-кейса:
- Заголовок: Проверка авторизации с корректными данными
- Предусловие: Пользователь зарегистрирован в системе.
- Шаги:
- Открыть страницу логина.
- Ввести корректный логин и пароль.
- Нажать кнопку «Войти».
- Ожидаемый результат: Пользователь успешно авторизован и перенаправлен на главную страницу.
Пример баг-репорта: Предположим, тестируется форма авторизации. Ожидаемый результат — успешная авторизация при вводе корректных данных. Если программа выдает сообщение об ошибке, несмотря на корректные данные, это баг, который нужно описать в баг-репорте.
Инструменты для ведения баг-репортов (Jira, Bugzilla) систематизируют этот процесс и упрощают взаимодействие между командами.
Ручное тестирование — важный процесс в обеспечении качества программного обеспечения. Оно помогает выявлять ошибки, улучшать пользовательский интерфейс и гарантировать стабильную работу программы. В этом уроке мы рассмотрели основы мануального тестирования и процесс написания тест-кейсов и баг-репортов.