Запустите тесты и процедуры для Polyspace Code Prover и Polyspace Code Prover Server

Тесты являются шаблонами, которые можно изменить и расширить, чтобы создать тестовые наборы, которые покрывают требования, которые важны для приложения, определенной настройки инструмента и операционной среды. Вам могут быть нужны дополнительные тесты, на основе вашего использования инструмента, чтобы поддержать валидацию инструмента.

Существует два метода, которые можно использовать для выполнения процедуры тестирования:

Эти лицензии требуются, чтобы выполнять процедуру тестирования IEC Certification Kit для Polyspace Code Prover™:

  • IEC Certification Kit

  • MATLAB

  • Polyspace Code Prover

  • Polyspace Bug Finder™

Эти лицензии требуются, чтобы выполнять процедуру тестирования IEC Certification Kit для Polyspace Code Prover Server™:

  • IEC Certification Kit

  • MATLAB

  • Polyspace Code Prover Server

  • Polyspace Bug Finder Server

Выполните тесты при помощи MATLAB

Чтобы использовать MATLAB, чтобы сконфигурировать, выполнитесь, и рассмотрите тесты валидации для Polyspace Code Prover и Polyspace Code Prover Server, смотрите, Выполняют Тесты Валидации и Результаты испытаний Анализа для Polyspace Code Prover и Polyspace Code Prover Server. Этот артефакт обеспечивает:

  • Требования к программному обеспечению, чтобы выполнить процедуру тестирования

  • Шаги настройки

  • Как выполнить процедуру тестирования

  • Список сгенерированных протоколов испытаний и как рассмотреть результаты испытаний

Используйте один из этих методов, чтобы открыться, Выполняют Тесты Валидации и Результаты испытаний Анализа для Polyspace Code Prover и Polyspace Code Prover Server:

  • На панели меню Simulink выберите Code> IEC Certification Kit> Validation Tests> Polyspace Code Prover.

  • В Менеджере артефактов откройте Polyspace Code Prover> certkitiec_codeprover_run.mlx.

  • В matlabroot/toolbox/qualkits/iec/codeprover/, открытом certkitiec_codeprover_run.mlx.

Файл .mlx открывается в MATLAB. Следуйте за рабочим процессом, чтобы сконфигурировать и выполнить процедуру тестирования и рассмотреть результаты. Где применимо, вы находите интерактивные ссылки, которые выполняют команды. Например, чтобы выполнить процедуру тестирования файл .bat, выберите ссылку (Ctrl+Click here to execute the command). Скрипт выполняет команду и запускает тесты.

Выполните тесты от IEC Certification Kit папка matlabroot/

Примечание

Эти шаги для пользователей Polyspace, которые не используют MATLAB, чтобы выполнить тест IEC Certification Kit для Polyspace Code Prover и Polyspace Code Prover Server. Шаги эквивалентны в, Выполняют Тесты Валидации и Результаты испытаний Анализа для Polyspace Code Prover и Polyspace Code Prover Server, однако, интерактивные команды MATLAB удалены.

Настройте Тесты

Прежде, чем выполнить процедуру тестирования, скопируйте папку matlabroot/toolbox/qualkits/iec/codeprover/ и sub папки к местоположению, где у вас есть доступ для записи. Вы выполняете тесты от этого местоположения.

Управление файлом лицензии

Обозначенные компьютерные лицензии (DC)

Прежде, чем выполнить процедуру тестирования, ​ вы должно скопировать лицензию MATLAB на папку лицензии Polyspace, не стирая лицензию Polyspace.

  • Для Polyspace Code Prover, копия <MATLAB install folder>\​licenses\​*.lic next to <Polyspace install folder>\​licenses\​

  • Для Polyspace Code Prover Server, копия <MATLAB install folder>\​licenses\​*.lic next to <Polyspace Server install folder>\​licenses\​

Параллельная лицензия

Лицензия MATLAB и лицензии Polyspace управляемы через сервер FLEXlm®.

Выполните тесты

