Проблемы автоматизации испытаний программного обеспечения проектируемых систем управления

В.О. Чинакал,
 в.н.с., к.т.н., доц.,
chinakal@ipu.ru
ИПУ РАН, г. Москва

Обсуждаются проблемы автоматизации проведения испытаний алгоритмического (АО) и программного обеспечения (ПО), разрабатываемого для автоматических и автоматизированных систем управления (СУ) сложными техническими объектами. Сопоставляются возможности создания и применения специализированных систем проведения испытаний АО и ПО и использования интегрированных систем имитационного моделирования.

 

The problems of automation of testing software, developed for the automation and systems for control complex technical objects, are discussed. The capabilities of specialized systems for testing knoware and software are compared with capabilities of integrated simulation system.

Введение

При создании современных автоматических и автоматизированных систем управления (СУ) сложными техническими объектами (СТО) широко используются различные средства и системы автоматизации проектирования программного и технического обеспечения (ТО). Мощные SCADA-системы и пакеты прикладных программ позволяют максимально сократить сроки создания алгоритмического, программного и технического обеспечения СУ, разрабатываемых с максимальным использованием методов конфигурирования АО и ПО из типовых библиотечных компонентов и встроенных средств тестирования и отладки различных процедур, модулей и подсистем. Все эти средства позволяют создавать для проектируемых СУ СТО огромные объемы рабочего ПО, разрабатываемого и документируемого в соответствие с требованиями действующих стандартов [1] и принимаемого заказчиком на основе прохождения тестовых испытаний.

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

Очевидно, что проблема создания надежно работающих комплексов сложного ПО для СУ СТО и повышение эффективности проведения его полномасштабных испытаний на этапе проектирования чрезвычайно актуальна. Пути решения этой проблемы могут быть различны – от разработки и использования простых, но достаточно представительных наборов разветвленных тестов для отдельных подсистем и системы в целом до создания специальных систем автоматизации подготовки и проведения тестирования работы АО и ПО. При этом необходимо отметить, что в случае создания большого комплекса взаимодействующего ПО для СУ сложным техническим объектом, сроки и затраты на разработку полномасштабных тестов и проведение испытаний АО и ПО могут оказаться соизмеримыми с затратами на разработку самого ПО (а то и превышать их!), не гарантируя при этом надежного результата.

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

1. Два подхода к автоматизации испытаний ПО

Первый подход близок к традиционной схеме проведения испытаний ПО СУ и связан с возможностями создания и применения специализированных систем подготовки тестов и проведения испытаний АО и ПО (ССПИ). Системы ССПИ обычно разрабатываются только для узкого класса объектов (или даже для отдельных крупных проектов) и их создание обычно предусматривается в техническом задании и в смете на разработку проекта СУ СТО. На рис. 1 представлена укрупненная блок-схема простой специализированной системы проведения испытаний АО и ПО.

Второй подход связан с созданием универсального испытательного комплекса (УИК), предназначенного для автоматизации всех основных этапов подготовки, проведения и обработки испытаний АО и ПО различных СУ. УИК применим к более широкому классу СТО, обеспечивает испытание ПО при расширенном спектре возможных возмущений, воздействий и учете влияния различных видов возможных отказов в работе АО, ПО и ТО СУ СТО.

Концепция построения и структура УИК ориентирована на генерацию последовательностей данных для тестов с использованием сценарного подхода, планирования сеансов испытаний работы АО и ПО и обеспечения контроля и управления проведением сеансов испытаний с целью обеспечения надежности работы сложного ПО, а также проведению частичной или полной обработки испытаний в реальном времени. Для генерации рабочих данных в сеансах тестирования ПО в УИК используются возможности интегрированной системы имитационного моделирования (ИСИМ). ИСИМ содержит подсистему имитации работы объекта, технических средств управления (ТСУ), подсистему задания возмущений и может конфигурироваться для различных типов СТО, СУ, возмущений и типов испытаний в зависимости от заданных исходных требований, выбранного сценария, критериев и текущих оценок текущих и предыдущих сеансов испытаний АО и ПО.

На рис. 2 представлена укрупненная блок-схема УИК, при работе которой для генерации тестовых данных используется интегрированная система имитационного моделирования [2,3] и дополнительное специальное программное обеспечение, обеспечивающее автоматизацию этапов подготовки и управления сеансами испытания ПО.

Для выявления наиболее существенных особенностей каждого подхода при их рассмотрении будем кратко освещать следующие основные вопросы:

