Решение современных проблем тестирования встроенного программного обеспечения
Тестирование встроенных систем является трудной задачей, сложность которой еще более возрастает из-за давления сроков и растущей сложности встроенного программного обеспечения. В настоящее время существует три основных варианта обнаружения ошибок при выполнении встроенных приложений: анализ кода, применение статических анализаторов и динамическое тестирование методом проб и ошибок. Анализ кода является трудоемким, а для больших и сложных приложений нередко оказывается непрактичным. Статические анализаторы выявляют относительно небольшое число проблем и, что наиболее важно, оставляют непроверенной большую часть исходного кода. Динамическое тестирование или тестирование по «методу белого ящика» требует от инженеров написания и выполнения множества тестов. Если результаты тестирования оказываются отрицательными, потребуется дополнительное время на поиск причины проблемы путем выполнения неопределенного процесса отладки.
Абстрактная интерпретация предполагает другой подход. Вместо простого обнаружения ошибок проводится автоматическая верификация важных динамических свойств программ, включая проверку на наличие или отсутствие ошибок при выполнении. При этом сочетается детально точный анализ кода и автоматизация, которая обеспечивает раннее обнаружение ошибок и подтверждение надежности кода. При верификации правильности динамических свойств встроенных приложений абстрактная интерпретация отслеживает все возможные поведения программного обеспечения и все возможные изменения входных данных, включая данные о возможных отказах программного обеспечения. Кроме того, проверяется правильность кода и подтверждается его надежность. Используя инструментальные средства тестирования, которые реализуют абстрактную интерпретацию, компании смогут уменьшить расходы и ускорить поставку надежных встроенных систем.
В настоящей статье описывается работа абстрактной интерпретации и возможность ее использования для преодоления ограничений обычных методов тестирования встроенного программного обеспечения.
Скачать статью полностью можно по ссылке ниже.