RU2473115C2 - Способ автоматического генерирования сценария для проверки правильности функционального программного обеспечения системы, установленной на борту летательного аппарата, и устройство для применения способа - Google Patents

Способ автоматического генерирования сценария для проверки правильности функционального программного обеспечения системы, установленной на борту летательного аппарата, и устройство для применения способа Download PDF

Info

Publication number
RU2473115C2
RU2473115C2 RU2010114709/08A RU2010114709A RU2473115C2 RU 2473115 C2 RU2473115 C2 RU 2473115C2 RU 2010114709/08 A RU2010114709/08 A RU 2010114709/08A RU 2010114709 A RU2010114709 A RU 2010114709A RU 2473115 C2 RU2473115 C2 RU 2473115C2
Authority
RU
Russia
Prior art keywords
test
software
variables
script
execution environment
Prior art date
Application number
RU2010114709/08A
Other languages
English (en)
Other versions
RU2010114709A (ru
Inventor
Фамантанантсоа РАНДИМБИВОЛОЛОНА
Original Assignee
Эрбюс Операсьон
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Эрбюс Операсьон filed Critical Эрбюс Операсьон
Publication of RU2010114709A publication Critical patent/RU2010114709A/ru
Application granted granted Critical
Publication of RU2473115C2 publication Critical patent/RU2473115C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

Изобретение относится к области обеспечения безопасности функционирования систем, когда работа этих систем зависит от исполнения последовательностей логических команд в вычислительном устройстве. Техническим результатом является обеспечение гибкости в разработке тестовых программ, а также повышение надежности тестовых программ. Способ генерирования сценария для проверки правильности функционального программного обеспечения системы, установленной на борту летательного аппарата, заключается в: а) интерактивная идентификация (20) разработчиком правильных тестовых ситуаций путем позиционирования точки ввода и точки остановки соответственно в начале и в конце функции функционального программного обеспечения в ходе его тестирования; б) отслеживание и запись (22) состояний переменных указанной функции при помощи позиции точки остановки и точки ввода; в) автоматическое генерирование (26) тестового сценария путем анализа, на первой стадии, состояний переменных, отслеживаемых во время идентификации тестовых ситуаций, и путем генерирования, на второй стадии, тестового сценария в виде исходного кода (13); г) автоматическое выполнение (30) генерированного тестового сценария в среде выполнения тестов. 2 н. и 10 з.п. ф-лы, 2 ил.

Description

