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