QaTraq
Введение[править | править код]
QaTraq — инструмент управления тест кейсами(test case managment) и требованиями.
- OpenSource;
- PHP, MySQL;
- Базовая версия бесплатна, за деньги можно заказать поддержку и custom-доработку.
Объекты системы[править | править код]
Карта объектов[править | править код]
Основные объекты (документы) в QaTraq можно представить на следующей карте-диаграмме (с гиперссылками):
У параметра json недопустимое значение digraph G{
node[shape="box", style="filled", fillcolor="yellow"];
Product [label="Product", URL="#Product", peripheries=4]; Component [label="Component", URL="#Component"]; Requirement [label="Requirement", URL="#Requirement"]; Phase [label="Phase", URL="#Phase", peripheries=4]; Design [label="Design", URL="#Design", peripheries=4]; Project [label="Project", URL="#Project", peripheries=4]; Plan [label="Plan", URL="#Plan", peripheries=4]; Script [label="Script", URL="#Script", peripheries=4]; Result [label="Result", URL="#Result"]; TestCase [label="TestCase", URL="#TestCase", peripheries=4];
//Описание 1:m-отношений между обьектами
edge[arrowhead="crow"]; Phase->Plan->Design->Script->Result; Product->Component->TestCase; Product->Requirement; Product->Script; Project->Plan;
//Описание m:n-отношений между обьектами
edge[arrowhead="crow",arrowtail="crow"]; Script->TestCase; Requirement->TestCase;
}.
Обьекты, отмеченные на диаграмме «множественными бордюрами» хранятся с контролем версий.
Нижеперечисленные типы объектов имеют стандартные префиксы использующиеся для формирования ID:
Так объекты с версиями имеют идентификаторы в виде ZZZ##-#.#, где ZZZ-префикс, тип объекта, потом номер идентификатора и номер версии в формате major.minor, а объекты без версий имеют идентификаторы в виде ZZZ##.
Phase[править | править код]
Фазы тестирования, например:
- unit testing;
- GUI testing;
- system testing.
Т.е. фазы — способ группировки планов тестирования. Если нет необходимости делить планы на фазы, можно не создавать (изначально имеется одна фаза, которую можно использовать по умолчанию).
- Префикс идентификатора
- TPH
Смысловые атрибуты:
- Title
- Заголовок;
- Content
- HTML-описание.
Plan[править | править код]
План тестирования. Может содержать как произвольное текстовое описание, так и дополнительную информацию, например: привязку по времени, графики Ганта и т.п.
[[#ref_{{{1}}}|↑]] План не привязан к отдельному продукту, т.е. один и тот же план можно использовать при тестировании различных продуктов.
- Префикс идентификатора
- TPL
Смысловые атрибуты:
- Title
- Заголовок;
- Content
- HTML-текст плана;
- Phase
- Фаза, к которой относится план;
- Attachements
- Файловые вложение.
Design[править | править код]
Уровень иерархии между планом тестирования и скриптами(списками) тест кейсов для объединения их по фунциональности.
- Префикс идентификатора
- TDG
Смысловые атрибуты:
- Title
- Заголовок;
- Content
- HTML-текст;
- Plan
- План, к которому относится дизайн.
Script[править | править код]
Набор(список) тест кейсов.
- Префикс идентификатора
- TSC
Смысловые атрибуты:
- Title
- Заголовок;
- Content
- HTML-текст;
- Design
- Дизайн, к которому относиться этот список.
- Product (version)
- Продукт, причем конкретная версия, который нужно тестировать этим набором тестов.
- OS
- Операционная система;
- Platform
- Аппаратная платформа;
- Tester
- Назначенный тестировщик.
TestCase[править | править код]
Тест-кейс, тест-сценарий. Основной документ системы.
- Префикс идентификатора
- TCA
Смысловые атрибуты:
- Title
- Заголовок;
- Content
- HTML-текст, содержание/сценарий тест-кейса;
- Product/Component
- Компонент продукта. В различных версиях одного документа, возможны ссылки на разные компоненты, но одного и того же продукта.
- Attachments
- Файловые вложения.
- Requirements
- Покрываемые этим кейсом требования. (Управления требованиями, определение полноты покрытия требований тест-кейсами и т.п.).
Product[править | править код]
Программный (возможно и не программный) продукт, который тестируется.
Смысловые атрибуты:
- Name
- Имя продукта (Может изменятся, а ID продукта - числовой и скрыт от пользователя);
- Description
- HTML-описание;
Включает в себя компоненты и требования. Ведутся версии продукта.
Component[править | править код]
Компонент продукта. Может отражать архитектурное (или какое-либо иное) деление.
Смысловые атрибуты:
- Component Name
- Название компонента (Может изменятся, а ID - числовой и скрыт от пользователя);
- Component Owner
- Ответственный за компонент.
- Description
- HTML-текст требования;
Requirement[править | править код]
Требования к продукту (в виде текстовых описаний+ссылка).
Используется для управления требованиями, так каждый тест кейс опционально привязан к требованию и можно получать отчеты по выполнению требований. Например: пройдены ли все тест-кейсы, проверяющие выполнение данного требования?
- Префикс идентификатора
- REQ
Смысловые атрибуты:
- Title
- Заголовок;
- Content
- HTML-текст требования;
- Product
- Продукт.
- Attachments
- Файловые вложения.
- URL
- Ссылка на внешний документ, где, возможно поддерживаются (актуализируются требования). Это может быть специализированная система управления требованиями или просто система хранения документов, Wiki-система или даже каталог офисных файлов.
Query[править | править код]
Запросы написанные на SQL для получения данных из базы QaTraq, некая расширенная функциональность отчетов которые можно писать самому получая практически любую требуемую информацию из базы.
Показываться они правда будут не так красиво, как у отчетов (т. е. без гиперссылок, только автоматически формируемая по SQL-запросу таблица).
- Префикс идентификатора
- QRY
Смысловые атрибуты:
Report[править | править код]
Отчеты, специально предустановленные в системе. Можно формировать новые из предустановленных блоков (некий конструктор запросов). Сами блоки (SQL-запрос +метаинформация) тоже можно делать новые, но не через интерфейс.
В отличие от запросов отчеты показываются более удобно, с гиперссылками на выбранные запросом объекты.
- Префикс идентификатора
- RPT
Смысловые атрибуты:
Role[править | править код]
Роли пользователей. Включает описание роли и права выданные этой роли ввиде простой таблицы:
- объект системы/права в ячейки
- галочка выдано/нет.
{{{1}}} |
Т.е. нет системы прав аналогичной Bugzilla, где права выдаются по продуктам.
User[править | править код]
Пользователи системы. Атрибуты: логин, имя, пароль, базовая роль, еще дополнительные роли. Один пользователь может иметь более одной роли.
Функциональность[править | править код]
Контроль версий[править | править код]
Практически все объекты в QaTraq хранятся с контролем версий (Cм. #Объекты системы).
[[#ref_{{{1}}}|↑]] Номер версии строится major.minor и расположен после дефиса в идентификаторе объекта, например TPL-1-0.4 — первый план тестирования, версия 0.4.
С контролем версий не хранятся следующие объекты:
- требования;
- запросы (Queries);
- отчеты (Reports);
- компоненты продукта.
{{{1}}} |
Инструмента сравнения версий нет. Доступ к предыдущим версиям в интерфейсе возможен, если при запросе поиска объекта убрать галочку «Latest Version».
Управление тест кейсами[править | править код]
QaTraq позволяет создавть тест кейсы и организовывать их в иерархию «Phase→Plan→Design→Script» (См. #Объекты системы).
Соотносить тест-кейсы с требованиями, компонентами. Делать отчеты по выполненым тест-кейсам.
Результаты тестирования можно связывать с конкретной версией продукта.
Управление требованиями[править | править код]
Функциональность управление требованиями в QaTraq исключительно базовая:
Шаблон:No Нет
- Версионности требований;
- Классификации (кроме как по продукту);
- Отчеты о покрытии тестовыми сценариями требований.
Интеграция с Bugzilla[править | править код]
Для каждого результата (Results) есть список тест кейсов с их статусом (not nested, fail, ..). В случае если статус для данного тест кейса совпадает fail, можно заполнить его список багов(defect list). В нем присутствует кнопка enter defect, которая есть просто ссылка на форму создания бага Bugzillа. Затем ссылку на новый баг и его краткое описание надо руками ввести в список как url. Это удобным считать нельзя, но тем не менее ссыки в Bugzilla работают.
Отчеты[править | править код]
Имеется набор базовых отчетов (Report), так и возможность построения произвольных отчетов Queries с использованием зарегистрированных произвольных SQL-запросов (в этом случае, разумеется, требуется знание внутренней структуры БД системы).
Администрирование[править | править код]
В администрировании пользователей используется стандартная схема «пользователи/роли» и выдача прав на отдельные типы объектов.
Почти все типы объектов имеют следующие виды прав (соответствующих возможным действиям через интерфейс):
- view
- modify
- new
- delete
- copy
Разделения прав по компонентам или другим экземплярам объектов нет, деление прав только по типам объектов.
Заметки по опыту использования[править | править код]
- Шаблон:No Отрицательные моменты.
- при создании тест кейса необходимо каждый раз проводить поиск, указывать продукт, затем выбирать из списка компонент для данного тест кейса, что
- сильно увеличивает число лишних действий (движений и кликов);
- в принципе решается копированием тест-кейса, но при этом, привязка к test script все равно не копируется.
- то же самое при создании других объектов: test design, test script и т. д. для них надо каждый раз указывать «родительский», «владеющий ими» объект. Неудобно, можно ошибиться и создать свой объект в другом проекте.
- неглубокая структура внутри продукта, только один уровень — компоненты.
(Т.е. когда в тесте возникла ошибка, она локализуется не очень глубоко).
- приятная возможности делать аттачменты к разным документам (тест кейсам, test design, test script, результатам, планам тестирования).
- Русификация
Перед использование в русскоязычных проектах, возможно потребуется некоторая правка кода (чтобы в базе данные лежали в корректной кодировке). Так, например, если Apache для вашей инсталляции QaTraq настроен отдавать страницы в кодировке UTF-8:
AddDefaultCharset utf-8
то в db_qatraq.php после строчки (успешное соединение) <code-php>
$this->dbh = $li;
</code-php> разумно добавить выставление правильной кодировки MySQL-клиента: <code-php>
$this->execute('set names utf8');
</code-php>
Аналогичная правка желательна и в случае других кодировок веб-сервера (cp1251 и т.п.)
Ccылки[править | править код]
По крайней мере часть этого текста взята с ресурса http://lib.custis.ru/ под лицензией GDFL.Список авторов доступен на этом ресурсе в статье под тем же названием.