Изобретение относится к области обеспечения безопасности функционирования систем, когда работа этих систем зависит от исполнения последовательностей логических команд в вычислительном устройстве.
В частности, объектом настоящего изобретения является способ генерирования программы для тестирования функционального программного обеспечения системы, которая должна исполнять последовательности логических команд, в частности, системы с повышенными требованиями безопасности, такой как бортовая электронная система, которая должна быть установлена на борту летательного аппарата.
Способ позволяет разработчику получить возможность автоматического генерирования программ для проверки последовательностей логических команд функционального программного обеспечения систем, предназначенных для установки на борту летательного аппарата. Настоящее изобретение находит свое предпочтительное, но не ограничительное применение в области осуществления тестов функционального программного обеспечения бортовых систем.
Из соображений обеспечения безопасности системы, предназначенные для установки на борту летательного аппарата, подвергают проверкам на хорошую работу, во время которых необходимо убедиться, что указанные системы отвечают требованиям сертификации, прежде чем летательный аппарат, оборудованный такими системами, получит разрешение на полеты и на коммерческую эксплуатацию.
В настоящее время до установки на борту эти системы предварительно подвергают многочисленным тестам, которые призваны проверить, отвечают ли они требованиям целостности и безопасности, предъявляемым, среди всех прочих, сертификационными органами. Этими бортовыми системами могут быть, в частности, специализированные вычислительные устройства, предназначенные для реализации функций, которые могут иметь первостепенное значение для летательного аппарата, например, функций пилотирования. В дальнейшем тексте описания эти системы будут называться вычислительными устройствами.
Чаще всего в архитектуре современных систем каждое вычислительное устройство предназначено для одного применения или для нескольких однотипных применений, например, для управления полетом. Каждое вычислительное устройство имеет аппаратную часть и программную часть. Аппаратная часть содержит, по меньшей мере, один центральный блок обработки (CPU: Central Processing Unit на английском языке) и, по меньшей мере, один блок входов/выходов, через который вычислительное устройство связано с сетью вычислительных устройств, внешними периферийными устройствами и т.д.
Основной отличительный признак бортовых систем, часто применяемых в области авиации, связан с архитектурой, как аппаратной, так и программной, которая позволяет по мере возможности избежать введения любого средства, не обязательного для выполнения функций, приданных указанным системам.
Таким образом, в отличие от систем, наиболее распространенных в авиации, вычислительное устройство не имеет сложной системы эксплуатации. Кроме того, программное обеспечение реализуют на языке, наиболее близком к языку, воспринимаемому центральным блоком обработки, и единственными имеющимися входами/выходами являются входы/выходы, необходимые для функционирования системы, например, данные, поступающие от датчиков или других элементов летательного аппарата, или данные, направляемые на приводы или другие элементы.
Преимущество этого типа архитектуры связано с тем, что работа такой системы намного легче поддается контролю. Она не зависит от сложной системы эксплуатации, некоторые аспекты функционирования которой зависят от не контролируемых параметров, и к которой, в противном случае, следовало бы предъявлять те же требования безопасности, что и к прикладным программам. Система является более простой и менее уязвимой, так как она содержит только средства, строго необходимые для выполнения функций, приданных указанной системе.
С другой стороны, работу такой системы намного труднее отслеживать. Например, система не содержит обычных интерфейсов человек/машина, таких как клавиатура и экраны, позволяющие отслеживать правильный ход последовательностей команд и воздействовать на этот ход, что затрудняет проверки, необходимые во время разработки, тестирования и квалификации программного обеспечения.
Программная часть вычислительного устройства содержит программное обеспечение, специфическое для рассматриваемого применения, которое обеспечивает работу вычислительного устройства, логические команды которого соответствуют алгоритмам, определяющим функционирование системы.
Чтобы получить сертификацию системы, прежде чем ввести ее и сам летательный аппарат в эксплуатацию, осуществляют фазу аттестации вычислительного устройства.
Как известно, обычно на каждом этапе процесса выполнения вычислительного устройства фаза аттестации состоит в проверке его соответствия спецификациям, разработанным для того, чтобы указанное вычислительное устройство отвечало ожидаемому функционированию системы.
Эту проверку на соответствие спецификациям производят, в частности, для программного обеспечения путем последовательных этапов от проверки наиболее простых компонентов программы до проверки всего программного обеспечения, включая все компоненты, которые должны быть интегрированы в соответствующее вычислительное устройство.
На первом этапе проверки наиболее самые простые элементы программного обеспечения подвергают тестам, называемым унитарными тестами. В ходе этих тестов проверяют, чтобы логические команды, то есть коды каждого из указанных программных элементов соответствовали концептуальным требованиям.
На втором этапе, называемом этапом интегрирования, различные программные компоненты, каждый из которых прошел индивидуальную проверку, интегрируют для получения комплекса, в котором программные компоненты взаимодействуют друг с другом. Эти различные программные компоненты подвергают тестам интегрирования, в ходе которых проверяют, чтобы программные компоненты были совместимыми, частности, на уровне функциональных интерфейсов между указанными компонентами.
На третьем этапе комплекс программных компонентов интегрируют в соответствующее вычислительное устройство, для которого они предназначены. При этом проводят аттестационные испытания, которые призваны подтвердить, что программное обеспечение, образованное комплексом компонентов, интегрированных в вычислительное устройство, соответствует спецификации, то есть выполняет ожидаемые функции, и что оно работает надежно и безопасно.
Чтобы гарантировать надежность программного обеспечения и его соответствие сертификационным требованиям, во время этого этапа аттестации необходимо также подтвердить, что совокупность тестов, которым было подвергнуто программное обеспечение, позволяет с определенной уверенностью сделать вывод о соответствии программного обеспечения требованиям безопасности, предъявляемым системе, в которую включено это программное обеспечение.
Различные тесты, проводимые во время фазы аттестации на программном обеспечении, позволяют убедиться, что не может произойти какого-либо сбоя в работе указанного программного обеспечения (который может сказаться на нормальной работе вычислительных устройств и в дальнейшем на самом летательном аппарате и на его безопасности) и что, даже если произойдет какое-либо нарушение, программное обеспечение сможет его устранить.
Вместе с тем, во время фазы аттестации и особенно во время операций исследования, когда выявляются аномалии, часто необходимо убедиться, что не только входные и выходные параметры вычислительного устройства, в котором установлено программное обеспечение, отвечают ожиданиям, но что и определенные внутренние аспекты поведения программного обеспечения являются корректными.
В этом случае, учитывая специфическую архитектуру вычислительных устройств, предназначенных для применения в бортовых системах, обычно трудно отслеживать работу программного обеспечения без использования специальных устройств и методов.
Первый известный метод состоит в применении систем распределения файлов между тестируемым вычислительным устройством, содержащим установленное программное обеспечение, и соответствующей платформой и в использовании эмуляторов. Под эмулятором следует понимать устройство, позволяющее моделировать на соответствующей плате логическое функционирование вычислительного блока или процессора вычислительного устройства.
В таком варианте работы с эмулятором процессор вычислительного устройства заменяют логическом щупом, который выполняет роль интерфейса с соответствующей платформой, на которой производят эмуляцию процессора.
Таким образом, можно запустить программное обеспечение, предназначенное для тестирования на вычислительном устройстве, кроме части процессора, и при помощи собственных функций соответствующей платы наблюдать за работой или за некоторыми внутренними нарушениями в работе программного обеспечения, например, при реакции на моделирование входов входных/выходных блоков в дополнение к отслеживанию выходов указанных входных/выходных блоков.
Второй метод состоит в моделировании на материнской плате работы вычислительного устройства, которое должно исполнять тестируемую программу. В этом случае тестируемое программное обеспечение должно иметь доступ к файлам материнской платы либо для считывания тестовых файлов, либо для записи результатов тестов.
Поскольку тестируемое программное обеспечение само по себе не обладает функциями для такого доступа к файлам материнской платы, необходимо тестируемое программное обеспечение изменить, чтобы ввести в него эти функции доступа.
Для передачи данных, как правило, используют системные команды запросов, которые передаются моделируемой средой тестирования. Системными командами запросов могут быть, например, запрос на открытие файла, на запись файла или на считывание файла. Системные команды запросов перехватываются системой эксплуатации материнской платы, которая преобразует их в системные запросы материнской платы.
Во время фазы аттестации вычислительного устройства и особенно для операций исследования, когда выявляются аномалии, может возникнуть необходимость убедиться не только в том, что входные и выходные параметры вычислительного устройства, в котором установлено программное обеспечение, соответствуют ожиданиям, но и что некоторые внутренние аспекты поведения программного обеспечения являются корректными.
Для этого среда выполнения тестов функционального программного обеспечения вычислительных устройств генерирует несколько тестовых программ, однако тестовые программы часто имеют большой объем командных кодов, зачастую превышающий объем командных кодов тестируемого программного обеспечения.
В настоящее время тестовые программы разрабатывают по каждой отдельной тестовой ситуации. Под тестовой ситуацией следует понимать функциональный путь, выбираемый для достижения цели теста. Иначе говоря, тестовую ситуацию определяют применяемым набором средств тестирования, выбранным для выполнения тестовым сценарием и ожидаемыми результатами. Так, с каждой тестовой ситуацией тестирования функционального программного обеспечения, которое необходимо загрузить в вычислительное устройство, связана программа, которая будет моделировать тестовую ситуацию. Эти тестовые программы создаются разработчиками, которые в совершенстве знают функции тестируемого программного обеспечения, их контекст и условия их реализации. Разработка тестовых программ содержит два основных этапа: первый этап, который касается разработки тестовых данных, и второй этап, связанный с записью последовательностей команд тестовых программ.
Разработка тестовых программ требует многократно повторяющихся последовательных ручных действий со стороны разработчика. Эта повторяющаяся последовательность ручных действий является существенным источником появления ошибок.
Чтобы решить эту проблему, были разработаны автоматические тестовые генераторы для обеспечения генерирования данных для тестовых ситуаций. При таком генерировании данных для тестовых ситуаций разработчик должен формулировать каждую тестовую задачу на формальном языке, затем переводить эти задачи в язык программирования. Каждая смоделированная таким образом задача представляет собой тестовую ситуацию.
Однако такое формулирование каждой тестовой задачи выполнимо только для простых задач и на простых функциях, и автоматизацию этого формулирования сложно внедрить в промышленном масштабе.
Настоящее изобретение призвано устранить недостатки вышеупомянутых технологий. В связи с этим изобретением предлагается способ, позволяющий автоматически генерировать тестовые программы и контролировать правильность осуществляемых тестов.
Применение способа в соответствии с настоящим изобретением позволяет снизить себестоимость тестовой фазы за счет исключения ручной разработки тестовых программ. Таким образом, изобретение позволяет добиться гибкости в разработке тестовых программ, поскольку разработку функционального программного обеспечения осуществляют в режиме инкрементации по мере изменения проводимых тестов. Действительно, тестовые программы разрабатывают параллельно с тестами функционального программного обеспечения, следовательно, каждый раз, когда происходит изменение, по меньшей мере, одного теста, тестовые программы изменяются одновременно с тестируемым программным обеспечением.
Изобретение позволяет также повысить надежность тестовых программ, поскольку синтез этих тестовых программ происходит автоматически на основании сценариев, разработанных и интерактивно подтверждаемых разработчиком.
Таким образом, объектом настоящего изобретения является способ генерирования сценария для проверки правильности функционального программного обеспечения системы, установленной на борту летательного аппарата.
Предложенный способ содержит следующие этапы:
- интерактивная идентификация разработчиком правильных тестовых ситуаций путем позиционирования точки ввода и точки остановки соответственно в начале и в конце функции функционального программного обеспечения в ходе его тестирования,
- отслеживание и запись состояний переменных указанной функции при помощи позиции точки остановки и точки ввода,
- автоматическое генерирование тестового сценария путем анализа, на первой стадии, состояний переменных, отслеживаемых во время идентификации тестовых ситуаций, и путем генерирования, на второй стадии, тестового сценария в виде исходного кода,
- автоматическое выполнение генерированного тестового сценария в среде выполнения тестов.
Изобретение может также содержать один или несколько следующих признаков:
- между этапом отслеживания и записи состояний переменных и этапов автоматического генерирования тестового сценария осуществляют этап проверки правильности тестовых ситуаций, позволяющий разработчику убедиться в том, что выполнение тестируемой функции является правильным по отношению к отслеживаемым состояниям переменных,
- генерирование тестового сценария осуществляют по каждой отдельной тестовой ситуации,
- между этапом автоматического генерирования сценария и этапом автоматического исполнения сценария производят компиляцию исходного кода для автоматического перевода указанного исходного кода тестового сценария в эквивалентный сценарий на машинном языке,
- за компиляцией следует редактирование связей тестового сценария, в результате чего получают бинарный код, который может быть исполнен и использован в среде выполнения тестов, выбранной разработчиком,
- результаты тестов генерируют в форме, напрямую совместимой с типом выбранной среды выполнения тестов.
Объектом настоящего изобретения является также устройство, моделирующее работу вычислительного устройства, установленного на борту летательного аппарата.
Устройство реализует способ в соответствии с настоящим изобретением.
Изобретение может также содержать следующий признак.
Устройство моделируют виртуально на материнской плате тестирования и отладки.
Объектом настоящего изобретения является также тестовая программа, загружаемая в блок управления, содержащая последовательности команд для осуществления способа в соответствии с настоящим изобретением, когда программа загружается в блок и исполняется в этом блоке.
Настоящее изобретение будет более очевидно из нижеследующего описания, представленного в качестве не ограничительного примера выполнения, со ссылками на прилагаемые фигуры, на которых:
фиг.1 - функциональная блок-схема способа в соответствии с настоящим изобретением;
фиг.2 - схема блока управления средой выполнения тестов, обеспечивающего генерирование тестовых программ для тестирования функционального программного обеспечения.
Настоящим изобретением предлагается способ, позволяющий автоматически генерировать сценарии для осуществления тестов в ходе всей фазы разработки функционального программного обеспечения. Этот способ позволяет учитывать каждое изменение, вносимое в функциональное программное обеспечение в ходе его разработки.
Понятие функционального программного обеспечения определяют как комплекс программ. Программа состоит из набора последовательностей записанных команд, в дальнейшем называемого цепочкой команд. Сценарий является набором записанных команд, выполняющих конкретную отдельную задачу.
Способ в соответствии с настоящим изобретением позволяет также при помощи последовательности этапов контролировать правильность каждого теста, проводимого на функциональном программном обеспечении по мере его разработки.
На фиг.1 показана функциональная блок-схема способа в соответствии с настоящим изобретением. Эта функциональная блок-схема соответствует варианту осуществления изобретения. Эта функциональная блок-схема содержит этап 20, на котором разработчик интерактивно производит идентификацию тестовой ситуации. В данном случае понятием тестовой ситуации является сценарий, определенный разработчиком для того, чтобы убедиться, что цепочки команд уже отлаженного функционального программного обеспечения отвечают его техническим требованиям, а также что их исполнение вычислительным устройством бортовой системы не приведет к сбою в работе указанной системы. В рамках настоящего изобретения разработчик может определить несколько тестовых ситуаций для максимально развернутой проверки функционального программного обеспечения. Этот разработчик имеет в своем распоряжении функциональные возможности модуля отладки, которые позволяют ему, в частности, выявлять возможные ошибки в цепочках команд. Этот модуль отладки позволяет также контролировать выполнение тестов путем позиционирования точки ввода и точки вывода или остановки соответственно в начале и в конце функции функционального программного обеспечения во время теста. Контроль выполнения тестов включает в себя, в частности, отслеживание состояния переменных, выбранных разработчиком и называемых существенными переменными. Эти существенные переменные являются переменными, позволяющими разработчику проверить, являются ли полученные значения ожидаемыми значениями.
Проверку правильности теста осуществляют на этапе 21, позволяющем убедиться, является ли выполнение теста правильным или нет по отношению к отслеживаемым состояниям переменных. В случае если тест является правильным, на этапе 22 разработчик получает в свое распоряжение интерфейс аттестации для записи правильных тестов с сохранением всех отмеченных состояний переменных. В случае если тест не является правильным, способ повторяют, начиная с этапа 20.
Если был применен этап 22 записи правильных тестов, на этапе 23 происходит проверка новых тестовых ситуаций при участии и по решению разработчика. Если обнаружена новая тестовая ситуация, способ повторяют, начиная с этапа 20. Если новой тестовой ситуации не обнаружено, применяют этап 26 генерирования сценария. Этому этапу 26 предшествуют два промежуточных этапа 24 и 25. Этап 24 предназначен для установления того, что параметры среды выполнения тестов были указаны разработчиком. Эти параметры позволяют выбрать тип среды выполнения тестов, для которой необходимо генерировать тестовые сценарии. Если параметры обнаружены, на этапе 25 эти параметры учитываются для генерирования тестового сценария.
Этап 26 генерирования тестового сценария выполняется автоматически генератором сценариев. Этот генератор сценария на первой стадии анализирует отслеживаемые состояния переменных, которые были отмечены после этапа 20 идентификации правильных тестовых ситуаций, и на второй стадии генерирует исходный код тестового сценария (этап 27).
Это генерирование исходного кода происходит для каждой отдельной тестовой ситуации. Исходный код представлен непосредственно на обычном языке программирования, что облегчает его понимание большинством разработчиков программ.
На этапе 28 происходит компиляция исходного кода, позволяющая автоматически перевести исходный код тестового сценария в эквивалентный сценарий на машинном языке. За этой компиляцией следует редактирование связей тестовой программы, которые на этапе 29 дают бинарный код, который может быть исполнен и применен в выбранной на этапе 24 или в предварительно конфигурированной среде выполнения тестов.
На этапе 30 бинарный код тестового сценария автоматически исполняется в среде выполнения тестов. На этапе 31 результаты выполнения тестов на функциональном программном обеспечении генерируются в форме, напрямую совместимой с типом среды выполнения тестов, выбранным разработчиком.
Преимуществом способа является возможность адаптировать его к любому типу среды выполнения тестов функционального программного обеспечения. Следовательно, его можно адаптировать для любого типа виртуальной или реальной среды.
В рамках способа в соответствии с настоящим изобретением генерированные тестовые сценарии изначально являются правильными и не содержат ошибок. Действительно, во время фазы аттестации тестовых сценариев отсутствие подтверждения одного из указанных сценариев соответствует выявлению ошибки, что автоматически приводит к соответствующей коррекции тестируемой функции функционального программного обеспечения.
На фиг.2 показана схема блока 1 управления средой выполнения тестов, обеспечивающего генерирование тестовых сценариев для тестирования функционального программного обеспечения, предназначенного для загрузки в бортовую систему (не показана). На фиг.2 показан пример блока 1 управления средой выполнения тестов. В зависимости от вариантов выполнения среда выполнения тестов может быть либо смоделирована на материнской плате, такой как рабочий пост, либо основана на аппаратуре типа эмулятора. Под средой выполнения тестов следует понимать среду, которая позволяет проверять, корректировать и осуществлять функциональную отладку и тестировать функциональное программное обеспечение бортовой системы. Блок 1 управления средой тестирования не ограничительно содержит процессор 2, память 3 программы, память 4 данных и входной/выходной интерфейс 5. Процессор 2, память 3 программы, память 4 данных и входной/выходной интерфейс 5 соединены между собой двунаправленной шиной 6 связи.
Процессор 2 управляется командными кодами, записанными в памяти 3 программы блока 1 управления.
В зоне 7 память 3 программы содержит команды для осуществления идентификации правильных тестовых ситуаций. Эта идентификация позволяет разработчику взаимодействовать через интерфейс с различными функциями, установленными в классическом модуле отладки. Среди этих функций можно указать, в частности, возможность позиционирования точки контроля выполнения на входе функции тестируемого функционального программного обеспечения. Другая функция позволяет позиционировать точку остановки на выходе функции. Это взаимодействие позволяет разработчику контролировать состояния переменных, чтобы определить, правильно ли прошло выполнение функции.
В зоне 8 память 3 программы содержит команды для осуществления аттестации. Эта аттестация состоит в автоматической записи всех контролируемых состояний переменных. Эти состояния образуют запись 12 правильных тестовых ситуаций. Эта аттестация позволяет также редактировать совокупность контролируемых состояний. В случае подтверждения правильности тестов эти контролируемые состояния становятся контрольным значением.
В зоне 9 память 3 программы содержит команды для осуществления генерирования тестовых сценариев. Это генерирование тестовых сценариев вытекает из анализа состояний переменных в записи 12. Это генерирование тестовых сценариев представляет собой исходный код 13. Оно происходит для каждой отдельной тестовой ситуации.
В зоне 10 память 3 программы содержит команды для осуществления компиляции исходного кода 13 с целью его перевода на машинный язык. После этой компиляции осуществляют редактирование связей для преобразования исходного кода 13 (который представлен в машинном языке) в исполняемый бинарный код 14.
В зоне 11 память 3 программы содержит команды для выполнения тестового сценария с целью генерирования на выходе результатов 15 теста.

