<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Alex Sergeev @ ALSEDI &#187; jira</title>
	<atom:link href="http://alsedi.com/blog/tag/jira/feed/" rel="self" type="application/rss+xml" />
	<link>http://alsedi.com/blog</link>
	<description>Блог о собственных наблюдениях, ошибках и находках в QA, софтверном бизнесе и жизни.</description>
	<lastBuildDate>Fri, 26 Mar 2010 21:08:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Test &amp; Test Case Management in Jira [инструменты]</title>
		<link>http://alsedi.com/blog/test-test-case-management-part-2/</link>
		<comments>http://alsedi.com/blog/test-test-case-management-part-2/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 22:37:15 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[QA]]></category>
		<category><![CDATA[jira]]></category>
		<category><![CDATA[tcms in jira]]></category>
		<category><![CDATA[test case management]]></category>
		<category><![CDATA[test management]]></category>
		<category><![CDATA[тесткейсы]]></category>
		<category><![CDATA[управление тестами]]></category>
		<category><![CDATA[фильтры]]></category>

		<guid isPermaLink="false">http://alsedi.com/blog/?p=761</guid>
		<description><![CDATA[Части:
1. Условности
2. Реализация
3. Автоматизации работы &#8211; вы тут
4. Создание отчетов
5. Связь с другими проектами
Во многом, для того чтобы работать с системой, о которой я рассказал в первых двух частях, достаточно возможностей самой Jira. Чтобы отслеживать текущее состояние по проектам, вполне подходит совмещение фильтров (по проекту и статусу Open) и дашбордов.  Но на мой взгляд это [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Части:</strong><br />
1. <a href="http://alsedi.com/blog/test-test-case-management-in-jira-part-0/">Условности</a><br />
2. <a href="http://alsedi.com/blog/test-test-case-management-part-1/">Реализация</a><br />
3. <a href="http://alsedi.com/blog/test-test-case-management-part-2/">Автоматизации работы</a> &#8211; <em>вы тут</em><br />
4. Создание отчетов<br />
5. Связь с другими проектами</p>
<p>Во многом, для того чтобы работать с системой, о которой я рассказал в первых двух частях, достаточно возможностей самой Jira. Чтобы отслеживать текущее состояние по проектам, вполне подходит совмещение фильтров (по проекту и статусу Open) и <a href="http://alsedi.com/blog/tag/dashboard/">дашбордов</a>.  Но на мой взгляд это не слишком интересно отслеживать работу конкретно по тест кейсам. Интереснее оперативно получать информацию о тех кейсах, которые показали ошибки (Resolution: Failed). Для того, чтобы работа была приятнее, нужно настроить какие поля будут отображаться для этого фильтра. Делается это прямо из навигатора по задачам, пункт справа вверху <strong><span style="text-decoration: underline;">Set</span> Column Order for filter</strong>.</p>
<p>Я использую следующие поля: Priority,Key, Summary, Status, Assignee, Fix Version,Links, Created, Updated. А когда смотрю на табличку анализирую записи вот так. Смотрю, есть ли внешние ссылки (Links). Если есть, то просматриваю сначала описание тест кейса для теста (там так же могут быть внешние ссылки) и после смотрю внешние ссылки для этого теста. Если ссылок нет и  приоритет выше, чем Major смотрю дату создания и последнего обновления и комментарии по тест кейсу и тесту. Если ничего нет запрашиваю объяснения у человека, который выполнил тестирование (Assignee) и его лида (тут уже достаточно памяти). Такой подход не позволяет решить проблему обмена информацией и своевременной актуализации тест кейсов. Например существовавшая функциональность сильно изменилась в новой версии, но информация об этом будет в несена  в тест кейсы только после того, как изменения будут проанализированы тестерами. К этому времени тест кейсы могут быть уже пройдены. Вместе с тем это достаточно надежный способ для того, чтобы поддерживать актуальную информацию о регрессионных проблемах при тестировании.</p>
<p>Итак, что легко можно автоматизировать при работе с TCMS средствами Jira, например:</p>
<ul>
<li>Получение актуального статуса по объему оставшейся и выполненной работы (фильтр, либо отчет. Project Pivot Report, например);</li>
<li>Получение статуса по загрузке участников группы в тестирование по тест кейсам (фильтр + портлет Pie Chart);</li>
<li>Составление календаря с указанием предполагаемых сроков завершения тестирования по каждому тесту [правда, обычно по всем разом] (фильтр + портлет Issue Calendar);</li>
<li>Получение актуального статуса по упавшим тестам (фильтр);</li>
<li>Получение отчётов по проделанной работе  (отчеты по проекту);</li>
<li>Получение списка изменений в тест кейсах (фильтр по Update After/Before);</li>
<li>Получение списка автоматических тестов (фильтр);</li>
<li>Получение отчета по загрузке работой по людям и по версиям (снова отчеты по проекту);</li>
</ul>
<p>В общем то, всё что касается отчётов и вытягивания информации по задачам можно сделать стандартными средствами. Но вот управлять задачами на тестирование уже так легко не получится. Стандартными средствами нельзя создать множество подзадач или задач и поставить правильные линки. Даже через массовые операции (Bulk Operations) этого сделать нельзя.  Я когда, при проектировании столкнулся с этой проблемой сильно задумался. Три дня, пока создавал сабтаски руками, думал о том, что вся предыдущая работа вот-вот пойдёт насмарку, потому что работа с системой требовала неадекватного количества операций, длительных по времени, что делало систему нерабочей в тех объемах в которых хотелось. А хотелось не только управлять тест кейсами, но контролировать тестирование по ним.</p>
<p>Решений, в итоге, было несколько (в порядке появления):</p>
<p>1. Забыть про создание отдельных задач (тестов) к тест кейсам и обойтись одной общей (Test by Test Cases, а в описании давать список ссылок). Проблему этот подход не решал.</p>
<p>2. Доработать Jira, чтобы можно было создавать сабтаски массово. После реализации оказалось, что это не эффективно и отнимало слишком много ресурсов на серверной стороне.</p>
<p>3. Разработать плагин для Jira. Идея сразу умерла, уже не помню почему.</p>
<p>4. Использовать XML-RPC. Вот это уже прижилось, хотя всё-равно потребовались небольшие доработки в Jira. Оказалось, что в RPC так же нет возможности создавать подзадачи, хотя просто задачи создавать можно. А в Jira отличие задачи от подзадачи только в её типе (Issue Types) и том, что у подзадачи ссылка на родительскую задачу не пустое значение. <a href="http://jira.atlassian.com/browse/JRA-6896">Не смотря на просьбы участников</a>, эта возможность еще не добавлена в официальный плагин XML-RPC. Большой привет Atlassian. Но никто не мешает внести изменения самостоятельно. К сожалению плагин, который опубликован в таске <a href="http://jira.atlassian.com/browse/JRA-6896">JRA-6896</a> не работает с версиями старше 3.10, придётся править исходники, которые поставляются вместе с используемой версией Jira (не самая сложная работа).</p>
<p>В результате я написал несколько простых программ, которые позволили сделать рутинную работу намного проще и быстрее.</p>
<p>Самой первой появилась программа для создания подзадач. Напомню, что в описанной структуре тест кейс представлен как задача верхнего уровня, а тест (как действие) представлен подзадачей и создается для каждой версии попавшей в тестирование (в идеале).</p>
<p><img class="alignnone" title="Создание подзадач" src="http://www.alsedi.com/blog/blogimg/jira/tcms-create-subs.jpg" alt="" width="433" height="407" /></p>
<p>Она позволяет залогинится, получить список фильтров, получить список задач по выбранному фильтру и создать подзадачи. При создании подзадача формируется из данных тест кейса и данных логина в Jira.</p>
<p>В итоге подзадача состоит из:</p>
<p>- <strong>Summary</strong> -  Тема (Summary) тест кейса с префиксом Test ( например, TEST &#8211; Check login form)</p>
<p>- <strong>Reporter</strong> &#8211; имя залогинившегося пользователя</p>
<p>- <strong>Assignee</strong> &#8211; Никого (Unassigned).</p>
<p>- <strong>Fix For, Affected Version, Component, Original Estimate, тип теста (автоматический/ручной) и Labels.</strong> Копируются из тест кейса.</p>
<p>Такой набор данных позволяет четко идентифицировать ответственных людей, область воздействия теста и затраты по времени не заглядывая в тест кейс.</p>
<p>Ответственный (Assignee) за тестирование проставляется позже через Bulk Operations, либо точечно.</p>
<p>Вторая программа позволила быстро создать костяк отчёта по тестированию и включить в него задачи из разных проектов и автоматически отслеживать актуальный статус.</p>
<p><img class="alignnone" title="Создание страницы в Confluence" src="http://www.alsedi.com/blog/blogimg/jira/tcms-create-page.jpg" alt="" width="530" height="672" /></p>
<p>Тут уже использовалось соединение через XML-RPC с Confluence и с Jira. Вообще, я только когда разобрался в этих возможностях понял, что оба продукта разрабатывают разные группы, со своим взглядом (и похоже они иногда вынашивают планы взаимного тотального уничтожения).</p>
<p>В плагине для Confluence не пришлось что-либо менять. Эта программа вытаскивает версии из нескольких проектов в Jira, подставляет нужные темплейты (с тест планом, тест кейсами, найденными багами)  и каким то волшебным способом создаёт страницу в Confluence.</p>
<p>Это уже не столько относится к автоматизации работы по получению данных или управлению массой задач, сколько к созданию отчётов и представления актуального статуса тестирования. Основная идея в том, что большинство задач по манипуляциям с информацией в Jira можно сделать с помощью RPC, при этом, для представления результатов лучше использовать стандартные средства и не изобретать велосипед.</p>
]]></content:encoded>
			<wfw:commentRss>http://alsedi.com/blog/test-test-case-management-part-2/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Jira: Personal (Team Member) Dashboard</title>
		<link>http://alsedi.com/blog/jira-personal-team-member-dashboard/</link>
		<comments>http://alsedi.com/blog/jira-personal-team-member-dashboard/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 17:52:16 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[QA]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[jira]]></category>
		<category><![CDATA[team]]></category>
		<category><![CDATA[team member]]></category>
		<category><![CDATA[департамент qa]]></category>
		<category><![CDATA[менеджмент]]></category>

		<guid isPermaLink="false">http://alsedi.com/blog/?p=769</guid>
		<description><![CDATA[Персональный дашборд, такой сделан на каждого члена команды, в том числе и на меня.

На нём используется всего три портлета:

 Time Sheet Summary на одну неделю. Позволяет оперативно видеть какими задачами и сколько времени (через Worklog) занимался сотрудник;
 Issue Calender с опцией показа крайнего срока (Due date). Позволяет определить сколько задач в ближайшее время должны быть [...]]]></description>
			<content:encoded><![CDATA[<p>Персональный дашборд, такой сделан на каждого члена команды, в том числе и на меня.</p>
<p><img class="alignnone" title="Jira: Personal Dashboard" src="http://alsedi.com/blog/blogimg/jira/jira-personal-dashboard.png" alt="" width="400" height="243" /></p>
<p>На нём используется всего три портлета:</p>
<ul>
<li> <strong>Time Sheet Summary</strong> на одну неделю. Позволяет оперативно видеть какими задачами и сколько времени (через Worklog) занимался сотрудник;</li>
<li> <strong>Issue Calender</strong> с опцией показа крайнего срока (Due date). Позволяет определить сколько задач в ближайшее время должны быть завершены;</li>
<li> <strong>Show Saved Filter With Columns</strong> с фильтром по открытым задачам на человека, показывает сколько всего задач, с каким сроком и приоритетом висят на сотруднике.</li>
</ul>
<p>Остальные дашборды можно посмотреть <a href="http://alsedi.com/blog/jira-team-dashboard/">тут</a> и <a href="http://alsedi.com/blog/jira-bug-tracking-dashboard/">тут</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://alsedi.com/blog/jira-personal-team-member-dashboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Test &amp; Test Case Management in Jira [реализация]</title>
		<link>http://alsedi.com/blog/test-test-case-management-part-1/</link>
		<comments>http://alsedi.com/blog/test-test-case-management-part-1/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 15:18:01 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[QA]]></category>
		<category><![CDATA[jira]]></category>
		<category><![CDATA[tcms in jira]]></category>
		<category><![CDATA[test case management]]></category>
		<category><![CDATA[test management]]></category>
		<category><![CDATA[управление тест кейсами]]></category>
		<category><![CDATA[управление тестами]]></category>

		<guid isPermaLink="false">http://alsedi.com/blog/?p=624</guid>
		<description><![CDATA[Части:
1. Условности
2. Реализация &#8211; вы тут
3. Автоматизации работы
4. Создание отчетов
5. Связь с другими проектами
Это вторая часть серии статей про создание системы управления тестами и тест кейсами в Jira, без использования дополнительных плагинов и доработок.
В статье много картинок и имеет смысл её сначала прочесть целиком (а так же предыдущую часть, про условности), а потом повторить шаг [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Части:</strong><br />
1. <a href="http://alsedi.com/blog/test-test-case-management-in-jira-part-0/">Условности</a><br />
2. <a href="http://alsedi.com/blog/test-test-case-management-part-1">Реализация</a> &#8211; вы тут<br />
3. <a href="http://alsedi.com/blog/test-test-case-management-part-2/">Автоматизации работы</a><br />
4. Создание отчетов<br />
5. Связь с другими проектами</p>
<p><em>Это вторая часть <a href="http://alsedi.com/blog/tag/tcms-in-jira/">серии статей</a> про создание системы управления тестами и тест кейсами в Jira, без использования дополнительных плагинов и доработок.</em></p>
<p><em>В статье много картинок и имеет смысл её сначала прочесть целиком (а так же <a href="http://alsedi.com/blog/test-test-case-management-in-jira-part-0/">предыдущую часть</a>, про условности), а потом повторить шаг за шагом.</em></p>
<p><em><span id="more-624"></span><strong>Создание проекта</strong></em></p>
<p><em>Проект добавляется через <strong>Administration</strong> &gt; <strong>Projects</strong> &gt; <strong>Add Project</strong><br />
<!-- img class="alignnone" title="Добавление проекта в Jira" src="http://www.alsedi.com/blog/blogimg/jira/tcms-addproject.png" alt="" width="562" height="654" / --></em></p>
<p><em>Ключ проекта (Key) выбирать нужно обдуманно, потому что потом только его нельзя будет изменить. После создания проекта появится вот такая страница.</em></p>
<p><em><img class="alignnone" title="Новый проект" src="http://www.alsedi.com/blog/blogimg/jira/tcms-projectman.png" alt="" width="639" height="440" /></em></p>
<p><em>Схема ниже показывает что и в какой последовательности будет изменено в настройках проекта, её полезно держать перед глазами.</em></p>
<p><em><img class="alignnone" title="Зависимости между схемами" src="http://www.alsedi.com/blog/blogimg/jira/tcms-jira-scheme-links.png" alt="" width="811" height="382" /></em></p>
<p><em>Чтобы не запутаться потом в схемах нужно сначала определить правила именования схем и полей. Например можно делать так:</em></p>
<table border="0">
<tbody>
<tr>
<td>Test Cases</td>
<td>Название проекта</td>
</tr>
<tr>
<td>Test Cases Field Configuration</td>
<td>Конфигурация полей</td>
</tr>
<tr>
<td>Test Cases Field Configuration Sheme</td>
<td>Схема конфигурации полей</td>
</tr>
</tbody>
</table>
<p><em>Во время написания статьи я использовал тот же принцип, только добавил название группы проектов перед его именем, получилось TC Demo.</em></p>
<h3><em>Новые типы задач</em></h3>
<p><em>Новые типы задач можно добавить через <strong>Administration</strong> &gt; <strong>Issue Settings</strong> (слева колонка) &gt; <strong>Issue Types</strong> &gt; <strong>Add New Issue Type</strong> (в Jira 3 – внизу страницы). Нужно добавить два новых типа:</em></p>
<ol>
<li><em> <strong>TestCase</strong>, как <strong>Standard Issue Type</strong>, для хранения сценариев и прочих атрибутов тест кейса.</em></li>
<li><em> <strong>Test</strong>, как <strong>Sub-Task Issue Type</strong>, для управления тестированием по тест кейсам.</em></li>
</ol>
<p><em>Ради развлечения стоит поменять иконки (например взять из блока Адама Гушера, там обалденные жучки).</em></p>
<p><em>По умолчанию созданные типы задач сразу попадают в основную схему (Default Issue Type Scheme). Оттуда их можно убрать, но это не обязательно.</em></p>
<p><em>Там же, но на вкладке <strong>Issue Types Scheme</strong> нужно создать новую схему и ассоциировать с ней созданные типы задач. Не помешает так же <strong>задать TestCase как основной тип задач</strong> для этой схемы. Просто для экономии времени при заполнении в будущем.<br />
<img class="alignnone" title="Issue Type Scheme" src="http://alsedi.com/blog/blogimg/jira/tcms-issuetype-scheme.png" alt="" width="699" height="481" /></em></p>
<p><em>После создания схема не будет привязана ни к одному из проектов. Установить эту схему для проекта можно прямо со страницы со списком схем, нажав Associate (если надо сразу несколько проектов добавить — самое то), либо через страницу администрирования проекта.</em></p>
<h3><em>Дополнительные поля для тест кейсов</em></h3>
<p><em>Дополнительные поля добавляются через <strong>Administration</strong> &gt; <strong>Issue Fields</strong> (колонка слева) &gt; <strong>Custom Fields</strong> &gt; <strong>Add Custom Field</strong></em></p>
<p><em>Полей потребуется всего четыре. Первые три, позволят хранить основные данные по тест кейсу.</em></p>
<table style="border: 1px solid #efefef;" border="0">
<tbody>
<tr>
<td><strong>Pre-conditions</strong></td>
<td>Free Text Field (unlimited text)</td>
<td>Состояние системы до теста. В том числе настройки и специальные значения параметров.</td>
</tr>
<tr>
<td><strong>Steps</strong></td>
<td>Free Text Field (unlimited text)</td>
<td>Шаги теста</td>
</tr>
<tr>
<td><strong>Post-conditions</strong></td>
<td>Free Text Field (unlimited text)</td>
<td>Состояние системы после теста (если необходимо сравнивать).</td>
</tr>
</tbody>
</table>
<p><em>По умолчанию значение всех полей такое (это разметка wiki):<br />
<code><br />
|| Step || Action || Expected Result ||<br />
| | | |<br />
</code><br />
А отображаться будет вот так:</em></p>
<p><em><img title="Wiki табличка, после генерации" src="http://www.alsedi.com/blog/blogimg/jira/tcms-wiki-table.png" alt="" width="182" height="45" /></em></p>
<p><em>Последнее, четвёртое поле, предназначено только для выбора из существующих опций и используется для сортировки автоматических и ручных тестов.</em></p>
<table style="border: 1px solid #efefef;" border="0">
<tbody>
<tr>
<td><strong>Test Case State</strong></td>
<td>Multi Select</td>
<td></td>
</tr>
</tbody>
</table>
<p><em>Этот параметр может иметь сразу несколько значений. В сам список достаточно добавить Manual (выбрано по умолчанию) и Automated. В моём случае их комбинация позволяет определить состояние автоматизации тест кейса.</em></p>
<table style="border: 1px solid #efefef;" border="0">
<tbody>
<tr>
<td><strong>Manual</strong></td>
<td>Для ручного тестирования</td>
</tr>
<tr>
<td><strong>Manual, Automated</strong></td>
<td>Показывает, что тест кейс либо отправлен на автоматизацию, либо автоматизирован, но так же его можно перепроверить руками (например, если тест часто падает или его результатам не доверяют, но и изменить или отключить его нельзя).</td>
</tr>
<tr>
<td><strong>Automated</strong></td>
<td>Автоматический тест</td>
</tr>
</tbody>
</table>
<p><em>В зависимости от условий эти поля можно привязать либо к определённому типу задач, либо к проекту, либо к тому и другому — для порядка.</em></p>
<h2><em><strong>Создание конфигурации полей</strong></em></h2>
<blockquote><p><em>Хозяйке на заметку: В Jira, кроме стандартных полей, можно создать собственные поля самого разного типа от простых текстовых до календаря. Для каждого своего поля можно специально указать контекст использования &#8211; в каких проектах или задачах это поле может быть использовано. Чем проще эти настройки, тем лучше и тем меньше недоумения возникает, когда при клонировании проекта оказывается, что части полей нет, хотя настройки схем абсолютно одинаковые.</em></p>
<p><em>Если поле не предназначено для повсеместного использования, то лучше всего его привязать к типу задач, для которых оно предназначено. Задаётся привязка там же, где создаются дополнительные поля (Custom Fields). Выглядеть это будет так:</em></p>
<p><em><img class="alignnone" title="Новый проект" src="http://www.alsedi.com/blog/blogimg/jira/tcms-cf-issue-association.png" alt="" width="547" height="70" /></em></p></blockquote>
<h3><em>Правила отображения и обязательности полей</em></h3>
<p><em>Эти правила задаются через <strong>Administration </strong>&gt; <strong>Issue Fields</strong> (колонка слева) &gt; <strong>Field Configuration</strong>. В действительности очень полезная вещь, которая позволяет избежать бардака. Там же задаётся видимость некоторых полей. Полезность этой настройки становится явной только когда срочно нужно отключить доступ к полю сразу во многих проектах, с одной схемой полей. В общем то больше административная вещь и её лучше не трогать при настройке проекта, если вы не уверены нужно ли это.</em></p>
<p><em>Так же, тут настраивается и отображение текстовых полей. Их можно показывать как обычный текст (Default Text Renderer), а можно как текст с wiki разметкой (Wiki Style Renderer). Wiki Style Renderer потребуется как раз для полей Pre &amp; Post &#8211; conditions и Steps. Переключается режим отображения через ссылку &#8220;Renderers&#8221; для каждого поля.</em></p>
<p><em><strong>Напрямую эти правила не используются</strong>, а включаются в состав схем полей (Field Configuration Scheme). Сразу при создании они не ассоциируются ни с одной схемой, ассоциации выставляются уже в схеме в которую включена конфиграция. Настроить схему можно через <strong>Administration</strong> &gt; <strong>Issue Fields</strong> (колонка слева) &gt; <strong>Field Configuration Scheme</strong>.</em></p>
<h3><em>Field Configuration Scheme</em></h3>
<p><em>Позволяет установить разные наборы полей для разных типов задач. Для этой реализации TCMS нет необходимости настраивать разные схемы полей на уровне конфигураций, это можно сделать на уровне представлений (Screen):</em></p>
<p><em><img class="alignnone" title="Field Configuration Scheme" src="http://alsedi.com/blog/blogimg/jira/tcms-fieldconfscheme.png" alt="" width="715" height="297" /></em></p>
<p><em>Все типы задач в проекте не связанные явно с конфигурациями полей в схеме, подключенной к проекту, будут ассоциированы со схемой по умолчанию (Default Field Configuration). Это важно помнить, потому что, ошибки с отображением полей в этой части особенно трудно найти потом.</em></p>
<h2><em>Создание разных видов отображения полей</em></h2>
<h3><em>Screen</em></h3>
<p><em>Определяет какие поля, в какой последовательности и на какой вкладке (Tab) будут показаны на экране, при вызове этого отображения. Изменения подхватываются на лету. У меня сделано четыре разных представления, по два на каждый тип задачи, для изменения и просмотра записей.<br />
Создание новой задачи типа TestCase разбито на два экрана (Tab), на первом основная информация по самой задаче, а на втором только то, что имеет отношение к тест кейсу.</em></p>
<p><em><img class="alignnone" title="Issue Screen" src="http://alsedi.com/blog/blogimg/jira/tcms-screen-tc-create.png" alt="" width="565" height="398" /></em></p>
<p><em>Для подзадач набор полей меньше, потому что в этой задаче идёт лишь учёт работы по тестированию и нет необходимости дублировать всю информацию из тест кейса.<br />
<img class="alignnone" title="Issue Screen" src="http://alsedi.com/blog/blogimg/jira/tcms-screen-t-create.png" alt="" width="260" height="480" /></em></p>
<p><em>Отображение полей при просмотре тест кейса и теста схожи:</em></p>
<table border="0">
<tbody>
<tr valign="top">
<td>TestCase (Demo TestCase Screen):<br />
<img class="alignnone" title="Issue Screen" src="http://alsedi.com/blog/blogimg/jira/tcms-screen-tc-view.png" alt="" width="260" height="449" /></td>
<td>Test (sub-task, Demo Test Screen):<br />
<img class="alignnone" title="Issue Screen" src="http://alsedi.com/blog/blogimg/jira/tcms-screen-t-view.png" alt="" width="262" height="419" /></td>
</tr>
</tbody>
</table>
<h3><em>Screen Scheme</em></h3>
<p><em>Схема позволяет связать созданные отображения (Screens) с действиями — создания, редактирования и просмотра задач. При создании схемы нужно выбрать отображение, которое будет показываться для всех случаев не указанных явно. Сами схемы не зависят друг от друга и их можно создавать в любом порядке, порядок действий будет одинаковый.</em></p>
<p><em>При создании схемы в качество основного отображения лучше выбрать то, которое отвечает за создание задачи и после отдельно указать отображение для просмотра. Для тест кейса (Demo TC Screen Scheme, для теста Demo T Screen Scheme точно так же объедияет отображение для теста &#8211; Demo Test Screen [create/edit] и Demo Test Screen [view]) эта связка будет выглядеть так:<br />
<img class="alignnone" title="Screen Scheme" src="http://alsedi.com/blog/blogimg/jira/tcms-scr-scheme-tc.png" alt="" width="470" height="91" /></em></p>
<p><em>Теперь эти схемы нужно связать с типами задач. Делается это с помощью Issue Type Screen Scheme. (<strong>Administration</strong> &gt; <strong>Issue Fields</strong> (колонка слева) &gt; <strong>Issue Type Screen Schemes</strong>).</em></p>
<p><em>И тут при создании новой схемы в качестве отображения по умолчанию выбрать просто Default Screen Scheme. Это обеспечит спокойное добавление новых типов задач и возможность быстро заметить направильные связи по схемам для них.<br />
<img class="alignnone" title="Screen Scheme Linking" src="http://alsedi.com/blog/blogimg/jira/tcms-itss-linking.png" alt="" width="408" height="116" /></em></p>
<h3><em>Подключаем все схемы в проект</em></h3>
<p><em>На странице администрирования проекта через ссылки Select можно выбирать нужные схемы, получится примерно так:<br />
<img class="alignnone" title="Screen Scheme Linking" src="http://alsedi.com/blog/blogimg/jira/tcms-projectman-schemes.png" alt="" width="741" height="408" /></em></p>
<h3><em>Проверяем в работе</em></h3>
<p><em>Если всё правильно то:</em></p>
<ul>
<li><em>При создании или редактировании задачи (Create New Issue, Edit Issue): </em>
<ul>
<li><em> при выборе проекта (Project) с тест кейсами в списке «Issue Type» будет только «TestCase».<br />
<img class="alignnone" title="Ready project add new issue" src="http://alsedi.com/blog/blogimg/jira/tcms-readyproject-newissue.png" alt="" width="416" height="158" /></em></li>
<li><em>форма с полями задачи содержит две вкладки — Base Information и Test Case. На вкладке Test Case видны четыре поля — Pre &amp; Post Conditions, Steps, Test Case State. Для полей  Pre &amp; Post Conditions, Steps включён режим Wiki markup<br />
<img class="alignnone" title="Ready project add new issue" src="http://alsedi.com/blog/blogimg/jira/tcms-tctab-create.png" alt="" width="585" height="596" /></em></li>
</ul>
</li>
<li><em>При просмотре wiki разметка правильно отрабаытвается и видны все поля тест кейса, примерно так:<br />
<img class="alignnone" title="View Test Case" src="http://alsedi.com/blog/blogimg/jira/tcms-issueview.png" alt="" width="700" height="422" /></em></li>
</ul>
<h2><em>В качестве заключения</em></h2>
<p><em>При создании нужно очень внимательно следить за тем, какие значения остаются дефолтными, потому что это может сильно отразиться на результате и найти потом причины ошибок будет очень не просто.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://alsedi.com/blog/test-test-case-management-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Test &amp; Test Case Management in Jira [условности]</title>
		<link>http://alsedi.com/blog/test-test-case-management-in-jira-part-0/</link>
		<comments>http://alsedi.com/blog/test-test-case-management-in-jira-part-0/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 22:31:21 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[QA]]></category>
		<category><![CDATA[jira]]></category>
		<category><![CDATA[tcms in jira]]></category>
		<category><![CDATA[test case management]]></category>
		<category><![CDATA[test management]]></category>
		<category><![CDATA[жизненный цикл тест кейса]]></category>
		<category><![CDATA[тесткей]]></category>
		<category><![CDATA[тесткейсы]]></category>
		<category><![CDATA[управление тестами]]></category>

		<guid isPermaLink="false">http://alsedi.com/blog/?p=611</guid>
		<description><![CDATA[Части:
1. Условности &#8211; вы тут
2. Реализация
3. Автоматизации работы
4. Создание отчетов
5. Связь с другими проектами
Собираясь продолжить рассказ, начатый больше года назад, о тех проблемах, c которыми я столкнулся во время руководства QA отделом, долго не мог решить о чем рассказать дальше. Выбор был между идеями по организации работы QA и описанием технического обеспечения. Оказалось, что тяжело [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Части:</strong><br />
1. <a href="http://alsedi.com/blog/test-test-case-management-in-jira-part-0/">Условности</a> &#8211; вы тут<br />
2. <a href="http://alsedi.com/blog/test-test-case-management-part-1/">Реализация</a><br />
3. <a href="http://alsedi.com/blog/test-test-case-management-part-2/">Автоматизации работы</a><br />
4. Создание отчетов<br />
5. Связь с другими проектами</p>
<p>Собираясь продолжить рассказ, <a href="http://alsedi.com/blog/departament-qa-oshibki-upravleniya/">начатый больше года назад</a>, о тех проблемах, c которыми я столкнулся во время руководства QA отделом, долго не мог решить о чем рассказать дальше. Выбор был между идеями по организации работы QA и описанием технического обеспечения. Оказалось, что <strong>тяжело рассказывать об идеях</strong>, не рассказав подробнее об инструментах.</p>
<p>В следующих постах я расскажу о том, <strong>как можно сделать систему управления тест кейсами</strong> <strong>на основе</strong> обычных возможностей <strong>Jira </strong>и управления тестами с небольшой добавкой в RPC, а при определённой сноровке и без неё. Но обо всём по порядку — сначала об условиях, потом о технике и после о хитростях работы.</p>
<p>Условий минимум, всё строится на жизненном цикле тест кейса в системе и связи его с тестами и автоматизацией.</p>
<h3>Жизненный цикл</h3>
<p>Он такой</p>
<p><img class="alignnone" title="Test Case Lifeline" src="http://www.alsedi.com/blog/blogimg/jira/tcms-tclife.png" alt="" width="764" height="527" /></p>
<p>В отдельные блоки вынесены значения полей в Jira, просто для демонстрации связей. Подробнее о них я расскажу в следующей части.</p>
<p>Готовый тест кейс сперва уходит на ревью и после того, как он будет вылизан, то отправляется либо на автоматизацию, либо в план ручного тестирования (для представления планов используются фильтры в Jira). В какой именно <strong>план</strong> попадёт тест кейс <strong>зависит от значения статус</strong>а (<em>Status</em>). Будет ли тест кейс автоматизирован или нет решается на этапе его описания, соответственно и содержание будет разным.</p>
<p>Для автоматических тестов разумно описывать сценарий наиболее полно. Если требуется производить расчёты, то указывать все зависимые значения. Для ручного проверки не всегда правильно описывать сценарий досконально. <strong>Точное описание</strong> ручного теста может быть полезно только для компаний, в которых персонал часто меняется (и тест кейсы используются для обучения новых сотрудников), для стабильных компаний большое количество точно описанных тестов — <strong>это лишние затраты</strong> на обслуживание тестирования, а эффективность обучения не факт, что будет выше.</p>
<p>Проводить ревью всех тест кейсов не имеет смысла чаще чем раз на крупный релиз, и часто достаточно проверить актуальность только тех тест кейсов, которые не были пройдены ни для одной версии в релизе (чтобы не было путаницы в терминах, у нас релиз включает в себя множество версий, в общем как аналог Release Line). У меня ненужные больше тест кейсы не удаляют, а только закрывают (Close) и забывают, никаких особых причин для этого нет, просто так принято.</p>
<h3>Связь с Jira</h3>
<p>Тест кейсы и тесты по ним в Jira представлены в виде задачи TestCase и под-задачи Test. В TestCase находится всё описание, <strong>включая начальные (Pre) и конечные (Post) условия</strong>, там же выставляется приоритет и статус, которые отражают текущее положение тест кейса в жизненном цикле:</p>
<p><strong>«Живой» тест кейс (Status – Open):</strong><br />
Assignee = Reporter – тест кейс на стадии разработки и еще не готов для использования<br />
Assignee = лидер группы (или другой человек отвечающий за ревью) — тест кейс проверяется<br />
Assignee = Unassigned – тест кейс проверен и может быть использован для тестирования.<br />
Assignee = разработчик – тест кейс отправлен на автоматизацию<br />
Assignee = Unassigned, Test Сase State = Automated – тест кейс отправлен на автоматизацию</p>
<p><strong>Устаревший тест кейс:</strong><br />
Status = Closed, Assignee = Unassigned или человек, которые закрыл тест кейс (но это не важно, всё есть в истории изменений).</p>
<p>Для разбиения тест кейсов на группы используются совместно метки (<strong>Labels</strong>) и приоритет (<strong>Priority</strong>).</p>
<p>В приоритете используется только три уровня — <strong>Critical</strong>, <strong>Major</strong>, <strong>Normal</strong>, которые определяют частоту использования тест кейса — для каждой версии (билда), для каждого значимого изменения (например — связанных компонент) и если есть время, соответственно. Метки используются для группировки по любому интересующему признаку — бизнес значимость, функциональность, прощупываемая  с разных сторон. Причем такие группы кросс-компонентные (компонент может означать &#8211; целый проект, часть бизнес логики, группу проектов, что угодно, лишь бы было полезно в работе).</p>
<p>Комбинацией фильтров и плагинов (для Jira или Confluence) набор задач приводится в приемлемый вид и может быть выведен на персональных дашбордах или на общих страницах в Confluence (например через плагин <strong>jiraissues</strong>).</p>
]]></content:encoded>
			<wfw:commentRss>http://alsedi.com/blog/test-test-case-management-in-jira-part-0/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Jira: Bug Tracking Dashboard</title>
		<link>http://alsedi.com/blog/jira-bug-tracking-dashboard/</link>
		<comments>http://alsedi.com/blog/jira-bug-tracking-dashboard/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 14:10:28 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[QA]]></category>
		<category><![CDATA[Заметки]]></category>
		<category><![CDATA[bug tracking]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[jira]]></category>
		<category><![CDATA[team]]></category>
		<category><![CDATA[депертамент qa]]></category>
		<category><![CDATA[менеджмент]]></category>

		<guid isPermaLink="false">http://alsedi.com/blog/?p=550</guid>
		<description><![CDATA[И снова о дашбордах в Jira, которые делают мою работу легче.
Систему трекинга ошибок я реализовывал на основе Jira (в силу разных обстоятельств, впрочем я в этом не одинок). Все изменения, которые потребовалось сделать не потребовали никаких доработак кода Jira (то есть при апгрейде не возникает проблем). Система не изолированная и во многом рассчитана на то, [...]]]></description>
			<content:encoded><![CDATA[<p>И снова о <a href="http://alsedi.com/blog/jira-team-dashboard/" target="_blank">дашбордах в Jira</a>, которые делают мою работу легче.</p>
<p>Систему трекинга ошибок я реализовывал на основе Jira (в силу разных обстоятельств, впрочем я в этом не одинок). Все изменения, которые потребовалось сделать не потребовали никаких доработак кода Jira (то есть при апгрейде не возникает проблем). Система не изолированная и во многом рассчитана на то, что ей будут пользоваться менеджеры и лиды команд. Естественно копаться никто долго не хочет и главный вопрос &#8211; что у нас с релизом [в плане ошибок]. Для того, чтобы сделать на основе Jira понятную структуру, которая позволила бы наглядно ответить на этот вопрос понадобилось изменить воркфлоу для проекта, хранящего ошибки. К существующим, стандартным, было добавлено несколько новых статусов:</p>
<ul>
<li>Открыт (Переоткрыт)</li>
<li>В разработке</li>
<li>Требуется дополнительная информация</li>
<li>В тестировании</li>
<li>Работа закончена</li>
<li>Не баг</li>
<li>Проверен и закрыт</li>
</ul>
<p>Далее с помощью портлетов Show Saved Filters (можно использовать Show Saved Filters with Columns) , фильтров с учётом статуса и Pie Chart был сделан дашборд, который показывал сколько задач на каком этапе находятся. Чарт добавлен только ради большей наглядности.</p>
<p><img class="alignnone" title="Jira: Bug tracking dashboard" src="http://alsedi.com/blog/blogimg/jira/bugs-dashboard.jpg" alt="" width="400" height="215" /></p>
<p>(Картинка не увеличивается, и дана только чтобы показать расположение элементов)</p>
<p>Далее этот дашборд и фильтры (что важно) через Share делаются доступными для всех заинтересованных лиц. Удобвство такого хода в том, что в любой момент изменим этот дашборд у себя можно изменить его у всех остальных.</p>
<p>Решение довольно гибкое, поскольку позволяет даже внутри одного проекта созда разный набор фильтров и дашбордов на основе практически любых полей, которые есть в Jira. Хотя тут бы я не увлекался и дальше стандартных полей не уходил.</p>
]]></content:encoded>
			<wfw:commentRss>http://alsedi.com/blog/jira-bug-tracking-dashboard/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Jira: Team Dashboard</title>
		<link>http://alsedi.com/blog/jira-team-dashboard/</link>
		<comments>http://alsedi.com/blog/jira-team-dashboard/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 00:43:24 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[QA]]></category>
		<category><![CDATA[Заметки]]></category>
		<category><![CDATA[dashboard]]></category>
		<category><![CDATA[jira]]></category>
		<category><![CDATA[team]]></category>

		<guid isPermaLink="false">http://alsedi.com/blog/?p=461</guid>
		<description><![CDATA[Некоторые приемы в Jira, которые позволяют мне оставаться в курсе.

На этом дашборде всего четыре портлета:

Pie Chart по фильтру, который охватывает все незакрытые таски по всем моим ребятам.
Statistics. Общая статистика по:

по статусам открытых задач в проектах QA;
по проектам,в которых открыты задачи на команду тестировщиков;
по открытым задачам по людям в проектах QA.



В дополнение к ежедневным митингам, позволяет [...]]]></description>
			<content:encoded><![CDATA[<p>Некоторые приемы в Jira, которые позволяют мне оставаться в курсе.</p>
<div><a href="http://www.alsedi.com/blog/blogimg/jira/dashboard1.png"><img title="Team Dashboard" src="http://www.alsedi.com/blog/blogimg/jira/dashboard1_th.png" alt="" width="400" height="135" /></a></div>
<p>На этом дашборде всего четыре портлета:</p>
<ul>
<li><strong>Pie Chart</strong> по фильтру, который охватывает все незакрытые таски по всем моим ребятам.</li>
<li><strong>Statistics.</strong> Общая статистика по:
<ul>
<li>по статусам открытых задач в проектах QA;</li>
<li>по проектам,в которых открыты задачи на команду тестировщиков;</li>
<li>по открытым задачам по людям в проектах QA.</li>
</ul>
</li>
</ul>
<p>В дополнение к <a href="http://alsedi.com/blog/ezhednevnye-mitingi/" target="_blank">ежедневным митингам</a>, позволяет контролировать загрузку каждого человека по Jira и соотносить задачи в трекинге с реальностью.</p>
]]></content:encoded>
			<wfw:commentRss>http://alsedi.com/blog/jira-team-dashboard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Отчитываясь</title>
		<link>http://alsedi.com/blog/otchityvayas/</link>
		<comments>http://alsedi.com/blog/otchityvayas/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 15:37:04 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[QA]]></category>
		<category><![CDATA[confluence]]></category>
		<category><![CDATA[jira]]></category>
		<category><![CDATA[департамент qa]]></category>
		<category><![CDATA[менеджемент]]></category>
		<category><![CDATA[отчетность]]></category>
		<category><![CDATA[рутина]]></category>
		<category><![CDATA[тестирование]]></category>
		<category><![CDATA[управление]]></category>

		<guid isPermaLink="false">http://alsedi.com/blog/?p=350</guid>
		<description><![CDATA[Знаете сколько в книге Стивена Кинга &#8220;Как писать книги&#8221; встречается слово &#8220;десять&#8221;, а слово &#8220;перечитать&#8221;, а &#8220;оставить&#8221;? А в оригинале? Я бы тоже не стал задумываться, если бы мне не понадобилась оттуда фраза состоящая из этих слов. Но я её так и не нашел, что наводит меня на мысль, что либо Стивен Кинг её не [...]]]></description>
			<content:encoded><![CDATA[<p><img title="Эволюция длины отчетов" src="http://www.alsedi.com/blog/blogimg/reports.png" alt="Эволюция длины отчетов" width="200" height="270" align="left" />Знаете сколько в книге Стивена Кинга &#8220;Как писать книги&#8221; встречается слово &#8220;десять&#8221;, а слово &#8220;перечитать&#8221;, а &#8220;оставить&#8221;? А в оригинале? Я бы тоже не стал задумываться, если бы мне не понадобилась оттуда фраза состоящая из этих слов. Но я её так и не нашел, что наводит меня на мысль, что либо Стивен Кинг её не произносил, либо она просто не имеет отношения к этой книге. В любом случае я потратил время на то, что мне было нужно, но чего не было в этой книге.</p>
<p>Тоже самое, по смыслу, время от времени говорил мне мой руководитель. Он не мог понять чем конкретно занимается мой депортамент, в какой последовательности и для чего. Оспаривать то, что работы делается много он не мог, но при этом и имел полное право не понимать, что же всё-таки делается.<br />
На картинке выше четыре стиля отчета, использовавшиеся в разные промежутки времени (с 2006 года по начало 2009). Красная черта &#8211; это отметка страницы А4.</p>
<p>Первый отчет был предельно краток: &#8220;на проекте таком то сделали это и это, движемся в таком то направлении&#8221;. При этом текст основного отчета составлялся из того, что писали подчиненные (та еще каторга, сколько не напоминай, кто-нибудь да забудет. Да и литературным даром никто не обладал).</p>
<blockquote><p><strong>Название проекта</strong></p>
<p>Что было сделано и какие проблемы встретились. Обычным человеческим языком.</p>
<p><em>Имена участников</em></p></blockquote>
<p>Он не давал связи с реальными задачами в трекинговой системе и было не понятно, что делал каждый конкретный участник. Пораскинув мозгами и переборов лень подчиненных получилось сделать второй отчет на основе записей в Jira. Отчет содержал название задачи и ссылку на трекинг.</p>
<blockquote><p><strong>Имя</strong></p>
<p>Задача 1 (под назавание ссылка)</p>
<p>Задача 2 (ссылка)</p></blockquote>
<p>Он получился длиннее первого в несколько раз и хотя теперь можно было получить представление о том, что делал человек, понять, что происходит на проекте было сложнее, по самому отчету, нужно было идти в Jira и делать выборку. Так же он дополнялся страницами в Wiki (Confluence) по каждому проекту. Такие страницы описывали, как раз что происходит с проектом и конкретное участие сотрудников. Но на них надо было заходить специально. Лень руководства победила формат отчета, за год так и не получилось приучить сначала смотреть к Confluence, а потом спрашивать.</p>
<p>Путь от такого отчета к автоматической сборке занял больше года и все недовольства удавалось отбивать предложением указать формат отчета четко. Удачное решение пришло в голову после обнаружений RPC сервиса в трекинговой системе. За несколько дней была написана программа и придумана реструктуризация, которая позволила бы генерировать любые отчеты по существующим данным. В Jira было задействовано всё от компонент, до кастомных полей. Третий отчет был огромен. На картинке лишь пятая часть. Он вытаскивал из задачи название, описание и worklog, складывал всё вместе и сортировал по людям. Страницы в Confluence по прежнему были, но теперь состояние проектов и информацию о работе людей можно было получить прямо из отчета. Да и моё участие в написании отчета сократилось до финального ревью и выкидывания лишниго. И того, за место 2 часов отчет готовился за 10 &#8211; 15 минут.</p>
<p>Но и это было плохо. Слишком много информации. Слишком! Чтобы найти что-то интересующее требовалось просмотреть очень много не нужного. Притензий уже не высказывалось, но в голову пришла другая идея, реализация которой стала возможной благодаря <a href="http://alsedi.com/blog/ezhednevnye-mitingi/" target="_blank">проведению ежедневных митингов</a>. Не смотря на то, что это снова затраты времени на отчеты, это хорошо. Во-первых, мне всё равно приходится собирать и анализировать информацию за неделю, для обзора за неделю. Во-вторых, это позволяет разбить информацию и по людям и по проектам.</p>
<p>На первый лист идёт информация по проектам, дальше по людям.</p>
]]></content:encoded>
			<wfw:commentRss>http://alsedi.com/blog/otchityvayas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Департамент QA: Отслеживание задач как часть информационной системы (часть 2)</title>
		<link>http://alsedi.com/blog/departament-qa-otslezhivanie-zadach-kak-chast-informacionnoj-sistemy-chast-2/</link>
		<comments>http://alsedi.com/blog/departament-qa-otslezhivanie-zadach-kak-chast-informacionnoj-sistemy-chast-2/#comments</comments>
		<pubDate>Tue, 14 Oct 2008 16:57:09 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[ALSEDI]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[Разработка ПО]]></category>
		<category><![CDATA[jira]]></category>
		<category><![CDATA[task tracking]]></category>
		<category><![CDATA[департамент qa]]></category>
		<category><![CDATA[контроль работы]]></category>
		<category><![CDATA[менеджмент]]></category>
		<category><![CDATA[отслеживание задач]]></category>
		<category><![CDATA[ошибки]]></category>
		<category><![CDATA[процесс разработки]]></category>
		<category><![CDATA[процесс тестирования]]></category>
		<category><![CDATA[тестирование]]></category>

		<guid isPermaLink="false">http://alsedi.com/blog/?p=113</guid>
		<description><![CDATA[В первой части я кратко упомянул о том, как может выглядеть процесс выпуска релиза в небольшой компании. В больших фирмах существует намного больше людей, которые заинтересованы в конечном продукте. Некоторые мнения приходится учитывать не только в процессе выпуска программного продукта, но и при создании информационной системы о процессе разработки и тестирования.
Ниже показаны основные группы людей, [...]]]></description>
			<content:encoded><![CDATA[<p>В <a href="http://alsedi.com/blog/departament-qa-oshibki-upravleniya/" target="_blank">первой части</a> я кратко упомянул о том, как может выглядеть процесс выпуска релиза в небольшой компании. В больших фирмах существует намного больше людей, которые заинтересованы в конечном продукте. Некоторые мнения приходится учитывать не только в процессе выпуска программного продукта, но и при создании информационной системы о процессе разработки и тестирования.<br />
Ниже показаны основные группы людей, которым может потребоваться информация о том, что происходит с продуктом и что в нём будет еще до момента финального релиза.</p>
<div class="wp-caption alignnone" style="width: 522px"><a href="http://www.alsedi.com/blog/wp-content/upload/questions.png"><img src="http://www.alsedi.com/blog/wp-content/upload/questions_th.png" alt="Заинтересованные в релизе группы людей" width="512" height="324" /></a><p class="wp-caption-text">Заинтересованные в релизе группы людей</p></div>
<p><span id="more-113"></span>Список вопросов неполный, но QA должны знать ответы хотя бы на них. Для этого, в первую очередь, потребуется отслеживать выполнение задач по разработке и тестированию. Существование трекера первый шаг к построению нормальной информационной системы.<br />
Подойдет любая система трекинга, в которой можно реализовать такую структуру (я предпочитаю <a href="http://www.atlassian.com/software/jira/" target="_blank">Atlassian Jira</a>, для небольших проектов <a href="http://eventum.mysql.org/wiki/index.php/Main_Page" target="_blank">Eventum</a>):</p>
<ul>
<li>Backlog – группа проектов в которой по версиям и продуктам разбиваются пожелания и требования бизнес стороны. Это не только спецификации (ТЗ), но и простые заметки, пришедшие от бизнес стороны в стиле «нужно сделать это, примерно вот так функционирует и выглядит». На основе таких «business story» можно построить спецификацию и согласовать с бизнесом.</li>
<li> Development Project – Группа проектов по разработке конкретных продуктов. Основная часть задач появляется с привязкой к Backlog проекту. Это позволяет отслеживать соответствие требованиям бизнеса и начать работу QA еще до завершения разработки (что-то вроде Test Driving Development, но мягче).</li>
<li>Feedback – Группа проектов для получения отзывов от клиентов и бизнес стороны по работе текущей версии и проблемам с ними связанным (но не для трекинга багов по разрабатываемой версии).</li>
<li>QA – Группа проектов, привязанных к таким же проектам в Development Project. В них будет вестись трекинг задач, связанных с тестированием версии или общей работы, но не багов!</li>
<li>Bugs – Группа проектов, привязанных к проектам в QA и Development Project. Здесь тестировщики создают все таски связанные с найденными ошибками и предлагают улучшения проектов.</li>
</ul>
<p>Зачем нужно три проекта для QA? Для того, чтобы не создавать мусорной кучи. Feedback доступен не только тестировщикам (которые, по идее, знают о разрабатываемых продуктах больше остальных), но и бизнес стороне. Люди со стороны бизнеса имеют полное право не знать о том, что существует множество версий и множество компонент внутри продуктов, но должны иметь возможность сообщить о проблеме при работе. Для этого им нужно знать только что они делали и версию продукта, с которым они работали (а не всю систему), когда появилась проблема.</p>
<p>Причем, не важен тип решения (а пользователь может и не знать что там еще стоит за окном в которое он смотрит), разрабатываемого компанией:</p>
<ul>
<li> самостоятельное приложение;</li>
<li> серверное приложение с доступом из стороннего (Web сервис, XML/HMTL сервер);</li>
<li> клиентское приложение с доступом к стороннему (Debuggers, разнообразные сетевые клиенты);</li>
<li> клиент-серверное приложение, с собственным сервером и клиентом (платформы с удаленным доступом);</li>
</ul>
<p>Разобраться где конкретно ошибка и ошибка ли дело QA и разработчиков. Часто разработчики могут сделать это быстрее.</p>
<p>Тестировщики знают о продуктах компании больше и лучше понимают структуру проектов. Соответственно, могут указать намного больше данных при заведении ошибки. Для тестировщика требуется совершенно другое окружение и набор возможностей при заведении багов, чем бизнесу. Создание одного проекта приведет к тому, что либо будут проблемы у бизнес стороны, либо тестировщикам придется урезать вводимые данные. Так же, если записи бизнеса о проблемах не всегда являются прямым руководством к действиям разработчиков, то ошибки, найденные тестировщиками, должны как можно быстрее обрабатываться и в соответствии с серьезностью переноситься в план разработки или <span style="text-decoration: line-through;"><span style="line-through;">расстреливаться</span> </span>исправляться сразу.</p>
<p>Группа проектов QA позволяет отделить работу по тестированию от результатов. Для каждого релиза создается свой набор обязательных задач для проверки. В зависимости от проекта и версии список может меняться, адаптируясь под условия. Вместе с рутинными задачами в эти проекты могут быть добавлены задачи относящиеся к процессу тестирования. Например, автоматизация тестов, исследования программ и методик для тестирования.</p>
<p>Принципиальная схема процесса при такой структуре проектов выглядит так:</p>
<div class="wp-caption alignnone" style="width: 310px"><img src="http://alsedi.com/blog/wp-content/upload/projects-structure.png" alt="Потоки информации между проектами" width="300" height="500" /><p class="wp-caption-text">Потоки информации между проектами</p></div>
<p>При использовании этой схемы Backlog объединяет в себе первичные требования бизнеса, общее обсуждение технической реализации или ТЗ (в зависимости от возможностей), проблемы из Feedback и Bugs, которые требуют много времени на исправление или переработки бизнес логики. Основные задачи в Backlog описывают большие куски работы, разбиение которых делается через сабтаски. Далее эта информация клонируется (или разбивается на части и клонируется) в проекты по разработке и добавляется в задачи по подготовки к тестированию в QA проектах (написание тесткейсов, переработка существующих тестов, автоматизация и так далее). После релиза в соответствующем проекте QA создаётся общая задача на тестирование, а конкретная работа выделяется в сабтаски. При нахождении ошибок при тестировании они описываются в соответствующем проекте Bugs и либо клонируются в Development Project, либо заносятся в Backlog для позднего исправления. Процесс запускается по новой… в идеале.</p>
<p>В реальности, появляется множество событий и проблем, которые требуют быстрого решения. При этом рушится стройная последовательность действий, и затягиваются сроки релиза и тестирования, но логически модель не разрушается. Главное в такой ситуации сохранять трэкинг задач. Всегда записывать то, что делается. Тогда, позднее, можно будет собрать всю необходимую информацию о проделанной работе и её результатах.</p>
]]></content:encoded>
			<wfw:commentRss>http://alsedi.com/blog/departament-qa-otslezhivanie-zadach-kak-chast-informacionnoj-sistemy-chast-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
