<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: И кнопочку &#171;Повтор&#187; не забудьте!</title>
	<atom:link href="http://blog.not-a-kernel-guy.com/2007/12/25/273/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.not-a-kernel-guy.com/2007/12/25/273?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=%25d0%25b8-%25d0%25ba%25d0%25bd%25d0%25be%25d0%25bf%25d0%25be%25d1%2587%25d0%25ba%25d1%2583-%25d0%25bf%25d0%25be%25d0%25b2%25d1%2582%25d0%25be%25d1%2580-%25d0%25bd%25d0%25b5-%25d0%25b7%25d0%25b0%25d0%25b1%25d1%2583%25d0%25b4%25d1%258c%25d1%2582%25d0%25b5</link>
	<description>... также известный как &#34;Not a kernel guy&#34;</description>
	<lastBuildDate>Sun, 29 Jan 2012 04:14:45 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Not a kernel guy</title>
		<link>http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11031</link>
		<dc:creator>Not a kernel guy</dc:creator>
		<pubDate>Wed, 02 Jan 2008 17:45:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11031</guid>
		<description>Я, кажеться, нигде не говорил что X не предполагается быть достаточно большим.</description>
		<content:encoded><![CDATA[<p>Я, кажеться, нигде не говорил что X не предполагается быть достаточно большим.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mihailik</title>
		<link>http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11028</link>
		<dc:creator>mihailik</dc:creator>
		<pubDate>Tue, 01 Jan 2008 20:56:28 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11028</guid>
		<description>При отсутсвии &quot;внешних раздражителей&quot;, тест не должен зависеть от запуска.

Значение X должено быть ДОСТАТОЧНО большое, чтобы надёжно видеть PASSED/FAILED.

Если при разных запусках ты получаешь разные результаты, это не тест а азартная игра. Увеличь X и перестань надеяться на удачу.</description>
		<content:encoded><![CDATA[<p>При отсутсвии &#8220;внешних раздражителей&#8221;, тест не должен зависеть от запуска.</p>
<p>Значение X должено быть ДОСТАТОЧНО большое, чтобы надёжно видеть PASSED/FAILED.</p>
<p>Если при разных запусках ты получаешь разные результаты, это не тест а азартная игра. Увеличь X и перестань надеяться на удачу.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Not a kernel guy</title>
		<link>http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11022</link>
		<dc:creator>Not a kernel guy</dc:creator>
		<pubDate>Sun, 30 Dec 2007 23:01:27 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11022</guid>
		<description>&lt;blockquote&gt;Вместо того чтобы запускать тест вручную 10 раз, стоило бы сделать X в десять раз больше.&lt;/blockquote&gt;

Я всего лишь говорю об одном из двух преимуществ Монте-Карло подобных тестов: при каждом запуске теста (во время ежедневной сборки) генерируются новые комбинации параметров, которые могут привести к выполнению ранее неиспользовавшихся частей кода. 

Про то, что автоматический тест может сгенерировать больше комбинаций за один запуск, чем могут написать программисты я и не говорю. Это вроде как очевидно.

&lt;blockquote&gt;Если ты не можешь оценить, сколько тебе нужно запусков теста, то этот тест не даёт тебе никакого позитивного результата.&lt;/blockquote&gt;

Оценить-то я могу. Проблема только в том, что и вручную подобранные комбинации никакого вывода о надёжности или ненадёжности кода сделать не дают.</description>
		<content:encoded><![CDATA[<blockquote><p>Вместо того чтобы запускать тест вручную 10 раз, стоило бы сделать X в десять раз больше.</p></blockquote>
<p>Я всего лишь говорю об одном из двух преимуществ Монте-Карло подобных тестов: при каждом запуске теста (во время ежедневной сборки) генерируются новые комбинации параметров, которые могут привести к выполнению ранее неиспользовавшихся частей кода. </p>
<p>Про то, что автоматический тест может сгенерировать больше комбинаций за один запуск, чем могут написать программисты я и не говорю. Это вроде как очевидно.</p>
<blockquote><p>Если ты не можешь оценить, сколько тебе нужно запусков теста, то этот тест не даёт тебе никакого позитивного результата.</p></blockquote>
<p>Оценить-то я могу. Проблема только в том, что и вручную подобранные комбинации никакого вывода о надёжности или ненадёжности кода сделать не дают.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mihailik</title>
		<link>http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11021</link>
		<dc:creator>mihailik</dc:creator>
		<pubDate>Sun, 30 Dec 2007 20:57:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11021</guid>
		<description>А ты не догадался автоматизировать &quot;число запусков теста&quot;?

Вместо того чтобы запускать тест вручную 10 раз, стоило бы сделать X в десять раз больше.

Это получается знахарство и халтура.

Если ты не можешь оценить, сколько тебе нужно запусков теста, то этот тест не даёт тебе никакого позитивного результата. Сделано действие, написан код, но никакого вывода о надёжности или ненадёжности сделать нельзя. Пустая трата времени.</description>
		<content:encoded><![CDATA[<p>А ты не догадался автоматизировать &#8220;число запусков теста&#8221;?</p>
<p>Вместо того чтобы запускать тест вручную 10 раз, стоило бы сделать X в десять раз больше.</p>
<p>Это получается знахарство и халтура.</p>
<p>Если ты не можешь оценить, сколько тебе нужно запусков теста, то этот тест не даёт тебе никакого позитивного результата. Сделано действие, написан код, но никакого вывода о надёжности или ненадёжности сделать нельзя. Пустая трата времени.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Not a kernel guy</title>
		<link>http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11011</link>
		<dc:creator>Not a kernel guy</dc:creator>
		<pubDate>Thu, 27 Dec 2007 00:59:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11011</guid>
		<description>Дык в том то и вопрос, что я генерирую X*число запусков теста комбинаций, а ты - просто X комбинаций.</description>
		<content:encoded><![CDATA[<p>Дык в том то и вопрос, что я генерирую X*число запусков теста комбинаций, а ты &#8211; просто X комбинаций.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mihailik</title>
		<link>http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11010</link>
		<dc:creator>mihailik</dc:creator>
		<pubDate>Thu, 27 Dec 2007 00:41:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11010</guid>
		<description>Ну, не мне тебя математике учить. Покрытие в моём методе будет в точности тем же, что и в твоём.

Если ты генерируешь на ходу 10 комбинаций, а я использую заранее сгенерированные 10 заготовок, результат будет один.</description>
		<content:encoded><![CDATA[<p>Ну, не мне тебя математике учить. Покрытие в моём методе будет в точности тем же, что и в твоём.</p>
<p>Если ты генерируешь на ходу 10 комбинаций, а я использую заранее сгенерированные 10 заготовок, результат будет один.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Not a kernel guy</title>
		<link>http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11009</link>
		<dc:creator>Not a kernel guy</dc:creator>
		<pubDate>Wed, 26 Dec 2007 21:24:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11009</guid>
		<description>&lt;blockquote&gt;Ну это как раз то что надо.&lt;/blockquote&gt;

Лежащая или медленная сеть будет ложным срабатыванием, которое никак не помогает, а только мешает.</description>
		<content:encoded><![CDATA[<blockquote><p>Ну это как раз то что надо.</p></blockquote>
<p>Лежащая или медленная сеть будет ложным срабатыванием, которое никак не помогает, а только мешает.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ivaliy</title>
		<link>http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11008</link>
		<dc:creator>ivaliy</dc:creator>
		<pubDate>Wed, 26 Dec 2007 20:46:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11008</guid>
		<description>&gt;&gt;Например, если тест использует сетевое соединение, то его успешность &gt;&gt;зависит от того, что творилось в сети на момент запуска теста.

Ну это как раз то что надо. То есть по-умолчанию проверяем на &quot;все ОК&quot;. Дальше пишем тесты на ожидаемые обломы и что должно происходить. Т.е. нет связи, код должен кинуть какой-нибудь ConnectionException, связь есть, но медленная должно прокинуться TimeoutException, есть связь и с таймаутами все ок, но нет прав на получение данных - кидаем AuthorizationException и т.д. и т.п. Ну а вообще конечно понятно, что для раскрытия темы одного поста мало :). И этих всяких видов и способов тестирования можно накатать вагон и еще целый состав вагонов.</description>
		<content:encoded><![CDATA[<p>&gt;&gt;Например, если тест использует сетевое соединение, то его успешность &gt;&gt;зависит от того, что творилось в сети на момент запуска теста.</p>
<p>Ну это как раз то что надо. То есть по-умолчанию проверяем на &#8220;все ОК&#8221;. Дальше пишем тесты на ожидаемые обломы и что должно происходить. Т.е. нет связи, код должен кинуть какой-нибудь ConnectionException, связь есть, но медленная должно прокинуться TimeoutException, есть связь и с таймаутами все ок, но нет прав на получение данных &#8211; кидаем AuthorizationException и т.д. и т.п. Ну а вообще конечно понятно, что для раскрытия темы одного поста мало <img src='http://blog.not-a-kernel-guy.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . И этих всяких видов и способов тестирования можно накатать вагон и еще целый состав вагонов.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Not a kernel guy</title>
		<link>http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11006</link>
		<dc:creator>Not a kernel guy</dc:creator>
		<pubDate>Wed, 26 Dec 2007 19:01:49 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11006</guid>
		<description>&lt;blockquote&gt;А пользы от случайности данных ни в каком случае никакой.&lt;/blockquote&gt;

Не соглашусь. Случайность нужна как компромис между полным перебором всех вариантов и тестированием нескольких комбинация входных данных, выбранных вручную. Первый занимает очень много времени, второе не даёт нормального покрытия.</description>
		<content:encoded><![CDATA[<blockquote><p>А пользы от случайности данных ни в каком случае никакой.</p></blockquote>
<p>Не соглашусь. Случайность нужна как компромис между полным перебором всех вариантов и тестированием нескольких комбинация входных данных, выбранных вручную. Первый занимает очень много времени, второе не даёт нормального покрытия.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mihailik</title>
		<link>http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11005</link>
		<dc:creator>mihailik</dc:creator>
		<pubDate>Wed, 26 Dec 2007 18:39:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/12/25/273#comment-11005</guid>
		<description>А пользы от случайности данных ни в каком случае никакой.

На самом деле можно было бы просто инициализировать Random фиксированым seed, но я бы не пытался сэкономить мегабайты ценой усложнения логики тестов. Чем проще тест, тем надёжнее.</description>
		<content:encoded><![CDATA[<p>А пользы от случайности данных ни в каком случае никакой.</p>
<p>На самом деле можно было бы просто инициализировать Random фиксированым seed, но я бы не пытался сэкономить мегабайты ценой усложнения логики тестов. Чем проще тест, тем надёжнее.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

