International conference of developers
and users of free / open source software

Использование Open Source проектов для обеспечения качества ПО

Кушниревская А.В. – QA Engineer, SaM Solutions, Минск, Беларусь – h.kushnireuskaya@gmail.com

LVEE 2007

В докладе рассмотрена возможность использования проектов open source для обеспечения качества ПО. Выделены основные особенности систем отслеживания дефектов (bug/issue tracking systems) и систем управления процессом разработки.

Одна из главных задач, которая стоит перед индустрией программных средств — это обеспечение качества выпускаемых ПС. В настоящий момент имеется достаточно много специальных инструментов обеспечения качества, которые в зависимости от назначения делятся на:

- системы отслеживания дефектов и запросов на изменение (bug/issue tracking systems);
- системы управления процессом разработки: системы трекинга задач (task-tracking systems) и системы управления проектами (project management software);
- средства тестирования (software testing tools).

Рассмотрим более детально возможности свободно-распространяемых ПС обеспечения качества.

Системы отслеживания дефектов и запросов на изменение (bug/issue tracking systems) предназначены для учета дефектов и запросов и их контроля на протяжении всего жизненного цикла.

Наиболее распространенными bug/issue tracking системами являются Bugzilla (лицензия Mozilla Public License), Mantis (GNU GPL), Trac (BSD), eTraxis (GNU GPL), IssueTrackerProduct (ZPL), Eventum(GNU GPL), Scarab(Apache/BSD), GNATS, GIFFT и др.

Общие особенности данных систем:
- построены по принципу «клиент-сервер» с использованием web-интерфейсов;
- независимы от ОС;
- поддержка различных коммерческих и свободно распространяемых СУБД (MySQL, MSSQL, PostgreSQL или Oracle);
- авторизованный доступ к системе позволяет организовать разделение прав доступа и назначить роли – разработчик, менеджер проекта, заказчик, тестировщик и пр.;
- автоматические уведомления по e-mail на различные типы событий, связанных с записями по дефектам;
- возможность добавления файлов к отчетам о найденных дефектах и запросах на изменение;
- история событий и внесения изменений по заданиям (дефектам) и пользовательские комментарии представлены в стиле форума;
- настраиваемый пользовательский интерфейс – возможность локализации, фильтрации данных;
- поддержка Active Directory (LDAP) (eTraxis, Bugzilla);
- построение различной аналитической и статистической информаций (например, проектных метрик), возможность представления полученной информации, как в табличном, так и в графическом виде.

Таким образом, т.к. большинство систем отслеживания дефектов имеет почти одинаковую функциональность, то при выборе системы для вашего проекта следует руководствоваться не только программными требованиями, но и уделять особое внимание на удобство пользовательского интерфейса, наличие документации, и на соответствие жизненного цикла проекта (и дефектов в частности) модели жизненного цикла разрабатываемого программного средства. Оптимальным выбором может являться система, гибкая в конфигурации, например Bugzilla или Mantis.

К системам управления процессом разработки (трекинга задач и времени) относятся Project/Open, Achievo (GPL), WebCollab (GPL), TaskJuggler (), PHProjekt, PMI, dotProject.

Основными особенностями данных систем являются:
- построены по принципу «клиент-сервер» с использованием web-интерфейсов;
- управление проектами, задачами, участниками проектов, различными документами, ресурсами и шаблонами;
- персональный лист заданий (to-do list) для каждого из участников;
- регистрация затраченного времени (количество часов на проект, на задачу, недельная занятость), автогенерация еженедельных отчетов затраченного времени;
- календарь (индивидуальный, проектный), возможность составления рабочего расписания с учетом выходных и праздников;
- возможность генерации отчетов во внешние файлы (например, документы OpenOffice (Achievo), HTML и XML файлы (TaskJuggler), PDF-файлы);
- анализ рисков;
- построение различной аналитической и статистической информации, возможность представления полученной информации в табличном и графическом виде (например, в виде графиков Гантта (GANTT) – поэтапного изображения продолжительности работ во времени);
- авторизованный доступ позволяет организовать разделение прав доступа, назначить роли – разработчик, менеджер проекта, заказчик, тестировщик и пр.;
- автоматические уведомления по e-mail на различные типы событий, связанных с записями по заданиям, созданием новых задач, и др.

Такие системы, как Project View (GPL), Trac (BSD), Track+ Issue Tracking System, т.е. системы менеджмента качества, объединяют в себе функции bug-tracking систем и систем управления проектом.

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

Существующая особенность проектов Open Source распространяется и на ПС обеспечения качества: фирмы-разработчики предоставляют платную поддержку своих продуктов.