Тестовая установка — это устройство, используемое для последовательного тестирования некоторого элемента, устройства или части программного обеспечения. Тестовые установки используются при тестировании электроники, программного обеспечения и физических устройств.
При тестировании электронного оборудования, такого как печатные платы, электронные компоненты и микросхемы, испытательное приспособление представляет собой устройство или установку, предназначенные для удержания тестируемого устройства на месте и обеспечения возможности его тестирования путем воздействия на него контролируемых электронных тестовых сигналов. [1] Примерами являются тестер с гвоздями или интеллектуальное приспособление .
В контексте программного обеспечения тестовая среда (также называемая «тестовым контекстом») используется для настройки состояния системы и входных данных, необходимых для выполнения теста . [2] [3] Например, веб-фреймворк Ruby on Rails использует YAML для инициализации базы данных с известными параметрами перед запуском теста. [4] Это позволяет тестам быть повторяемыми, что является одной из ключевых особенностей эффективного тестового фреймворка. [2]
Тестовые установки можно настроить тремя различными способами: встроенными, делегированными и неявными.
Главное преимущество тестового приспособления заключается в том, что оно позволяет повторять тесты, поскольку каждый тест всегда начинается с одной и той же настройки. Тестовые приспособления также упрощают проектирование тестового кода, позволяя разработчику разделять методы на разные функции и повторно использовать каждую функцию для других тестов. Кроме того, тестовые приспособления предварительно настраивают тесты в известное начальное состояние вместо того, чтобы работать с тем, что осталось от предыдущего тестового запуска.
Недостатком является то, что это может привести к дублированию испытательных приспособлений при использовании встроенной установки. [2] [5]
Это считается плохой практикой, когда неявные тестовые установки слишком общие или когда метод теста устанавливает тестовую установку и не использует ее во время теста. Более тонкая проблема заключается в том, что методы теста игнорируют определенные поля в тестовой установке. Другая плохая практика — это тестовая установка, которая содержит больше шагов, чем необходимо для теста; эта проблема наблюдается при встроенной установке. [5]
Тестовый случай считается «небезопасным», если он изменяет свою фикстуру(ы). Небезопасный тестовый случай может сделать последующие тесты бесполезными, оставив фикстуру в неожиданном состоянии. Это также делает порядок тестов важным: измененная фикстура должна быть сброшена, если после небезопасного теста необходимо запустить больше тестов. [2]
Примерами фикстур являются загрузка базы данных с определенным известным набором данных, очистка жесткого диска и установка заведомо чистой операционной системы, копирование определенного известного набора файлов или подготовка входных данных, а также настройка и создание фиктивных объектов .
Программное обеспечение, которое используется для систематического проведения воспроизводимых тестов на тестируемом программном обеспечении, называется тестовой программой ; частью ее работы является настройка подходящих тестовых приспособлений.
В общем случае xUnit тестовая оснастка — это все, что должно быть на месте для запуска теста и ожидания определенного результата. [6]
Часто фикстуры создаются путем обработки событий setUp() и tearDown() фреймворка модульного тестирования . В setUp() создается ожидаемое состояние для теста, а в tearDown() очищается то, что было настроено.
Четыре фазы теста:
В физическом тестировании приспособление — это устройство или аппарат для удержания или поддержки испытуемого образца во время теста. Влияние испытательных приспособлений на результаты теста важно и является предметом постоянных исследований. [7]
Многие методы испытаний подробно описывают требования к испытательным приспособлениям в тексте документа. [8] [9]
В некоторых приспособлениях используются зажимы, клиновые захваты и клещевые захваты.
Другие типы конструкций включают эксцентриковые роликовые крепления, резьбовые захваты, захваты с кнопочной головкой и канатные захваты.
Механические удерживающие устройства обеспечивают зажимное усилие через рычаги, клинья или эксцентриковое колесо к губкам. Кроме того, существуют пневматические и гидравлические приспособления для испытаний на растяжение, которые позволяют выполнять очень быстрые процедуры зажима и очень высокие зажимные усилия.