Автоматизация тестирования встроенных систем – грядет ли революция?

Статьи

Автоматизация тестирования встроенных систем – грядет ли революция?

Июль 3, 2018

Последние 20 лет я работаю в области программирования встроенных систем. Если задуматься, встроенные системы подобны воздуху – они повсюду вокруг нас, хотя мы их не замечаем. И хотя они составляют основу программного и аппаратного обеспечения, большинство пользователей понятия не имеет, насколько они важны. О встроенных системах вспоминают лишь тогда, когда они перестают правильно функционировать. Представьте, что ваш любимый фитнес-браслет потерял связь со смартфоном. Паника! А что если перестает работать монитор пациента, или инфузионная система, или система диализа в больнице? Уверен, вы не хотели бы оказаться в самолете со сломанной приборной панелью и уж точно не сели бы в неисправный беспилотный автомобиль.

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

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

В недавние месяцы в блоге Ауриги появилось множество статей о тестировании встроенного ПО: последние тренды, «подводные камни», новые эффективные подходы и прочее. Несмотря на то, что технологии развиваются очень быстро, автоматизация тестирования встроенного ПО все еще отстает. Конечно, на то есть многочисленные объективные причины, и Аурига знает об этом не понаслышке. Разработать набор инструментов и тестов для аппаратного обеспечения, которого нет даже в альфа-версии? Пожалуйста! Протестировать «железо», находящееся в инженерном центре заказчика на другом конце света? Без проблем! Выявить и исправить дефекты операционных систем HAL/BSP/LSP, их драйверов и самого ядра, поддерживая при этом всю экосистему с многочисленными версиями, обновлениями, новыми функциями и периферийными устройствами? Мы делаем это с середины 90-х годов.

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

Не стоит забывать, что мы вошли в так называемую эру Интернета вещей, искусственного интеллекта, виртуальной реальности, машинного обучения – все вы слышали эти модные слова. Я рассматриваю искусственный интеллект как новый рубеж в тестировании встроенного ПО, но не в плане написания или выполнения тестов. Нет, я не настолько оптимистичен. И все же искусственный интеллект представляется мне потенциально очень мощным инструментом, действующим как всеобъемлющая экспертная система. Используя входные данные о встроенной системе и аппаратных компонентах, он мог бы предупредить тестировщиков о наличии «узких мест» и несоответствий и даже предложить наиболее подходящий набор тестов для обеспечения полного покрытия требований к продукту.

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

— Вячеслав Ванюлин, Генеральный директор, Аурига

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

Новости

Аурига снова в числе лидеров по развитию инноваций и качеству услуг

Аурига снова в числе лидеров по развитию инноваций и качеству услуг

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

Аурига запустила обновленный официальный сайт

Аурига с радостью сообщает о запуске обновленного официального сайта компании! Новый удобный дизайн, четко структурированная информация об услугах и экспертизе, онлайн-портфолио самых интересных проектов и...

Аурига снова вошла в рейтинг Global Outsourcing 100®

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

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