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