Claims (12)

1. Способ генерирования тестового сценария для проверки правильности функционального программного обеспечения системы, установленной на борту летательного аппарата, во время всей фазы разработки программного обеспечения, включающий следующие этапы:
а) определение по меньшей мере одной тестовой ситуации с тем, чтобы во время фазы проверки правильности программного обеспечения проверить уже отлаженные последовательности команд программного обеспечения, подвергнутого унитарным тестам во время фазы проверки, при этом понятие «тестовая ситуация» включает в себя исполняемый тестовый сценарий и ожидаемые результаты,
б) выполнение теста между точкой ввода и точкой остановки, которые позиционируют соответственно в начале и в конце функции тестируемого программного обеспечения,
в) обнаружение и запись совокупности состояний переменных указанной функции для переменных, называемых существенными, выбираемых средствами отладки,
г) проверка правильности тестовых ситуаций посредством сравнения полученных переменных с ожидаемыми значениями переменных,
д) анализ состояний переменных, для которых тестовые состояния были проверены, и автоматическое генерирование, в виде исходного кода, тестового сценария для каждой правильной тестовой ситуации,
е) автоматическое исполнение генерированного тестового сценария в среде выполнения тестов.
2. Способ по п.1, характеризующийся тем, что между этапом записи состояний переменных и этапом автоматического генерирования тестового сценария осуществляют этап проверки правильности тестовых ситуаций, позволяющий разработчику убедиться в том, что выполнение тестируемой функции является правильным по отношению к отслеживаемым состояниям переменных.
3. Способ по п.1 или 2, характеризующийся тем, что генерирование тестового сценария осуществляют по каждой отдельной тестовой ситуации.
4. Способ по п.1 или 2, характеризующийся тем, что содержит дополнительный этап компиляции исходного кода для автоматического перевода указанного исходного кода тестового сценария в эквивалентный сценарий на машинном языке.
5. Способ по п.3, характеризующийся тем, что содержит дополнительный этап компиляции исходного кода для автоматического перевода указанного исходного кода тестового сценария в эквивалентный сценарий на машинном языке.
6. Способ по п.4, характеризующийся тем, что за компиляцией следует редактирование связей тестового сценария, в результате которого получают бинарный код, который может быть исполнен и использован в среде выполнения тестов, выбранной разработчиком.
7. Способ по п.5, характеризующийся тем, что за компиляцией следует редактирование связей тестового сценария, в результате которого получают бинарный код, который может быть исполнен и использован в среде выполнения тестов, выбранной разработчиком.
8. Способ по любому из пп.1, 2, 5-7, характеризующийся тем, что результаты тестов генерируют в форме, напрямую совместимой с типом выбранной среды выполнения тестов.
9. Способ по п.3, характеризующийся тем, что результаты тестов генерируют в форме, напрямую совместимой с типом выбранной среды выполнения тестов.
10. Способ по п.4, характеризующийся тем, что результаты тестов генерируют в форме, напрямую совместимой с типом выбранной среды выполнения тестов.
11. Устройство, моделирующее работу вычислительного устройства, установленного на борту летательного аппарата, характеризующееся тем, что применяет способ по любому из пп.1-10.
12. Устройство по п.11, характеризующееся тем, что его моделируют виртуально на материнской плате тестирования и отладки.
RU2010114709/08A 2007-09-14 2008-09-12 Способ автоматического генерирования сценария для проверки правильности функционального программного обеспечения системы, установленной на борту летательного аппарата, и устройство для применения способа RU2473115C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0757615 2007-09-14
FR0757615A FR2921170B1 (fr) 2007-09-14 2007-09-14 Procede de generation automatique de programmes de test d'un logiciel de fonctionnement d'un systeme embarque a bord d'un aeronef, et dispositif de mise en oeuvre
PCT/FR2008/051644 WO2009047430A2 (fr) 2007-09-14 2008-09-12 Procédé de génération automatique de script pour tester la validité d'un logiciel de fonctionnement d'un système embarqué à bord d'un aéronef, et dispositif de mise en oeuvre

