Ручная подготовка тестов целесообразна, когда немногочисленные величины имеют глубокие логические связи, которые трудно формализовать. При этом ручное составление тестов оказывается проще, чем разработка генератора тестов. Но такие случаи относительно редки, и в большинстве случаев нужно автоматизировать генерацию тестов.
Генераторы программных тестов должны предоставлять возможность создания гестов во всем разнообразии динамики поведения и характеристик объектов внешней среды данного ПС. Обычно только небольшая часть тестов является детерминированной, а основная часть отражает стохастическое и динамическое поведение внешних объектов.
При создании генераторов тестов применяются 2 принципиально различающихся подхода — интегральный и дифференциальный. При интегральном подходе основой является формальное описание входной и выходной информации имитируемого объекта, а также функциональной связи между данными на его входе и выходе. Структура объекта и процессы, реализующиеся при функционировании его компонент, не моделируются и не имеют значения.
При дифференциальном подходе необходимы подробные сведения о всех процессах функционирования компонент объектов внешней среды. Дифференциальные или имитационные модели генераторов тестов базируются па этих сведениях.
В отличие от натурального эксперимента моделирование внешней среды и тестов на компьютере имеет большие возможности контроля, как исходных данных, так и всех промежуточных и выходных результатов функционирования исследуемого объекта. Программная имитация внешней среды позволяет
— проводить длительное непрерывное генерирование имитируемых данных для определения надежности функционирования ПС в широком диапазоне изменения условий и параметров, что часто невозможно для реальных объектов;
— расширять диапазоны характеристик имитируемых объектов за пределы реально существующих;
— создавать тестовые данные, соответствующие критическим или опасным ситуациям функционирования объектов внешней среды, которые невозможно или опасно реализовать при натуральных экспериментах;
— обеспечивать высокую повторяемость имитируемых данных при заданных условиях их генерации и возможность прекращения или приостановки имитации на любых фазах моделирования внешней среды.
Некоторые даже маловероятные ситуации значений исходных данных являются критическими и особо важными для функционирования всей системы, для которой разрабатывается ПС. Выбор и имитация подобных ситуаций позволяет отработать ПС в критических маловероятных ситуациях, которые невозможно или опасно создавать на реальных объектах.
Тем не менее, не всегда при программной имитации корректно и полностью отражаются все характеристики внешней, среды и могут быть необходимы отдельные контрольные проверки, ПО во взаимодействии с реальными объектами.
Генерация тестов для определения надежности сложных программных средств.
16 Янв, 2009
