Разработчики проекта openSUSE представили новый открытый тестовый фреймворк openQA, позволяющий в полностью автоматическом режиме проводить всестороннее тестирование работоспособности различных компонентов дистрибутивов, от таких стадий как работа загрузчика, инициализация и загрузка ядра, до проверки отдельных графических приложений, таких как Firefox и LibreOffice. Пакет не ограничен поддержкой openSUSE и может использоваться для тестирования Fedora, Ubuntu, Debian, FreeBSD и даже OpenIndiana. Код openQA полностью открыт и распространяется в рамках лицензии GPLv2.

В основе openQA лежат две независимые подсистемы: тестовый пакет OS-autoinst и реализация управляющего web-интерфейса. OS-autoinst является изначально многоплатформенным приложением, позволяющим протестировать любую систему, которая может быть запущена в виртуальной машине (используется KVM и Qemu). Тестирование может проводится как для системы установки и обновления дистрибутива, так и для проверки типичных операций с приложениями в графической оболочке.

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

Управляющий Web-интерфейс пока поддерживает только работу в openSUSE, так как интегрирован с некоторыми сервисами проекта, но в будущем будет адаптирован и для других систем. Через web-интерфейс инженер по контролю качества может наглядно оценить суть проблемы - формируется сводный отчет, а для каждой внештатной ситуации создаются скриншоты. Весь процесс тестирования фиксируется в форме видеоролика (примеры видео). В настоящее время openQA уже используется для еженощного тестирования сборок на базе репозитория 'Factory', в рамках которого формируется выпуск openSUSE 12.1.



Источник: http://www.opennet.ru/opennews/art.shtml?num=32017