Реклама:

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

Аналитический расчет с использованием графовой-модели исследуемого КП (см. § 3.5) позволяет в общем случае с меньшими затратами по сравнению с экспериментальным тестированием программ получить приближенные временные характеристики [501. Однако при аналитическом определении длительностей исполнения программ трудно учесть два фактора, влияющих на результаты. Первый из них — взаимозависимость направлений условных переходов, выбираемых при реальном исполнении программы, из-за связей по информации между теми условиями, которые управляют переходами. Вследствие, этого при анализе модели могут'учитываться маршруты, не реализуемые в.действительности.

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

Особенности тестирования параллельных программ. Параллельное исполнение программ реализуется.в вычислительных системах (ВС) в разных видах, что. приводит к многообрязию особенностей тестирования таких программ [49, 181. Опыт тестирования параллельных программ пока невелик и почти отсутствуют обобщающие теоретические работы в этой области. Основные особенности тестирования обусловлены взаимодействием параллельных программ по управлению, влияющему на . последовательность исполнения компонент программы, а также взаимодействием по информации. Степень и особенности взаимодействия программных компонент зависят от класса ВС, методов распараллеливания программ и характеристик реализуемых алгоритмов. Многообразие видов и глубины связей параллельных программ, прежде всего через общие данные, затрудняют создание общих методов их тестирования и теоретические обобщения.

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


⇐ Предыдущая страница| |Следующая страница ⇒