Как организовать процесс учета и выдачи тестовых устройств

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

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

Если у вас в компании всего несколько тестовых девайсов и с ними постоянно работают один-два тестировщика, то здесь подойдет самое простое решение: вики-страница или гугл-документ. Но если тестировщиков больше трех, начинаются проблемы. Так, когда в нашей команде было всего пять тестировщиков и мы вели вики-страницу, уже тогда я начал сталкиваться с некоторыми ограничениями такого подхода.

Например:

  • когда тестировщики брали устройство, они иногда забывали отмечать это на «Вики», и приходилось искать и выяснять, у кого какой девайс;

  • если за устройствами приходили тестировщики из других команд, нам приходилось отвлекаться, выдавать девайсы и фиксировать всё на «Вики».

А поскольку команд, которым периодически что-то нужно проверить на мобильном устройстве, в нашей компании много, то приходилось делать это достаточно часто.

Сейчас парк тестовых мобильных устройств компании насчитывает свыше 80. Ответственность за каждое из них лежит на мне, и, естественно, я хочу понимать:

  • у кого сейчас какой телефон или планшет;

  • какие из устройств сейчас свободны;

  • в каком они состоянии.

Я решил модернизировать подход к учету тестовых устройств и определил ряд требований к разрабатываемой системе. Так, система должна:

  1. Хранить базу всех имеющихся у нас устройств, их технические характеристики и версии операционной системы.

  2. Фиксировать устройство за конкретным сотрудником, если он берет девайс.

  3. Списывать устройство с конкретного сотрудника, если он возвращает девайс.

  4. Хранить историю по использованию устройств.

  5. Обеспечивать постоянную зарядку и готовность к работе всех тестовых девайсов.

  6. Иметь систему нотификаций для автоматического оповещения сотрудников о необходимости вернуть устройство в шкаф.

  7. Иметь веб-интерфейс, где любой сотрудник может посмотреть, какие девайсы сейчас свободны, и забронировать себе необходимые.

Собрав инициативную группу тестировщиков мобильной команды, мы приступили к реализации плана.

Стенд тестовых устройств v.1.0 (СТУ-1.0)

  1. Шкаф с несколькими полками, на которых располагались устройства.

  2. Рядом висел планшет, к которому был подключен RFID -считыватель.

  3. Для планшета нами было написано приложение, которое отвечало за процесс взятия/возврата устройств в шкаф.

  4. У каждого устройства было свое место на полке, а на задней крышке располагался QR-код.

Алгоритм взятия/возврата устройства:

  1. Тестировщик подходит, прикладывает пропуск к RFID-считывателю, в приложении открывается экран и включается передняя камера на планшете.

  2. Тестировщик берет нужное ему устройство и сканирует QR-код с задней крышки. Таким образом отсканированное устройство фиксируется за конкретным сотрудником.

  3. После того как тестировщик отсканировал одно или несколько устройств, он нажимает кнопку «Завершить», сессия пользователя закрывается и все устройства записываются на него.

  4. Процесс возврата устройств схож: прикладываем пропуск, сканируем QR, возвращаем девайс в его ячейку, подключаем зарядный провод.

Данный вариант отлично себя зарекомендовал – у нас получился прозрачный процесс. Но, как говорится, нет предела совершенству.

Стенд тестовых устройств V.2.0 (СТУ-2.0)

Что улучшили:

1. Доступ к шкафу.

Проблема:

В версии СТУ-1.0 девайсы лежат в открытом шкафу, есть возможность взять их без сканирования. Хотя такой кейс достаточно редкий, но иногда случается, например, если в компанию пришел новенький и еще не знает правил работы со шкафом тестовых устройств. Плюс каждое утро ответственный должен открыть ключом шкаф, а вечером закрыть его, дабы не оставлять все устройства без присмотра.

Решение:

У версии СТУ-2.0 в роли замка выступает Promix-SM101.11 НЗ (Шериф-1), 24 В. Данный механизм соединен с Raspberry Pi, который в свою очередь общается с Mac Pro. Когда сотрудник прикладывает пропуск к считывателю, идет проверка пользователя в базе, и, если все хорошо, замок открывается, предоставляя доступ к широкому выбору устройств в шкафу. В остальных случаях шкаф закрыт.

Ограничение доступа к шкафу электронными средствами обеспечило:

  • безопасность самих устройств;

  • отпала необходимость в дежурном;

  • полностью исключена возможность взять устройство без фиксации данной активности.

2. Сканирование QR

Проблема:

В версии СТУ-1.0 необходимо отсканировать QR-код каждого взятого или возвращенного устройства, вернуть их в конкретные ячейки и подключить питание.

Решение:

В СТУ-2.0, когда сотрудник прикладывает пропуск, идет проверка в базе на соответствие, и, если система убедилась, что такой сотрудник есть в базе, дверь открывается и стартует сессия пользователя. А когда шкаф закрывается, сессия завершается и система опрашивает Raspberry Pi, что в них есть, сравнивает с тем, что было до начала сессии, а весь дифф списывает или записывает на пользователя.

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

Почему именно Raspberry Pi?

В основе нашего шкафа стоит Mac Pro, но сам по себе он способен распознать только 18 устройств (1 USB Hub с 12 девайсами и 1 USB Hub с 6 девайсами). Мы решили сделать наш шкаф модульным, чтобы он был расширяем и взаимозаменяем в случае поломки. Теперь у нас несколько Raspberry Pi, к ним подключены USB Hub’ы с 10 устройствами в каждом, а уже они, в свою очередь через свитч, подключены к Mac Pro. Это позволяет контролировать все устройства в системе.

Опрашивая Raspberry Pi, система понимает, к какому хабу подключен тот или иной девайс, на какой полке и в какой ячейке он находится.

Схема выглядит следующим образом:

3. Веб-интерфейс

Кроме того, в версии СТУ-2.0 реализован веб-интерфейс, в котором можно посмотреть:

• какие устройства сейчас находятся в тестовом стенде;

• какие устройства находятся на руках у тестировщиков;

• технические характеристики устройств;

• история каждого девайса с информацией, кто его брал за последнее время;

• прочая служебная информация.

Это добавляет прозрачности работе с тестовыми устройствами – всегда понятно, что, где и у кого находится. Удобный способ выявления и оповещения должников.

Метрики

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

4. Карма

Если пользователь часто нарушает правила, скажем не возвращает девайсы вовремя, у него изменяется значение «Карма». При достижении определенного порога шкаф больше не будет открываться данному пользователю, а администратор будет видеть таких должников и проводить с ними разъяснительную работу. Это позволяет точечно воздействовать на нарушителей и добавляет элемент геймификации.

Планы по улучшению

Сейчас проводим ресерч на тему раскатки тестовых билдов на все устройства или выборочно. Доделываем веб-интерфейс и готовим возможность бронирования устройств.

Итог

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