Индустрия программирования


4. Тестовый пакет - часть 8


компьютерные ресурсы, необходимые для следующего этапа, на котором
происходит написание тестов. Поэтому, на этапе написания тестов полезно и
даже необходимо исправление спецификаций.
  • Во время разработки спецификаций тестов, трудно проверить возможность
    написания теста для каждой конкретной спецификации. Поэтому была
    проведена лишь приблизительная оценка достижимости спецификаций. Все
    явно недостижимые спецификации были удалены, но спорные были оставлены
    в окончательном варианте набора тестовых спецификаций. При последующем
    написании тестов появились спецификации, реализация которых
    представляется сложной или технически невозможной. Эти спецификации тоже
    удаляются из полного набора спецификаций. Данная практика является
    общепринятой и будет продолжаться в процессе отладки пакета тестов.
  • Стандарты написания тестов должны ограничивать использование некоторых языковых
    конструкций, во всех случаях кроме случая, когда данная конструкция является тестируемой.
    Каждый тест должен быть написан как можно проще и короче.
  • Тесты должны быть просмотрены и отлажены для того, чтобы устранить ошибки и установить
    соответствие между тестами и целями тестирования.
    Специальные Требования к А-тестам

    А-тесты могут быть разделены на две подгруппы. Первая состоит из тестов, которые производят
    некоторые нетривиальные действия во время выполнения. Как правило, в течение этих действий
    вычисляется некоторое значение, и затем оно сравнивается с эталонным значением. Спецификации
    для этой подгруппы тестов могут содержать некоторые комбинация нетривиальных эффектов.
    Другая подгруппа состоит из тестов которые проверяют правильность компиляции некоторой
    комбинации языковых ситуаций. Спецификации для этой подгруппы обычно содержит только
    один эффект типа "ситуация, содержащаяся в тесте, обрабатывается реализацией".

    Различия между этими двумя подгруппами тестов существенны для проектировщиков и
    разработчиков тестов, но они могут быть скрыты от конечного пользователя пакета тестов.
    Поэтому, все А-тесты должны быть самопроверяющимися и сходно обрабатываться средой
    тестирования.

    Как было сказано выше, тесты, проверяющие обработку исключительных ситуаций, тоже могут
    быть организованы как обычное А-тесты посредством выбора соответствующей структуры
    обработки исключительной ситуации для каждого конкретного теста.

    Специальные Требования к Б-тестам

    1. Каждый Б-тест должен содержать ровно одну ошибку, соответствующую спецификации
      теста.
    2. Все Б-тесты в пакете тестов являются тестами процесса компиляции. (То есть, тест прошел если
      его компиляция не удалась, и наоборот) Это предположение не полностью правильно, но оно
      основано на общепринятой модели компилятора для языка фон Неймана и позволяет
      организовывать естественную и удобную среду тестирования для B-tests.




    - Начало -  - Назад -  - Вперед -