Тестирование системы домашней автоматизации является сложной задачей. По моему опыту много профессиональных инсталляторов не проводят тестирование должным образом, оставляют клиентов неудовлетворёнными и в результате снижают итоговую прибыль проекта. Вот список того, что я наблюдал за последние 12 лет на объектах в инсталляциях аудио/видео оборудования и систем управления:

  • Не проводится многоуровневое тестирование;
  • Отсутствует план тестирования в письменном виде;
  • Тестирование проводит программист вместо отдельного человека;
  • План тестирования не содержит методологии или недостаточно детален;
  • После внесения изменений не выполняется повторное тестирование.

Рассмотрим каждый из этих пунктов подробнее

Многоуровневое тестирование

Тестирование – это не просто поиск багов в системе автоматизации. Это проверка того насколько проект соответствует потребностям и ожиданиям клиента. Поэтому первый уровень тестирования должен выявлять насколько система управления удовлетворяет потребности конечного заказчика.

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

Вторым уровнем тестирования должна проверка на удобство использования системы. Те вещи, которые имеют смыл для программиста далеко не всегда имеют смысл для конечного заказчика. К сожалению, мой опыт говорит о том, что программисты имеют тенденцию к усложнению системы.

Например, при использовании голосового управления для включения света с большим количеством групп, опытный программист при получении команды «включи свет», настроит систему таким образом, что она задаст уточняющий вопрос: «какой именно свет вы хотите включить?». И система задаст уточняющий вопрос, даже если для комнаты назначена группа свет по-умолчанию с названием «свет» и именно её клиент захочет включать/выключать в 99%: случаев.

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

Наконец, третий уровень тестирования состоит в том, чтобы проверить то, что всё сделано в интерфейсе на самом деле работает, а это означает, что должна быть проверена каждая функция.