проблема рассматривается проблему с точки зрения имевшихся ранее аналогий
Специализированное тестирование
определяется как одновременное обучение, проектирование теста и его исполнение
Иследовательское тестирование
На интуиции и опыте инженера
рассматриваемая область приложения разделяется на коллекцию наборов или эквивалентных классов, которые считаются эквивалентными
Эквивалентное разделение
тесты строятся с ориентацией на использование тех величин, которые определяют предельные характеристики тестируемой системы
Анализ граничных значений
строятся как комбинация тестов для всех состояний и переходов между состояниями
На основе конечного автомата
для спецификации, определенных с использованием формального языка, возможно автоматически создавать и тесты для функциональных требований
Тестирование на основе формальной спецификации
тесты генерируются случайным образом по списку заданного набора специфицированных характеристик
Случайное тестирование
На спецификации
набор тестов строится исходя из покрытия всех условий и решений блок-схемы
Тесты на базе блок-схем
в данных тестах отслеживается полный жизненный цикл величин (переменных) – с момента рождения (определения), на всем протяжении использования, вплоть до уничтожения (неопределенности)
Тесты на основе потоков данных
является не столько техникой тестирования, сколько контролем структуры программы, представленной в виде дерева вызовов
Ссылочные модели с ориентацией на код
Техники ориентированные на код
направлены на обнаружение наиболее вероятных ошибок, предсказываемых, например, в результате анализа рисков
Предположение ошибок
соответствующие тесты запускаются для оригинального и всех “мутировавших” вариантов тестируемой программы.
Тестирование мутаций
Тестирование, ориентированное на дефекты
тестирование для оценки надежности системы должно проводиться в таком тестовом окружении, которое максимально приближено к реальным условиям работы системы
Операционный профиль
базируется на условиях разработки системы
Тестирование, базирующиеся на надежности инженерного процесса
Техники, базирующиеся на условиях использования
в зависимости от технологической или архитектурной природы приложений, могут также применять специфические техники, важные именно для заданного типа приложения
Техники, базирущиеся на природе приложения
техники тестирования, строящиеся на основе спецификаций или кода часто называют функциональными или структурными, соответственно
Функциональное и структурное
обычно тесты можно распределить по данным группам на основе используемой политики выбора или определения входных параметров тестов
Определенное и случайное
Выбор и комбинация различных техник
техники тестирования