Инженерные программы: Собственные разработки и решения

События

3DEXPERIENCE FORUM 2017

Форум «РазвИТие. Российские технологии для инженеров»

Инженерные программы:
Собственные разработки

Инженерные программы:
Трансфер технологий

Измерительные приборы и
оборудование

ГлавнаяИнженерные программы: Собственные разработки и решенияFlowVision

Система тестирования

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

В состав программного комплекса FlowVision входят несколько модулей, основными из которых являются: препроцессор, решатель и постпроцессор. Главное внимание при тестировании уделяется решателю в силу большой трудоемкости проверки его правильного функционирования.

Тестирование решателя сводится к просчету на нём тестовых задач. При этом необходимо контролировать, что решатель не «завис», успешно завершил расчет и результаты решения соответствуют ожидаемым (эталонным). Так как FlowVision используется во многих весьма различных областях применения, то для его полномасштабного тестирования требуется просчитать большое количество тестовых проектов - сейчас система тестирования включает в себя более 170 тестов.
Кроме того, каждый проект должен быть просчитан несколько раз с различными параметрами параллелизма (различном количестве процессоров, ядер,…). Всё это обуславливает высокую трудоемкость процесса тестирования. Любое изменение в программе требует проведение тестирования для своевременного обнаружения ошибок и сохранения управляемости процесса разработки. Высокая трудоемкость и необходимость частого тестирования требуют организации системы автоматического тестирования.

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

  • запуск на расчет тестовых проектов в различных режимах параллельного расчета
  • возможность одновременного запуска нескольких тестовых проектов в пределах имеющихся вычислительных ресурсов для уменьшения общего времени тестирования и максимально эффективного использования вычислительных ресурсов
  • возможность запуска тестов, как на локальном компьютере, так и на вычислительном кластере
  • отслеживание ситуаций аварийного завершения («падения») и «зависания» решателя
  • анализ результатов выполнения теста путем сравнения с эталонными
  • архивирование результатов тестирования, в том числе файлов протоколов (лог-файлов)
  • наличие графического пользовательского интерфейса для подготовки и запуска тестирования и просмотра результатов
  • возможность выполнения тестирования в операционных системах Windows и Linux

Основой системы тестирования является решатель FlowVision, который, собственно, и тестируется. Для автоматического анализа результатов выполнения теста разработана технология модулей расширения решателя (addons). Такие модули расширения представляют собой динамически загружаемые библиотеки.

Модуль расширения TestingAddon обеспечивает функционирование системы тестирования. Он выполняет следующие функции:

  • анализ результатов расчета тестовой задачи путём их сравнения с эталонными и определение успешности выполнения теста
  • фиксацию результатов выполнения теста в файле истории выполнения теста
  • копирование в архивный каталог файлов-протоколов (лог-файлов), соответствующих данному запуску теста

Однако модуль расширения, работающий фактически в составе решателя, не может отследить ситуации аварийного завершения и «зависания» решателя, так как в этом случае его работа также будет нарушена. Для корректной обработки этих ситуаций предназначен модуль «сторожевой пёс» (TestingWatchDog).

TestingWatchDog представляет собой отдельный исполняемый файл. Запуск этого модуля производится модулем TestingAddon при загрузке тестового проекта. В обоих аварийных случаях «сторожевой пёс» фиксирует результаты выполнения теста в файле истории выполнения теста и копирует в архивный каталог файлы-протоколы. Имея связку «решатель - TestingAddon - TestingWatchDog» можно выполнять тестирование путем запуска различных тестовых проектов.
Существуют два принципиально различных случая: тестирование на локальном компьютере и тестирование на вычислительном кластере.

При выполнении тестирования на кластере запуск различных тестовых проектов выполняется системой управления заданиями кластера. Правильно сформировав список заданий и загрузив их в очередь можно обеспечить необходимый объем тестирования.

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

При большом количестве тестовых проектов и большом количестве вариантов запуска каждого проекта добавление их вручную в очередь проектов неэффективно. Для подготовки и запуска тестирования служит модуль TestingPrep. Он позволяет:

  • формировать на диске структуру каталогов с тестовыми проектами
  • объединять тестовые проекты в группы – задачи с произвольным количеством уровней вложенности
  • для каждого тестового проекта или задачи задавать режимы запуска (настройки параллелизма)
  • запускать тестирование выбранной задачи (или группы задач) путём помещения всех расчетных проектов в очередь проектов солвер-агента

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

Само тестирование программного комплекса FlowVision проводится в два этапа.

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

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

Система автоматического тестирования существенно повышает качество разработки программного комплекса FlowVision.

Программный комплекс FlowVision имеет сертификат соответствия Госстандарта России.


© ТЕСИС>, сайты: www.tesis.com.ru (тесис.рф); www.flowvision.ru; www.fv-tech.com; www.simulia.ru
Тел./факс: +7(495) 612-4422, 612-4262, info@tesis.com.ru, написать письмо, подписаться на новости
Политика конфиденциальности

Главный офис: 127083, Россия, Москва, ул. Юннатов, дом 18, 7-й этаж, оф.705, схема проезда
Представительство: 603093, Нижний Новгород, ул.Печерский съезд, д.18, офис 29