Функциональные тесты являются важной частью процесса тестирования программного обеспечения. Рассмотрим их основные свойства:
- Разрабатываются на этапе анализа задачи и разработки внешней спецификации: На этом этапе определяется, что программа должна делать, и какие требования к ней предъявляются. Функциональные тесты разрабатываются на основе этих требований, чтобы убедиться, что программа выполняет все необходимые функции.
- Программа рассматривается как "черный ящик": Это означает, что тестировщики не интересуются внутренней реализацией программы. Они проверяют только входные и выходные данные, чтобы убедиться, что программа выполняет свои функции правильно.
- Используют драйверы и заглушки: Драйверы и заглушки помогают в тестировании отдельных компонентов программы. Драйверы используются для передачи данных в тестируемую функцию, а заглушки заменяют другие компоненты, которые еще не разработаны или недоступны.
- Используют идеи, отличные от лежащих в основе алгоритма: Функциональные тесты ориентированы на проверку функциональности, а не на алгоритмы, которые реализуют эту функциональность. Это позволяет выявить ошибки, связанные с реализацией требований, а не с логикой алгоритма.
- Используют структуру алгоритма: Хотя функциональные тесты не фокусируются на внутренней логике, они могут использовать знания о структуре алгоритма для создания более эффективных тестов. Например, знание о возможных ветвлениях и циклах может помочь в создании тестов, которые проверяют все возможные сценарии выполнения программы.
Таким образом, функциональные тесты помогают убедиться, что программа выполняет свои функции согласно требованиям, и выявить возможные ошибки в реализации этих функций.