Лекция 11.a. Тестирование ИУС РВ (1185236)
Текст из файла
ИНФОРМАЦИОННО-УПРАВЛЯЮЩИЕ СИСТЕМЫРЕАЛЬНОГО ВРЕМЕНИЛекция 11:Тестирование и интеграция ИУС РВКафедра АСВК,Лаборатория Вычислительных КомплексовБалашов В.В.ИУС РВ• Информационно-управляющая система(ИУС) – вычислительная системаверхнего уровня, обеспечивающая:– функциональную и информационнуюинтеграцию составных частей управляемогообъекта– взаимодействие между объектом иоператором2Состав ИУСИнтерфейс оператора-индикаторы-органы управленияРегистраторыБортоваясетьДатчикиВычислителиЭффекторыУправляемая системаВнешняя среда3Функции ИУС• Контроль состояния управляемого объекта• Управление движением объекта или егочастей• Отслеживание положения объекта или егочастей в пространстве• Обмен данными с внешними системами• Управление специализированнымиприборами (прикладной нагрузкой)• Обмен данными с оператором– отображение данных– ввод данных4ИУС в управляемой системе5Устройства в составе ИУС6Устройства вне ИУС(на примере самолета)• Датчики:––––РадиолокаторРадиовысотомерТопливный датчикТахометр (измеритель частоты вращениятурбины)– Датчики спутниковой навигации• Эффекторы––––управление двигателемуправление рулями высотыуправление выпуском шассирадиопередатчик7Неоднородность ИУС• Каналы: точка-точка, шина, коммутатор;12 kbps, 1 Mbps, 1 Gbps• Устройства: датчики, индикаторы,вычислители, органы управления,исполнительные устройства• Данные: аналоговые, цифровые; числовыемассивы, видеопотокиПроблема унаследованных устройств8Уровень сложности комплексабортового оборудования9ПО ИУС: 700+ тыс.
строк кодаЖизненный цикл ПО ИУСИнформационноесопряжение– тестирование на каждомуровнеТестирование,интеграция,отработка10Требования к средствамтестирования ИУС• Поддержка тестирования ПО на целевом вычислителе безинструментирования аппаратуры или ПО вычислителя• Поддержка обмена данными через все типы каналов,используемых в ИУС– выдача в каналы тестовых данных и прием ответных данныхдля последующего анализа– мониторинг обмена по каналам бортовых интерфейсов иобеспечение доступа тестовых сценариев к результатаммониторинга– поддержка формирования сбойного трафика• Поддержка тестирования временных характеристикфункционирования целевой системы– формирование и выдача тестовых данных в режиме реальноговремени– измерение задержек поступления ответных данных• Поддержка многомашинных конфигураций– одновременный обмен по десяткам (сотням) каналов11Требования к средствамтестирования ИУС•Поддержка автоматического и интерактивного тестирования– интерактивное: для проверки индикаторов и пультов управления••Поддержка пакетного режима выполнения тестовПоддержка оперативного управления тестированием– выбор порядка выполнения тестов– задание значений тестовых данных•Поддержка оперативного отображения хода тестирования– значения тестовых данных и ответных данных от тестируемой системы– протоколы тестирования•Поддержка прослеживаемости требований и формирования отчётов порезультатам тестирования– задание соответствия требований тестовым сценариям– формирование матрицы прослеживаемости требований– формирование отчёта о прохождении тестов и выполненности требований порезультатам тестирования•Интеграция со средствами поддержки разработки ПО ИУС– средства управления версиями (хранение ПО и тестов в едином репозитории)– средства управления требованиями– база данных бортовых интерфейсов (форматы информационных сообщений)•Единый подход к тестированию для различных фаз жизненного цикла ИУСКомплекс средств тестирования ИУС• Разработан в Лаборатории вычислительных комплексов ВМК МГУ• Предназначен для тестирования устройств ИУС через каналыбортовых интерфейсов (КБИ)• Функционирует на ПК под управлением ОС Linux, в составкоторых входят адаптеры КБИ• Поддерживает распределенное выполнение тестовых сценариев• Удовлетворяет перечисленным выше требованиям• Положен в основу семейства стендов тестирования, отработки иинтеграции ИУС13Архитектура стенда тестирования ИУСБлок ИУСБлокиИУСБлок ИУСЗадачи, требующие работы снатурными устройствами ИУС• интеграция аппаратуры и ПО, отладка ПО ИУС на целевойплатформе• интеграция компонентов ПО ИУС, в т.ч.
компонентов,поступающих от предприятий-соразработчиков• интеграция подсистем ИУС, а также ИУС в целом какмногокомпонентной аппаратно-программной системы• функциональное и квалификационное тестирование ПО ИУС• приемосдаточные испытания серийно выпускаемыхкомплектов ИУС• диагностика блоков ИУС, по которым поступили рекламации• диагностика блоков ИУС в составе объекта15СтендотработкиПО БЦВМСтендотработкиБЦВМ+МФИСтенд тестирования серийных комплектов ИУСМобильная рабочая станция мониторингаи анализа бортовых интерфейсовПромышленный ноутбукМобильный коммутаторFibre ChannelАдаптеры бортовыхинтерфейсов(MIL STD-1553B,Fibre Channel и др.)Технологический цикл применениясемейства стендов отработки ИУСНовое ПОПО отдельного блока ИУС, прошедшеекомплексирование и тестированиеПО подсистемы ИУС, прошедшеекомплексирование и тестированиеПолный комплект ПО ИУС, прошедшийкомплексирование и тестирование!ПО с подтверждённымидефектами20Технологический цикл применениясемейства стендов отработки ИУСПрограммноеобеспечение (ПО)!ОбозначенияСтендыНовое ПОСТ1Стенд тестирования и отладки ПОотдельного блока ИУСПО отдельного блока ИУС, прошедшеекомплексирование и тестированиеСТ2Стенд тестирования и отладки ПОнескольких сопряжённых блоков ИУСПО подсистемы ИУС, прошедшеекомплексирование и тестированиеСТ3Стенд комплексирования иприёмосдаточных испытаний ИУСПолный комплект ПО ИУС, прошедшийкомплексирование и тестированиеСТ5Стенд приёмосдаточных испытанийсерийных комплектов ИУСМСММобильная рабочая станциямониторинга и тестирования блоковИУСПО с подтверждённымидефектамиАппаратураНовые серийные образцыблоков ИУС?Комплект ИУС, предположительноимеющий дефектыКомплект аппаратуры и ПО ИУС,прошедший комплексирование иприёмосдаточные испытания!Блок ИУС с выявленными дефектами21Стенд тестирования серийныхкомплектов ИУС Су-352223Стенд интеграции ИУС МС-212425• ACIB – Avionics Core Integration Bench26Стенд «Электронная птица»• SIB – System Integration Bench• Компьютерное моделирование бортовогоэлектромеханического оборудования27Стенд «Железная птица»••Установлена большая часть электромеханического оборудования«Самолёт на полках», дальше – прототип самолёта в сборе28Аппаратная база стенда• Промышленныекомпьютеры (PICMG)• Платы-расширители шин– ISA– PCI– PCI Express• Процессорные платы• Адаптеры бортовыхинтерфейсов29Аппаратная база стенда30Аппаратная база стенда2x MIL STD-1553B / PCI1x MIL STD-1553B / PCI Express2x Fibre Channel / PCI Express16T16RARINC 429 / PCI31Аппаратная база стенда•••Программируемый коммутатор Fibre ChannelОптический сигнал преобразуется в электрическийКоммутация электрического сигнала при помощи ПЛИС32Программные средствафункционального тестированияв составе стенда33Архитектура стенда тестирования ИУСБлок ИУСБлокиИУСБлок ИУССредства АРМСреда разработки тестовСредстваязыковойподдержкиРедакторнастроекконфигурацииРедакторструктурысообщенийВизуализатортрассыэкспериментаРЕПОЗИТОРИЙИсходныетекстыКонфигурацииРезультатыэкспериментовСредствооперативнойвизуализации иуправленияэкспериментомРепозиторийРепозиторийсистемысистемыуправленияконтроляверсийверсиями35Средства ИМБиблиотека поддержкимоделированияСредства записитрассы экспериментаСреда выполнения тестовСредства взаимодействияс сопряженными стендамиСредства передачиданных по КБИСредстваПодсистемаподдержкиОперативнойвизуализациивзаимодействия с иуправленияСОВУ36Язык описания тестов (ЯОТ) Поддерживает тестирование ИУС через каналыбортовых интерфейсов (MIL-STD-1553B, ARINC 429,FC-AE-ASM, CAN, AFDX и т.п.) с использованиеследующих основных элементов: Сообщения и слова КБИ Битовые поля сообщений/слов Предоставляет операторы для: Определения структуры слов/сообщений(состав битовых полей, их имена и расположение) Задания и обработки значений битовых полей Автоматической проверки тестируемых условий Взаимодействия с пользователем Задания структуры тестового сценария37Основные понятия ЯОТ Тестовые компоненты (ТСК) Интерфейсы Обеспечивают подключение к каналам БИСообщения бортовых интерфейсовБитовые поля сообщенийТестовые случаи (test case)Тестовые шаги (test step)38Тестовые компонентыТестовый компонент (ТСК) – это средствокомпоновки объектов ФТ в составе стенда.
ТСКопределяет состав и последовательностьвыполнения тестов.С каждым ТСК связаны: имя (определяет тип ТСК) описание сообщений КБИ с указанием их структуры описание тестов39Структура ТСКЗаголовок ТСК определяет состав интерфейсов,состав и структуру сообщений КБИ, состав тестови их привязку к требованиямТело ТСК определяет состав и логику выполнениятестовых случаев и тестовых шагов40Интерфейсы ТСКИнтерфейс – это объект средств ФТ,предоставляющий программный интерфейс длявзаимодействия ТСК с натурными блоками ИУС,а также друг с другом Интерфейсы обеспечивают доступ ТСК к адаптерам КБИ Через интерфейсы обеспечивается передача и приемсообщений41Сообщение MIL STD-1553BСообщение MIL STD-1553B – это объект средствФТ, соответствующий сообщению бортовогоинтерфейса MIL STD-1553B.С каждым сообщением связаны:имяинтерфейс MILSадресподадресС отдельными словами в составе сообщенияможно работать как с элементами массива.(сообщения для других типов интерфейсовустроены аналогично)42Сообщения MIL STD-1553BRTS_OUTPUT_MESSAGE (<имя>,<интерфейс MILS>,<адрес>,<подадрес>,<кол-во слов в сообщении>,<период в мс>)RTS_INPUT_MESSAGE (<имя>,<интерфейс MILS>,<адрес>,<подадрес>,<кол-во слов в сообщении>,<период в мс>)RTS_OUTPUT_ / RTS_INPUT_TERM_MESSAGE (<имя>,<интерфейс MILS>,<подадрес>,<кол-во слов в сообщении>)43Битовые поля и БитыБитовое поле – это объект средств ФТ,соответствующий группе последовательных битовв составе слова сообщения.Бит – это битовое поле, соответствующее 1 биту.С каждым битовым полем связаны: имя позиция в сообщении (номер первого слова, номерначального бита, кол-во битов) признак использования знакового или беззнакового поля коэффициент масштабирования (ЦМР)С битовым полем можно работать как с числовойпеременной.44Битовые поля и битыRTS_BITFIELD (<имя поля>,<имя сообщения>[<номер слова>],<начальный бит>,<кол-во битов>)RTS_BOOLEAN (<имя поля>,<имя сообщения>[<номер слова>],<позиция бита>)45Задание иерархическогоидентификатора тестаИдентификатор теста задается в формате:<имя 1>.<имя 2>....<имя n>Например:«Су35.СОЛС.Наземный_контроль.17»RTS_TESTNAME (“<имя теста>” )RTS_TESTNUM (<номер теста>)RTS_TEST_SHOW ()RTS_TEST_PASSED ()RTS_TEST_FAILED ()46Задание соответствия требованийидентификаторам тестовRTS_DOCUMENT(“<requirement specification document name>”,RTS_REQUIREMENT(<requirement identifier>, “<requirementname>”),RTS_REQUIREMENT(<requirement identifier>, “<requirementname>”),…)RTS_TESTSPEC (“<test name (or name template)>“,<requirement identifier>, <requirement identifier>, ...)47Задание соответствия требованийидентификаторам тестовПример:ЗаголовокRTS_DOCUMENT( “Board computer system initialization”,RTS_REQUIREMENT(BCS.INIT.START, “Starting up MIL STD-1553Bsubscribers”),RTS_REQUIREMENT(BCS.INIT.WORK, “Starting BCS operation mainloop”),)RTS_TESTSPEC (“3.2.{1-4}“, BCS.INIT.START)RTS_TESTSPEC (“3.2.{1-4}“, BCS.INIT.WORK, BCS.SKV.WORK)ТелоRTS_TESTNAME(3.2.2)// логика тестового шага48Временная задержка, отправка данных// Задержать выполнение теста на заданное времяRTS_DELAY (<duration (ms)>)// Выдать сообщение в канал (для активных абонентов)RTS_EXECUTE (<Message/word name>)49// Отобразить значение объекта// и занести это значение в протоколRTS_DISPLAY (<object name>)Взаимодействие спользователем// Отобразить и записать в протокол текстовое сообщениеRTS_COMMENT (<message text>)// Приостановить выполнение теста// и ждать команды пользователя на продолжениеПользовательвыполняет вседействия черезинтерфейс СОВУRTS_PAUSE ()// Запросить у пользователя заключение (тест пройден / не пройден)// и завершить тест в соответствии с полученным заключениемRTS_CONFIRM ()// Запросить у пользователя заключение и занести его в протоколRTS_REQUEST ()// Запросить у пользователя текстовый комментарий и занести его в протоколRTS_EXPLAIN ()50Тестовый шагТестовый шаг – фрагмент теста, проверяющий элементарную функциютестируемого устройства.Тестовый шаг может проверять правильность приема/передачиотдельного сообщения или слова, или отдельного битового поля всоставе сообщения.Типичная структура тестового шага: Установка тестовых условий (входных значений) Ожидание результата Проверка ожидаемого результата (+ нумерация) Операторы if и RTS_WHENТело:RTS_TESTNAME (“<name>”),RTS_TESTNUM (<multi-level number>)// автоинкремент51Оператор RTS_WHENRTS_WHEN ( “W46A185_13 == 0” , 15) { // ожидание 15 мсRTS_THEN():RTS_COMMENT (“ERROR Circuit- Command Port (W46A185_13 = 0)”);RTS_TEST_FAILED();break;RTS_OTHERWIZE():RTS_TEST_PASSED();break;}52Пример тестового шага// StateValue – битовое поле в RTS_OUTPUT_TERM_MESSAGE()// ControlWord – битовое поле в RTS_INPUT_TERM_MESSAGE ()// ---------------------------------------------------------------------------------RTS_TESTNUM( 2.1 );// Установка значения отправляемых данныхStateValue = 0.0;// Ожидание выдачи сообщенияRTS_DELAY( 0.5 );// Проверка ответа от тестируемого устройстваRTS_WHEN ( “ControlWord == 5”) {//……}53Тестовый случайТестовый случай – последовательность связанных посмыслу тестовых шагов, соответствующихотдельным разделам или отдельным требованиямсистемной спецификации на тестируемоеустройство.“Минималистический” тестовый случай может состоятьиз одного тестового шага.При выполнении тестового случая увеличиваетсянумерация тестов на соответствующем уровне.54Протокол тестирования Информация о смене (назначении) номеров тестов Информация о смене выполняемых тестов Результаты тестирования: «Тест прошел» / «Тест непрошел» c указанием номера теста Результаты всех команд взаимодействия с пользователем Комментарии с описаниями ожидаемого поведения тестаи другая дополнительная информация, выдаваемаякомандой RTS_COMMENT Информация о текущих значениях объектов ФТ (в т.ч.битовых полей и битов), выдаваемая командойRTS_DISPLAY55Работа с протоколами тестированияЗаголовокRTS_LOG_FILE(LOG1, “log1.log”)// Файл «log1.log» будет помещен в подкаталог// «ПротоколыТестирования» каталога// результатов экспериментаТелоRTS_LOG(LOG1)RTS_CLEAR_LOG(LOG1)Протоколы тестирования служат основой дляформирования отчетов по тестированию.Пример протокола тестирования**************************************************** Протокол функционального тестирования LOG1* Собран компонентом tsk (Stand.tsk)* Тип компонента: TCK_Stand::TCK::TCK* Имя эксперимента: T1* Дата эксперимента: Втр Май 30 09:46:25 MSD 2006* Продолжительность эксперимента: 30с 000мс* Эксперимент запущен пользователем: mike***************************************************>>>> [0мс] от начала эксперимента--------------------------------------------------| Начало функционального тестирования БЦВМ из проекта DemoLang--------------------------------------------------Тест номер 3.2.1>>>> [9с 000мс] от начала экспериментаТест номер 3.2.1 прошёлТест номер 3.2.2…57Подготовка и выполнениетестированияСоздание проектаРедактирование кода ТСКПривязка ТСК к инструментальныммашинамПривязка интерфейсов к адаптерам КБИПараметры эксперимента63Оперативное управлениеэкспериментом64Инструменты оперативногоуправления тестированиемОжиданиевводаданныхОжиданиевыборатестаЦиклическоевыполнениетестаЗадержкациклическоговыполненияВыборвнеочередноготестаОбработка результатовэксперимента• Формирование отчётов по результатам тестирования• Анализ временной диаграммы событий экспериментаПерспективы• Автоматизация проверки выполнениярасписаний обмена• Автоматизация тестирования индикаторов– интеграция с «блоком нажатия кнопок»– перехват изображения– сравнение с эталоном• Автоматизация генерации тестов поописанию требований• Интеграция тестов с отладочнымисредствами БЦВМ• Новые внедрения– существующие: Су-35, Т-50/ПМИ, МС-2167Спасибо за внимание!68.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.