Publications (2)

Publication Number Publication Date
RU2010114709A RU2010114709A (ru) 2011-10-20
RU2473115C2 true RU2473115C2 (ru) 2013-01-20

Family

ID=39273116

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2010114709/08A RU2473115C2 (ru) 2007-09-14 2008-09-12 Способ автоматического генерирования сценария для проверки правильности функционального программного обеспечения системы, установленной на борту летательного аппарата, и устройство для применения способа

Country Status (9)

Country Link
US (1) US20110047529A1 (ru)
EP (1) EP2188723A2 (ru)
JP (1) JP2010539576A (ru)
CN (1) CN101802792B (ru)
BR (1) BRPI0817102A2 (ru)
CA (1) CA2696020A1 (ru)
FR (1) FR2921170B1 (ru)
RU (1) RU2473115C2 (ru)
WO (1) WO2009047430A2 (ru)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2679350C2 (ru) * 2017-07-10 2019-02-07 Федеральное государственное бюджетное образовательное учреждение высшего образования "Воронежский государственный технический университет" Система генерации тестовых данных

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8732663B2 (en) * 2010-02-24 2014-05-20 Salesforce.Com, Inc. System, method and computer program product for providing automated testing by utilizing a preconfigured point of entry in a test or by converting a test to a predefined format
FR2958427B1 (fr) 2010-03-30 2016-11-18 Eurocopter France Procede d'agencement d'un logiciel d'application sur le materiel informatique d'un equipement reel ou virtuel et architecture de commande de l'equipement comprenant un tel logiciel
CN102541735A (zh) * 2011-12-28 2012-07-04 云海创想信息技术(天津)有限公司 软件自动化测试方法
US9135147B2 (en) * 2012-04-26 2015-09-15 International Business Machines Corporation Automated testing of applications with scripting code
US9286273B1 (en) * 2013-03-11 2016-03-15 Parallels IP Holding GmbH Method and system for implementing a website builder
CN104281518B (zh) * 2013-07-02 2018-05-15 腾讯科技(深圳)有限公司 终端应用测试方法、装置、系统、平台及移动终端
CN103500141A (zh) * 2013-10-09 2014-01-08 中国联合网络通信集团有限公司 自动化测试方法和装置
US20160098259A1 (en) * 2014-10-02 2016-04-07 The Boeing Company Software Aircraft Part Installation System
GB2533117A (en) * 2014-12-10 2016-06-15 Ibm Software test automation
EP3076299B1 (en) * 2015-04-03 2020-12-30 IVECO S.p.A. Method to improve and extend the logics of a test rig for a vehicle component, in particular a battery or an alternator
CN106502896B (zh) * 2016-10-21 2019-08-23 武汉斗鱼网络科技有限公司 一种函数测试代码的生成方法及装置
US11142345B2 (en) 2017-06-22 2021-10-12 Textron Innovations Inc. System and method for performing a test procedure
CN111566625B (zh) * 2018-01-17 2024-01-09 三菱电机株式会社 测试用例生成装置、测试用例生成方法和计算机能读取的记录介质
CN109214043B (zh) * 2018-07-20 2023-04-07 北京航空航天大学 数字飞行器动力学环境信息传输源代码人工智能书写方法
CN112445467A (zh) * 2019-09-04 2021-03-05 常州星宇车灯股份有限公司 汽车风扇模块软件生成方法
US11144437B2 (en) 2019-11-25 2021-10-12 International Business Machines Corporation Pre-populating continuous delivery test cases
CN112699033B (zh) * 2020-12-29 2023-05-23 中国航空工业集团公司西安飞机设计研究所 一种多分区机载软件测试用例多级同步加载方法
CN113297083B (zh) * 2021-05-27 2022-08-19 山东云海国创云计算装备产业创新中心有限公司 一种跨平台ic测试方法、装置、设备及介质
CN116756043B (zh) * 2023-08-10 2023-11-03 东方空间技术(山东)有限公司 一种目标设备的软件测试方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1541617A1 (ru) * 1988-05-10 1990-02-07 Предприятие П/Я А-3821 Устройство отладки микропрограммных блоков
US6161216A (en) * 1998-04-29 2000-12-12 Emc Corporation Source code debugging tool
RU2213939C1 (ru) * 2002-10-14 2003-10-10 Загороднев Александр Васильевич Способ передачи информации с бортового накопителя информации летательного аппарата во внешние блоки обработки и система для его осуществления
RU2263973C1 (ru) * 2004-05-07 2005-11-10 Федеральное государственное унитарное предприятие Летно-исследовательский институт им. М.М. Громова Пилотажно-тренировочный комплекс

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06110733A (ja) * 1992-09-30 1994-04-22 Hitachi Ltd プログラムのテストケース生成装置
US7039912B1 (en) * 1998-05-12 2006-05-02 Apple Computer, Inc. Integrated computer testing and task management systems
JP2002207611A (ja) * 2001-01-11 2002-07-26 Mitsubishi Heavy Ind Ltd ソフトウェアワーキングベンチ
CA2440031C (en) * 2001-02-22 2013-07-02 Accenture Global Services Gmbh Distributed development environment for building internet applications by developers at remote locations
US7058857B2 (en) * 2001-10-10 2006-06-06 International Business Machines Corporation Method and system for testing a software product
JP4061931B2 (ja) * 2002-03-13 2008-03-19 株式会社デンソー 実行履歴記録装置、ブレーク命令設定装置、及びプログラム
JP2004220269A (ja) * 2003-01-14 2004-08-05 Cyx Inc 統合テスト管理システム
US7512526B2 (en) * 2004-03-01 2009-03-31 Raytheon Company System and method for dynamic runtime HLA-federation-execution data display
CN100375057C (zh) * 2004-08-31 2008-03-12 中国银联股份有限公司 一种自动化测试辅助系统及相应的软件自动测试方法
US7543278B2 (en) * 2004-10-15 2009-06-02 Microsoft Corporation System and method for making a user interface element visible
JP2006155047A (ja) * 2004-11-26 2006-06-15 Nec Electronics Corp 検証システム及び検証方法
JP2006260390A (ja) * 2005-03-18 2006-09-28 Nomura Research Institute Ltd テストケース生成プログラム及び方法
US7526759B2 (en) * 2005-04-19 2009-04-28 International Business Machines Corporation Debugging prototyped system solutions in solution builder wizard environment
CN100362479C (zh) * 2005-12-09 2008-01-16 华为技术有限公司 基于自动化测试脚本对被测对象进行测试的方法和系统
US7895565B1 (en) * 2006-03-15 2011-02-22 Jp Morgan Chase Bank, N.A. Integrated system and method for validating the functionality and performance of software applications

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SU1541617A1 (ru) * 1988-05-10 1990-02-07 Предприятие П/Я А-3821 Устройство отладки микропрограммных блоков
US6161216A (en) * 1998-04-29 2000-12-12 Emc Corporation Source code debugging tool
RU2213939C1 (ru) * 2002-10-14 2003-10-10 Загороднев Александр Васильевич Способ передачи информации с бортового накопителя информации летательного аппарата во внешние блоки обработки и система для его осуществления
RU2263973C1 (ru) * 2004-05-07 2005-11-10 Федеральное государственное унитарное предприятие Летно-исследовательский институт им. М.М. Громова Пилотажно-тренировочный комплекс

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2679350C2 (ru) * 2017-07-10 2019-02-07 Федеральное государственное бюджетное образовательное учреждение высшего образования "Воронежский государственный технический университет" Система генерации тестовых данных