1.    основные требования к генерации исходных данных для тестирования вариантов испытаний АО и ПО, включая данные конфигурирования общей имитационной модели (ОИМ), отдельных моделей подсистемы имитации работы объекта, технических средств управления, подсистемы задания возмущений и интерфейсной подсистемы для взаимодействия УИК с испытуемым АО и ПО проектируемой СУ;

2.    способы формирования структурно и параметрически изменяемых моделей объектов управления, моделей технических средств контроля и управления (ТСУ), моделей задания различных типов возмущений (МВ), а также моделей каналов и систем передачи данных и имитации различных отказов и сбоев при работе всех основных моделей и их взаимодействии между собой;

3.    возможности формирования программных и случайных изменений параметров и структур различных моделей, используемых в ОИМ ССПИ и ИСИМ;

4.    способы имитации правильных и ошибочных действий операторов в автоматизированных СУ при проведении сеансов испытаний АО и ПО в различных масштабах времени;

5.    особенности формирования и выполнения иерархических сценариев проведения сеансов испытаний работы АО и ПО проектируемых систем управления в реальном и ускоренном масштабах времени;

6.    способы разработки и задания комбинированных тестов для испытания работы АО и ПО и выбора критериев оценки предельных возможностей правильной работы отдельных компонентов и всего проектируемого АО и ПО в целом;

7.    особенности документирования и обработки результатов проведения сеансов испытаний работы АО и ПО.

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

 

Далее рассмотрим основные особенности второго подхода к проведению испытаний АО и ПО на примере работы комплекса УИК по блок схеме на рис. 2.

Основное отличие разработок с использованием УИК от ССПИ состоит в автоматизации процессов генерации наборов тестовых данных в УИК взамен ручных методов подготовки каждого конкретного варианта испытаний, его прогона и анализа результатов, используемых в ССПИ. Работа УИК основана на задании сценариев, стратегии испытаний ПО, требований, условий и критериев проведения испытаний АО и ПО, в соответствии с которыми и генерируется необходимое число вариантов и видов проводимых испытаний.

Для координированного управления всеми этапами подготовки, проведения и обработки испытаний используется блок монитора управления тестированием АО и ПО. Информационное взаимодействие УИК с тестируемым ПО осуществляется через конфигурируемый блок интерфейса тестов, обеспечивающий соответствие спецификаций входов-выходов тестируемого ПО и соответствующих входов-выходов УИК.

Подготовка к проведению испытаний ПО начинается с построения полномасштабной общей имитационной модели (ОИМ). Построение ОИМ производится путем конфигурирования параметрически настраиваемых моделей, имитирующих объект управления, технические средства измерения и управления, действие возмущений и возникновение различных типов отказов при работе СТО, ТСУ и СУ. Модули, реализующие эти модели, хранятся в базе данных моделей (БД-моделей) вместе с необходимыми наборами данных и параметров, а также спецификаций, используемых для связи с тестируемым ПО через блок интерфейса тестов. Сконфигурированные рабочие модели и ОИМ могут также сохраняться в БД-моделей и при необходимости повторно использоваться.

Затем производится конфигурирование рабочих сценариев проведения испытаний, сохраняемых в базе данных рабочих сценариев (блок БД рабочих сценариев). Выбор конкретного рабочего сценария и количества сеансов производится на основе анализа заданных условий и критериев. Например, некоторые параметры моделей объекта или возмущений могут быть фиксированы, изменяться случайно или с заданным шагом в некотором ограниченном диапазоне, или функционально зависеть от некоторых переменных. В зависимости от наличия подобных условий и критериев могут выбираться различные виды рабочих сценариев и может автоматически формироваться различное число вариантов проведения сеансов испытаний ПО.

 

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

2. Сравнение эффективности двух подходов к автоматизации испытаний ПО

На основе краткого описания особенностей реализации каждого из рассмотренных подходов отметим их основные достоинства и недостатки, придерживаясь последовательности вопросов по пп. 1-7. Сравнивая возможности подготовки исходных данных для тестирования вариантов испытаний АО и ПО в первом и втором случае можно отметить:

1.      Первый подход более прост, не требует разработки специального ПО, может быть реализован с использованием обычных текстовых редакторов, но требует больших затрат времени высококвалифицированных специалистов на разработку вариантов испытаний ПО. Практически реализуется только для ограниченного числа упрощенных вариантов испытаний конкретного ПО для СУ конкретного проекта, не позволяет автоматизировать генерацию большого числа вариантов и их модификацию при проведении углубленного тестирования АО и ПО для СУ СТО.

       Второй подход требует однократных дополнительных затрат на разработку специального ПО, но обеспечивает быстрое конфигурирование большого числа вариантов испытаний работы АО и ПО. Позволяет автоматизировать процессы формирования и модификации исходных данных для вариантов испытаний, строить шаблоны сценариев испытаний АО и ПО, дает возможность повторного использования сценариев, а также общей имитационной модели и отдельных моделей подсистем. Обеспечивает удобную имитацию различных штатных и нештатных режимов работы объекта, технических средств управления, подсистемы задания возмущений. С помощью интерфейсной подсистемы обеспечивает взаимодействие УИК с испытуемым АО и ПО различных проектируемых СУ для широкого класса СТО.

