КОМПЛЕКС ТЕСТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ЭЛЕКТРОННЫХ УСТРОЙСТВ
ELECTRONIC DEVICES SOFTWARE TESTING SYSTEM

Изобретение относится к вычислительной технике, а именно к комплексам тестирования программного обеспечения (ПО) электронных устройств (ЭУ).
Известно изобретение «Комплекс отладки», заключающееся в том, что Комплекс отладки программ, содержит управляющую вычислительную машину, пульт управления и ЭВМ общего назначения, группу имитаторов входной информации, подключенных входами к ЭВМ общего назначения, а выходами - к управляющей вычислительной машине, синхронизирующий выход которой подключен к синхронизирующему входу пульта управления, который через первую магистральную шину подключен к управляющей вычислительной машине, а через вторую - к ЭВМ общего назначения, сигнальный вход которой объединен с управляющим входом управляющей вычислительной машины и подключен к выходу пульта управления (RU №2448363).
В данном изобретении в основе комплекса лежат аппаратные компоненты, которые не всегда можно легко и оперативно модифицировать, а наличие физической связи обмена между имитаторами функциональных модулей ограничивают возможности по их взаимодействию, т.е. отсутствует возможность расширения функций их взаимодействия при возникновении новых требований к подобному комплексу. Так же в данном изобретении упор сделан на взаимодействие аппаратных средств, без описания взаимодействия и построения программной составляющей отладочного комплекса, что в конечном итоге усложнит его реализацию и как следствие увеличит, как трудозатраты, так и сроки проведения испытаний.
В описании работы комплекса сказано, что контроль промежуточных результатов работы программы обеспечивается считыванием информации из запоминающего устройства управляющей вычислительной машины (УВМ) в определенных точках после сообщения сигналом «Останов» - завершение теста, через соответствующие каналы между аппаратными компонентами комплекса. При тестировании на данном комплексе в регистры кодов адреса и данных пульта управления заносятся контрольные коды, при совпадении которых с адресом команды или данных при выполнении программы УВМ срабатывают соответствующие схемы сравнения, в результате чего включается триггер, формирующий сигнал «Останов». Получив сигнал «Останов» ЭВМ по заранее подготовленной программе или по указаниям оператора проводит чтение состояния внутренней памяти УВМ и вывод на общедоступные средства отображения. Далее оператор задает другие точки и снимает «Останов» повторяя действия. Такое обеспечение средств синхронизации позволяет лишь работать в режиме «старт-стоп», т.е. задали состояние, а тестируемая программа сообщила об окончании тестирования. Таким образом описанные средства позволяют зарегистрировать окончание теста, и отсутствуют средства реагирования на события, происходящие во время выполнения теста до сигнала «Останов». При такой организации в процессе выполнения теста нет возможности обеспечить множественные отклики от программы УВМ, что необходимо для обеспечения большей вариативности тестов и как следствие повышения полноты тестирования.
Известно изобретение «Способ и система автоматизации тестирования программного обеспечения», заключающееся в том, что система автоматизации тестирования программного обеспечения включает, по крайней мере, одно устройство пользователя и/или тестировщика, по крайней мере, одну базу данных, по крайней мере, одну базу тестов и программно-аппаратный комплекс, выполненный с возможностью: тестирования программного обеспечения по составленным планам тестирования посредством интерактивного взаимодействия тестировщика с пользовательским интерфейсом тестируемого программного обеспечения, записи указанных действий пользователя в автоматическом режиме в заранее заданных терминах уровня бизнес-логики тестируемого программного обеспечения, сохраняя результаты в базе тестов в качестве тестовых сценариев, записи изменений в базе данных, производимых при выполнении указанных тестовых сценариев, в автоматическом режиме в заранее заданных терминах, присваивая данным изменениям признак «Эталонные изменения» и сохраняя результаты в базе тестов, после изменения программного обеспечения осуществления его регрессионного тестирования, проигрывания тестовых сценариев из базы тестов в автоматическом режиме, записи изменений в базе данных, производимых при выполнении указанных тестовых сценариев, в автоматическом режиме в заранее заданных терминах, присваивая данным изменениям признак «Фактические изменения» и сохраняя результаты в базе тестов, осуществления верификации по каждому тестовому сценарию, сравнивая «Эталонные изменения» и «Фактические изменения» и сохраняя результаты сравнения в базе тестов, формирования списка тестовых сценариев, не прошедших верификацию, при этом под изменениями, не прошедшими верификацию подразумеваются расхождения «Эталонных изменений» и «Фактических изменений» и выполнен дополнительно с возможностью: выявления основных бизнес-процессов, выполняемых с использованием тестируемого программного обеспечения, составления детального плана тестирования выявленных бизнес-процессов, фиксируя варианты интерактивного взаимодействия тестировщика с пользовательским интерфейсом тестируемого программного обеспечения (заявка на патент РФ №2013126869/08).
В данном изобретении:
• отсутствуют единые и четкие требования к программным моделям (имитаторам) взаимодействия с электронным устройством тестируемого ПО, что обязательно приведет к усложнению реализации программного комплекса и ограничению возможностей по его наращиванию;
• отсутствуют средства визуализации (как основного инструмента предоставления результатов тестирования) для оперативного и гибкого контроля состояния средств моделирования, а также их данных и сущностей;
• отсутствуют средства синхронизации, что может привести к ограниченному функционалу комплекса и как следствие снижению полноты тестирования и невозможности своевременного отклика на реакции тестируемого программного обеспечения в процессе испытаний.
Наиболее близкими к предлагаемому по технической сущности является изобретение «Комплекс автоматизации и визуализации тестирования встроенного программного обеспечения электронных устройств», заключающееся в том, что программный комплекс включает единую программную среду, содержащую средства написания, редактирования и выполнения тестов, автоматизированного анализа и обработки информации, визуализации данных и сущностей в процессе тестирования и на этапе подготовки к нему, хранения тестовых наборов и подключения их в состав комплекса на любом этапе тестирования, динамической реконфигурации и управления в любой момент времени программным комплексом и любых компонент входящих в его состав, выделения общего буфера для взаимодействия подключаемых моделей и произвольную их реконфигурацию, как в ручном режиме, так и во время выполнения тестов, защиты и восстановления комплекса при наличии непредвиденных сбоев в процессе его работы, динамически подключаемые модели функциональных устройств, реализуемые в виде независимых унифицированных программных модулей с заранее определённым единым набором методов и функций и средствами визуализации и представления состояния их внутренних данных и сущностей, разработанных по единым правилам построения и реализации на базе унифицированного шаблона и вызываемых из единой программной среды, базу данных хранения представлений данных и сущностей, средства автоматизированного заполнения базы данных информацией на основе анализа документации, по которой разрабатывается тестируемое программное обеспечение (RU №2678717).
В данном изобретении говорится о реализации функционала регистрация событий в модели, через таймер ожидания события в модели: «ожидание события - организация таймера ожидания событий в выбранной модели, с указанием количества ожидаемых событий. Позволяет синхронизировать ход выполнения тестируемого ПО с ходом прохождения теста, что обеспечивает наиболее точное взаимодействие и воздействие на тестируемое ПО», т.е. в каждой модели функциональных устройств организуется таймер ожидания и дальше осуществляется передача сообщения о его срабатывании. При организации таймера в модели, возможна ситуация, когда модель ожидает событие, а среда может продолжить выполнять функции, что может вызвать рассинхронизацию происходящих событий в модели от тестируемого ПО и управляющих воздействий от единой программной среды. Наличие такой обратной связи позволяет обеспечить дополнительный контроль в ходе тестирования, но не позволит использовать ее в качестве своевременного основного контроля и управления в реальном времени, что в конечном итоге снизит полноту и качество тестирования. Так же организация множества таймеров ожидания событий в каждой модели создает дополнительную нагрузку на используемые ими ресурсы аппаратуры контроля.
Таким образом, данное изобретение не лишено недостатков и может быть усовершенствовано путем реализации установки и генерации событий в моделях функциональных устройств и единого общего таймера их ожидания в единой программной среде. По совокупности признаков данное изобретение является наиболее близким к заявляемому и выбрано в качестве прототипа.
Недостатком прототипа является:
• Невозможность обеспечения полной синхронизации процесса тестирования с реакцией тестируемого ПО в реальном времени, что сводится к тестированию, которое учитывает не все особенности выполнения тестируемой программы и снижает качество и полноту тестирования.
Работа комплекса в режиме полу-синхронного выполнения процесса тестирования и вычислительного процесса тестируемого ПО, что не позволяет осуществлять их в полной мере предсказуемое взаимодействие и обеспечить точность воздействия на ход вычислительного процесса тестируемого ПО.
Технической проблемой изобретения является повышение полноты и качества тестирования.
Техническая проблема решается за счет того, что комплекс тестирования программного обеспечения электронных устройств  включает аппаратуру ввода/вывода; сервер хранения тестов; единую программную среду, содержащую средства написания, редактирования и выполнения тестов, средства анализа и обработки информации, средства визуализации данных и сущностей, средства управления хранением тестовых наборов и их подключения в состав комплекса на любом этапе тестирования, средства динамической реконфигурации и управления, общего буфера в ОЗУ для взаимодействия подключаемых моделей и произвольную их реконфигурацию, средства защиты и восстановления комплекса; модели функциональных устройств, содержащие блок конфигурации, блок взаимодействия с электронным устройством, блок моделирования, блок визуализации состояния; базу данных; средства автоматизированного анализа и заполнения базы данных;  единая программная среда содержит таймер синхронизации, связанный со средствами анализа и обработки информации и со средствами написания, редактирования и выполнения тестов; модели функциональных устройств содержат блок установки событий, связанный со средствами написания, редактирования и выполнения тестов, и блок генерации событий, связанный с таймером синхронизации.
На чертеже представлена структурная схема комплекса.
Комплекс реализуется следующим образом:
Комплекс состоит из аппаратуры ввода/вывода 6, сервера хранения тестов 5, единой программной среды 1, моделей функциональных устройств 2, базы данных 3, средств автоматизированного анализа и заполнения базы данных 4.
Аппаратура ввода/вывода 6 осуществляет обмен данными с моделями функциональных устройств 2 через блок взаимодействия с электронным устройством 2.3 и обмен данными с электронным устройством со встроенным ПО 7.
Сервер хранения тестов 5 осуществляет хранение и доступ к тестам из единой программной среды 1 через средства управления хранением тестовых наборов и их подключения 1.1.
Модели функциональных устройств 2 реализуются в виде независимых унифицированных программных модулей с заранее определённым единым набором методов и функций и средствами визуализации и представления состояния их внутренних данных и сущностей, разработанных по единым правилам построения и реализации, и управляемых программной средой выполнения тестов в реальном времени на любом этапе тестирования. Модели функциональных устройств 2 содержат блок конфигурации 2.1, блок моделирования 2.2, блок взаимодействия с электронным устройством 2.3, блок визуализации состояния 2.4, блок установки событий 2.5 и блок генерации событий 2.6.
Единая программная среда 1 реализуется в виде единого пользовательского интерфейса, который содержит средства управления хранением тестовых наборов и их подключения 1.1 в состав комплекса на любом этапе испытаний, обеспечивают взаимодействие с сервером хранения тестов 5; средства написания, редактирования и выполнения тестов 1.2, обеспечивают задание параметров конфигурации в блоке конфигурации 2.1, обмен информацией с блоком взаимодействия с электронным устройством 2.3, установку событий в блоке установке событий 2.5 и запуск таймера синхронизации 1.7; средства анализа и обработки информации 1.3 обеспечивают обмен данными с блоком моделирования 2.2 и прием информации от таймера синхронизации 1.7; средства динамической реконфигурации и управления 1.4 в любой момент времени любых компонент входящих в состав единой программной среды 1, и осуществляют передачу данных в блок конфигурации 2.1; средства визуализации данных и сущностей 1.5 как собственных, так и моделей функциональных устройств на любом этапе тестирования, и принимают данные от блока визуализации состояния 2.4; средства защиты и восстановления 1.6 единой программной среды при наличии непредвиденных сбоев в процессе работы и таймер синхронизации 1.7 с вычислительным процессом тестируемого ПО. Единая программная среда 1 обеспечивает передачу данных в буфер в ОЗУ 8 для конфигурации моделей функциональных устройств 2 в блоке конфигурации 2.1 и их межмодельного взаимодействия, с возможностью расширения такого взаимодействия по мере поступления новых требований к моделям или добавление новых моделей в состав комплекса.
База данных (БД) 3 содержит информацию, включающую в себя параметры программного комплекса и информацию необходимую для единой программной среды 1. БД реализуется в виде набора связанных таблиц в соответствии с определенным типом назначения и использования, с привязкой к определенным видам тестируемого ПО.
Средства автоматизированного анализа информации и заполнения БД 4 выполняют анализ документации описывающей устройства взаимодействия с тестируемым ПО и заполнение БД в порядке принадлежности данных к своему типу назначения и использования, и внутренней привязки между собой.
Синхронизация процесса испытаний реализуется следующим образом: в каждую модель функционального устройства включен блок установки событий 2.5, содержащий средства взаимодействия с пользователем, в котором устанавливается пользователем количество событий, их принадлежность к модели и общее время ожидания, и блок генерации событий 2.6, в котором формируются события на основе внешних воздействий от тестируемого программного обеспечения или по внутренним алгоритмам работы модели, а в единую программную среду 1 включен таймер синхронизации 1.7, управляющий вычислительным процессом путем остановки хода тестирования на время ожидания событий и продолжением его, при регистрации событий от моделей, или прерыванием хода тестирования при отсутствии событий в установленное время.
Комплекс работает следующим образом.
В программу управления БД, входящую в состав средств автоматизированного анализа и заполнения БД 4, заносится основная информация по тестируемому ПО электронного устройства (принадлежность прибора и идентификатор ПО, который является уникальным для любого ПО электронного устройства).
На основе идентификатора ПО создается типизированный файл в формате Microsoft Excell (*.xls) с таблицами для заполнения данных, в который по таблично заносится информация из документации на ПО электронного устройства (ИД на разработку ПО) в соответствующие таблицы типизированного файла.
Программа управления БД автоматически заполняет БД 4 информацией, привязывая ее к идентификатору ПО, а так же осуществляя присвоения идентификаторов для каждой записи в БД 4 с привязкой данных друг к другу, в соответствии с построением таблиц БД 4.
Пользователь запускает единую программную среду (ЕПС) 1. ЕПС 1 по запуску определяет доступность сервера хранения тестов 5 и выполняет подключение к нему в режиме доступа на запись и чтение (по умолчанию режим доступа только на чтение, для несанкционированного изменения данных на нем). Далее она осуществляет конфигурацию внутренних структур и данных, выделение общего буфера в ОЗУ 8 для межмодельного взаимодействия и на основе идентификатора ПО выполняет подключение соответствующих моделей функциональных устройств 2, с передачей каждой модели параметров их конфигурации (данные предыдущей конфигурации, текущий выбранный идентификатор ПО, описатель буфера памяти для межмодельного взаимодействия, и другие параметры необходимые для настройки модели и запуска потока(ов) моделирующего(их) работу модели).
В ЕПС 1 реализуется два режима: «Редактор» и «Рабочий», оба режима выбираются соответствующими вкладками.
В режиме «Редактор» пользователь составляет тестовые последовательности (циклограммы), их редактирует и сохраняет в рабочем каталоге. Рабочий каталог формирует ЕПС 1 в соответствии с выбранной текущей конфигурацией, т.е. создавая соответствующие каталоги по принадлежности к типу электронного устройства и индексу тестируемого ПО.
В режиме «Рабочий» представлен инструмент для выполнения тестовых наборов, в нескольких режимах: одиночного прогона, бесконечного зацикливания, и пошагового выполнения, а так же представлены средства, выполняющие функции точек останова для выполнения тестового набора до указанной позиции.
В ЕПС 1 реализованы функции управления хранением тестовых наборов с использованием сервера хранения тестов 5:
• скопировать/переместить текущий тестовый набор на сервер хранения тестов 5, при этом на сервере хранения тестов 5 создастся цепочка каталогов соответствующая рабочему и добавится еще один каталог с номером версии, для которой данный набор был разработан и отработан;
• скопировать/переместить тестовый набор с сервера хранения тестов 5 при этом выбрав из перечня доступных наборов по принадлежности к версиям ПО;
• открыть в проводнике каталог, содержащий тестовый набор;
• просмотреть полный список тестов как в рабочем каталоге, так и на сервере хранения тестов 5.
В случае непредвиденного сбоя или падения ЕПС 1, при следующем ее запуске она восстанавливает не сохраненные наборы тестов и протоколы выполнения, и параметры конфигурации ЕПС 1.
ЕПС 1 содержит элементы доступа и управления моделями функциональных устройств 2, реализованные в виде контекстного меню, которое появляется при нажатии на соответствующую иконку модели. Данное меню доступно на любом этапе работы с ЕПС 1, включая режим выполнения тестов, для воздействия на ход тестирования в реальном времени.
Через данное контекстное меню пользователь может обратиться к модели функциональных устройств 2 для выполнения следующих функций взаимодействия:
• настройка внутренних параметров (частота потока, адреса устройств и данных, необходимые как для настройки аппаратной части взаимодействия с электронным устройством 7, так и внутренних структур, данных и сущностей модели);
• управление потоком модели. Поток модели выполняет функции моделирования логики функционального устройства;
• осуществление функции взаимодействия с моделью (запись управляющих воздействий как для выдачи на электронное устройство 7, так и для управления внутренним состоянием данных и сущностей модели, чтение состояния);
• визуализация данных и сущностей модели (данные представляются как в виде непосредственно кодов, так и в виде различных типов представления: пиктограммы, иконки, графики, изображения и т.д.).
Так же каждая модель функционального устройства 2 протоколирует в своем локальном буфере информацию за весь период работы ЕПС 1 (прием команд, сигналов, воздействия как со стороны электронного устройства, так и со стороны ЕПС 1), что позволяет на любом этапе проконтролировать, что происходило с каждой моделью функционального устройства 2, например до того, как было зафиксировано не прохождение теста, что облегчает анализ состояния тестируемого ПО в процессе выполнения теста.
Доступные в процессе тестирования для пользователя средства визуализации тестирования представляются в виде набора графического сопровождения, который включает базовые средства: выделение цветом типов операций, подсветка хода выполнения тестирования, выделение операций не прохождения, выделение определенной информации не прошедшей контроль и т.д., так и комплексные средства представления информации (например, отображение положения Солнца в пространстве при моделировании приборов в режиме солнечной ориентации КА, относительно виденья его через прибор «датчик наличия Солнца», с фиксацией и отображением каждой точки такого пути на плоскости и отображением всех параметров ориентации в реальном времени).
Синхронизация процесса испытаний осуществляется с помощью таймера синхронизации 1.7 и блока генерации событий 2.6 в каждой из моделей функциональных устройств 2. Генерация событий может происходить как по внутренней логике модели и по воздействиям из вне, получаемым моделью от тестируемого программного обеспечения, так и по более сложным алгоритмам обмена информацией, включая межмодельные связи и дополнительные единичные сигналы.
Для синхронизации процесса испытаний пользователь вставляет в определенном месте циклограммы тестирования операцию синхронизации, для которой указывает количество событий, их тип, принадлежность модели, время необходимое для их ожидания и др. При выполнении циклограммы тестирования на операции синхронизации ЕПС 1 запускает таймер синхронизации 1.7 в режим ожидания, в соответствии с заданными параметрами, т.е. он ожидает конкретных событий, происходящих в определенной модели функционального устройства, которые наступят по определенным действиям от тестируемого ПО. Таймер синхронизации 1.7 обеспечивает останов процесса тестирования на время в течении которого должно произойти событие. Если событие приходит, то процесс тестирования продолжается, иначе по срабатыванию таймера - процесс тестирования прерывается в связи с отсутствием события.
Комплекс реализован в АО «ИСС», на базе следующего программного обеспечения:
• единой программной среды («Наземный отработочный комплекс программного обеспечения вычислительного модуля магистрально-модульной аппаратуры» свидетельство о регистрации программ для ЭВМ №2013618885);
• моделей функциональных устройств (свидетельства о регистрации программ для ЭВМ: №2013618778, №2013660234, №2013660490, №2014610477, №2014611654, №2015616152, №2015616230, 2015618458, 2015618459, 2015660760, 2015660757, 2015660712, 2015660686, 2015660682, 2015660710, 2015660681 и др.);
• базы данных (свидетельство о государственной регистрации баз данных №2011620642);
• сервиса автоматизированного заполнения базы данных бортовой магистрально-модульной аппаратуры (свидетельство о государственной регистрации баз данных №2015616153).
С использованием данного комплекса проведено тестирование встроенного программного обеспечения блоков управления бортового комплекса управления и блоков интерфейсных бортового комплекса управления перспективных КА производства АО «ИСС».
За счет реализации данного технического решения достигается необходимый технический результат:
• Повышение полноты тестирования, путем реализации функционала комплекса со средствами синхронизации процесса испытаний, которые включают таймер синхронизации и функции генерации событий в моделях функциональных устройств окружения электронного устройства, реализуемые как результат воздействия тестируемого ПО.
• Повышение качества тестирования и надежности тестируемого ПО за счет своевременной реакции (отклика) и контроля со стороны комплекса на события от тестируемого программного обеспечения и динамического воздействия на вычислительный процесс тестируемого программного обеспечения с имитацией нештатных ситуаций для подтверждения его сбое-устойчивости.