Найти в Дзене
QA инженер

Тестирование ПО с нуля. Что такое требования и зачем их проверять?

Начав изучать тестирование, я первым делом решил разобраться, что же это вообще такое. Прочитав множество определений, я сформулировал для себя простое и понятное объяснение.

Что такое тестирование?

Тестирование — это проверка программного обеспечения (ПО) на соответствие его требованиям, а также на его работоспособность.

Важно понимать, что цель тестировщика — не просто найти как можно больше багов, а убедиться, что продукт соответствует ожиданиям пользователей и работает так, как задумано.

Но тут у меня сразу возник вопрос: что такое требования и где их взять?

Что такое требования в тестировании?

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

Оказывается, требования не просто появляются "из воздуха". Существует несколько методов их сбора:

Методы сбора требований

1 Интервью – общение специалиста по бизнес-анализу с заказчиком, где обсуждаются основные задачи и ожидания от продукта.

2 Фокус-группы – общение с несколькими представителями целевой аудитории для получения более широкого взгляда на продукт.

3 Анкетирование – сбор данных через заранее подготовленные вопросы, которые заполняют потенциальные пользователи.

4 Семинары и мозговые штурмы – обсуждения внутри команды, где участники предлагают идеи и уточняют детали.

5 Наблюдение – изучение того, как пользователи взаимодействуют с аналогичными системами.

6 Прототипирование – создание упрощенной версии продукта, чтобы проверить, удобно ли его использовать.

7 Анализ документов – изучение технической документации, регламентов, стандартов, которые могут повлиять на разработку.

8 Моделирование процессов – построение схем взаимодействий, которые помогут понять, какие функции нужны.

9 Самостоятельное описание – можно попытаться сформулировать требования самому, но важно потом обсудить их с заказчиком, чтобы избежать ошибок.

Какими должны быть требования?

Изучив тему глубже, я понял, что требования тоже нужно проверять. Они должны быть:

• Завершёнными – не оставлять пробелов, содержать всю необходимую информацию.

• Атомарными – описывать одну конкретную функцию, а не несколько сразу.

• Непротиворечивыми – не вступать в конфликт с другими требованиями.

• Недвусмысленными – формулировки должны быть четкими, без разночтений.

• Выполнимыми – соответствовать возможностям технологии и бюджета.

• Актуальными – быть действительно нужными для продукта.

• Приоритизированными – иметь четкое понимание, какие из них важнее других.

• Корректными – соответствовать стандартам и ожиданиям заказчика.

Тестирование требований – зачем оно нужно?

Поняв, что такое требования, я задумался: а что если они изначально составлены неправильно? Тогда и продукт получится не таким, как ожидалось. Именно поэтому перед началом разработки требования тоже тестируют.

Процесс тестирования требований включает несколько шагов:

1 Анализ требований

◦ Проверяем, понятны ли требования и не содержат ли противоречий.

◦ Оцениваем, хватает ли информации для их реализации.

2 Проверка выполнимости

◦ Требования должны быть реалистичными. Например, если приложение должно загружаться за 0,1 секунды, но при этом обрабатывает огромные объемы данных, такое требование может быть невыполнимым.

3 Определение критериев приемки

◦ Как понять, что требование реализовано правильно? Нужно заранее установить критерии успешного выполнения.

4 Создание тестовых сценариев

◦ Для каждого требования создаются тесты, которые проверяют его реализацию. Например, если указано, что при входе в систему нужно ввести пароль, нужно протестировать и правильные, и неправильные пароли.

5 Проверка требований

◦ Перепроверяем требования с заказчиком и командой, устраняем неточности.

6 Обратная связь и коррекция

◦ Если в требованиях обнаружены ошибки, их уточняют и корректируют.

7 Документирование результатов

◦ Все найденные ошибки и исправления фиксируются в документации.

Пример тестирования требований

Допустим, разрабатывается система управления складом. Одно из требований:

"Система должна автоматически обновлять количество товара после каждой продажи."

Как можно проверить это требование?

1 Анализ – убедимся, что требование понятно и детализировано. Например, нужно ли учитывать возвраты товара?

2 Проверка выполнимости – оценим, может ли система обрабатывать данные в реальном времени.

3 Критерии приемки – определим, что обновление должно происходить сразу после продажи, без задержек.

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

5 Проверка – проведем тесты и убедимся, что система работает правильно.

6 Обратная связь – обсудим результаты с заказчиком и внесем правки, если потребуется.

7 Документирование – зафиксируем результаты проверки.

Выводы

Разобравшись в этой теме, я понял, что тестирование требований — это не просто формальность, а важный этап, который помогает избежать серьезных ошибок в будущем. Если требования плохо проработаны, то даже самый качественный код не спасет продукт от провала.

Я продолжаю учиться и делиться своими открытиями. Если у вас есть вопросы или комментарии, пишите — буду рад обсудить!