Also Published As

Publication number Publication date
EP2188723A2 (fr) 2010-05-26
FR2921170A1 (fr) 2009-03-20
CA2696020A1 (fr) 2009-04-16
FR2921170B1 (fr) 2018-01-12
CN101802792B (zh) 2012-12-26
WO2009047430A3 (fr) 2009-12-30
BRPI0817102A2 (pt) 2015-03-24
WO2009047430A2 (fr) 2009-04-16
US20110047529A1 (en) 2011-02-24
JP2010539576A (ja) 2010-12-16
RU2010114709A (ru) 2011-10-20
CN101802792A (zh) 2010-08-11

Similar Documents

Publication Publication Date Title
RU2473115C2 (ru) Способ автоматического генерирования сценария для проверки правильности функционального программного обеспечения системы, установленной на борту летательного аппарата, и устройство для применения способа
US8930912B2 (en) Method and system for performing software verification
Schäfer et al. An empirical evaluation of using large language models for automated unit test generation
Svenningsson et al. MODIFI: a MODel-implemented fault injection tool
RU2454706C2 (ru) Способ отладки функционального программного обеспечения системы, установленной на борту летательного аппарата, и устройство для его осуществления
US20200142814A1 (en) Co-verification of hardware and software
RU2451990C2 (ru) Способ обработки объема данных, используемого во время фазы отладки функционального программного обеспечения системы, установленной на борту летательного аппарата, и устройство для его осуществления
Khosrowjerdi et al. Virtualized-fault injection testing: A machine learning approach
US9183118B2 (en) Method for simulating a system on board an aircraft for testing an operating software program and device for implementing said method
Brauer et al. Efficient and trustworthy tool qualification for model-based testing tools
US10229029B2 (en) Embedded instruction sets for use in testing and error simulation of computing programs
Ratiu et al. An integrated environment for Spin-based C code checking: Towards bringing model-driven code checking closer to practitioners
Abraham Verification and validation spanning models to code
Alshnakat Automatic verification of embedded systems using horn clause solvers
Barbareschi et al. Automatic Test Generation to Improve Scrum for Safety Agile Methodology
Honda et al. Range analyzer: An automatic tool for arithmetic overflow detection in model-based development
Schneider et al. The validation suite approach to safety qualification of tools
Sherine et al. Verification of On-board Software of ISRO Launch Vehicles Using Polyspace-A Case Study
Sandhu Comparison of Fault Simulation Over Custom Kernel Module Using Various Techniques
Briand Software verification—a scalable, model-driven, empirically grounded approach
Zhezlov et al. Automation of Test Environment Creation Aimed at IP-cores and SoC Development, Verification and Performance Analysis
Chockler et al. Validation of evolving software
Li et al. Model checking security vulnerabilities in software design
Herpel et al. Real-time system prototyping based on a heterogeneous multi-processor environment
Murphy et al. Verification and Validation Integrated within Processes Using Model-Based Design

Legal Events

Date Code Title Description
MM4A The patent is invalid due to non-payment of fees

Effective date: 20130913