Наш проект имеет очень сложную структуру: один только раздел может иметь документацию более чем на 100 страниц. Плюсом, конечно, идет паровоз из недокументированных фич и индивидуальных “хотелок” заказчика, которые начинающие члены команды могут принять за баги.
К счастью, в нашей компании существует и активно развивается направление по работе со студентами и начинающими специалистами. Недостаток с кадрами легко можно устранить, но вот как быстро подключить новичка к работе? Было решено внедрить подробные тест-кейсы, описывающие весь набор функций проекта. Для решения задачи на первом этапе мы решили не гнаться за платными решениями, а использовать одну из бесплатных систем управления тестами. Выбор пал на TestLink.
Внедрение
Сам TestLink написан на PHP, и особых проблем с установкой не возникло. Мы создали базу данных, дали права на папочки, и установка прошла как по маслу.
Далее мы завели в системе проект, создали структуру проекта и начали писать тесты. Сама цель внедрения данной системы заключалась в том, чтобы мы смогли выявить полезность или бесполезность подобных систем для наших проектов.
Как мы используем ресурсы команды и TestLink
После того, как мы написали и проверили свои тесты, пришло время опробовать систему на людях. Мы распределили готовые тесты среди начинающих сотрудников и стажеров. Первый же прогон показал, что использование подробных тестов позволило найти множество багов в потаенных местах проекта, куда обычно не дотягивались руки в силу приоритетности работы других фич.
TestLink в настоящее время используется не в полную силу. Он включает возможность использования не только тестов, но и условий. Использование условий видится очень перспективной возможностью данной системы. Условия относятся к тестам как многие ко многим, что позволяет реализовать несколько следующих моделей использования:
- Связать тесты, затрагивающие один и тот же набор функций, одним условием. Это позволит эффективно и быстро создавать инкрементные прогоны, например, для горячих исправлений.
- Вынести в условия некоторые ограничения, которые должны быть достигнуты для удачного прохождения теста.
Ввиду того, что наши тесты пока не успели обзавестись условиями, ниже мы не будем о них упоминать.
Влияние TestLink на качество тестирования
Качество тестирования после внедрения TestLink, однозначно, возросло. Мы очень благодарны этой системе управления тестами за подробные отчеты после прогона тестов и за то, что она познакомила нас с тем, как необходимо подходить к тестированию. Сейчас мы имеем неплохую отлаженную систему тестирования своего проекта, благодаря которой новый сотрудник спустя буквально полдня будет полностью включен в работу с проектом и, самостоятельно сделав прогон всех тестов, сможет понять до 80% функций проекта.
Плюсы и минусы TestLink
Несмотря на все достоинства, столкнулись мы и с рядом недостатков системы. Естественно, всё очень субъективно, и для других компаний наши претензии будут казаться необоснованными. Мы не исключаем, что возможно, некоторые из недостатков можно устранить, изучив документацию или покопавшись немного в коде, но цель стояла немного иная. Нам было необходимо быстро оценить ценность подобной системы внутри нашей компании.
Достоинства:
- Развитая система ролей. Очень гибко можно настроить доступы для разных сотрудников и так же оперативно отнять эти самые права.
- Простая и понятная система структурирования проекта. Проект — Группа тестов — Тест — Шаги (Рис. 2).
- Легкое распределение тестов между тестировщиками. Можно выбирать группы тестов или отдельные тесты, а также просто скопировать распределение тестов из прошлого релиза (Рис. 3).
- Красивые отчеты по прогонам в разных форматах, в том числе с возможностью отправки по почте всем ответственным и заинтересованным результатами сотрудникам (Рис. 4).
Недостатки:
- Нет ссылок на отдельные страницы внутри системы. Вместо того, чтобы послать коллеге ссылку, приходится называть проект, группу тестов и номер теста.
- Проблема с версионностью тестов. В нашем случае с настройками по умолчанию невозможно просмотреть разные версии тестов из окна прогона тестов или в разделе редактирования, выбрав Compare versions.
- Интеграция с Redmine. Она есть, но не удалось ее полностью настроить на работу с нашим Redmine с ходу в обе стороны (необходимы или дополнительные плагины, или разрешения).
- Юзабилити. Без подготовки не очевидно, какие кнопочки нажимать, чтобы всё работало (Рис. 1).
Мини-обзор возможностей TestLink
Продемонстрируем работу системы на примерах из наших проектов. Полный обзор системы делать не имеет смысла. Основной посыл, в данном случае, направлен на то, чтобы показать, как выглядит система внутри, и сможете ли вы с ней ужиться или не стоит даже устанавливать. Поэтому мы опустим этапы установки системы на сервер, а также этапы заведения проекта.
Первое, что видит тестировщик, открыв TestLink ‒ это стартовый экран (Рис. 1).
Рис. 1 ‒ Стартовый экран работы с проектом в TestLink
Отсюда начинается любая активность в проекте. Здесь выполняется:
- редактирование/создание тестов;
- назначение пользователей, ответственных за прогон;
- создание сборок;
- редактирование настроек самого проекта.
Страница редактирования тестов включает в себя такие возможности, как:
- создание/редактирование нового теста;
- создание/редактирование группы тестов;
- работа с версиями тестов;
- создание/редактирование шагов в тестах.
Рис. 2 ‒ Редактирование тестов в TestLink
Далее рассмотрим распределение тестов по тест-планам.
Для этого следует разбить тесты на различные группы, которые затем могут использоваться для прогонов, подходящих под заданные условия. На рисунке 3 видно, что в данном случае тесты распределены по видам тестирования, которые мы проводим для выбранного проекта. Для других проектов у нас есть различные варианты разбиения на тест-планы, например, на проектах, где нет разделения тестов по группам и нужно каждый раз прогонять все тесты без исключения, мы завели тест-планы для Production и Staging окружений.
Рис. 3 ‒ Редактирование тест-плана
Назначать тесты членам вашей команды очень просто. В левой части окна (рис. 4) можно выбрать как один тест, так и группу тестов, а также использовать фильтры для поиска нужных тестов. Затем можно назначить тестровщика, ответственного за прогон конкретного теста на конкретной платформе, с помощью чек-боксов и выпадающих списков в правой части раздела.
Рис. 4 ‒ Распределение задач по тестировщикам в TestLink
После распределения тестов прогон выглядит, как на рисунке 5. На нем доступно следующее:
- Описание всех шагов, которые необходимо выполнить;
- Поле для ввода замечаний;
- Отметка о пройденности теста.
Кроме перечисленных элементов, можно увидеть и дополнительную информацию:
- Предыдущие прогоны;
- Платформа, на которой необходимо осуществить проверку;
- Описание сборки продукта;
- Описание тест-плана (не отображено на рисунке 5).
Рис. 5 ‒ Прогон тестов в TestLink
Сразу после распределения тестов мы уже можем наблюдать за появлением данных по отчетам тестировщиков в разделе “Отчеты” TestLink. В разделе представлено множество опций:
- Слежение за результатами прогона;
- Экспорт в популярные форматы;
- Отправка отчетов по почте заинтересованным лицам;
- Группировка тестов по различным признакам, представленным в левой части рисунка 6.
Рис. 6 ‒ Система формирования отчетов о прогонах в TestLink
Заключение
Надеюсь, наш опыт внедрения TestLink откроет для вас новые горизонты. Возможно, кто-то наконец откажется от ведения документации в таблицах. Нам бы хотелось услышать в комментариях ваше мнение о TestLink или о подобных разработках, как вы их используете, какова степень интеграции ваших инструментов, что удобно и неудобно.
This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий