Компания AMD открыла код платформы для организации процесса тестирования - TapperКомпания AMD открыла исходные тексты системы Tapper, разработанной в дрезденском Центре разработки операционных систем (amd64.org). Система Tapper создана для обеспечения работы инфраструктуры, ориентированной на выполнение всех аспектов тестирования программного обеспечения, операционных систем и технологий виртуализации. Используя Tapper группы по контролю качества программного обеспечения могут организовать проведение всего жизненного цикла тестирования, от планирования и выполнения тестовых заданий, до генерации отчетов. Код Tapper доступен под лицензией BSD. Проект написан на языке Perl с использованием стандартных CPAN-модулей. Система разработана в виде набора модулей, связанных между собой через стандартные интерфейсы. Ключевым звеном системы является серверный процесс, координирующий выполнение тестов и сохраняющих результаты. Подобный подход позволяет упростить адаптацию пакета для различных уровней оценки качества, от простейших измерений производительности и вывода результатов, до создания автоматизированных систем проверки работоспособности группы серверов, учитывающих особенности развернутой инфраструктуры виртуализации и генерирующих детальные отчеты с оценкой полученных данных. Для формирования результатов тестирования используется стандартный протокол TAP (Test Anything Protocol). Алгоритм проведения тестов можно оформить на Shell, Perl и Python. Результирующие данные могут быть сохранены в соответствии с определенной пользователем моделью объектно-реляционного маппинга данных, по умолчанию поддерживаются MySQL и SQLite. Загрузка тестовых окружений может быть организована с использованием PXE, GRUB, TFTP, NFS. Проект Tapper может использоваться совместно с фреймворком autotest.kernel.org, используемом для тестирования работоспособности различных компонентов Linux-ядра. Ключевые особенности Tapper: Автоматизация Загрузка тестовых окружений по сети и их конфигурирование; Инсталляция с использованием готовых образов установленной системы или установка штатными средствами с задействованием таких технологий, как kickstart и autoyast; Поддержка тестирования систем внутри виртуализированных окружений Xen и KVM, а также проверка работоспособности в сочетании с различными типами дистрибутивов (RHEL, SLES, Debian) Возможность подстановки нужных пакетов, программ и файлов на заданный хост или в заданное виртуальное окружение; Контроль за исполнением тестовых скриптов на заданном хосте или виртуальном окружении; Гибкая обработка таймаутов для всего цикла тестирования. Планирование Оптимизация тестирования при нехватке машин для выполнения большого числа сценариев тестирования; Возможность смешивания очередей проведения тестов для различных областей тестирования с разной пропускной способностью; Выбор хоста для проведения тестирования с учетом заданных параметров (размер ОЗУ, число процессороных ядер, тип производителя и т.п.); Автоматическое перестроение очереди при непрерывном тестировании; Использование сценариев, охватывающих несколько хостов; Веб-интерфейс Поддержка высокоуровневой оценки результатов тестирования и возможность охвата всех результатов в одном окне; Обзорные списки состояния тестирования и детализированные отчеты. Подсвечивание статуса выполнения теста цветом (зелёный, желтый, красный); Возможность фильтрации результатов по времени, тестовым заданиям, хостам, статусу выполнения; RSS-лента для слежения за выполнением тестов; Контроль запуска тестовых наборов; Оценка результатов Программируемый API для взаимодействия с web-фронтэндом; Поддержка выполнения сложных запросов к базе данных с результатами тестирования, комбинируя SQL и XPath-запросы. Подробнее об интерфейсе для формирования запросов можно прочитать в данной презентации; Планирование проведения тестов Возможность определения плана выполнения тестов, комбинируя разнообразные возможности Tapper; Средства для управления иерархией спецификаций с определением тестовых планов; Поддержка взаимодействия с ПО TaskJuggler для автоматического планирования и генерации отчетов; Возможные области применения Тестирование ядра (стресс-тестирование, оценка работоспособности функций, выполнение перезагрузки); Тестирование систем виртуализации (KVM, Xen); Тестирование комбинации результатов работы на физических хостах и под управлением систем виртуализации; Тестирование дистрибутивов и компиляторов; Оценка производительности.
Распечатано с HostDB.ru.
|