Выполнить тесты:

  1. Изменитесь на папку matlabroot/toolbox/qualkits/iec/codeprover/tests.

  2. Выполните тесты с помощью шагов для платформы:

    Windows® ─ В окне команды DOS, измените директорию на текущее местоположение и выполните специфичную для продукта команду:

    • Для Polyspace Code Prover введите certkitiec_codeprover_tests.bat

    • Для Polyspace Code Prover Server введите certkitiec_codeproverserver_tests.bat

    Примечание

    Если системная переменная, PATH не включает Polyspace Code Prover или исполнимую папку Polyspace Code Prover Server, ошибка polyspace-<product> not found или perl.exe is not recognized as an internal or external command, может произойти. В этом случае откройте certkitiec_<product>_tests.bat и обновите путь к исполняемой папке для Продукта polyspace, который вы квалифицируете при помощи переменной окружения POLYSPACE_C. Сохраните файл.

    Исполнимые папки Polyspace по умолчанию:

    • C:\Program Files\<Polyspace_Code_Prover_root>\

    • C:\Program Files\<Polyspace_Code_Prover_Server_root>\

    Например, установите POLYSPACE_C=C:\Program Files\Polyspace\2019a\polyspace\bin).

    Linux® ─ В командном окне UNIX, измените директорию на текущее местоположение и выполните специфичную для продукта команду:

    • Для Polyspace Code Prover введите certkitiec_codeprover_tests.sh

    • Для Polyspace Code Prover Server введите certkitiec_codeproverserver_tests.sh

    Примечание

    Если системная переменная, PATH не включает Polyspace Code Prover, Polyspace Code Prover Server или исполнимую директорию Perl, ошибка polyspace-<product> not found или perl: Command not found, может произойти. В этом случае обновите системную переменную PATH, чтобы включать исполняемые директории Perl и Продукта polyspace, который вы квалифицируете. Сохраните файл.

    Исполнимые директории Polyspace по умолчанию:

    • /usr/local/<Polyspace_Code_Prover_root>/

    • /usr/local/<Polyspace_Code_Prover_Server_root>/

    Например, выполните команду setenv PATH ${PATH}:"/usr/local/Polyspace/2019a/polyspace/bin".

  3. Следуйте инструкциям в командной строке, чтобы выполнить определенную группу тестов или всех тестов.

Примечание

Не изменяйте тестовые скрипты, чтобы изменить целевые компиляторы или целевые процессоры. Процедура тестирования автоматически сконфигурирует и выполнит тесты для всех поддерживаемых компиляторов и целевых процессоров.

Рассмотрите результаты испытаний (все кроме генератора отчетов)

Выполнение процедуры тестирования генерирует эти отчеты, который идентифицирует PASSED/FAILED результат для каждого теста. Эти отчеты хранятся в /codeprover/outputs.

Итоговые отчеты валидации для Polyspace Code Prover включают в себя:

  • certkitiec_codeprover_qualificationreport_checks.txt, который обеспечивает результаты для тестов в тестовом наборе дефектов кода.

  • certkitiec_codeprover_qualificationreport_code-metrics.txt, который обеспечивает результаты для тестов в метрическом тестовом наборе кода.

  • certkitiec_codeprover_qualificationreport_misrac-2004.txt, который обеспечивает результаты для тестов в MISRA C:2004, кодирующем тестовый набор стандартов.

  • certkitiec_codeprover_qualificationreport_misrac-2012.txt, который обеспечивает результаты для тестов в MISRA C:2012 (Поправка 1: 2016) кодирование тестового набора стандартов.

  • certkitiec_codeprover_qualificationreport_misracpp-2008.txt, который обеспечивает результаты для тестов на C++ MISRA: 2 008 тестовых наборов стандартов кодирования.

  • certkitiec_codeprover_qualificationreport_options-api.txt, который обеспечивает результаты для тестов в тестовом наборе опций API.

  • certkitiec_codeprover_qualificationreport_programming-languages.txt, который обеспечивает результаты для тестов в тестовом наборе языков программирования.

  • certkitiec_codeprover_qualificationreport_reporting.txt, который обеспечивает результаты для тестов в тестовом наборе интерфейсов инструмента.

Итоговые отчеты валидации для Polyspace Code Prover Server включают в себя:

  • certkitiec_codeprover_server_qualificationreport_checks.txt, который обеспечивает результаты для тестов в тестовом наборе дефектов кода.

  • certkitiec_codeprover_server_qualificationreport_code-metrics.txt, который обеспечивает результаты для тестов в метрическом тестовом наборе кода.

  • certkitiec_codeprover_server_qualificationreport_misrac-2004.txt, который обеспечивает результаты для тестов в MISRA C:2004, кодирующем тестовый набор стандартов.

  • certkitiec_codeprover_server_qualificationreport_misrac-2012.txt, который обеспечивает результаты для тестов в MISRA C:2012 (Поправка 1: 2016) кодирование тестового набора стандартов.

  • certkitiec_codeprover_server_qualificationreport_misracpp-2008.txt, который обеспечивает результаты для тестов на C++ MISRA: 2 008 тестовых наборов стандартов кодирования.

  • certkitiec_codeprover_server_qualificationreport_options-api.txt, который обеспечивает результаты для тестов в тестовом наборе опций API.

  • certkitiec_codeprover_server_qualificationreport_programming-languages.txt, который обеспечивает результаты для тестов в тестовом наборе языков программирования.

  • certkitiec_codeprover_server_qualificationreport_reporting.txt, который обеспечивает результаты для тестов в тестовом наборе интерфейсов инструмента.

