Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТРПО 36-39.docx
Скачиваний:
3
Добавлен:
26.09.2019
Размер:
25.42 Кб
Скачать

36. Минимальное грубое тестирование

По сути это критерий покрытия решений и условий, дополненный проверкой циклов. Проверка циклов организуется по следующим правилам:

  1. Для каждого цикла с предусловием должна быть проверена правильность при нулькратном, однократном и многократном повторениях тела цикла. Под многократным понимается повторение более 1 раза

  2. Для каждого цикла с постусловием проверяется правильность при однократном и многократном повторении тела цикла.

  3. Проверка цикла со счётчиком – если границы цикла фиксированы или они вычисляются. В лучшем случае проверка аналогична 1му случаю

МГТ удобно представлять с помощью таблицы, в которой строки соответствуют проверяемым условиям, а столбцы – тестам.

Для каждого простого условия создается 2 строки, для каждого цикла с предусловием - по 3 строки и для циклов с постусловием по 2 строки.

В случае оператора множественного выбора пишется столько строк, сколько условий в операторе.

МГТ явл-ся достаточно разумным компромиссом между сложностью и надёжностью.

37. Автоматизированные тесты. Основные определения. XUnit

Классификация методов тестирования по изолированности компонент:

- компонентное (модульное)

- интеграционное тестирование – тестирование модулей в группе. Для его автоматизации применяются системы непрерывной интеграции

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

Модульное тестирование – процесс в программировании, позволяющий проверить на корректность модули исходного кода. Суть – изолировать отдельные части программы и показать, что по отдельности они работоспособны.

xUnit - это семейство управляемых кодом framework'ов тестирования. Эти framework'и позволяют тестировать различные элементы (unit) программного обеспечения, например, функции и классы. Главное преимущество xUnit framework'ов заключается в возможности выполнять автоматическое тестирование без необходимости писать одни и те же тесты много раз и запоминать правильные результаты их выполнения. xUnit framework'и основаны на разработке Kent Beck, которая первоначально предназначалась для языка программирования Smalltalk и называлась SUnit.

Архитектура xUnit

Архитектура xUnit framework'ов зависит от нескольких компонентов.

Конфигурации тестирования (Test fixtures)

Конфигурации тестирования (также известны как контексты) это набор  предварительных условий или состояний, необходимых для успешного прохождения теста. Разработчик перед началом тестирования должен установить известное правильное состояние, а после завершения тестов должен вернуть систему в первоначальное состояние.

Наборы тестов (test suite)

Набор тестов это несколько тестов, которые используют общую конфигурацию (Test fixtures) Последовательность тестов не должна иметь значение.

Выполнение тестов

Выполнение отдельного теста выглядит примерно так:

setup(); /* Сначала мы должны подготовить наш 'мир' - изолированное окружение для тестирования */

...

/* Тело теста - Здесь мы выполняем все тесты */

...

teardown(); /* В заключении в независимости от результата тестирования,

мы должны очистить наш 'мир', чтобы не мешать другим тестам */

Методы setup() и teardown() выполняют инициализацию и очистку тестовой конфигурации.

Утверждения (Assertions)

Утверждение - это функция или макрос, который проверяет поведение (или состояние) теста. В случае ошибки утверждение обычно выбрасывает исключение, которое прерывает выполнение текущего теста.