/ About / In the media / Obninsk 2005 thesis
en | ru
Михаил Якшин
Москва, ALT Linux

Система автоматизированного тестирования и контроля качества оборудования “Inquisitor”

Система Inquisitor разрабатывалась по заказу MaxSelect как открытая система автоматизированного полного тестирования компьютеров в промышленных масштабах. Основная цель системы – тестирование надежности работы как отдельных комплектующих машины, так и всех их вместе как единого комплекса.

С помощью системы решаются следующие задачи:

1. Разнообразное и полное тестирование отдельно взятой машины; 2. Прошивка серийных номеров и выполнение иных технологических операций; 3. Обновление BIOSов; 4. Ведение базы данных по протестированным компьютерам, сбор и хранение детализированной информации об их компонентах; 5. Наблюдения состояния тестового стенда в реальном времени, учет работы операторов тестирования; 6. Установка программного обеспечения на протестированные машины (OEM-версия ALT Linux Compact);

Технологически система Inquisitor работает по принципу, по которому работает большинство LiveCD/DVD систем: некий загрузчик загружает ядро и минимальный initrd, который подгружает необходимые модули и подключает уже полноценный образ Live-системы либо по полноценным сетевым протоколам (NFS), либо с диска. Затем система производит детект оборудования (hotplug/libhw) и переходит к выполнению основной программы тестирования.

Изначально система разрабатывалась как самодостаточная единичная система, состоящая из сервера, предоставляющего сервисы загрузки по PXE (серверы dhcp/tftp) и файловую систему Live-образа через NFS, но применение системы показало ее перспективность и были созданы несколько вариантов сборок:

1. Inquisitor Enterprise Notebook / Desktop- полная система, тестирующая ноутбуки / desktop’ы;

2. Inquisitor Pro – система для дилеров и продавцов, не включая в себя всех элементов производственного процесса (в частности, прошивки серийных номеров и полноценного доступа к центральной информационной базе);

3. Inquisitor Service – система, обладающая максимальными возможностями по управлению ее поведением (для сервис-центров);

4. Inquisitor LiveCD/DVD – версия, загружающаяся с CD/DVD, позволяющая провести автономное тестирование и выгрузить отчет о нем на внешний носитель (дискету, USB-накопитель и т.п.)

Все существующие Inquisitor’ы, тестирующие оборудование MaxSelect, объединяются в одну сеть с помощью информационной базы. Информационная база – центральное место пересечения всех информационных потоков подобного компьютерного производства и сопровождения: туда стекается информация о производстве (Inquisitor), торговая информации (из торговых баз), информация о поддержке (системы сервиса и службы поддержки), информация от конечных пользователей (с сайта www.maxselect.ru) и т.п. Отчеты, выгруженные Inquisitor LiveCD/DVD на внешний носитель, также могут быть загружены в информационную базу.

С технической точки зрения, Inquisitor представляет собой некий вариант инсталляции (дистрибутив) ALT Linux, использующий репозитарий Sisyphus в качестве базы, собирающийся с помощью separator как загрузчик (нулевая стадия), некий загрузочный образ (первая стадия) и Live-образ (вторая стадия). В зависимости от варианта сборки, может быть собран как NFS-образ, так и ISO-образ CD/DVD.

В Inquisitor входят следующие тесты, большинство из которых основаны на свободном программном обеспечении с некоторыми доработками:

  • CPU: проверка процессора под нагрузкой (cpuburn, mencoder) и скейлинга (libhw/cpufreq);
  • Память и видеопамять: mx/memtest – userspace тест памяти;
  • HDD: SMART-проверка – smartctl;
  • Нагрузочное тестирование: сборка пакетов в rpm/hasher;
  • Оптический привод: запись и чтение диска cdrecord/readcd;
  • Видеокарта: демо-версии коммерческих игр (UT2004, Doom 3), а также свободные игры и 3D engines (Tenebrae, Vegastrike, Crystal Space);
  • Матрица, батарея: собственные разработки.

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

По мере развития стало ясно, что система позволяет не только проверять стабильность оборудования, но и проводить другие тесты. Например, данные системы могут быть использованы в качестве benchmark: FPS в 3D-тестах, производительность в тестах процессора и памяти, время жизни от батареи и т.п.

С помощью системы может быть реализована программа сертификационных испытаний конфигураций оборудования: устанавливаются дополнительные мониторинги (температуры, напряжения и т.п.) – если некая конфигурация проходит жесткие тесты в этих условиях, не выходит за установленные рамки показателей мониторинга и обеспечивает адекватное быстродействие по benchmark’овым показателям – она сертифицируется.

Еще одно перспективное применение системы – определение совместимости оборудования с системами на базе ALT Linux, составление с ее помощью hardware compatibility lists.