Loading...

техники тестирования

  • На интуиции и опыте инженера

    • Специализированное тестирование

      • проблема рассматривается проблему с точки зрения имевшихся ранее аналогий
    • Иследовательское тестирование

      • определяется как одновременное обучение, проектирование теста и его исполнение
  • На спецификации

    • Эквивалентное разделение

      • рассматриваемая область приложения разделяется на коллекцию наборов или эквивалентных классов, которые считаются эквивалентными 
    • Анализ граничных значений

      • тесты строятся с ориентацией на использование тех величин, которые определяют предельные характеристики тестируемой системы
    • На основе конечного автомата

      • строятся как комбинация тестов для всех состояний и переходов между состояниями
    • Тестирование на основе формальной спецификации 

      • для спецификации, определенных с использованием формального языка, возможно автоматически создавать и тесты для функциональных требований
    • Случайное тестирование

      • тесты генерируются случайным образом по списку заданного набора специфицированных характеристик
  • Техники ориентированные на код

    • Тесты на базе блок-схем

      • набор тестов строится исходя из покрытия всех условий и решений блок-схемы
    • Тесты на основе потоков данных

      • в данных тестах отслеживается полный жизненный цикл величин (переменных) – с момента рождения (определения), на всем протяжении использования, вплоть до уничтожения (неопределенности)
    • Ссылочные модели с ориентацией на код

      • является не столько техникой тестирования, сколько контролем структуры программы, представленной в виде дерева вызовов
  • Тестирование, ориентированное на дефекты

    • Предположение ошибок

      • направлены на обнаружение наиболее вероятных ошибок, предсказываемых, например, в результате анализа рисков
    • Тестирование мутаций

      • соответствующие тесты запускаются для оригинального и всех “мутировавших” вариантов тестируемой программы.
  • Техники, базирующиеся на условиях использования

    • Операционный профиль

      • тестирование для оценки надежности системы должно проводиться в таком тестовом окружении, которое максимально приближено к реальным условиям работы системы
    • Тестирование, базирующиеся на надежности инженерного процесса

      • базируется на условиях разработки системы
  • Техники, базирущиеся на природе приложения

    • в зависимости от технологической или архитектурной природы приложений, могут также применять специфические техники, важные именно для заданного типа приложения
  • Выбор и комбинация различных техник

    • Функциональное и структурное

      • техники тестирования, строящиеся на основе спецификаций или кода часто называют функциональными или структурными, соответственно
    • Определенное и случайное

      • обычно тесты можно распределить по данным группам на основе используемой политики выбора или определения входных параметров тестов