КОМПЛЕКС АВТОМАТИЗАЦИИ И ВИЗУАЛИЗАЦИИ ТЕСТИРОВАНИЯ ВСТРОЕННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ЭЛЕКТРОННЫХ УСТРОЙСТВ
METHOD FOR BUILDING A SOFTWARE SYSTEM FOR AUTOMATING AND VISUALIZING TESTING OF EMBEDDED SOFTWARE FOR ELECTRONIC DEVICES

Изобретение относится к вычислительной технике, а именно к программным комплексам автоматизации и визуализации тестирования встроенного программного обеспечения (ПО) электронных устройств (ЭУ).
Известна полезная модель «Аппаратно-программный комплекс автоматизации, управления, визуализации и мониторинга технологических процессов». Аппаратно-программный комплекс автоматизации, управления, визуализации и мониторинга технологических процессов, содержит объединенные через локальную вычислительную сеть (ЛВС) рабочие станции, автоматизированные рабочие места (АРМы) и серверы на базе персональных электронных вычислительных машин (ПЭВМ), а также объединенные системой передачи данных управляющее устройство и функциональные модули, предназначенные для обеспечения управления технологическими процессами на основе программного комплекса и для физического воздействия на входы устройств управления технологическими процессами, снятия показаний с датчиков контроля технологических процессов и передачи информации о состоянии входов/выходов устройств управления. Он имеет централизованную архитектуру принятия решений, содержащую главное управляющее устройство и подчиненные ему функциональные модули на базе промышленных микроконтроллеров, объединенные через приборный интерфейс, и снабжен программным блоком для осуществления визуализации параметров технологических процессов (Патент на полезную модель RU №:90588).
В данном изобретении в основе комплекса лежат аппаратные компоненты, которые не всегда можно легко и оперативно модифицировать, а наличие физической связи обмена между собой функциональных модулей ограничивают возможности по их взаимодействию, т.е. отсутствует  возможность расширения функций их взаимодействия при возникновении новых требований к подобному комплексу.
Известно изобретение «Комплекс отладки», заключающееся в том, что комплекс отладки программ содержит управляющую вычислительную машину, пульт управления и ЭВМ общего назначения, группу имитаторов входной информации, подключенных входами к ЭВМ общего назначения, а выходами - к управляющей вычислительной машине, синхронизирующий выход которой подключен к синхронизирующему входу пульта управления, который через первую магистральную шину подключен к управляющей вычислительной машине, а через вторую - к ЭВМ общего назначения, сигнальный вход которой объединен с управляющим входом управляющей вычислительной машины и подключен к выходу пульта управления (патент RU 2448363 С1).
В данном изобретении так же упор сделан на взаимодействие аппаратных средств, без описания взаимодействия и построения программной составляющей отладочного комплекса, что в конечном итоге усложнит его реализацию и, как следствие, увеличит, как трудозатраты, так и сроки проведения испытаний.
Наиболее близкими к предлагаемому решению по технической сущности является изобретение «СПОСОБ И СИСТЕМА АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ», заключающееся в том, что система автоматизации тестирования программного обеспечения включает, по крайней мере, одно устройство пользователя и/или тестировщика, по крайней мере, одну базу данных, по крайней мере, одну базу тестов и программно-аппаратный комплекс, выполненный с возможностью: тестирования программного обеспечения по составленным планам тестирования посредством интерактивного взаимодействия тестировщика с пользовательским интерфейсом тестируемого программного обеспечения, записи указанных действий пользователя в автоматическом режиме в заранее заданных терминах уровня бизнес-логики тестируемого программного обеспечения, сохраняя результаты в базе тестов в качестве тестовых сценариев, записи изменений в базе данных, производимых при выполнении указанных тестовых сценариев, в автоматическом режиме в заранее заданных терминах, присваивая данным изменениям признак «Эталонные изменения» и сохраняя результаты в базе тестов, после изменения программного обеспечения осуществления его регрессионного тестирования, проигрывания тестовых сценариев из базы тестов в автоматическом режиме, записи изменений в базе данных, производимых при выполнении указанных тестовых сценариев, в автоматическом режиме в заранее заданных терминах, присваивая данным изменениям признак «Фактические изменения» и сохраняя результаты в базе тестов, осуществления верификации по каждому тестовому сценарию, сравнивая «Эталонные изменения» и «Фактические изменения» и сохраняя результаты сравнения в базе тестов, формирования списка тестовых сценариев, не прошедших верификацию, при этом под изменениями, не прошедшими верификацию подразумеваются расхождения «Эталонных изменений» и «Фактических изменений» и выполнен дополнительно с возможностью: выявления основных бизнес-процессов, выполняемых с использованием тестируемого программного обеспечения, составления детального плана тестирования выявленных бизнес-процессов, фиксируя варианты интерактивного взаимодействия тестировщика с пользовательским интерфейсом тестируемого программного обеспечения (заявка на патент РФ №2013126869/08), который выбран в качестве прототипа.
Недостатком прототипа является:
- Отсутствие единых и четких требований к программным моделям (имитаторам) взаимодействия с электронным устройством тестируемого ПО, приведет к усложнению реализации программного комплекса и ограничению возможностей по его наращиванию;
- Отсутствие средств визуализации (как основного инструмента предоставления результатов тестирования) для оперативного и гибкого контроля состояния средств моделирования, а так же их данных и сущностей.
Задачами изобретения являются:
- унификация программного комплекса, путем выработки единых правил (методов) реализации и модульности построения компонент комплекса (моделей) и изоляции их данных и структур друг от друга и взаимодействие их между собой посредством общего буфера памяти;
- сокращение сроков разработки и подготовки программного комплекса и моделей функциональных устройств за счет использования единого шаблона функции взаимодействия и диалоговых окон моделей и выработке единых правил их построения и реализации, а так же автоматизации формирования информации для визуализации в базе данных на основе исходных данных на разработку тестируемого ПО;
- повышение эффективности и облегчение тестирования программного обеспечения путем представления и визуализации состояния данных и сущностей каждой модели в виде набора интерфейсов, вызываемых в реальном времени на любом этапе выполнения тестов.
Поставленные задачи достигаются тем, что программный комплекс состоит из единой программной среды написания и выполнения тестов, включающей средства написания, редактирования и выполнения тестов, автоматизированного анализа и обработки информации, визуализации данных и сущностей в процессе тестирования и на этапе подготовки к нему, хранения тестовых наборов и подключения их в состав комплекса на любом этапе тестирования, динамической реконфигурации и управления в любой момент времени программным комплексом и его компонентами, выделения общего буфера для взаимодействия подключаемых моделей, защиты и восстановления комплекса при наличии непредвиденных сбоев в процессе его работы, динамически подключаемых моделей функциональных устройств, реализуемых в виде независимых унифицированных программных модулей с заранее определенным единым набором методов и функций, содержащих средства представления и визуализации состояния данных и сущностей, разработанных по единым правилам построения и реализации, базы данных представления данных и сущностей, средств автоматизированного заполнения БД информацией на основе анализа документации, по которой разрабатывается тестируемое ПО.
На чертеже (фиг. 1) представлена структурная схема реализации программного комплекса.
Программный комплекс реализуется следующим образом:
Программный комплекс состоит из единой среды написания, редактирования и выполнения тестов, моделей функциональных устройств осуществляющих взаимодействие с электронным устройством со встроенным ПО посредством плат расширения, базы данных, средств автоматизированного анализа информации и заполнения базы данных.
Единая программная среда написания и выполнения тестов реализуется в виде единого пользовательского интерфейса, который содержит средства написания, редактирования и выполнения тестов, средства анализа и обработки информации, средства визуализации данных и сущностей как собственных, так и моделей функциональных устройств на любом этапе тестирования, средства управления хранением тестовых наборов и подключения их в состав комплекса на любом этапе испытаний, средства динамической реконфигурации и управления в любой момент времени программным комплексом и любых компонент входящих в его состав, средства защиты и восстановления комплекса при наличии непредвиденных сбоев в процессе его работы. Единая программная среда написания и выполнения тестов обеспечивает выделение буфера памяти для межмодельного взаимодействия, с возможностью расширения такого взаимодействия по мере поступления новых требований к моделям или добавление новых моделей в состав комплекса.
Модели функциональных устройств реализуются в виде независимых унифицированных программных модулей с заранее определенным единым набором методов и функций и средствами визуализации и представления состояния их внутренних данных и сущностей, разработанных по единым правилам построения и реализации, и управляемых программной средой выполнения тестов в реальном времени на любом этапе тестирования.
БД содержит информацию, включающую в себя параметры программного комплекса и информацию необходимую для визуализации и предоставления данных и сущностей программного комплекса на любом этапе испытаний. БД реализуется в виде набора связанных таблиц в соответствии с определенным типом назначения и использования, с привязкой к определенным видам тестируемого ПО.
Средства автоматизированного анализа информации и заполнения БД выполняют анализ документации описывающей устройства взаимодействия с тестируемым ПО и заполнение БД в порядке принадлежности данных к своему типу назначения и использования и внутренней привязки между собой.
Программный комплекс работает следующим образом:
В программе управления БД заносится основная информация по тестируемому ПО электронного устройства (принадлежность прибора и идентификатор ПО, который является уникальным для любого ПО электронного устройства).
На основе идентификатора ПО создается типизированный файл в формате Microsoft Excell (*.xls) с таблицами для заполнения данных, в который по таблично заносится информация из документации на ПО электронного устройства (ИД на разработку ПО) в соответствующие таблицы типизированного файла.
Программа управления БД автоматически заполняет БД информацией, привязывая ее к идентификатору ПО, а так же осуществляя присвоения идентификаторов для каждой записи в БД с привязкой данных друг к другу, в соответствии с построением таблиц БД.
Пользователь запускает единую программную среду (ЕПС) написания, редактирования и выполнения тестов. ЕПС по запуску определяет доступность сервера хранения тестовых наборов и выполняет подключение к нему в режиме доступа на запись и чтение (по умолчанию режим доступа только на чтение, для несанкционированного изменения данных на нем). Далее она осуществляет конфигурацию внутренних структур и данных, выделение общего буфера для межмодельного взаимодействия и на основе идентификатора ПО выполняет подключение соответствующих моделей функциональных устройств, с передачей каждой модели параметров их конфигурации (данные предыдущей конфигурации, текущий выбранный идентификатор ПО, описатель буфера памяти для межмодельного взаимодействия, и другие параметры необходимые для настройки модели и запуска потока(ов), моделирующего(их) работу модели).
В ЕПС реализуется два режима: «Редактор» и «Рабочий», оба режима выбираются соответствующими вкладками.
В режиме «Редактор» пользователь составляет тестовые последовательности (циклограммы), их редактирует и сохраняет в рабочем каталоге. Рабочий каталог формирует ЕПС в соответствии с выбранной текущей конфигурацией, т.е. создавая соответствующие каталоги по принадлежности к типу электронного устройства и индексу тестируемого ПО.
В режиме «Рабочий» представлен инструмент для выполнения тестовых наборов, в нескольких режимах: одиночного прогона, бесконечного зацикливания, и пошагового выполнения, а так же представлены средства выполняющие функции точек останова, для выполнения тестового набора до указанной позиции.
В ЕПС реализованы функции управления хранением тестовых наборов с использованием сервера:
- скопировать/переместить текущий тестовый набор на сервер, при этом на сервере создастся цепочка каталогов соответствующая рабочему и добавится еще один каталог с номером версии, для которой данный набор был разработан и отработан;
- скопировать/переместить тестовый набор с сервера при этом выбрав из перечня доступных наборов по принадлежности к версиям ПО;
- открыть каталог в проводнике содержащий тестовый набор;
- просмотреть полный список тестов, как в рабочем каталоге, так и на сервере.
В случае непредвиденного сбоя или падения ЕПС, при следующем ее запуске она восстанавливает не сохраненные наборы тестов и протоколы выполнения, и параметры конфигурации ЕПС.
ЕПС содержит элементы доступа и управления моделями реализованные в виде контекстного меню, которое появляется при нажатии на соответствующую иконку модели. Данное меню доступно на любом этапе работы с ЕПС, включая режим выполнения тестов, для воздействия на ход тестирования в реальном времени.
Через данное контекстное меню пользователь может обратиться к модели для выполнения следующих функций взаимодействия:
- настройка внутренних параметров (частота потока, адреса устройств и данных, необходимые как для настройки аппаратной части взаимодействия с электронным устройством, так и внутренних структур, данных и сущностей модели);
- управление потоком модели. Поток модели выполняет функции моделирования логики функционального устройства;
- осуществление функции взаимодействия с моделью (запись управляющих воздействий как для выдачи на электронное устройство, так и для управления внутренним состоянием данных и сущностей модели, чтение состояния);
- визуализация данных и сущностей модели (данные представляются как в виде непосредственно кодов, так и в виде различных типов представления: пиктограммы, иконки, графики, изображения и т.д.).
Так же каждая модель протоколирует в своем локальном буфере информацию за весь период работы ЕПС (прием команд, сигналов, воздействия как со стороны электронного устройства, так и со стороны ЕПС), что позволяет на любом этапе проконтролировать, что происходило с каждой моделью, например до того как было зафиксировано не прохождение теста, что облегчает анализ состояния тестируемого ПО в процессе выполнения теста.
Для редактирования тестов в ЕПС представлен базовый набор операций для тестирования, с возможностью его расширения:
- сообщение обычное - обращение к модели для записи или чтения данных;
- сообщение системное - выполнение действий пользователя (переключение режимов работы, управление моделью и т.д.);
- пауза - останов процесса выполнения тестирования на время паузы;
- контроль слов данных - побитный контроль полученной, в ходе выполнения теста, информации;
- комментарий (не в отчет) - отображение текста в циклограмме (при выполнении в отчет не попадает);
- предупреждение - вывод сообщения на экран с остановкой выполнения циклограммы до закрытия сообщения;
- циклограмма - выбор вложенной циклограммы;
- комментарий служебный - отображение текста в циклограмме, а при ее выполнении отображается в протоколе;
- ожидание события - организация таймера ожидания событий в выбранной модели, с указанием количества ожидаемых событий. Позволяет за синхронизировать ход выполнения тестируемого ПО с ходом прохождения теста, что обеспечивает наиболее точное взаимодействие и воздействие на тестируемое ПО;
- контроль массива - контроль полученной, в ходе выполнения теста, информации с привязкой к месту (позиции) нахождения контролируемых данных в массиве;
- контроль данных в массиве - контроль полученной, в ходе выполнения теста, информации без привязки к месту (позиции) нахождения контролируемых данных в массиве;
- контроль слов данных на диапазон - контроль полученной, в ходе выполнения теста, информации на вхождение в заданный диапазон.
Доступные в процессе тестирования для пользователя средства визуализации тестирования представляется в виде набора графического сопровождения, который включает базовые средства: выделение цветом типов операций, подсветка хода выполнения тестирования, выделение операций не прохождения, выделение определенной информации не прошедшей контроль и т.д., так и комплексные средства представления информации (например, отображение положения Солнца в пространстве при моделировании приборов в режиме солнечной ориентации КА, относительно виденья его через прибор «датчик наличия солнца», с фиксацией и отображением каждой точки такого пути на плоскости и отображением всех параметров ориентации в реальном времени).
Унификация программного комплекса достигается путем выработки единых правил (методов) реализации и модульности построения компонент комплекса (моделей) и изоляции их данных и структур друг от друга и взаимодействие их между собой посредством общего буфера памяти.
Сокращение сроков разработки и подготовки программного комплекса и моделей функциональных устройств достигается за счет использования единого шаблона функции взаимодействия и диалоговых окон моделей и выработке единых правил их построения и реализации, а так же автоматизированными средствами анализа информации и заполнения БД.
Повышение эффективности и облегчение тестирования программного обеспечения обеспечивается путем визуализации представления состояния данных каждой модели в виде диалоговых окон или «метафор» - тематических сюжетов, отражающих общий ход тестирования и состояния данных и сущностей, вызываемых в реальном времени на любом этапе выполнения тестов.
С использованием данного комплекса проведено тестирование встроенного ПО блоков управления бортового комплекса управления перспективных КА производства АО «ИСС». За счет унифицированного подхода к построению программного комплекса и единого шаблона функций взаимодействия и диалоговых окон моделей отмечено существенное сокращение объема работы программиста при реализации комплекса и подготовке его для тестирования программного обеспечения, а так же показано наличие возможности для дальнейшего расширения его функционала в будущем. Наличие средств визуализации тестирования, реализованные в программном комплексе, обеспечило гибкость и легкость тестирования программного обеспечения, снизив трудоемкость специалистов и сократив общее время тестирования.
Из известных заявителю патентно-информационных материалов не обнаружены признаки, сходные с совокупностью признаков заявляемого изобретения.