<?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>PM Stories &#187; тестване</title>
	<atom:link href="http://pmstories.com/bg/tag/%d1%82%d0%b5%d1%81%d1%82%d0%b2%d0%b0%d0%bd%d0%b5/feed/" rel="self" type="application/rss+xml" />
	<link>http://pmstories.com/bg</link>
	<description>Истории от света на софтуерното производство и управлението на проекти</description>
	<lastBuildDate>Mon, 07 Nov 2011 07:50:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>100 въпроса при интервюиране на софтуерни разработчици. Част 2 &#8211; кодиране и тестване</title>
		<link>http://pmstories.com/bg/2009/03/15/100-interview-questions-for-software-developers-2/</link>
		<comments>http://pmstories.com/bg/2009/03/15/100-interview-questions-for-software-developers-2/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 18:31:46 +0000</pubDate>
		<dc:creator>Майк Рам</dc:creator>
				<category><![CDATA[Разработка на софтуер]]></category>
		<category><![CDATA[Jurgen Appelo]]></category>
		<category><![CDATA[алгоритми]]></category>
		<category><![CDATA[въпроси за интервю]]></category>
		<category><![CDATA[кодиране]]></category>
		<category><![CDATA[разработчици на софтуер]]></category>
		<category><![CDATA[структури от данни]]></category>
		<category><![CDATA[тестване]]></category>

		<guid isPermaLink="false">http://pmstories.com/bg/?p=262</guid>
		<description><![CDATA[В тази серия от постове ви предлагам въпроси към кандидатите за работа на позиция &#8220;Софтуерен разработчик&#8221;. Въпросите ги заимствах от Jurgen Appelo от блога NOOP.nl, който е изготвил един голям списък от 100 въпроса, разделен в 10 категории, според областите на знание, дефинирани от Software Engineering Body of Knowledge (SWEBOK). Препоръчвам ви да си свалите [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-270 aligncenter" title="кодиране, алгоритми, тестване" src="http://pmstories.com/bg/wp-content/uploads/2009/03/developer-2-1.jpg" alt="кодиране, алгоритми, тестване" width="403" height="310" /></p>
<p>В тази серия от постове ви предлагам въпроси към кандидатите за работа на позиция &#8220;Софтуерен разработчик&#8221;. Въпросите ги заимствах от <strong>Jurgen Appelo</strong> от блога <a title="Noop" href="http://www.noop.nl/" target="_blank">NOOP.nl</a>, който е изготвил <a title="100 Interview Questions for Software Developers" href="http://www.noop.nl/2009/01/100-interview-questions-for-software-developers.html" target="_blank">един голям списък от 100 въпроса</a>, разделен в 10 категории, според областите на знание, дефинирани от <a title="SWEBOK" href="http://www.swebok.org/" target="_blank"><strong>Software Engineering Body of Knowledge (SWEBOK)</strong></a>. Препоръчвам ви да си свалите и самия <a title="The Guide to SWEBOK" href="http://www2.computer.org/portal/web/swebok/htmlformat" target="_blank">The Guide to SWEBOK</a> от там &#8211; една важна и полезна книга за софтуерни разработчици.</p>
<p>В <a title="100 въпроса за софтуерни разработчици. Част 1 - изисквания и дизайн" href="http://pmstories.com/bg/2009/03/09/100-interview-questions-for-software-developers-1/" target="_self">първата част</a> разгледахме въпроси от областите на управлението на изискванията и дизайна, а сега ви предлагам още една доза въпроси, този път насочени към кодирането, алгоритмите и тестването.</p>
<p><strong>Кодиране</strong></p>
<ul>
<li>Кое ви интересува най-много, когато правите ревю на чужд код?</li>
<li>Кога използвате абстрактен клас и кога &#8211; интерфейс?</li>
<li>Освен IDE-то, кои други помощни средства използвате и считате за особено полезни?</li>
<li>Как осигурявате вашия код да бъде едновременно бърз и сигурен?</li>
</ul>
<p><strong>Алгоритми</strong></p>
<ul>
<li>Как ще намерите средния елемент в свързан списък?</li>
<li>Как ще напишете функция за обръщане на стринг? Можете ли да го направите без да използвате временна променлива?</li>
<li>Знаете ли какво представлява Транспортната задача?</li>
</ul>
<p><span id="more-262"></span><strong>Структури от данни<br />
</strong></p>
<ul>
<li>Как бихте записали стойността на един цвят в база данни по най-ефективния начин?</li>
<li>Как бихте записали N-мерен вектор в база данни?</li>
<li>Как бихте записали резултатите от футболно първенство (отбори и резултати) в XML документ?</li>
</ul>
<p><strong>Тестване</strong></p>
<ul>
<li>Знаете ли какво е тестване за регресии (regression test)? Как бихте подсигурили, че новите промени няма да &#8220;счупят&#8221; работещата функционалност?</li>
<li>Знаете ли какво е покритие на кода (code coverage)? Какви видове покритие на кода съществуват?</li>
<li>Какво бихте направили, за да намалите възможността потребителя да открие бъгове по време на приемните тестове?</li>
</ul>
<p><em>Следва продължение.</em></p>
<hr />
<p style="text-align: left;"><em>Гласувайте за тази статия в <a href="http://svejo.net/" target="_blank">Svejo.net</a>:</em> </p>
<p style="text-align: left;"><img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" alt="" hspace="10" vspace="10" width="32" height="32" align="left" /><em>Ако харесвате статиите в този блог и се интересувате от тематиката, която разглеждаме, за да си гарантирате, че няма да изпуснете публикация, абонирайте се за съдържанието му <a rel="alternate" type="application/rss+xml" href="http://feeds.feedburner.com/PmStoriesBg">чрез RSS feed</a> или <a href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1527753&amp;loc=en_US">по имейл</a></em>.</p>
<h3  class="related_post_title">Вижте и тези публикации:</h3><ul class="related_post"><li><a href="http://pmstories.com/bg/2009/03/09/100-interview-questions-for-software-developers-1/" title="100 въпроса при интервюиране на софтуерни разработчици. Част 1 &#8211; изисквания и дизайн">100 въпроса при интервюиране на софтуерни разработчици. Част 1 &#8211; изисквания и дизайн</a></li><li><a href="http://pmstories.com/bg/2009/05/19/open-agile-romania/" title="Open Agile Румъния">Open Agile Румъния</a></li><li><a href="http://pmstories.com/bg/2009/03/18/useful-links/" title="Полезни връзки: Най-важните неща за един PM, нова безплатна е-книга, манифест на сложността">Полезни връзки: Най-важните неща за един PM, нова безплатна е-книга, манифест на сложността</a></li><li><a href="http://pmstories.com/bg/2009/02/23/the-zen-of-scrum/" title="The Zen Of Scrum">The Zen Of Scrum</a></li><li><a href="http://pmstories.com/bg/2009/01/19/recommended-reading-top-software-pm-blogs/" title="Полезни връзки: 100-те най-добри блога за разработка на софтуер">Полезни връзки: 100-те най-добри блога за разработка на софтуер</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://pmstories.com/bg/2009/03/15/100-interview-questions-for-software-developers-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Кой тества вашия продукт? Резултати от анкетата</title>
		<link>http://pmstories.com/bg/2008/04/02/testing-as-a-service-2/</link>
		<comments>http://pmstories.com/bg/2008/04/02/testing-as-a-service-2/#comments</comments>
		<pubDate>Wed, 02 Apr 2008 13:32:37 +0000</pubDate>
		<dc:creator>Майк Рам</dc:creator>
				<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://pmstories.com/bg/2008/04/02/testing-as-a-service-2/</guid>
		<description><![CDATA[Оказа се, че тази анкета нещо съм я забравил и стои от много време на сайта, а няма особена активност по нея. Дали въпросът не е интересен или просто който е имал мнение вече го е дал &#8211; не знам. Но времето на тази анкета изтече, а имам и други въпроси, които искам да ви [...]]]></description>
			<content:encoded><![CDATA[<p>Оказа се, че тази анкета нещо съм я забравил и стои от много време на сайта, а няма особена активност по нея. Дали въпросът не е интересен или просто който е имал мнение вече го е дал &#8211; не знам. Но времето на тази анкета изтече, а имам и други въпроси, които искам да ви задам, затова я затварям и обявявам резултатите.</p>
<p>Въпросът беше: <a href="http://pmstories.com/bg/2008/01/20/testing-as-a-service/">Кой тества вашия продукт?</a> <strong>Общо гласувалите в анкетата са 66 човека</strong>, като разпределението на отговорите е следното:</p>
<p><a href="http://pmstories.com/bg/wp-content/uploads/2008/04/testing.png" title="Poll resuts - Testing"></a></p>
<p style="text-align: center"><a href="http://pmstories.com/bg/wp-content/uploads/2008/04/testing.png" title="Poll resuts - Testing"><img src="http://pmstories.com/bg/wp-content/uploads/2008/04/testing.png" alt="Poll resuts - Testing" /></a></p>
<ul>
<li>Тестери &#8211; членове на проектния екип (<strong>36%, 24 гласа</strong>)</li>
<li>Отдел по качеството във фирмата (<strong>23%, 15 гласа</strong>)</li>
<li>Програмистите (<strong>23%, 15 гласа</strong>)</li>
<li>Клиентът (<strong>18%, 12 гласа</strong>)</li>
</ul>
<p><span id="more-141"></span>В <a href="http://pmstories.com/bg/2008/01/20/testing-as-a-service/">поста, с който обявих анкетата</a>, поставих дилемата <strong>кой е по-добрият начин да се тества един софтуерен продукт</strong> &#8211; дали от хора, които са неотделима част от проектния екип и познават същността на задачата издълбоко, или от специален отдел по качеството, който е външен за екипа и извършва тестването като услуга. Вашите отговори показват, че първият вариант е по-популярен, въпреки че и вторият има своето практическо приложение.</p>
<p>Това, което ме плаши, е, че <strong>41% от отговорите показват, че в тези фирми на практика няма тестване</strong>. Съвременните практики в контрола на качеството изискват на този процес да се посвети много време, знания и усилия, за да се предотврати издаването на софтуер със сериозни бъгове в него. Да оставиш тази дейност в ръцете на програмистите е дълбоко погрешно. Първо, те нямат възможността да погледнат на своята работа отстрани, за да открият дълбоко заровените бъгове. Второ, нямат и времето да се занимават сериозно с това, тъй като обикновено са натоварени над 100% с разработка.</p>
<p>Още по-тревожен е процентът на хората, отговорили, че оставят клиента сам да си тества продукта. <strong>Това е направо самоубийствен подход!</strong> Клиентът може и да няма представа от процеса на софтуерна разработка и при първоначално тестване ще се сблъска с множество дребни (в нашите очи) бъгове, които могат дълбоко да разклатят неговото доверие в нас като специалисти и във фирмата като цяло. Много често, в резултат на тестването, клиентът изпада във враждебно отношение и в един момент забравя, че софтуерът, който сме разработили за него, служи за облекчаване на неговия труд, и се вманиачава в откриване на нови и нови бъгове, доказващи нашата професионална некадърност (в неговите очи).</p>
<p>Наясно съм с факта, че участниците в анкетата не са представителна извадка за целия ИТ бизнес у нас. Надявам се един ден да видим по-сериозно проучване, в което резултатите да са много по-добри и да покажат, че на дейността по тестването се гледа сериозно и към нея се подхожда с подобаваща отговорност.</p>
<p><em>Гласувайте за тази статия в <a href="http://svejo.net/" target="_blank">Svejo.net</a>:</em> </p>
<p><img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" align="left" height="32" hspace="10" vspace="10" width="32" /><em>Ако харесвате статиите в този блог и се интересувате от тематиката, която разглеждаме, за да си гарантирате, че няма да изпуснете публикация, абонирайте се напълно безплатно за нашия бюлетин <a href="http://feeds.feedburner.com/PmStoriesBg" rel="alternate" type="application/rss+xml">чрез RSS feed</a> или <a href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1527753&amp;loc=en_US">по имейл</a></em>.</p>
<h3  class="related_post_title">Вижте и тези публикации:</h3><ul class="related_post"><li><a href="http://pmstories.com/bg/2008/01/20/testing-as-a-service/" title="Кой тества вашия продукт?">Кой тества вашия продукт?</a></li><li><a href="http://pmstories.com/bg/2008/07/04/team-size-results/" title="Оптималният размер на екипа е ясен">Оптималният размер на екипа е ясен</a></li><li><a href="http://pmstories.com/bg/2008/11/20/who-decides-to-start-a-project/" title="Кой решава дали да стартира един проект?">Кой решава дали да стартира един проект?</a></li><li><a href="http://pmstories.com/bg/2010/03/16/infoweek-survey/" title="Проучване на в. InfoWeek за пазара на труда в ИТ сферата">Проучване на в. InfoWeek за пазара на труда в ИТ сферата</a></li><li><a href="http://pmstories.com/bg/2009/07/09/software-practices-survey/" title="Добрите практики на софтуерното производство &#8211; анкета">Добрите практики на софтуерното производство &#8211; анкета</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://pmstories.com/bg/2008/04/02/testing-as-a-service-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Кой тества вашия продукт?</title>
		<link>http://pmstories.com/bg/2008/01/20/testing-as-a-service/</link>
		<comments>http://pmstories.com/bg/2008/01/20/testing-as-a-service/#comments</comments>
		<pubDate>Sun, 20 Jan 2008 16:14:45 +0000</pubDate>
		<dc:creator>Майк Рам</dc:creator>
				<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://pmstories.com/bg/2008/01/20/testing-as-a-service/</guid>
		<description><![CDATA[Процесът на тестване на продукта отдавна е утвърден в теорията на софтуерното производство и даже съществува ролята на тестера &#8211; човек който притежава специфични качества и умения (различни от тези на програмиста), и е специално обучен да провери дали това, което произвеждаме, отговаря на зададените изисквания и се държи стабилно. В интерес на истината, до [...]]]></description>
			<content:encoded><![CDATA[<p>Процесът на тестване на продукта отдавна е утвърден в теорията на софтуерното производство и даже съществува ролята на тестера &#8211; човек който притежава специфични качества и умения (различни от тези на програмиста), и е специално обучен да провери дали това, което произвеждаме, отговаря на зададените изисквания и се държи стабилно.</p>
<p>В интерес на истината, до неотдавна у нас съществуваха фирми, които не практикуваха никакво тестване, т.е. <strong>оставяха откриването на грешки като изненада за клиента</strong>, и такива, които възлагаха тази работа на самите програмисти, въпреки че практиката е установила, че този, който пише даден код, не е в състояние да открие голямо количество от бъговете, защото не може да разчупи мисленето си и да погледне на продукта от друг ъгъл. Вярвам, че такива фирми вече не са останали в днешно време, а ако все още съществуват, съм убеден, че пазарът ще ги принуди да променят отношението си към качеството на продукцията си или просто ще ги смачка.</p>
<p><span id="more-105"></span>По-интересен е случаят, в който тестването е неотменна част от жизнения цикъл на продукта и с това се занимават нарочно определени хора. Тук отново съществува едно принципно разделение: <strong>в някои фирми тестерите са част от проектния екип</strong> &#8211; те участват в тестването на всички документи &#8211; още в най-ранната фаза на проекта &#8211; и остават в екипа до окончателното предаване на продукта на клиента, че даже и малко след това &#8211; по време на процеса на поддръжка.</p>
<p><strong>В други фирми пък за тестването отговаря специален отдел по качеството</strong>, който не се числи към нито един проект, а извършва оценка на качеството на всички продукти, които се разработват в компанията. Обикновено този отдел се ръководи от Quality Manager &#8211; човек, който има последната дума по отношение на това дали продуктът покрива критериите за качество, зададени при самото стартиране на проекта. На този тип организация му казват <strong>Testing as service</strong> или тестването като услуга.</p>
<p>Въпросът е: <strong>кой е по-ефективният метод и кой е по-подходящ за нашия проект? </strong></p>
<p>Напоследък се налага организация от типа &#8220;тестване като услуга&#8221;, може би поради това, че тестерите от отдела по качеството могат да бъдат по-ефективно натоварени. От друга страна, тестването като услуга има и своите недостатъци, един от които е изискването за предварително подготвена детайлна документация, което на практика е рядко срещано явление &#8211; най-вече поради постоянно променящите се изисквания от страна на възложителя.</p>
<p>В подкрепа на организацията, при която тестерите са равноправни членове на проектния екип, Johanna Rothman е публикувала един пост в блога <a href="http://www.pmhut.com/" target="_blank">PM Hut</a>, озаглавен <a href="http://www.pmhut.com/testing-is-not-a-service" target="_blank">Тестването не е услуга</a>. В него тя аргументира своята позиция със следното:</p>
<ul>
<li>Когато работят като услуга, тестерите превключват постоянно между различни продукти, без да могат да изучат който и да е от тях в детайли и поради това тестването на всеки един от тях е доста повърхностно, което означава некачествено.</li>
<li>Не е ясно какъв е приоритетът на различните проекти и на кой от тях ще бъдат отделени повече внимание и ресурси.</li>
<li>Тестерите не работят заедно с разработчиците и списъците с открити бъгове се тълкуват повече като обвинение към програмистите, отколкото като конструктивна обратна връзка.</li>
<li>Вместо работа в екип се създават отношения &#8220;ние срещу тях&#8221;. Разработчиците загубват интерес сами да тестват кода си, прехвърляйки всичко в ръцете на тестерите, като по този начин се губи значително време на тестерите да се занимават с елементарни и очевидни грешки, които биха могли да бъдат отстранени от програмистите още преди кодът да бъде предаден за тестване.</li>
</ul>
<p>Ако разработчиците и тестерите са част от един екип, те формират дух на колегиалност и партньорство и тогава <strong>изчистването на продукта от бъгове става тяхна обща цел и повод за гордост от добре свършената работа</strong>.</p>
<p>Аз вярвам, че добре организираният и мотивиран екип е ключов фактор за успеха на който и да е проект, а още по-силно това важи за софтуерните проекти. В този смисъл напълно подкрепям позицията на Джоана и смятам, че тестването може да бъде много по-ефективно, ако се провежда вътре в проекта от тестери, които са членове на същия проектен екип, който и разработва продукта.</p>
<p>Бих искал да разбера каква е ситуацията при вас и какво е вашето мнение за тестването и по този повод съм поставил една <strong>анкета в горната част на сайта</strong>, в която ви приканвам да участвате и да споделите как тествате вашите продукти във фирмите, в които работите. Коментари за това как би трябвало да бъде също са добре дошли.</p>
<p><em>Гласувайте за тази статия в <a href="http://svejo.net/" target="_blank">Svejo.net</a>:</em> </p>
<p><img src="http://www.feedburner.com/fb/images/pub/feed-icon32x32.png" align="left" height="32" hspace="10" vspace="10" width="32" /><em>Ако харесвате статиите в този блог и се интересувате от тематиката, която разглеждаме, за да си гарантирате, че няма да изпуснете публикация, абонирайте се напълно безплатно за нашия бюлетин <a href="http://feeds.feedburner.com/PmStoriesBg" rel="alternate" type="application/rss+xml">чрез RSS feed</a> или <a href="http://www.feedburner.com/fb/a/emailverifySubmit?feedId=1527753&amp;loc=en_US">по имейл</a></em></p>
<h3  class="related_post_title">Вижте и тези публикации:</h3><ul class="related_post"><li><a href="http://pmstories.com/bg/2008/04/02/testing-as-a-service-2/" title="Кой тества вашия продукт? Резултати от анкетата">Кой тества вашия продукт? Резултати от анкетата</a></li><li><a href="http://pmstories.com/bg/2008/11/20/who-decides-to-start-a-project/" title="Кой решава дали да стартира един проект?">Кой решава дали да стартира един проект?</a></li><li><a href="http://pmstories.com/bg/2008/07/04/team-size-results/" title="Оптималният размер на екипа е ясен">Оптималният размер на екипа е ясен</a></li><li><a href="http://pmstories.com/bg/2010/03/16/infoweek-survey/" title="Проучване на в. InfoWeek за пазара на труда в ИТ сферата">Проучване на в. InfoWeek за пазара на труда в ИТ сферата</a></li><li><a href="http://pmstories.com/bg/2009/07/09/software-practices-survey/" title="Добрите практики на софтуерното производство &#8211; анкета">Добрите практики на софтуерното производство &#8211; анкета</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://pmstories.com/bg/2008/01/20/testing-as-a-service/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>

