В этом руководстве вы узнаете
- Что такое встроенные системы?
- Что такое встроенное тестирование?
- Типы тестирования встроенного программного обеспечения
- Разница: встроенное тестирование и тестирование программного обеспечения
- Проблемы: тестирование встроенного программного обеспечения
Что такое встроенные системы?
Встроенные системы - это устройства с электронным управлением, в которых программное и аппаратное обеспечение тесно связаны. Встроенные системы могут содержать множество вычислительных устройств. Это ПК, встроенные в другие устройства для работы с функциями конкретного приложения. Конечный пользователь обычно даже не подозревает об их существовании.
Встроенное тестирование
Встроенное тестирование - это процесс тестирования для проверки функциональных и нефункциональных атрибутов как программного, так и аппаратного обеспечения во встроенной системе и обеспечения отсутствия дефектов в конечном продукте. Основная цель встроенного тестирования - проверить и подтвердить, соответствует ли конечный продукт встроенного оборудования и программного обеспечения требованиям клиента.
Тестирование встроенного программного обеспечения проверяет и гарантирует, что соответствующее программное обеспечение хорошего качества и соответствует всем требованиям, которым оно должно соответствовать. Тестирование встроенного программного обеспечения - отличный способ гарантировать безопасность в критически важных приложениях, таких как медицинское оборудование, железные дороги, авиация, автомобилестроение и т. Д. Строгое и тщательное тестирование имеет решающее значение для получения сертификата программного обеспечения.
Как выполнить тестирование встроенного программного обеспечения
В общем, вы проводите тестирование по четырем причинам:
- Чтобы найти ошибки в программном обеспечении
- Помогает снизить риск как для пользователей, так и для компании
- Снижение затрат на разработку и обслуживание
- Для повышения производительности
Во встроенном тестировании выполняются следующие действия:
1. Программное обеспечение снабжено некоторыми входами.
2. Выполняется часть программного обеспечения.
3. Наблюдается состояние программного обеспечения, и выходные данные проверяются на предмет ожидаемых свойств, таких как соответствие выходных данных ожидаемым результатам, соответствие требованиям и отсутствие сбоев системы.
Типы тестирования встроенного программного обеспечения
По сути, существует пять уровней тестирования, которые можно применить к встроенному ПО.
Модульное тестирование программного обеспечения
Единичный модуль - это функция или класс. Модульное тестирование выполняется командой разработчиков, в первую очередь разработчиком, и обычно проводится в рамках модели экспертной оценки. На основе спецификации модуля разработаны тест-кейсы.
Интеграционное тестирование
Интеграционное тестирование можно разделить на два сегмента:
- Тестирование интеграции программного обеспечения
- Тестирование интеграции программного и аппаратного обеспечения.
В конце тестируется взаимодействие аппаратной области и программных компонентов. Это может включать изучение взаимодействия между встроенными периферийными устройствами и программным обеспечением.
Разработка встроенного программного обеспечения имеет уникальную особенность, которая фокусируется на реальной среде, в которой выполняется программное обеспечение, обычно создается параллельно с программным обеспечением. Это создает неудобства для тестирования, поскольку комплексное тестирование не может быть выполнено в смоделированных условиях.
Системное модульное тестирование
Теперь тестируемый модуль представляет собой полную структуру, которая состоит из полного программного кода, а также всей операционной системы реального времени (RTOS) и частей, связанных с платформой, таких как прерывания, механизмы задания задач, коммуникации и так далее. Протокол Point of Control больше не является вызовом функции или вызовом метода, а скорее является сообщением, отправленным / полученным с использованием очередей сообщений RTOS.
Системные ресурсы наблюдаются для оценки способности системы поддерживать выполнение встроенной системы. Для этого аспекта предпочтительным методом тестирования является тестирование серого ящика. В зависимости от организации, модульное тестирование системы является обязанностью разработчика или специальной группы системной интеграции.
Тестирование системной интеграции
Тестируемый модуль начинается с набора компонентов в одном узле. Точки контроля и наблюдения (PCO) представляют собой сочетание сетевых протоколов связи и RTOS, таких как сетевые сообщения и события RTOS. В дополнение к компоненту виртуальный тестер также может играть роль узла.
Проверочное тестирование системы
Тестируемый модуль - это подсистема с полной реализацией или полная встроенная система. Целью этого заключительного теста является соответствие функциональным требованиям внешнего объекта. Обратите внимание, что внешним объектом может быть либо человек, либо устройство в телекоммуникационной сети, либо и то, и другое.
Разница: встроенное тестирование и тестирование программного обеспечения
Тестирование программного обеспечения | Встроенное тестирование |
---|---|
Тестирование программного обеспечения относится только к программному обеспечению. | Встроенное тестирование относится как к программному обеспечению, так и к оборудованию. |
В среднем 90% тестов в мире - это чисто ручное тестирование методом черного ящика. | Встроенное тестирование выполняется на встроенных системах или микросхемах, это может быть тестирование «черного ящика» или «белого ящика». |
Основными областями тестирования являются проверки графического интерфейса, функциональность, проверка и некоторый уровень тестирования базы данных. | Первичные области тестирования - это поведение оборудования при отсутствии ошибок. вкладов, предоставленных ему. |
Тестирование программного обеспечения в основном выполняется для клиент-серверных, веб-приложений и мобильных приложений. | Встроенное тестирование, как правило, выполняется на оборудовании. |
например, Google Mail, Yahoo Mail, приложения для Android. | например, «Машины медицинского назначения», «Микроконтроллеры, используемые в компьютерах». |
Проблемы: тестирование встроенного программного обеспечения
Некоторые из проблем, с которыми можно столкнуться во время тестирования встроенного программного обеспечения:
Зависимость от оборудования
Зависимость от оборудования - одна из основных трудностей, с которыми сталкиваются при тестировании встроенного программного обеспечения из-за ограниченного доступа к оборудованию. Однако эмуляторы и симуляторы могут не точно отображать поведение реального устройства и могут дать неверное представление о производительности системы и удобстве использования приложения.
Программное обеспечение с открытым исходным кодом
Большинство встроенных программных компонентов имеют открытый исходный код, они не созданы собственными силами, и для них не существует полного тестирования. Существует широкий спектр тестовых комбинаций и результирующих сценариев.
Программные и аппаратные дефекты
Другой аспект - когда программное обеспечение разрабатывается для только что созданного оборудования, во время этого процесса может быть выявлено большое количество аппаратных дефектов. Обнаруженный дефект не ограничивается программным обеспечением. Это также может быть связано с аппаратным обеспечением.
Воспроизводимые дефекты
В случае встроенной системы труднее воспроизвести / воссоздать дефекты. Это заставляет встроенную процедуру тестирования оценивать каждое возникновение дефекта значительно выше, чем в стандартном случае, за исключением сбора как можно большего количества данных, которые могут потребоваться для изменения системы, чтобы найти причину дефекта.
Постоянные обновления программного обеспечения
Встроенные системы требуют регулярных обновлений программного обеспечения, таких как обновление ядра, исправления безопасности, различные драйверы устройств и т. Д. Ограничения, связанные с влиянием обновлений программного обеспечения, затрудняют идентификацию ошибок. Кроме того, это увеличивает важность процедуры сборки и развертывания.
Резюме
Есть некоторые трудности при тестировании встроенного программного обеспечения, что делает его более сложным, чем обычное тестирование программного обеспечения. Самая фундаментальная проблема - это сильная зависимость от аппаратной среды, которая готовится одновременно с программным обеспечением и которая регулярно требуется для выполнения надежного тестирования программного обеспечения. Иногда даже трудно протестировать программное обеспечение без специальных инструментов, что делает сосредоточение на тестировании на поздних этапах исключительно заманчивым.
Одна из самых важных вещей, о которой вы должны подумать, - это то, что вам следует часто выбирать автоматическое тестирование программного обеспечения. Встроенное автоматическое тестирование - это более быстрый процесс, который займет несколько часов, и таким образом проблема вашего программного обеспечения решена.