2.      Подход на основе ССПИ обеспечивает фактически единственный способ ручного формирования данных для различных моделей объектов управления. Подход на основе УИК обеспечивает на основе простого конфигурирования реализацию структурно и параметрически изменяемых сложных моделей объектов управления, моделей технических средств контроля и управления, моделей задания различных типов возмущений. Для анализа возможностей работы испытуемого АО и ПО в нештатных и аварийных ситуациях УИК позволяет использовать параметрически изменяемые модели каналов и систем передачи данных, имитируя различные виды отказов и сбоев при работе СУ и ТСУ, а также их взаимодействие между собой.

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

4.      Использование сценарного подхода в УМК обеспечивает удобные способы имитации правильных и ошибочных действий операторов в автоматизированных СУ, особенно при проведении сеансов испытаний АО и ПО в ускоренном масштабе времени. Использование ССПИ приводит в таких случаях к значительному увеличению числа необходимых вариантов сеансов испытания АО и ПО.

5.      Применение УИК позволяет эффективно формировать и повторно использовать шаблоны встроенных иерархических сценариев при многократном проведении сеансов испытаний работы АО и ПО проектируемых СУ.

6.      Подход на основе ССПИ требует больших трудозатрат при ручном способе разработки сложных комбинированных тестов для испытания координированной работы АО и ПО отдельных подсистем СУ. Использование возможностей УИК позволяет задать условия и критерии оценки предельных возможностей правильной работы отдельных компонентов и всего проектируемого АО и ПО в целом.

7.      Применение ССПИ обеспечивает упрощенные виды документирования и обработки результатов проведения сеансов испытаний работы АО и ПО, после чего может потребоваться существенная постобработка и дополнительный анализ результатов проведения испытаний. Использование УИК позволяет более гибко задавать непосредственно в сценариях необходимые виды и формы документирования и предварительной обработки результатов испытаний в реальном времени.

Для проверки отдельных технических решений по реализации УИК использовались средства лицензионного программного пакета SCADA-системы InTouch-10.1 фирмы Wonderware. С помощью данного пакета конфигурировался прототип ПО, реализующего базовые функции УИК. В качестве тестируемого ПО были использованы модули ПО, разрабатываемого для аппаратно-программного комплекса коллективного пользования [4]. Связь между ПО тестируемых приложений и ПО прототипа УИК осуществлялась с использованием внешних тэгов типа I/O, определенных в словаре TAGNAME базы данных реального времени InTouch, языка сценариев InTouch, стандартных функций обмена MS Windows и стандартного сетевого протокола SuiteLink.

Заключение

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

·      методы генерации испытательных тестов с помощью настраиваемой интегрированной системы имитационного моделирования;

·      средства задания различных типов имитационных параметрических моделей всех основных компонентов интегрированной системы имитационного моделирования;

·      средства обеспечения удобного конфигурирования общей имитационной модели, настройки параметров и проведения испытаний ПО для различных типов СУ сложными техническими объектами и системами;

·      средства формирования и использования шаблонов вложенных сценариев проведения испытаний АО и ПО;

·      удобные средства документирования и визуализации результатов испытаний АО и ПО СУ СТО.

Литература

1.  РД 50-34.698-90. Автоматизированные системы. Требования к содержанию документов.

2.  Борисов В.Г., Данилова С.К., Чинакал В.О. О построении интегрированных систем навигации, управления и обучения операторов на базе методов интеллектуального управления. Труды XII Санкт-петербургской международной конференции по интегрированным навигационным системам. ЦНИИ «Элктроприбор». - Санкт-Петербург, 2005.

3.  Чинакал В.О. Повышение эффективности применения имитационных моделей при решении задач водозащиты горнорудного предприятия. Труды IV Международной научно-практической конференции «Инженерные системы-2011». - М.: РУДН, 2011. - т. 2. - с. 406-413.

4.  Чинакал В.О. Аппаратно-программный комплекс коллективного пользования для отработки систем интеллектуального управления. Труды V Международной научно-практической конференции «Инженерные системы-2012». - М.: РУДН, 2012. - с. 283-286.