В чем разница между software, hardware и firmware тестированием?

«В чем разница между software, hardware и firmware тестированием?» — вопрос из категории Основы тестирования, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Эти виды тестирования различаются объектом проверки и требуемыми навыками.

Тип тестирования Объект проверки Примеры задач Инструменты/Навыки
Software Testing Прикладное программное обеспечение (веб, мобильные, десктопные приложения). Проверка функциональности, UI/UX, безопасности, производительности, API. Selenium, Postman, JUnit, нагрузочные тесты.
Hardware Testing Физические компоненты и устройства (чипы, платы, датчики, готовые изделия). Проверка на перегрев, электромагнитную совместимость, механическую прочность, срок службы. Осциллографы, термокамеры, специализированные стенды.
Firmware Testing Встроенное ПО, «прошивка», управляющая конкретным hardware (микроконтроллеры, IoT-устройства). Тестирование обновлений (OTA), низкоуровневых драйверов, взаимодействия с железом, энергопотребления. Эмуляторы, JTAG-отладчики, логические анализаторы, языки C/Assembler.

Простая аналогия:

  • Hardware — это тело (телефон).
  • Firmware — это нервная система и рефлексы (прошивка камеры).
  • Software — это мысли и сознание (приложение Instagram).

Firmware — это связующий слой между «железом» и высокоуровневым софтом.