Системы черного ящика | |
---|---|
Система | |
Черный ящик ·Машина Oracle | |
Методы и приемы | |
Тестирование черного ящика ·Черный ящик | |
Связанные методы | |
Прямая связь ·Обфускация ·Распознавание образов ·Белый ящик ·Тестирование белого ящика ·Идентификация системы | |
Основы | |
Априорная информация ·Системы управления ·Открытые системы ·Исследование операций ·Термодинамические системы | |
|
Тестирование черного ящика - это метод тестирования программного обеспечения, который исследует функциональность приложения без вглядывания в его внутреннюю структуру или работу. Этот метод тестирования может применяться практически на всех уровнях тестирования программного обеспечения: модуль, интеграция, система и приемка. Иногда это называют тестированием на основе спецификаций.
Специальных знаний кода приложения, внутренней структуры и знаний программирования в целом не требуется. Тестировщик знает, что программа должна делать, но не знает, как она это делает. Например, тестировщик знает, что конкретный ввод возвращает определенный неизменный вывод, но не знает, как программное обеспечение производит вывод в первую очередь.
Тестовые примеры - это построены вокруг спецификаций и требований, т. е. того, что приложение должно делать. Тестовые примеры обычно выводятся из внешних описаний программного обеспечения, включая спецификации, требования и параметры проекта. Хотя используемые тесты в основном являются функциональными по своей природе, также могут использоваться нефункциональные тесты. Разработчик тестов выбирает как действительные, так и недопустимые входные данные и определяет правильный результат, часто с помощью тестового оракула или предыдущего результата, который заведомо является хорошим, без каких-либо знаний о внутренней структуре тестового объекта.
Типичные методы разработки тестов черного ящика включают:
В тестировании на проникновение тестирование черного ящика относится к методу, о котором этический хакер не знает атакованная система. Цель теста на проникновение «черного ящика» - имитировать внешнюю хакерскую атаку или кибервойну.