Подводные камни тестирования встроенного ПО

Аналитика рынка

Подводные камни тестирования встроенного ПО

Ноябрь 10, 2017

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Похожие новости

Новости

Аурига представила модель прогнозируемого обслуживания на хакатоне Hilti

Аурига представила модель прогнозируемого обслуживания на хакатоне Hilti

Аурига, одна из ведущих компаний-разработчиков программного обеспечения на заказ, была приглашена принять участие в хакатоне компании Hilti, мирового лидера по производству высокотехнологичных инструментов и разработке программного обеспечения для

MWC Americas 2019: Эра умных технологий

Недавно в Лос-Анджелесе, штат Калифорния, состоялась крупная технологическая конференция Mobile World Congress Americas. Около 22000 участников из более чем 100 стран мира собрались, чтобы обсудить основные тенденции, формирующие отрасль беспроводных...

Аурига посетила Intel Experience Day 2019

В конце октября в Москве состоялась партнерская конференция Intel Experience Day 2019 – главное мероприятие компании Intel в России. Событие было посвящено достижениям компании Intel и ее партнеров: в демо-зоне были представлены последние аппаратные и программные продукты в сфере интернета вещей, искусственного интеллекта,...

Признанный лидер услуг по разработке ПО:
управление командами и проектами;
разработка новых продуктов, сопровождение, тестирование