<?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; процесс тестирования</title>
	<atom:link href="http://blog.alsedi.com/tag/process-testirovaniya/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.alsedi.com</link>
	<description>О QA, Shareware и ИТ</description>
	<lastBuildDate>Fri, 07 Oct 2011 08:52:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Непрерывное улучшение тестирования</title>
		<link>http://blog.alsedi.com/nepreryvnoe-uluchshenie-testirovaniya/</link>
		<comments>http://blog.alsedi.com/nepreryvnoe-uluchshenie-testirovaniya/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 13:39:34 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Общее]]></category>
		<category><![CDATA[менеджмент]]></category>
		<category><![CDATA[процесс]]></category>
		<category><![CDATA[процесс тестирования]]></category>

		<guid isPermaLink="false">http://alsedi.com/blog/?p=680</guid>
		<description><![CDATA[Чисто практическая заметка, немного сумбурно. Мне захотелось подвести итоги одного эксперимента по введению изменений в процесс тестирования. Ничего нового в плане теории придумано не было, но поскольку я не видел нигде описания практического подхода, то мои заметки могут пригодится, я &#8230; <a href="http://blog.alsedi.com/nepreryvnoe-uluchshenie-testirovaniya/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><em>Чисто практическая заметка, немного сумбурно.</em></p>
<p>Мне захотелось подвести итоги одного эксперимента по введению изменений в процесс тестирования. Ничего нового в плане теории придумано не было, но поскольку я не видел нигде описания практического подхода, то мои заметки могут пригодится, я думаю.</p>
<p><span id="more-680"></span>Руководителю группы или отдела, не важно, один раз в год приходится сталкиваться с вопросами о том, что было сделано важного за год, что делали его подчинённые и что планируется делать дальше. В самом простом варианте предлагается сделать документ, с перечислением предполагаемых улучшений в процессах и инструментах. Это самый не эффективный подход, потому что не каждая фирма настолько стабильна и консервативна, чтобы прогнозы сделанные в начале года оказываются точными под конец, особенно в области разработки ПО. Я с этим сталкивался несколько раз и во многом оценка исполнения своих же планов вызывала уныние. Это подтолкнуло к мысли о том, что систему планирования и прогнозирования стоит изменить, уменьшив период до адекватного размера.</p>
<p>Мне приглянулся период планирования длиной в три месяца. Этот срок позволил внедрить изменения, отследить их мутацию и отмирание, подготовить адекватный план развития на следующий период и быстро отреагировать на любые изменения в процессе разработки в целом. Так же это позволяет не создавать чрезмерной нагрузки на сотрудников, но позволяет держать их в тонусе. Период условный и каждый волен выбирать сам.</p>
<p>Улучшение тестирование планируется по трём направлениям — процессы, методики и инструментарий. Изменение процессов сложное, только если действовать революционными изменениями, если умерить пыл и проводить изменения плавно получается просто и намного тише. Инструментарий в плане внедрения намного сложнее, особенно для обеспечения процессов. Любая формализация ведения задач и отчетности вызывает скрытое сопротивление, преодолеть его хоть и не сложно, но требует времени и много внимания.</p>
<p>На фоне общего плана развития тестирования, всегда существуют персональные задачи для каждого сотрудника. С одной стороны они позволяют развивать человека в нужном для компании направлении, с точки зрения руководителя. С другой позволяют компенсировать какие-либо ущемления возможностей по вине общего плана улучшений. Сложное в этом &#8211; придумать такие задачи и избежать противоречивости. Так же эффективность персональных планов резко снижается, если руководитель не может наказать подчинённого рублём или чем иным. На личной ответственности такие планы не живут, проверено.</p>
<p>Общее планирование развития разумно начать с формализации и унификации существующих процессов: что тестеры делают до, во время и после релиза; как нужно вести заметки по работе; и так далее. У меня это вылилось вот в такие пункты документа по улучшениям:<br />
<img class="alignnone" title="1st plan" src="http://blog.alsedi.com/blogimg/jira/ci-1stplan.png" alt="" /></p>
<p>Может показаться, что это пустая трата времени — заниматься описанием того, что уже и так работает. Но это не так. Пока не сделана формализация правил, каждый сотрудник будет подходит к процессу интуитивно, в результате вместо процесса получается хаос из личных подходов. Эффективность при этом снижается, но видно это только при тщательном анализе длительного периода работы. Творческий подход у усредненого сотрудника необходим при решении задач, но не при следовании процессу. Конечно, для этого руководитель должен понимать и знать процессы и конечную цель изменений лучше, чем его подчинённые. В тоже время не нужно ожидать, что единожды написанные правила будут соблюдаться беспрекословно. Следить за эволюцией отношений сотрудников к правилам придется постоянно и принимать решения — подталкивать людей или менять правила, на ходу. Насколько это будет критично зависит от того насколько хорошо будет проведена формализация.</p>
<p>Что делать после того, как формализованный процесс тестирования прижился. Следующим этапом нужно начать оптимизацию используемых методик и инструментов. Начать разделение тестовых сценариев на те, что должны быть автоматизированы и те, что остаются в ручном тестировании (в зависимости от цели будет разное насыщение). При наличии автоматических тестов задуматься о необходимости CI, куда можно будет подключить готовые автоматические тесты. То же самое можно будет сделать с тестами на производительность. Если существует слишком много разных инструментов для тестирования, то необходимо провести ревью и убрать дублирующие друг друга инструменты. В перспективе наличие большого числа инструментов приведёт к снижению эффективности и проблемам с поддержкой.</p>
<p>В последующих планах в основном придется оперировать только этими тремя сущностями &#8211; процессы, методики и инструменты. Насколько насыщенными будут дальнейшие планы, напрямую зависит от уровня продумывания и исполнения двух первых этапов.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alsedi.com/nepreryvnoe-uluchshenie-testirovaniya/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MindMap для ежедневных митингов</title>
		<link>http://blog.alsedi.com/mindmap-dlya-ezhednevnyx-mitingov/</link>
		<comments>http://blog.alsedi.com/mindmap-dlya-ezhednevnyx-mitingov/#comments</comments>
		<pubDate>Thu, 12 Mar 2009 13:13:48 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Общее]]></category>
		<category><![CDATA[mind map]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[департамент qa]]></category>
		<category><![CDATA[менеджмент]]></category>
		<category><![CDATA[процесс тестирования]]></category>
		<category><![CDATA[собрания]]></category>

		<guid isPermaLink="false">http://alsedi.com/blog/?p=339</guid>
		<description><![CDATA[Дополнение к предыдущей заметке о ежедневных митингах. Помогает мне не терять нить разговора.]]></description>
			<content:encoded><![CDATA[<p>Дополнение к <a href="http://alsedi.com/blog/ezhednevnye-mitingi/" target="_blank">предыдущей заметке о ежедневных митингах</a>. Помогает мне не терять нить разговора.</p>
<div class="wp-caption aligncenter" style="width: 370px"><a href="http://blog.alsedi.com/blogimg/dailymeeting.png"><img title="MindMap Ежедневных митингов (кликабельно)" src="http://blog.alsedi.com/blogimg/dailymeeting_th.png" alt="" width="360" height="176" /></a><p class="wp-caption-text">MindMap Ежедневных митингов (кликабельно)</p></div>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://blog.alsedi.com/mindmap-dlya-ezhednevnyx-mitingov/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Департамент QA: Отслеживание задач как часть информационной системы (часть 2)</title>
		<link>http://blog.alsedi.com/departament-qa-otslezhivanie-zadach-kak-chast-informacionnoj-sistemy-chast-2/</link>
		<comments>http://blog.alsedi.com/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[Общее]]></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[В первой части я кратко упомянул о том, как может выглядеть процесс выпуска релиза в небольшой компании. В больших фирмах существует намного больше людей, которые заинтересованы в конечном продукте. Некоторые мнения приходится учитывать не только в процессе выпуска программного продукта, &#8230; <a href="http://blog.alsedi.com/departament-qa-otslezhivanie-zadach-kak-chast-informacionnoj-sistemy-chast-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></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://blog.alsedi.com/wp-content/upload/questions.png"><img src="http://blog.alsedi.com/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>расстреливаться</span> </span>исправляться сразу.</p>
<p>Группа проектов QA позволяет отделить работу по тестированию от результатов. Для каждого релиза создается свой набор обязательных задач для проверки. В зависимости от проекта и версии список может меняться, адаптируясь под условия. Вместе с рутинными задачами в эти проекты могут быть добавлены задачи относящиеся к процессу тестирования. Например, автоматизация тестов, исследования программ и методик для тестирования.</p>
<p>Принципиальная схема процесса при такой структуре проектов выглядит так:</p>
<p><img class=" alignnone" src="http://blog.alsedi.com/wp-content/upload/projects-structure.png" alt="Потоки информации между проектами" /></p>
<p>При использовании этой схемы Backlog объединяет в себе первичные требования бизнеса, общее обсуждение технической реализации или ТЗ (в зависимости от возможностей), проблемы из Feedback и Bugs, которые требуют много времени на исправление или переработки бизнес логики. Основные задачи в Backlog описывают большие куски работы, разбиение которых делается через сабтаски. Далее эта информация клонируется (или разбивается на части и клонируется) в проекты по разработке и добавляется в задачи по подготовки к тестированию в QA проектах (написание тесткейсов, переработка существующих тестов, автоматизация и так далее). После релиза в соответствующем проекте QA создаётся общая задача на тестирование, а конкретная работа выделяется в сабтаски. При нахождении ошибок при тестировании они описываются в соответствующем проекте Bugs и либо клонируются в Development Project, либо заносятся в Backlog для позднего исправления. Процесс запускается по новой… в идеале.</p>
<p>В реальности, появляется множество событий и проблем, которые требуют быстрого решения. При этом рушится стройная последовательность действий, и затягиваются сроки релиза и тестирования, но логически модель не разрушается. Главное в такой ситуации сохранять трэкинг задач. Всегда записывать то, что делается. Тогда, позднее, можно будет собрать всю необходимую информацию о проделанной работе и её результатах.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.alsedi.com/departament-qa-otslezhivanie-zadach-kak-chast-informacionnoj-sistemy-chast-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

