1. Наличие интерфейса для тестирования на стадии дизайна продукта

Зачем так делать? Подсоединяем Продукт к тестовой станции через тестовый интерфейс и Ethernet. Так же вас спросят, как примерно будет работать станция, и что необходимо делать оператору.

Задача: Компания (далее Компания) разрабатывает и выпускает некоторый продукт (далее Продукт). У вас есть некоторый опыт лабораторного тестирования, но нет накопленного опыта работы с фабрикой. Информация представлена в виде большого «чеклиста» из действий, которые необходимо сделать, с пояснениями и примерами.

Пусть интерфейс есть в дизайне. По умолчанию они включат в документацию тестирования на Линии все, что можно. Не поддавайтесь. Пример. Продукт тот же, что и ранее. Ставят задачу проверить выходной уровень сигнала (мощность).

1. Наличие интерфейса для тестирования на стадии дизайна продукта

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

10. Считывание показаний с тестируемого продукта

Дизайн – ваше все. Логическая схема структуры вашей программы должна быть максимально гибкой. Пользоваться вашим продуктом будут обученные операторы. Однако, доступа в сеть на проверку пропуска сотрудника у тестовой станции может не быть, так что авторизация должна быть сделана (еще и) локально. То есть обязательно сделать каждый тест отдельным и независимым от остальных.

С еще большего расстояния должен видеть это обучающий или проверяющий инженер, который будет находится за спиной у оператора. Это связано с тем что оператор, проводя тестирование, отсеивает брак, основываясь на результатах вашей программы. Ж). С UI есть один трюк, который может спасти вам кучу времени, и который никто не далет, это тестовый режим для вашей программы. В этом тестовом режиме отсутствует тестируемый Продукт, но программа будет работать так, как будто он есть, только на много быстрее.

Обычно на Заводе вам дают некий шаблон отчета результата тестирования, который многие хардкодят в свой продукт. Аналогично в случае если ваш Продукт отправляется дальше Заказчику1 и Заказчику2, у которых разные требования к шаблонам приемочной документации. Проблема в том, что необходимо будет полностью совершать примеку вашей программы на фабрике с полным набором документов.

Необходимо создать программное обеспечение для проверки Продукта на сборочной линии (далее Линия) некоторой сторонней или принадлежащей компании фабрике (далее Завод). Цель: Грамотно сгладить ошибки разработки тестового ПО для фабрики, допускаемые в процессе жизненного цикла Продукта. В данной заметке я поделюсь своим опытом, накопленным за последние 4 года. Надеюсь, он позволит вам сэкономить лишние человеко-часы и нервы, повысив при этом качество выпускаемого продукта.

Вам немедленно последует возражение, что на любой плате есть тестовые точки и контактные разъемы некоторых портов. Обратитесь к разработчикам железа и ПО Продукта и выясните, не противоречит ли правилам, нормам и стандартам безопасности данный интерфейс.

11. Тестирование Продукта

Мысли о том, что порты не уберут, и вы через них будете посылать тестовые команды, вызывать некоторые API, могут быть очень опасны. Общение с портом в конечной версии Продуктового ПО может быть просто заблокировано. В идеальном случае, он может быть открыт только на вывод информации.

Не помешает и бдительность при переходе с одной версии железа на другую (P0 —> P1 —> …), волшебный порт может так же волшебно исчезнуть. Менеджмент HW команды и их решения не постоянны. Простой вольтметр может быть прикручен к бетонной плите, только для того чтобы избежать падения вследствие вибраций конвейера.

Здесь необходимо иметь четкую картину отличия лабораторных тестов (одно устройство из партии проходит проверку) и производственных тестов (каждое устройство проходит проверку). Разработчики железа и Продуктового ПО – параноики. Требования на тесты в машину HWщики пишут сами. Обязательно пройдитесь по всем и задайте вопросы: «Что вы хотите проверить этим тестом (покрыть этим требованием)? И почему вы это хотите проверить?

5. Лабораторные тесты и автоматизация

Да ведь тест занимает всего 3 секунды!!!» — «Да, тест – 3 секунды. Подключение устройства на тест 1 минуту, итого для одного устройства 63 секунды, на 100 000 устройств это займет 70 человеко-дней». Убедитесь, что все договоренности закреплены на бумаге, так как машина будет сделана и сдана строго по документации. Все, что вы оставите в документе, будет производственным тестом.

И все это необходимо делать в одно и тоже время, и без дополнительного шага типа проверки баджика. Более того на Линии Продукт проходит несколько этапов тестирования. Там решили, что будут использовать ваш продукт для тестирования голой борды после прошивки и готового Продукта (борда в корпусе в сборе с остальными частями). А ведь браузер будет использован для тестирования 1000 устройств, плюс этот метод еще и медленный. Так же должен быть легкий способ у привилегированных лиц заносить и удалять ID операторов из локального реестра пользователей.