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

Статьи

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

Июль 3, 2018

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

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

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

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

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

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

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

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

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

Новости

Auriga Baltics вновь получила сертификат “The Strongest in Lithuania”

Auriga Baltics вновь получила сертификат “The Strongest in Lithuania”

Auriga Baltics, инженерный центр Ауриги в Вильнюсе, снова получил сертификат «The Strongest in Lithuania». Вот уже в третий раз Auriga Baltics признана одной из наиболее

Аурига стала партнером компании Aquantia по разработке ПО

Вобурн, Массачусетс – Аурига, одна из лидирующих компаний в сфере разработки программного обеспечения на заказ, вошла в число первых партнеров компании Aquantia по разработке ПО....

Аурига открывает новый центр разработки в России

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

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