<?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>Александр Лобач &#187; Best practices</title>
	<atom:link href="http://alexlobach.ru/category/best-practices/feed/" rel="self" type="application/rss+xml" />
	<link>http://alexlobach.ru</link>
	<description>Знание опасно для того, кто им НЕ обладает</description>
	<lastBuildDate>Mon, 19 Apr 2010 08:19:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Описание дефекта: Severity и Priority</title>
		<link>http://alexlobach.ru/2009/07/15/opisanie-defekta-severity-i-priority/</link>
		<comments>http://alexlobach.ru/2009/07/15/opisanie-defekta-severity-i-priority/#comments</comments>
		<pubDate>Wed, 15 Jul 2009 08:34:36 +0000</pubDate>
		<dc:creator>Александр Лобач</dc:creator>
				<category><![CDATA[Best practices]]></category>

		<guid isPermaLink="false">http://alexlobach.ru/?p=100</guid>
		<description><![CDATA[У одного из тестировщиков возник вопрос по одному из полей в описании дефекта. А именно влияние на функциональность (там было два статуса: влияет/не влияет). 
Вопрос был следующий: зачем это нужно, а если нужно, то по каким критериям оценивать влияние.
По каким причинам он появился у нас в описании дефекта в таком виде уже и не вспомнишь. [...]]]></description>
			<content:encoded><![CDATA[<p>У одного из тестировщиков возник вопрос по одному из полей в описании дефекта. А именно влияние на функциональность (там было два статуса: влияет/не влияет). </p>
<p align="justify">Вопрос был следующий: зачем это нужно, а если нужно, то по каким критериям оценивать влияние.</p>
<p align="justify">По каким причинам он появился у нас в описании дефекта в таком виде уже и не вспомнишь. Поэтому начали разбираться. Как оказалось, это был компромисс между добавлением/не добавлением поля Severity (а компромисс это зачастую наихудшее решение).</p>
<p align="justify">В итоге разобрались и документально зафиксировали следующее:</p>
<p> <span id="more-100"></span>
<p align="justify">Severity и Priority &#8211; это две отдельные активности.</p>
<p align="justify"><strong>Severity</strong> &#8211; это оценка важности дефекта в контексте приложения в целом, и определяется тестировщиком. </p>
<p align="justify"><strong>Priority</strong> &#8211; это необходимость исправления этого дефекта в контексте текущего релиза, и устанавливается лицом, отвечающим за релиз, исходя из нескольких факторов (например &#8211; severity, частоты проявления и рисков появления новых проблем при исправлении, плюс цели релиза).</p>
<blockquote><p align="justify">Слово, напечатанное с ошибкой, может иметь самый низкий уровень severity, но перед выпуском продукта &quot;в свет&quot; эта ошибка может иметь наивысший приоритет и должна быть экстренно исправлена (если вдруг окажется, что на вашем интернет портале имя владельца компании напечатано с ошибкой</p>
</blockquote>
<p align="justify">Выставляя severity тестировщик оценивает влияние дефекта на работоспособность приложения. Чем выше severity, тем масштабнее негативные последствия данного дефекта.    <br />Priority &#8211; это инструмент менеджера по планированию работ. Чем выше priority, тем быстрее нужно исправить дефект.</p>
<p align="justify">Берем типового тестировщика. Его задача &#8211; узнать, как себя ведет программный продукт. Он в большинстве случаев взаимодействует с ним &quot;снаружи&quot;, то есть без особых технических подробностей. Исходя из знания продукта и особенностей его применения, он оценивает важность обнаруженной проблемы. </p>
<p align="justify">По большому счету, можно ограничиться тремя критериями:</p>
<p align="justify">а) юзабилити проблема (надписи в диалоге съехали, комбо-бокс смотрится отвратно);</p>
<p align="justify">б) функциональная проблема (участок функционала работает неправильно);</p>
<p align="justify">в) блокирующая проблема (определенная функциональность отвалилась).</p>
<p align="justify">* В данном случае очень важно понимать что является функциональностью и что для каждого программного продукта набор функциональности различается. (Например таймауты это функциональность или нет, ну и т.д.) </p>
<p align="justify">&#160;</p>
<p align="justify">Как резюме можно процитировать одного из участников обсуждения на форуме <a href="http://it4business.ru/forum/topic12806s0.html" target="_blank">it4business</a>:</p>
<blockquote><p align="justify">Вопрос не в том, нужно ли использовать priority и severity, толстый клиент или тонкий, а в эффективности работы команды.      <br />Если добавление полей повысит эффективность &#8211; добавляйте. Если внесет путаницу &#8211; не множьте сущности без необходимости <img src='http://alexlobach.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://alexlobach.ru/2009/07/15/opisanie-defekta-severity-i-priority/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>О чем &#8220;забывают&#8221; при управлении проектами</title>
		<link>http://alexlobach.ru/2009/03/20/o-chem-zabyvayut-pri-upravlenii-proektami/</link>
		<comments>http://alexlobach.ru/2009/03/20/o-chem-zabyvayut-pri-upravlenii-proektami/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 11:52:17 +0000</pubDate>
		<dc:creator>Александр Лобач</dc:creator>
				<category><![CDATA[Best practices]]></category>
		<category><![CDATA[управление проектами]]></category>

		<guid isPermaLink="false">http://alexlobach.ru/?p=82</guid>
		<description><![CDATA[Зачастую в проектах &#8220;забывают&#8221; о некоторых вещах. Почему слово забывают в кавычках? Потому что чаще всего те кто делает проекты знает про эти активности, но считают их не очень важными и/или не находят на них ресурсы. 
Даже не совсем так: данные активности требуют определенного порядка в мышлении, самоорганизации и совершения определенных телодвижений выходящих за рамки того [...]]]></description>
			<content:encoded><![CDATA[<p>Зачастую в проектах &#8220;забывают&#8221; о некоторых вещах. Почему слово забывают в кавычках? Потому что чаще всего те кто делает проекты знает про эти активности, но считают их не очень важными и/или не находят на них ресурсы. </p>
<p>Даже не совсем так: данные активности требуют определенного порядка в мышлении, самоорганизации и совершения определенных телодвижений выходящих за рамки того бардака который творится вокруг.</p>
<p><strong>Наиболее часто забываемые активности:</strong></p>
<ol>
<li>Правильная постановка задач</li>
<li>Управление рисками</li>
<li>Управление изменениями</li>
<li>Post-mortem анализ</li>
<li>Управление знаниями</li>
</ol>
<p>Немного о том, что из себя представляют данные активности и почему про них &#8220;забывают&#8221;.<span id="more-82"></span></p>
<h3>Правильная постановка задач</h3>
<p><strong><em>Постановка задачи</em></strong> — точная формулировка задачи с описанием входной и выходной информации.<br />
Характеристики правильной постановки задач организации или проекта основаны на английской аббревиатуре S.M.A.R.T. Задачи должны быть: Specific, Measurable, Achievable, Realistic, Time-limited, что означает &#8211; Определенными &#8211; т.е. они должны указывать на определенный результат или продукт; Измеряемыми &#8211; т.е. на каждом шагу должно быть ясно, насколько вы продвинулись в решении задачи; Достижимыми &#8211; т.е. их решение должно быть в принципе возможно; Реалистичными &#8211; т.е. их решение одинаково возможно как с точки зрения персонала организации, так и с точки зрения ее целевой аудитории; Ограниченными во времени &#8211; т.е. их решение должно происходить в обозримый период времени. <br />
<strong>Зачем?</strong><br />
Как ты лодку назовешь &#8211; так она и поплывет. От качества постановки задачи напрямую зависит конечный результат.<br />
<strong>Почему не делают</strong><br />
По простой причине &#8211; на это нужно время <span><span>и понимание как измерять достижение цели. Как вариант &#8211; так можно возложить ответственность за неудачу на инженера.</span></span></p>
<h3>Управление рисками</h3>
<p><strong><em>Риск проекта</em></strong> - это событие, которое в случае возникновения имеет негативное воздействие на одну из целей проекта (например сроки, стоимость, качество). Причиной возникновения рисков является неопределенность  которая всегда присутствует.<br />
<strong>Зачем?</strong><br />
Снижение вероятности возникновения и воздействия неблагоприятных для проекта событий.<br />
<strong>Почему не делают</strong><br />
Зачастую просто нет знаний о том что с рисками вообще можно что-то сделать или понимания какие выгоды это принесет.</p>
<h3>Управление конфигурацией (изменениями)</h3>
<p><strong><em>Управление конфигурацией - </em></strong>один из методов обеспечения уверенности в правильности реализации функциональных требований и спецификаций путем установления дисциплины и контроля в процессе уточнения и модификации программного продукта.<br />
<strong>Зачем?</strong><br />
Необходимо управлять всеми типами изменений, возникающими в процессе разработки, включая запросы на изменение, запросы на расширение функциональности и т.д.<br />
Позволяет предотвратить несанкционированное изменение, добавление или уничтожение информации в программном продукте.<br />
<strong>Почему не делают</strong><br />
При управлении конфигурацией программного продукта должны осуществляться учет и надлежащий анализ всех изменений, соответственно это требует дополнительных затрат ресурсов.</p>
<h3>Post-mortem анализ</h3>
<p><strong><em>Post Mortem</em></strong> – это процедура, посредством которой команда проекта подводит итоги проекта и анализирует все его позитивные и негативные аспекты. Целью является извлечение уроков из предыдущего опыта для повышения эффективности при выполнении последующих проектов.<br />
<strong><em>Post Mortem</em></strong> – общее собрание по завершении проекта. Это не вечеринка по случаю закрытия проекта, хотя, если проект завершился успешно, встреча может иметь подобную атмосферу.<br />
<strong>Зачем?</strong><br />
Это возможность начистоту поговорить о том, что вышло не так, как планировалось, и, самое главное, о том, что усвоено для будущего.  Анализ допущенных ошибок важен для их избежания, а, следовательно, успеха в будущем. Поэтому, если вы столкнулись со множеством проблем, не упускайте возможность обсудить их, когда они еще свежи в памяти. К тому же, команде нужно ощутить завершенность проекта, чтобы с ясной головой приступить к следующему проекту.<br />
Это не разговор о собственных амбициях или попытка «прикрыть свой зад», это открытая дискуссия о допущенных каждым ошибках (все совершают ошибки) или тех сторонах процесса, которые требуют улучшения. <br />
<strong>Почему не делают</strong><br />
Все дружно выступают за проведение такого собрания в том случае, если все сложилось удачно, но тихо спускают на тормозах если было допущено большое количество ошибок или проект вообще провалился.</p>
<h3>Управление знаниями</h3>
<p><strong><em>Управление знаниями</em></strong> (англ. <em>knowledge </em><em>management</em>) — это систематические процессы, благодаря которым распознаются, создаются, сохраняются, распределяются и применяются необходимые для успеха организации знания.<br />
<strong>Зачем?</strong><br />
Если коротко, то чтобы постоянно не наступать на одни и те же грабли и не терять компетенцию при изменении группы проекта.<br />
Более подробно я описывал в статье <a href="http://alexlobach.ru/2008/01/30/upravlenie-znaniyami-c-chego-nachat/">Управление знаниями. С чего начать</a>. <br />
<strong>Почему не делают</strong><br />
Потому что требует времени и ответственного отношения от всех участников процесса, а также потому что не всегда понимают к чему приводит отсутствие данной активности.</p>
<p><em>Данная статья является в большей степени обзорной,  в дальнейшем, планируется написание статей по каждой из &#8220;часто забываемых&#8221; активностей отдельно.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://alexlobach.ru/2009/03/20/o-chem-zabyvayut-pri-upravlenii-proektami/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Практика перераспределения задач</title>
		<link>http://alexlobach.ru/2009/01/22/praktika-pereraspredeleniya-zadach/</link>
		<comments>http://alexlobach.ru/2009/01/22/praktika-pereraspredeleniya-zadach/#comments</comments>
		<pubDate>Thu, 22 Jan 2009 11:52:36 +0000</pubDate>
		<dc:creator>Александр Лобач</dc:creator>
				<category><![CDATA[Best practices]]></category>
		<category><![CDATA[Постановка задач]]></category>
		<category><![CDATA[тестирование]]></category>

		<guid isPermaLink="false">http://alexlobach.ru/?p=48</guid>
		<description><![CDATA[Есть мнение, что вы собираетесь
найти формальное решение там,
где его быть не может
Алексей Никулин
Дано:

Несколько параллельных проектов по тестированию схожей тематики (или один большой проект из некоторого количества достаточно объемных модулей (по функционалу)).
На этих проектах присутствует определенный объем ручного тестирования (функциональное и/или регрессионное).
На каждом проекте (модуле) свой специалист по тестированию, входящий в проектную группу.
Проекты достаточно продолжительные по [...]]]></description>
			<content:encoded><![CDATA[<p align="right">Есть мнение, что вы собираетесь</p>
<p align="right">найти формальное решение там,</p>
<p align="right">где его быть не может</p>
<p align="right">Алексей Никулин</p>
<p><strong>Дано:</strong></p>
<ol>
<li>Несколько параллельных проектов по тестированию схожей тематики (или один большой проект из некоторого количества достаточно объемных модулей (по функционалу)).</li>
<li>На этих проектах присутствует определенный объем ручного тестирования (функциональное и/или регрессионное).</li>
<li>На каждом проекте (модуле) свой специалист по тестированию, входящий в проектную группу.</li>
<li>Проекты достаточно продолжительные по времени.</li>
</ol>
<p>После некоторого времени работы эти специалисты по тестированию становятся так называемыми гуру в данном проекте/модуле.</p>
<p><strong>Проблемы:</strong></p>
<ol>
<li>Страдает мотивация, человек начинает искать другую работу (да, да, очень мало людей просят перевести куда-нибудь, многие просто тихонько ищут другую работу). Думаю, не нужно объяснять стоимость ухода такого специалиста.</li>
<li>Происходит некоторое &#8220;замыливание&#8221; взгляда: А в прошлом билде это работало, значит и сейчас будет. Ставим Passed на эти тесты и идем дальше.</li>
</ol>
<p>В итоге:  или теряем специалиста по конкретному проекту/модулю, или теряем в качестве тестирования.</p>
<p><span id="more-48"></span><strong>Для более эффективной работы команды тестирования необходимо время от времени перераспределять задачи между инженерами следующим образом:</strong></p>
<ol>
<li>Пишет тестовую документацию один, тестирует &#8211; другой.</li>
<li>На разных этапах тестирования один и тот же функционал тестируют разные специалисты.</li>
</ol>
<p><strong>Пример</strong></p>
<p>Есть 6 модулей в продукте. За каждым модулем закреплен свой специалист по тестированию</p>
<p>1 &#8211; А, 2 &#8211; B, 3 &#8211; C, 4 &#8211; D, 5 &#8211; E, 6 &#8211; F</p>
<p>Проект длится не один месяц (по моим оценкам применять данную практику имеет смысл на проектах длиной от полугода).</p>
<p>Специалист закрепленный за каждым модулем пишет тесты, но выполняет их другой специалист, причем на разных этапах разный.</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td width="140" valign="top">Тесты/проекты</td>
<td width="30" align="center" valign="top">1</td>
<td width="30" align="center" valign="top">2</td>
<td width="30" align="center" valign="top">3</td>
<td width="30" align="center" valign="top">4</td>
<td width="30" align="center" valign="top">5</td>
<td width="30" align="center" valign="top">6</td>
</tr>
<tr>
<td>Написание</td>
<td width="30" align="center" valign="top">A</td>
<td width="30" align="center" valign="top">B</td>
<td width="30" align="center" valign="top">C</td>
<td width="30" align="center" valign="top">D</td>
<td width="30" align="center" valign="top">E</td>
<td width="30" align="center" valign="top">F</td>
</tr>
<tr>
<td>Выполнение Этап 1</td>
<td width="30" align="center" valign="top">B</td>
<td width="30" align="center" valign="top">C</td>
<td width="30" align="center" valign="top">D</td>
<td width="30" align="center" valign="top">E</td>
<td width="30" align="center" valign="top">F</td>
<td width="30" align="center" valign="top">A</td>
</tr>
<tr>
<td>Выполнение Этап 2</td>
<td width="30" align="center" valign="top">C</td>
<td width="30" align="center" valign="top">D</td>
<td width="30" align="center" valign="top">E</td>
<td width="30" align="center" valign="top">F</td>
<td width="30" align="center" valign="top">A</td>
<td width="30" align="center" valign="top">B</td>
</tr>
<tr>
<td>Выполнение Этап 3</td>
<td width="30" align="center" valign="top">D</td>
<td width="30" align="center" valign="top">E</td>
<td width="30" align="center" valign="top">F</td>
<td width="30" align="center" valign="top">A</td>
<td width="30" align="center" valign="top">B</td>
<td width="30" align="center" valign="top">C</td>
</tr>
</tbody>
</table>
<p><strong>Рассмотрим плюсы и минусы предлагаемого подхода:</strong></p>
<p><strong>Плюсы работникам:</strong></p>
<ol>
<li>Переключение в новую область дает новые знания (Что само по себе плюс, но кроме этого может дать толчок для применения этих знаний о технологии, полученных при тестировании, для тестирования (и не только) другой подсистемы).</li>
<li>Порождает некую соревновательность. (Возможность показать, что ты лучше, чем твой коллега <img src='http://alexlobach.ru/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Главное, чтобы это не перешло в гонку вооружений).</li>
<li>Понимание работником отношения к нему его руководства. (Про тебя помнят и следят за твоими успехами и неудачами).</li>
</ol>
<p><strong>Плюсы работодателю:</strong></p>
<ol>
<li>Становится меньше (или вообще исчезают) &#8220;незаменимые люди&#8221;.</li>
<li>Облегчается верификация дефектов. В случае, когда тот кто занес дефект, по каким-то причинам не может его проверить, то лучше его верифицировать человеку, кто уже тестировал подсистему/функциональность, чем тому, кто ее первый раз видит.</li>
<li>Одна голова хорошо, а две лучше.</li>
<li>Если тестовую документацию пишет один человек (тест-кейзы, чек-листы итд), а тестирует по ним другой, то находятся проблемы не только в ПО, но и в тестах.</li>
<li>Появляется более сбалансированная команда, где обучение происходит peer-to-peer, просто в процессе работы. Надо меньше тренингов, семинаров и т.д.</li>
<li>Есть возможность получить &#8220;более хорошего&#8221; специалиста по тестированию для той или иной подсистемы не нанимая нового сотрудника.</li>
<li>Переключение в новую область зачастую влечет повышение мотивации сотрудника без каких-либо материальных затрат (читай: не надо поднимать зарплату).</li>
<li>Опять же, есть возможность принимать на работу не профессионала, а новичка, и,. в дальнейшем, выращивать его до опытного сотрудника будет проще.</li>
<li>Если на одном проекте временное затишье, то можно переключить сотрудников на другой проект не теряя время специалистов на изучение проекта/функционала с нуля.</li>
</ol>
<p><strong>Минусы:</strong></p>
<ol>
<li>Тратится время на изучение новой области &#8211; меньшая отдача от сотрудника. (Сиюминутный минус &#8211; стратегический плюс).</li>
<li>Большие затраты времени на тестирование, При подходе &#8211; тестовую документацию пишет один, тестирует другой. (Опять же сиюминутный минус &#8211; для качества проекта плюс, да и никто не запрещает заносить баги при написании тестов).</li>
<li>Необходимость более тонкого и чуткого распределения задач со стороны руководства. (Ну должны же ведь начальники доказать, что они не зря деньги получают, ага? <img src='http://alexlobach.ru/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</li>
<li>Ну и самое, наверное, сложное, люди в команде должны быть правильными. Как раз чтобы избежать ситуаций, где все знают ничего обо всем, где кто-нибудь кому-нибудь завидует, где никто ничего не хочет. (А собеседования и испытательный срок зачем нужны?).</li>
</ol>
<p><strong>Когда и для каких людей будет работать данная практика?</strong></p>
<p><strong>Когда:</strong></p>
<ol>
<li>Проект/проекты длиной от полугода или проекты по поддержке/доработке ранее разработанного ПО.</li>
<li>Желание руководства возиться с перераспределением задач.</li>
<li>Понимание руководством выгод данного подхода в будущем даже с учетом увеличенных затрат по времени сейчас.</li>
</ol>
<p>В любом случае, как и для любой другой практики нужно считать эффективность ее применения.</p>
<p><strong>Для каких людей:</strong></p>
<p>Алексей Никулин вот <a href="http://it4business.ru/forum/topic14250.html?view=findpost&amp;p=63311" target="_blank">в этом посте</a> описал ограничение по применимости данной практики к специалистам по тестированию в зависимости от типа</p>
<blockquote><p>Есть мнение, что вы собираетесь найти формальное решение там, где его быть не может. В данном случае все зависит от конкретного человека. Я бы предположил, что по отношению к тестируемому продукту можно выделить как минимум два типа тестировщиков:</p>
<ul>
<li> &#8220;Это моя игрушка&#8221;: тестировщик привыкает к продукту, холит и лелеет его, отлично знает все тонкости, привычки и слабые места, после каждого раза, когда отданный &#8220;поиграть&#8221; разработчикам продукт возвращается от них &#8211; тщательно и ревностно проверяет, не сломали ли что-нибудь эти чужие дяди. Перевод на другой проект расценивает как личную трагедию.</li>
<li> &#8220;Это моя новая игрушка&#8221;: сломя голову набрасывается на новый продукт, быстро осваивается в нем, находит серьезные проблемы, требует их немедленно исправить, пытается пилить бензопилой стальные балки; с уменьшением числа открытий успокаивается и теряет интерес. Глаз замыливается, внимание снижается, эффективность падает. &#8220;Заточение&#8221; на одном проекте считает личной драмой.</li>
</ul>
<p>По-моему, совершенно логично, что первый тип тестировщиков больше подходит для регрессионного тестирования и поддержки продукта, а второй &#8211; для переброски с проекта на проект с целью &#8220;охоты на баги&#8221;.</p></blockquote>
<p><em>P.S. Данная практика нацелена на повышение квалификации всех специалистов по тестированию, повышение их мотивации и уменьшение рисков ухода сотрудников. Она ни в коем случае не предполагает формальное использование из разряда «делай раз, делай два» (см. цитату в начале статьи) и именно в таком ключе и надо ее воспринимать. Я сам применяю эту практику около 3-х лет и доволен результатами.</em></p>
<p>Статья написана по мотивам обсуждения на <a href="http://it4business.ru/forum/topic14250s0.html" target="_blank">форуме it4business </a></p>
<p><strong></strong></p>
<p><strong>В статье были использованы посты и замечания Алексея Лянгузова и Алексея Никулина.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://alexlobach.ru/2009/01/22/praktika-pereraspredeleniya-zadach/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Артефакты, необходимые для тестирования</title>
		<link>http://alexlobach.ru/2008/09/03/artefakty-neobxodimye-dlya-testirovaniya/</link>
		<comments>http://alexlobach.ru/2008/09/03/artefakty-neobxodimye-dlya-testirovaniya/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 12:45:55 +0000</pubDate>
		<dc:creator>Александр Лобач</dc:creator>
				<category><![CDATA[Best practices]]></category>
		<category><![CDATA[документы]]></category>
		<category><![CDATA[тестирование]]></category>

		<guid isPermaLink="false">http://www.alexlobach.ru/2008/09/03/artefakty-neobxodimye-dlya-testirovaniya/</guid>
		<description><![CDATA[Рецензент: Сергей Мартыненко
Дисклаймер. Данная статья не является претензией на объективность, а отражает только мое сугубо личное мнение. Также прошу обратить внимание на то, что мое мнение не является статичным и может меняться. Статья написана только для того, чтобы не отвечать много раз на одни и те же вопросы, а просто дать ссылку.
Итак попробую ответить на [...]]]></description>
			<content:encoded><![CDATA[<p>Рецензент: <a id="mfnr" rel="nofollow" href="http://blog.shumoos.com/">Сергей Мартыненко</a></p>
<p>Дисклаймер. Данная статья не является претензией на объективность, а отражает только мое сугубо личное мнение. Также прошу обратить внимание на то, что мое мнение не является статичным и может меняться. Статья написана только для того, чтобы не отвечать много раз на одни и те же вопросы, а просто дать ссылку.</p>
<p><strong>Итак попробую ответить на вопрос: какие артефакты необходимы для обеспечения процесса тестирования (имеется ввиду разрабатываемые самим тестировщиком).</strong><br />
<span id="more-20"></span><br />
<strong>Я выделяю несколько артефактов:</strong></p>
<ol>
<li>План тестирования (Test plan)</li>
<li>Тестовый сценарий (Test-case)</li>
<li>Наборы тестовых сценариев (Test script or Test suite)
<ul>
<li>Набор тестовых сценариев для Smoke-test</li>
<li>План приёмосдаточных испытаний (ПСИ)</li>
</ul>
</li>
<li>Описание дефектов</li>
<li>Отчет о тестировании</li>
</ol>
<p>Описание дефектов и отчет о тестировании в данной статье не рассматриваются, так как это уже результаты и поэтому про них напишу отдельно.</p>
<h3>План тестирования</h3>
<p>Есть как минимум два общепринятых понимания этого документа:</p>
<ol>
<li>Документ описывающий кто, что, когда и как будет тестироваться</li>
<li>Документ описывающий все необходимые для проверки приложения тесты.</li>
</ol>
<p>Говоря план тестирования, я подразумеваю именно первый вариант толкования.<br />
Для того чтобы посмотреть пример плана тестирования можно:</p>
<ul>
<li>Взять книгу <a href="http://it4business.ru/forum/index.php?showtopic=13597">Роберт Калбертсон, Крис Браун, Гэри Кобб. Быстрое тестирование</a></li>
<li>Взять RUP</li>
<li>Погуглить</li>
<li>Дождаться когда я изложу пример в одной из следующих статей</li>
</ul>
<h3>Тестовый сценарий(тест)</h3>
<p>Тестовый сценарий &#8211; это описание начальных условий, входных данных, действий пользователя и ожидаемого результата.<br />
Хорошая практика &#8211; написание тестовых сценариев на основании вариантов использования (Use cases).</p>
<p>Тестовый сценарий является как атом мельчайшей частичкой для ниже описанных документов (но его как и атом можно разбить на условия, входные данные, шаги, результаты)</p>
<p>Варианты названий:</p>
<ul>
<li>Атомарный тест</li>
<li>Тестовый вариант</li>
<li>Вариант тестирования</li>
<li>Тестовый случай</li>
</ul>
<h3>Наборы тестовых сценариев</h3>
<p>Это тестовые сценарии сгруппированные по некоему признаку (например тестируемой функциональности). Они могут быть как зависящими от последовательности выполнения (результат выполнения предыдущего является предварительным условием для следующего (Test script)), так и независимыми (Test suite).<br />
Наиболее часто выделяемыми наборами являются: Набор тестовых сценариев для Smoke-test и План приёмо-сдаточных испытаний.</p>
<h3>Набор тестовых сценариев для Smoke-test</h3>
<p>Если честно, то я не знаю адекватного перевода на русский данного термина. Иногда используется перевод &#8220;Дымчатое тестирование&#8221;, но он вызывает у меня стойкое отвращение.</p>
<p>Набор тестовых сценариев для Smoke-test &#8211; это документ, включающий в себя набор определенных тестовых сценариев, покрывающих основную функциональность объекта или системы. Цель проведения Smoke-test &#8211; убедиться в том, что ключевые функции программы работают, не вникая в подробности.<br />
Хорошая практика &#8211; прием билда в тестирование на основании прохождения Smoke-test. Также зачастую в качестве такого теста используют ежедневную сборку с обязательным прохождением unit тестов.<br />
<em>Комментарий: Ежедневная сборка без unit тестов не может считаться как Smoke test. Это называется: &#8220;Ух ты компилицо&#8221;</em></p>
<h3>План приёмо-сдаточных испытаний (ПСИ)</h3>
<p>Документ, включающий в себя набор определенных тестовых сценариев, после положительного прохождения которого заказчик подписывает акт приемо-передачи (сдачи-приемки).</p>
<p>В общем случае подмножества тестов выглядят так как на рисунке.</p>
<p><img id="prif" src="http://docs.google.com/File?id=dcvcjt23_41d2zm2z4x_b" alt="" width="386" height="386" /></p>
<p>Выше я перечислил те артефакты, которые считаю важными для проведения тестирования. Но это не значит что при любом тестировании необходимо использовать все из них. Да и детализация каждого из артефактов в каждом конкретном случае может различаться.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexlobach.ru/2008/09/03/artefakty-neobxodimye-dlya-testirovaniya/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Управление знаниями. C чего начать</title>
		<link>http://alexlobach.ru/2008/01/30/upravlenie-znaniyami-c-chego-nachat/</link>
		<comments>http://alexlobach.ru/2008/01/30/upravlenie-znaniyami-c-chego-nachat/#comments</comments>
		<pubDate>Wed, 30 Jan 2008 16:46:57 +0000</pubDate>
		<dc:creator>Александр Лобач</dc:creator>
				<category><![CDATA[Best practices]]></category>
		<category><![CDATA[Wiki]]></category>
		<category><![CDATA[База Знаний]]></category>
		<category><![CDATA[Управление знаниями]]></category>

		<guid isPermaLink="false">http://www.alexlobach.ru/2008/01/30/upravlenie-znaniyami-c-chego-nachat/</guid>
		<description><![CDATA[Рецензент: Сергей Мартыненко
Москва не сразу строилась…
(из известной песни)
Сотрудники приходят и уходят, переключаются с проекта на проект, переходят из отдела в отдел.  И каждый раз приходится затрачивать большое количество ресурсов на введение нового сотрудника в курс дел. В конце концов,  человеческая память несовершенна и все имеет свойство забываться. Причем это может относиться как к [...]]]></description>
			<content:encoded><![CDATA[<p>Рецензент: <a href="http://blog.shumoos.com/" rel="nofollow">Сергей Мартыненко</a></p>
<p align="right">Москва не сразу строилась…</p>
<p align="right">(из известной песни)</p>
<p>Сотрудники приходят и уходят, переключаются с проекта на проект, переходят из отдела в отдел.  И каждый раз приходится затрачивать большое количество ресурсов на введение нового сотрудника в курс дел. В конце концов,  человеческая память несовершенна и все имеет свойство забываться. Причем это может относиться как к пониманию бизнес-процессов, так и к техническим/технологическим вещам.</p>
<p>Избежать этого никак не получится, но можно уменьшить затраты на передачу знаний. Для этого служит дисциплина под названием <strong>Управление знаниями</strong>.</p>
<p><span id="more-12"></span></p>
<blockquote><p><strong>Управле́ние зна́ниями</strong> (англ. <em>knowledge </em><em>management</em>) — это систематические процессы, благодаря которым распознаются, создаются, сохраняются, распределяются и применяются необходимые для успеха организации знания. С 1995 года, управление знаниями стало установившейся научной дисциплиной, с преподаванием университетских курсов и посвящёнными данной теме профессиональными и академическими изданиями.</p></blockquote>
<p>В полном объеме управление знаниями объемная научная дисциплина, но на практике достаточно использовать небольшое подмножество – Базу Знаний.</p>
<blockquote><p>Сегодня <strong>база знаний</strong> — один из самых важных активов современной организации. Знания — это информация в контексте, способная произвести побуждающее к действиям понимание.</p></blockquote>
<p><strong>Для того, чтобы организовать и развивать Базу Знаний есть всего лишь одно условие: необходим “Человек, Которому Больше Всех Надо” (например, в нашей компании таким человеком выступаю лично я). Т.е. у кого-то в компании должно хватить сил взять на себя ответственность продавить и начать такую инициативу, а затем постоянно контролировать и мониторить процесс наполнения.</strong></p>
<p>Для тех, кто считает что у него есть силы начать организацию приведу несколько правил, следование которым значительно повысит успешность внедрения Базы Знаний.</p>
<p><strong>1. Начинайте с малого</strong></p>
<p>В некоторых компаниях сотрудники не обмениваются даже информацией, не говоря уже о знаниях. Для изменения ситуации к лучшему, сначала можно предоставить доступ к основной информации о работе и продукции других отделений, к их бизнес-планам, а также к формализованным знаниям (отчетам, показателям па перспективу, материалам семинаров).</p>
<p>Простые базы знаний могут использоваться для хранения данных об организации: документации, руководств, статей технического обеспечения. Главная цель создания таких баз — помочь менее опытным людям <em>найти существующее описание</em> способа решения какой-либо проблемы предметной области.</p>
<p><strong>2. Не следует слишком увлекаться информационными технологиями. </strong></p>
<p>На самом деле, главное в вашей работе &#8211; культура, методы управления и, что самое важное, люди. Тем не менее, доказавшие свою эффективность технологии нужно использовать. Однако требуется постоянный анализ их применения на основе полученной в порядке обратной связи информации от сотрудников. Это поможет усовершенствовать технологии в случае необходимости.</p>
<p><strong>3. Избегайте излишней формализации</strong></p>
<p>Очень важно чтобы накопление знаний не превращалось в чисто формальный, а фактически &#8211; бесполезный процесс, которым тяготятся сотрудники.</p>
<p><strong>4. Будьте избирательны!</strong></p>
<p>Не стоит пытаться выявить и систематизировать всю имеющуюся информацию. Если собранная вами информация окажется слишком подробной, то из нее будет крайне сложно выбрать что-то действительно ценное для сотрудников, и она превратится в огромный, неуправляемый бюрократический кошмар.</p>
<p><strong>5. Регулярно оценивайте достижения. </strong></p>
<p>Как далеко вы продвинулись? Не столкнулись ли вы с чем-то неожиданным? Что удалось, а что &#8211; нет? Как вы должны скорректировать свою стратегию с учетом знаний, полученных вами в процессе работы?</p>
<p>Когда я рассказываю о своем опыте внедрения Базы Знаний, то мне всегда задают одни и те же вопросы, так что попробую на них ответить.</p>
<p><strong>1. Какое ПО использовать для Базы знаний? </strong></p>
<p>Какое вам удобно. Я использую <a href="http://www.mediawiki.org/wiki/MediaWiki" target="_blank" rel="nofollow">Mediawiki</a>.</p>
<p><strong>2. Кто и в каких случаях вносит записи в Базу Знаний? </strong></p>
<p>“Человек, Которому Больше Всех Надо”, начинает где-то вести заметки, рассказывает об этом коллегам, которые тоже начинают пользоваться и вносить правки. (В моем случае занесение новых статей в Базу Знаний вначале было обязательное условие для сотрудников моего отдела при изучении любого нового материала, где-то через полгода наполнение продолжилось уже без моего участия).</p>
<p><strong>3. Какая используется структура статей (даже если особой структуры нет, то все равно есть некие сложившиеся правила)?</strong></p>
<p>Не требуется никакой утвержденной структуры.  Есть такое замечательное понятие &#8211; самоорганизация, “Человек, Которому Больше Всех Надо”, за всем приглядывает.<br />
Более того, как только в дело вмешиваются Процедуры, Правила, Регламенты и прочее, народ к написанию сразу охладевает. Тем более структура wiki позволяет в любой момент все перетасовать.</p>
<p><strong>4. Кто и как в дальнейшем пользуется этими записями. </strong></p>
<p><em>Тестировщики, программисты, аналитики, менеджеры</em> &#8211; когда что-то забывают или чего-то не знают.</p>
<p><em>Новые сотрудники</em> &#8211; это значительно уменьшает время вхождения новичков в ход работы. Когда приходит новый сотрудник, то первым делом сажаю его читать определенный набор статей в Базе Знаний. И при этом он не отвлекает дорогостоящих специалистов от работы.</p>
<p>В этой статье я, исходя из собственного опыта, постарался привести рекомендации по организации Базы Знаний как инструмента по повышению эффективности работы как отдельных сотрудников, так и всей компании в целом.</p>
<p><strong>В процессе подготовки статьи были использованы следующие источники:<br />
</strong><br />
<a href="http://alenacpp.blogspot.com/2008/01/wiki.html" target="_blank" rel="nofollow">Алёна C++. Система контроля версий, багтрак и wiki</a></p>
<p><font color="#333333"><a href="http://sorlik.blogspot.com/2007/08/web-20.html" target="_blank" rel="nofollow">С высоты птичьего полета /блог Сергея Орлика/. Средства Web 2.0 внутри предприятия &#8211; кому это надо?</a></font></p>
<p><a href="http://ru.wikipedia.org/wiki/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B7%D0%BD%D0%B0%D0%BD%D0%B8%D1%8F%D0%BC%D0%B8" target="_blank" rel="nofollow">Wikipedia. Управление знаниями</a></p>
]]></content:encoded>
			<wfw:commentRss>http://alexlobach.ru/2008/01/30/upravlenie-znaniyami-c-chego-nachat/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
