Разработчики проекта openSUSE представили [4] новый открытый тестовый фреймворк openQA [5], позволяющий в полностью автоматическом режиме проводить всестороннее тестирование работоспособности различных компонентов дистрибутивов, от таких стадий как работа загрузчика, инициализация и загрузка ядра, до проверки отдельных графических приложений, таких как Firefox и LibreOffice. Пакет не ограничен поддержкой openSUSE и может использоваться для тестирования Fedora, Ubuntu, Debian, FreeBSD и даже OpenIndiana. Код openQA полностью открыт и распространяется в рамках лицензии GPLv2.
В основе openQA лежат две независимые подсистемы: тестовый пакет OS-autoinst [6] и реализация управляющего web-интерфейса [5]. OS-autoinst является изначально многоплатформенным приложением, позволяющим протестировать любую систему, которая может быть запущена в виртуальной машине (используется KVM и Qemu). Тестирование может проводится как для системы установки и обновления дистрибутива, так и для проверки типичных операций с приложениями в графической оболочке.
Особый интерес представляет метод проведения тестирования - на различных стадиях работы дистрибутива и при запуске различных приложений создаются скриншоты, которые сравниваются с эталонными снимками экрана для определения пройден очередной тест или нет. При этом OS-autoinst выполняет определенные сценарии работы пользователя с системой, симулируя ранее записанные действия с клавиатурой и мышью. Система не просто манипулирует сравнением скриншотов, но и пытается отреагировать на текущее содержимое экрана, с учетом разнообразных отклонений, что позволяет продолжить тестирование даже при возникновении проблем.
Управляющий Web-интерфейс пока поддерживает только работу в openSUSE, так как интегрирован с некоторыми сервисами проекта, но в будущем будет адаптирован и для других систем. Через web-интерфейс инженер по контролю качества может наглядно оценить суть проблемы - формируется сводный отчет, а для каждой внештатной ситуации создаются скриншоты. Весь процесс тестирования фиксируется в форме видеоролика (примеры видео [7]). В настоящее время openQA уже используется для еженощного тестирования сборок на базе репозитория 'Factory', в рамках которого формируется выпуск openSUSE 12.1.
Ссылки:
[1] http://htfl.ru/cat-news-opensuse
[2] http://htfl.ru/cat-news-novosti
[3] http://htfl.ru/cat-news-novosti-po
[4] /out.php?link=http://news.opensuse.org/2011/10/11/opensuse-announces-first-public-release-of-openqa/
[5] /out.php?link=http://openqa.opensuse.org/
[6] /out.php?link=http://www.os-autoinst.org/
[7] /out.php?link=http://video.os-autoinst.zq1.de/opensuse/video/