Embedded

Мы продолжаем цикл статей, посвященных изменениям, коснувшимся тестирования встраиваемых систем в последние годы. В подготовке этого цикла статей нам помогло исследование 55 компаний-разработчиков встраиваемого ПО, проведенное Ауригой при поддержке независимой исследовательской компании LTM Research.

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

Недавно Аурига, при поддержке независимой исследовательской компании LTM Research, провела уникальное исследование последних тенденций в тестировании встроенного ПО. Мы попросили 55 компаний-разработчиков встроенных систем оценить внедренный у них подход к тестированию и по итогам опроса выявили основные трудности, с которыми сталкиваются инженеры в процессе тестирования встроенного ПО.

  • Зависимость от аппаратных платформ и ограниченный доступ к «железу»

Высокий уровень зависимости от аппаратного обеспечения, физически недоступные или слабо доступные компоненты тестируемого оборудования могут стать серьезным препятствием для тестировщиков. Симуляторы и эмуляторы оборудования не всегда точно копируют поведение реальной системы или в различной степени модифицируют его. И если с зависимостью от «железа» производитель ничего не может поделать, обеспечение как можно более раннего непосредственного доступа к продукту обеспечит снижение времени, повысит число выявленных дефектов на ранних стадиях и послужит хорошей основой для организации непрерывного тестирования и интеграции. Наше исследование показало, что более 80% лидеров среди опрошенных компаний обладают постоянным доступом к тестируемому оборудованию на всех стадиях проекта, что, безусловно, можно считать важнейшим фактором их успеха.

  • Дефекты аппаратного обеспечения

Обнаруженные ошибки могут быть вызваны не только программной составляющей встраиваемых систем, но и самой аппаратной платформой и ее компонентами. Кроме того, ПО может отлично функционировать с одной версией или набором аппаратных средств, но вызывать проблемы при работе с другими. Как компания-разработчик с многолетним опытом тестирования встраиваемых систем, мы настоятельно рекомендуем планировать стадию исследования и проектирования (R&D) как при запуске нового продукта, так и при портировании на новые платформы или существенном обновлении функционала существующей встраиваемой системы.

  • Сложности воспроизводимости дефектов

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

  • Ограничения, накладываемые обновлениями компонентов встраиваемых систем

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

Конечно, есть и другие сложности тестирования встроенного ПО, не вошедшие в этот список: тестирование компонентов систем с открытым исходным кодом, тестирование на соответствие требованиям стандартам безопасности, автоматизация тестирования и т.п. Проблемы могут варьироваться в зависимости от типа тестирования, но все они требуют самого пристального внимания, ведь надежность – главный приоритет в разработке встроенных систем. Если вам интересна эта тема, вы можете ознакомиться с документом «Тестирование встроенного программного обеспечения» (на английском языке), созданным нашим экспертом и описывающим наш подход к организации процесса тестирования встроенного ПО.

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

Следите за нашими обновлениями, чтобы узнать, что думают ваши коллеги по отрасли о тестировании встроенного ПО. Не пропустите полные результаты исследования в наших следующих новостях!