Рассмотреть результаты испытаний:

  1. Подтвердите, что протоколы испытаний сгенерированы без ошибок или предупреждений.

  2. Рассмотрите итоговые отчеты валидации и подтвердите, что результаты испытаний имеют состояние PASSED. Когда фактические результаты совпадают с ожидаемыми результатами, передачей тестов.

  3. Для любых тестов с состоянием FAILED вручную рассмотрите результаты испытаний, соответствующие не пройдено тестам.

    1. Получите ожидаемые результаты из раздела REF файла исходного кода, сопоставленного с тестом (т.е. <IEC Code Prover Test Folder>/tests/<test suite>/*.c).

    2. Проверьте, что ожидаемые результаты совпадают с фактическим результатом, обеспеченным в любом из этих файлов:

      Для Polyspace Code Prover:

      • <IEC Code Prover Test Folder>/tests/execution-folder-code-prover/<test suite>/<test case>/Verification.log

      • <IEC Code Prover Test Folder>/tests/execution-folder-code-prover/<test suite>/<test case>/Polyspace-Doc/Results_list.txt

      Для Polyspace Code Prover Server:

      • <IEC Code Prover Test Folder>/tests/execution-folder-code-prover-server/<test suite>/<test case>/Verification.log

      • <IEC Code Prover Test Folder>/tests/execution-folder-code-prover-server/<test suite>/<test case>/Polyspace-Doc/Results_list.txt

    3. Если ожидаемые и фактические результаты не соответствуют, оцените влияние несоответствия относительно действий жизненного цикла программного обеспечения, выполняемых при помощи инструмента. Для получения дополнительной информации свяжитесь с MathWorks.

    Примечание

    То, когда язык на вашем компьютере не является английским, автоматическим сравнением ожидаемых результатов против фактических результатов, может перестать работать, потому что ожидаемые результаты, которые сгенерированы MathWorks, находятся на английском языке, и ваши фактические результаты находятся на языке, заданном локально на вашем компьютере. Если это происходит, необходимо вручную рассмотреть результаты.

  4. Сконфигурируйте содержимое matlabroot/toolbox/qualkits/iec/codeprover в системе управления конфигурацией.

Рассмотрите результаты испытаний генератора отчетов

Метод для рассмотрения результатов испытаний Генератора отчетов отличается в зависимости от формата отчетов.

Когда форматом является .html, автоматическое сравнение отчетов поддерживается. Рассмотрите PASSED/FAILED результат для каждого теста, как представлено в итоговом отчете валидации. Эти отчеты хранятся в /codeprover/outputs:

  • Для Polyspace Bug Finder файлом является certkitiec-code-prover-qualificationreport-reporting.txt.

  • Для Polyspace Bug Finder Server файлом является certkitiec-code-prover-server-qualificationreport-reporting.txt.

Когда форматом является .pdf и .docx, автоматизированное сравнение отчетов НЕ поддержано. Необходимо вручную сравнить фактические результаты с ожидаемыми результатами. К PASS содержимое фактического и ожидаемых результатов должно быть равным.

Примечание

Для Polyspace Code Prover:

  • Фактические результаты: <IEC Code Prover Test Folder>/tests/execution-folder-code-prover/reporting-code-prover/<test>/Polyspace-Doc/*.docx или *.pdf

  • Ожидаемые результаты: <IEC Code Prover Test Folder>/expected_results/reporting-code-prover/<test>/*.docx или *.pdf

Для Polyspace Code Prover Server:

  • Фактические результаты: <IEC Code Prover Test Folder>/tests/execution-folder-code-prover-server/reporting-code-prover-server/<test>/Polyspace-Doc/*.docx или *.pdf

  • Ожидаемые результаты: <IEC Code Prover Test Folder>/expected_results/reporting-code-prover-server/<test>/*.docx или *.pdf

Примечание

При сравнении отчетов специфичное для среды содержимое (таких как метки времени или тестовое время длительности) может отличаться между фактическим и ожидаемыми результатами.