<?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>Учеба в бою &#8212; Можно Подумать</title>
	<atom:link href="https://testitquickly.com/category/%D1%83%D1%87%D0%B5%D0%B1%D0%B0-%D0%B2-%D0%B1%D0%BE%D1%8E/feed/" rel="self" type="application/rss+xml" />
	<link>https://testitquickly.com</link>
	<description>про тестирование ПО и всё такое прочее</description>
	<lastBuildDate>Mon, 05 Jun 2023 18:43:22 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://testitquickly.com/wp-content/uploads/2021/09/favicon_lupan-150x150.jpg</url>
	<title>Учеба в бою &#8212; Можно Подумать</title>
	<link>https://testitquickly.com</link>
	<width>32</width>
	<height>32</height>
</image> 
<site xmlns="com-wordpress:feed-additions:1">202834616</site>	<item>
		<title>Контекст. Только контекст</title>
		<link>https://testitquickly.com/2017/04/05/contextualitate-eronata/</link>
					<comments>https://testitquickly.com/2017/04/05/contextualitate-eronata/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Tue, 04 Apr 2017 22:46:54 +0000</pubDate>
				<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://testitquickly.com/?p=3657</guid>

					<description><![CDATA[Короче, что-то под капотом засвистело не по-детски. Но как-то смутно, как-то урывками. То свистит. То не свистит. Но когда свистит — то прям ващще… Начал искать первопричину этого автогреха. Пару дней отсиживал в засаде (за рулём), то разгоняя машину, то адски тормозя, то петляя по улицам киевского стольного града. И таки нашёл! 🙂 Понёс механику… <span class="read-more"><a href="https://testitquickly.com/2017/04/05/contextualitate-eronata/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Короче, что-то под капотом засвистело не по-детски. Но как-то смутно, как-то урывками.</p>
<p>То свистит.</p>
<p>То не свистит.</p>
<p>Но когда свистит — то прям ващще…</p>
<p>Начал искать первопричину этого автогреха. Пару дней отсиживал в засаде (за рулём), то разгоняя машину, то адски тормозя, то петляя по улицам киевского стольного града.</p>
<p>И таки нашёл! 🙂</p>
<p><span id="more-3657"></span></p>
<p>Понёс механику баг-репорт:</p>
<p style="padding-left: 30px;"><em>Уважаемые учёные по машинам,</em></p>
<p style="padding-left: 30px;"><em>мною, жителем киевских окраин, неоднократно замечено, что когда я еду на работу — с востока на запад — то под капотом не свистит.</em></p>
<p style="padding-left: 30px;"><em>А когда я еду домой — с запада на восток — то почти постоянно что-то где-то под капотом свистит.</em></p>
<p style="padding-left: 30px;"><em>Карта обоих маршрутов прилагается.</em></p>
<p style="padding-left: 30px;"><em>Прошу починить.</em></p>
<p>Ненуачо? Я ж профессиональный тестировщик, я ж доклады докладываю на конференциях, я ж умею профессионально составлять профессиональные баг-репорты.</p>
<p>Вот, обнаружен баг.</p>
<p>Вот при каких условиях он воспроизводится, скриншот прилагается.</p>
<p>Следственные мероприятия и полевые испытания привели меня к однозначному выводу: свистит только тогда, когда еду домой с работы, направляясь с запада на восток.</p>
<p style="padding-left: 40px;">Плиз, фикс.</p>
<p>Механик послушал аудиозапись свиста, станцевал перед машиной ламбаду, и подтвердил мои выводы: таки да, свистело только при езде с запада на восток, и вы не сумашедший.</p>
<p>Но дурак.</p>
<p>Бо свистело не потому, что «<em>Oh, East is East, and West is West, and never the twain shall meet</em>» (© <span class="st">Rudyard Kipling, который про Маугли сочинил), а потому, </span>что ослабло натяжение ремня генератора электрического тока, и ремень проскальзывал по направляющим ложбинкам.</p>
<p>Непонятно?</p>
<p style="padding-left: 40px;">Каждый раз, когда я включал фары, повышалась нагрузка на генератор, и он начинал крутиться быстрее. Ремень из, мгм, полимеров… и когда его натяжение ослабло, он перестаёт плотно прилегать к железяке генератора. А железяка крутится на высокой скорости, и если ремень хоть немного «провисает», то появляется тот самый свист.</p>
<p style="padding-left: 40px;">«<em>Засвистело, и упало на столе</em>».</p>
<p>А фары я включал только по вечерам, когда возвращался домой.</p>
<p>А домой я еду с запада на восток.</p>
<p>А если не знаешь, как всё устроено ИЗНУТРИ, и ведешь наблюдение только СНАРУЖИ, то как догадаться?!</p>
<p>Никак.</p>
<p style="padding-left: 40px;">Ремень-то подтянули, делов-то, и вообще, я мог его сам починить.</p>
<p style="padding-left: 40px;">А самооценку мне кто подтянет?…</p>
<p>Чего я об этом вспомнил: да попался мне на глаза один баг-репорт, и прям один в один… Там было исчерпывающе точное описание того, что тестировщик ВИДЕЛ, и полное игнорирование контекста, в котором случился баг, бо тестировщик о ряде положений даже не догадывался (ненуачо, тестирование же не такое сложное, как программирование, да?!).</p>
<p>Конечно, программист проклял этого создателя бага, бо «не воспроизводится же», а юнак твердит, что воспроизводится, и даже демонстрирует это на видеозаписи и брызжет отравленными слезами.</p>
<p>Таки контекст важнее всего.</p>
<p>Понимание принципов «почему и как оно вообще работает» важнее знания ряда ситуаций, которые могут произойти.</p>
<p>Программистов жалько… Себя — нет.</p>
<div id="attachment_3662" style="width: 510px" class="wp-caption aligncenter"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-3662" class="size-large wp-image-3662" src="https://testitquickly.com/wp-content/uploads/2017/04/d0bfd0b5d180d0b2d0bed0bfd180d0b8d187d0b8d0bdd0b0.jpg?w=500" alt="Под капот надо смотреть" width="500" height="580" /><p id="caption-attachment-3662" class="wp-caption-text">Под капот надо смотреть</p></div>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2017/04/05/contextualitate-eronata/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3657</post-id>	</item>
		<item>
		<title>Принцип KISS в действии</title>
		<link>https://testitquickly.com/2017/03/21/kiss-it-in-the-gums/</link>
					<comments>https://testitquickly.com/2017/03/21/kiss-it-in-the-gums/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Tue, 21 Mar 2017 17:42:32 +0000</pubDate>
				<category><![CDATA[Соображения]]></category>
		<category><![CDATA[Учеба в бою]]></category>
		<category><![CDATA[KISS]]></category>
		<category><![CDATA[Пол Стэнли]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=3648</guid>

					<description><![CDATA[Задача: протестировать функционал «Мну забыло парольку!» Смотрю тест-кейс: = = = = = = START = = = = = = = Precondition: (очевидно копипаст требований, но то норм) User is not logged. Log in form is displayed on the page and have following elements: static text above the &#171;Email Address&#187; field; required &#171;Email Address&#187;… <span class="read-more"><a href="https://testitquickly.com/2017/03/21/kiss-it-in-the-gums/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Задача: протестировать функционал «<em>Мну забыло парольку!</em>»</p>
<p><span id="more-3648"></span></p>
<p>Смотрю тест-кейс:</p>
<div id="attachment_3649" style="width: 160px" class="wp-caption alignright"><a href="https://testitquickly.com/wp-content/uploads/2017/03/image2014-1-17-14_5_38.png"><img decoding="async" aria-describedby="caption-attachment-3649" class="wp-image-3649 size-thumbnail" src="https://testitquickly.com/wp-content/uploads/2017/03/image2014-1-17-14_5_38.png?w=150" alt="ForgEt password" width="150" height="139" /></a><p id="caption-attachment-3649" class="wp-caption-text">ForgEt password анфас.</p></div>
<p>= = = = = = START = = = = = = =</p>
<p><b>Precondition: </b><span style="color: #008000;">(очевидно копипаст требований, но то норм)</span><b></b></p>
<ol>
<li>User is not logged.</li>
<li>Log in form is displayed on the page and have following elements:
<ul>
<li>static text above the &#171;Email Address&#187; field;</li>
<li>required &#171;Email Address&#187; field (empty);</li>
<li>required &#171;Password&#187; field (empty);</li>
<li>checkbox &#171;Remember Me&#187;;</li>
<li>Login button;</li>
<li>Forgot Password? link. (<span style="color: #008000;">но не норм то, что это просто перечисление того, что тестировщик должен будет увидеть на экране. Оно вроде бы важно, но на деле — мусор, бо к делу не относится.</span>)</li>
</ul>
</li>
<li>Available user account &#8216;<em>test@gmail.com / 11111111</em>&#8216;</li>
</ol>
<p><b>Steps:</b></p>
<ol>
<li>Open &#8216;<strong>Forgot Your Password?</strong>&#8216; form сlicking on the <strong>[Forgot Your Password?] </strong>link — the <strong>Forgot Your Password?</strong> dialog box should be displayed.</li>
<li>Fill the Email Address field following data:
<ul>
<li>Email: test@gmail.com</li>
</ul>
</li>
<li>Assure that: the mail with Password &#8212; &#8216;<em>11111111</em>&#8216; has been delivered to mentioned Email Addres</li>
</ol>
<p>= = = = = = END = = = = = = =</p>
<p>Думаем: если в одной строке рассказывается про какое-то действие, которое НЕПРЕМЕННО должно сопровождаться указанием &#171;проверить наличие того и сего&#187; (еще раз — ЕСЛИ такое вообще нужно), тогда указание/перечень того, что должно быть проверено, следует указывать сразу под упомянутой строкой.</p>
<p>Как надо/можно делать:</p>
<h2>Пример №1. Простое (но не самое адекватное) упрощение текста</h2>
<h3>Steps To Reproduce</h3>
<ol>
<li>Open storefront.</li>
<li>Click on Login link on the header of the page.
<ul>
<li>My Account login page is opened and loaded.</li>
<li>The Returning Customers box is displayed on the page.</li>
</ul>
</li>
<li>Click on Forgot Your Password? link.</li>
<li>&#8216;Forgot Your Password?&#8217; dialog box will <b>be displayed</b>.</li>
</ol>
<h3>Камменты:</h3>
<p>1</p>
<p><span style="color: red;">The Returning Customers box is displayed on the page.</span> — это вообще что за &#171;Коробка возвращающегося клиента&#187; и необходимость проверять ее наличие? Подразумевается наличие формы логина — какой же это бокс-то?</p>
<p>2</p>
<p>Кейс вообще рассказывает о ситуации &#171;<em>Юзер провтыкал свой пароль к аккаунту в нашем магазине, и вместо того, чтобы залогиниться, как просто и добрый самаритянин, он <del>злобно</del> <del>растеряно</del> <del>негодующе</del> запрашивает у системы запуск алгоритма восстановления пароля</em>&#171;.</p>
<p>В большинстве жизненных случаев <del>в короткой и бурной жизни тестировщика</del> нет смысла исчерпывающе точно указывать, куда и когда надо кликать, чтобы тупо залогиниться&#8230; Поэтому принципиально не следует перечислять пошагово страницы и линки, которые надо пройти&#8230; да и надо ли их проходить? Не факт, что юзер будет переходить на страницу логина именно через <span style="color: #14892c;">open storefront + Click on Login link on the header of the page</span>. Почему бы нам просто не открывать эту страницу по url?</p>
<p>Путь &#171;<span style="color: #14892c;">open storefront + Click on Login link on the header of the page</span>&#187; можно проверить в отдельном тест-кейсе. И особенно хорошо такой кейс положить в набор для smoke testing. А во всех остальных миллионах тестов, в которых подразумевается &#171;надо залогиниться&#187;, к экрану с формой логина можно обращаться СРАЗУ по url, например.</p>
<p>Принцип Keep It Simple, Stupid (KISS) в действии.</p>
<div id="attachment_3650" style="width: 510px" class="wp-caption aligncenter"><img decoding="async" aria-describedby="caption-attachment-3650" class="wp-image-3650 size-large" title="Пол Стэнли одобряэ!" src="https://testitquickly.com/wp-content/uploads/2017/03/post-3340-0-53130500-1399813043.jpg?w=500" alt="группа KISS" width="500" height="375" /><p id="caption-attachment-3650" class="wp-caption-text">Пол Стэнли одобряэ! I was made for testing you, bayba&#8230;</p></div>
<h2>Пример №2. Упрощенное (и более адекватное) представление всей ситуации, которую надо создать и проверить</h2>
<h3>Steps To Reproduce</h3>
<ol>
<li>Open the Returning Customers Login page</li>
<li>Click on Forgot Your Password? link.</li>
<li>Check, that &#8216;Forgot Your Password?&#8217; dialog box will be displayed.</li>
</ol>
<h3>Камменты:</h3>
<p>Так проще, однозначнее, прозрачнее.</p>
<p>И <b>Expected results</b> присутствует в последней строчке, «<em>и всё, и этого достаточно</em>» ©.</p>
<p>Но так тоже туповато&#8230; Ведь ситуация &#171;вызвать форму восстановления забытого пароля&#187; — всего лишь шаг в сценарии восстановления пароля. Смысл тестировать отдельно вызов этой формы, а потом отдельно отмену вызова этой формы? Это избыточные, неадекватные проверки.</p>
<p>Надо не привязывать один кейс к одному требованию. Разумнее читать требования ВООБЩЕ, продумывать ситуации, которые описаны ВООБЩЕ, и тестировать их последовательно, но именно как цельные ситуации, а не отдельные сокращения отдельных мышц на отдельной взятой руке в отдельной взятом сферическом вакууме.</p>
<ol>
<li>Open the Returning Customers Login page</li>
<li>Open &#8216;Forgot Your Password?&#8217; form.</li>
<li>дальше что надо делать, исходя из требований? А дальше надо доводить ситуацию до логического финиша, вестимо!</li>
</ol>
<p>Step &#8216;Open Login form&#8217; was removed to the hell. Understood the reason?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2017/03/21/kiss-it-in-the-gums/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3648</post-id>	</item>
		<item>
		<title>Редбрик тестинг</title>
		<link>https://testitquickly.com/2017/02/10/termimimitre/</link>
					<comments>https://testitquickly.com/2017/02/10/termimimitre/#respond</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Fri, 10 Feb 2017 12:25:41 +0000</pubDate>
				<category><![CDATA[Озарения]]></category>
		<category><![CDATA[Постановка мозгов]]></category>
		<category><![CDATA[тест-дизайн]]></category>
		<category><![CDATA[Учеба в бою]]></category>
		<category><![CDATA[Regression testing]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=3638</guid>

					<description><![CDATA[— …Вообще, поскольку терминология у нас англоязычная, то англоязычные англоязычники её воспринимают вообще иначе, нежели мы. Например, «Regression testing» наши изначально воспринимают как «Блаблабла тестинг», и просто ждут её определения (любого), бо звуки ничего не подсказывают. А они понимают слова по-отдельности, и эти слова по-отдельности очень многое подсказывают сами по себе. Как мы легко расшифровываем… <span class="read-more"><a href="https://testitquickly.com/2017/02/10/termimimitre/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>— …Вообще, поскольку терминология у нас англоязычная, то англоязычные англоязычники её воспринимают вообще иначе, нежели мы. Например, «Regression testing» наши изначально воспринимают как «Блаблабла тестинг», и просто ждут её определения (любого), бо звуки ничего не подсказывают. А они понимают слова по-отдельности, и эти слова по-отдельности очень многое подсказывают сами по себе. Как мы легко расшифровываем термины вроде «минсоцоблтруда». Бо контекст есть.</p>
<p>— Ну это-то то понятно.</p>
<p>— Понятно-то понятно… Например, ты знаешь про самую крутую технику тест-дизайна — редбрик тестинг?</p>
<p>— Нет. Рассказывай.</p>
<p>— Был бы ты англоязычным человеком, ты уже спросил бы «<em>Что за ерунда, бро, какое ещё красно-кирпичное тестирование?</em>». А так… можно любой фуфломицин всучить под этим редбрик тестингом, и никто не будет сомневаться. Будут потом на конференциях доклады об этом делать.</p>
<p>— Ты сволочь.</p>
<p>— Да, но у нас это называется «тренер». Двигаемся дальше. Тест-дизайн — это не «<em>наилучшие способы придумывания тест-кейсов</em>». Это аналитическая работа с непредсказуемым результатом… А тест-кейсы появляются просто как следствие аналитики. Нет аналитики — нет тест-кейсов. Есть аналитика, но плохая — будут плохие тест-кейсы…</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2017/02/10/termimimitre/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3638</post-id>	</item>
		<item>
		<title>Из черепа заказчика</title>
		<link>https://testitquickly.com/2016/01/18/imbraca-haina-omului/</link>
					<comments>https://testitquickly.com/2016/01/18/imbraca-haina-omului/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Mon, 18 Jan 2016 19:06:43 +0000</pubDate>
				<category><![CDATA[Context-driven testing]]></category>
		<category><![CDATA[В гостях у психиатра]]></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://testitquickly.com/?p=3482</guid>

					<description><![CDATA[Если смотреть на мир из черепа обыкновенного заказчика ПО, требования — совершенно лишний артефакт, который отнимает очень много средств и ничуть не гарантирует получение качественного результата. Вам надо — вы их и прописывайте. А загляните в череп опытного заказчика ПО — он требования прописывает сам. Всегда. Да, общепонятно, что через требования он хочет получить хотя… <span class="read-more"><a href="https://testitquickly.com/2016/01/18/imbraca-haina-omului/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Если смотреть на мир из черепа обыкновенного заказчика ПО, требования — совершенно лишний артефакт, который отнимает очень много средств и ничуть не гарантирует получение качественного результата. Вам надо — вы их и прописывайте.</p>
<p>А загляните в череп опытного заказчика ПО — он требования прописывает сам. Всегда. Да, общепонятно, что через требования он хочет получить <span style="text-decoration: line-through;">хотя бы</span> именно, что было заказано, но засада не в том, что «без ТЗ результат ХЗ» (можно ваять ПО и без предварительного малевания ТЗ<span lang="en-US">). </span>Проблема в коммуникациях. Чем более опытным становится заказчик, тем сильнее он эту проблему осознает и начинает решать.</p>
<p><span id="more-3482"></span></p>
<p>Дичайшее озарение (и проблема) когда-то постигает каждого заказчика ПО — проект делают не те люди, с которыми ты договаривался.</p>
<p>Вот ты менеджеру проекта всё детально объяснил, и про бизнес, и про важность, и про ограничения, и про челленджи, и вообще так душевно помитинговали, что проснулся на окраине города, в вышиванке и не один&#8230; А те, кто проект делают — тебя никогда не видели, проект вообще не понимают, и не знают, зачем нужно то и это, и действуют только в рамках ограниченных технологических и ментальных инструкций&#8230;</p>
<div id="attachment_3483" style="width: 510px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3483" class="wp-image-3483 size-full" title="Я знал его, Горацио. Это был человек бесконечного остроумия, неистощимый на выдумки." src="https://testitquickly.com/wp-content/uploads/2016/01/d0b1d0b5d0b4d0bdd18bd0b9-d0b9d0bed180d0b8d0ba.jpg" alt="Я знал его, Горацио. Это был человек бесконечного остроумия, неистощимый на выдумки." width="500" height="449" /><p id="caption-attachment-3483" class="wp-caption-text">Я знал его, Горацио.</p></div>
<p>И нет у бедного заказчика никакой власти над процессом разработки его собственного ПО, когда/если в обсуждение проекта вовлечены только люди из бизнес-уровня.</p>
<p>Как эту психологическую проблему решает каждый заказчик в отдельности — та еще шнобелевская диссертация&#8230;</p>
<p style="padding-left: 30px;">Как-то в самой крутейшей в Кишиневе студии «Сделаем сайт-визитку для вашего бизнеса, ня!» появился действительно ОПЫТНЫЙ заказчик. Как зашла она в нашу контору, так попросила не чаю, а показать ей того человека, который будет делать ей будущий сайт. ОДНОГО человека, с которым «<i>потом будем разговаривать</i>».</p>
<p style="padding-left: 30px;">А кого показывать-то? Вот у нас дизайнер вашего сайта. Вот программист (аж два!). Вот руководитель разработки. Вот менеджер по рекламе и привлечению клиентов, с которым вы, собственно, до сих пор разговаривали, и который процесс инициировал, а дальше вообще ничего гарантировать вам не может — ни сроков, ни качества, ни результата. И вот директор фирмы — вы только с ним будете разговарить о деньгах и о том, как важно для вас получить сайт к определенному дню, бо грядет отраслевая выставка. Так с кем именно хотите поговорить?</p>
<p style="padding-left: 30px;">Кто за всё отвечает? Директор фирмы? Да, но он ничего не программирует. Программист? Да, но без дизайна он ничего не обещает. Дизайнер? Да, но без внятного ТЗ он не понимает, чего от него хотят, и сам сайт он делать не будет, он только картинку нарисует. Руководитель разработки? Кагбэ, да, но он руками в проекте ничего делать и рисовать не будет, поэтому «делать будем все сразу»&#8230; Так с кем вы хотите поговорить?</p>
<p style="padding-left: 60px;">А только директор фирмы говорил с клиентом, и только он вообще знал, насколько важно успеть (полностью закрыть проект) к назначенной дате. И только он знал, как много денег было заплачено за этот заказ. По сравнению с обычными проектами — очень много, бо сроки давят, и для клиента это действительно важно&#8230; И только он знал, какие счета его бухгалтерией еще не оплачены, и как важно их покрыть, чтобы фирму не закрыть, и только ему было очевидно, что от данного заказа отказываться нельзя.</p>
<p style="padding-left: 60px;">А менеджер разработки, глянув на сроки и приблизительное ТЗ, сразу сказал, что «<i>Вообще не надо за этот проект браться, идея сайта слишком невнятная, из сайта-визитки они потом начнут делать какую-то ”всеобщую базу данных о недвижимости по стране”, очень многое нужно обсудить и договориться, мы очевидно не успеем&#8230;</i>» Но отказываться нельзя.</p>
<p style="padding-left: 60px;">А дизайнер, глянув на сроки и приблизительное ТЗ, сразу сказал, что идея — ни к черту, и делать ничего не следует, бо идея сайта совершенно невнятная, и из сайта-визитки потом начнут делать неведому шнягу («<i>Всеобщую базу данных о недвижимости по стране? На каком движке? Боже мой, какой бред&#8230;</i>»), и мы явно не успеем&#8230; Но отказываться нельзя.</p>
<p style="padding-left: 60px;">А программисты (оба), глянув на сроки и приблизительное ТЗ, сказали «<em>Однозначно хз&#8230;</em>». Бо дизайна нет, и какие ограничения по верстке? На каких мониторах, например? У нас в наличии только 1024х768. И в каких браузерах? И что за, прости господи, идея у сайта такая дебильная? Они что, потом начнут делать из него «<i>всеобщую базу данных о недвижимости по стране</i>»? Быгыгы&#8230; На каком движке? Быгыгы&#8230; Но отказываться нельзя.</p>
<p style="padding-left: 30px;">Множество уровней принятия решений. Искажения информации — буквально на каждом уровне. Как это надо делать — у каждого своё мнение. Надо ли объяснять клиенту, что «<em>Мы тут подумали, и считаем, что ваш проект&#8230;</em>»?</p>
<p style="padding-left: 30px;">Что в этой ситуации может делать клиент? Ничего. Ждать, когда ему «всё сделают».</p>
<p style="padding-left: 30px;">Ну, глорие Замолксис! По-частям все продвигалось нормально. Дизайн — так себе, но аппрувед, демо — аппрувед, контент — предоставлен. По-итогу сайт получился весьма работоспособным «внутри», но каким-то невнятным «снаружи». А тестировать — как всегда, было некогда. И как всегда, в срок не успели. И понятное дело, что демо — это хорошо, но надо бы доделать.</p>
<p style="padding-left: 30px;">Выставка прошла с объявлением о том, что сайт почти есть, и там почти всё готово, можно будет публиковать свои объявления, это будет такая всеобщая база данных о недвижимости по всей стране, вау, это будет круто.</p>
<p style="padding-left: 30px;">И началось&#8230;</p>
<p style="padding-left: 30px;">«<i>Ну, объявление добавить в базу можно, а почему шрифт такой некрасивый? Вы что, не умеете сделать нормальный шрифт? А почему, когда мы смотрим наш сайт на мониторе в 22 дюйма, снизу выползает оранжевая полоса&#8230;</i>» Боже, да где вы такой монитор нашли? «<i>А у нас друг в Израиле, он посмотрел, и сказал, что дизайн вообще ни к черту&#8230;</i>» В ТЗ было указано, что максимально разрешение экрана&#8230; «<i>Зачем вы мне говорите про эти разрешения? Я же вас о другом спрашиваю!</i>»</p>
<p style="padding-left: 30px;">«<i>А почему, когда вот здесь сделать клямц, то вот там делает пимпц?</i>» Это такая технология, это интернет, он так работает. «<i>Нет, нам не нравится, как работает интернет. Можно же сделать по-другому?! Почему бы вам не сделать по-другому?</i>» Ну, в принципе можно, но это новый проект затевать надо, это к директору. «<i>Нет-нет, никакого нового проекта, сделайте тут! Почему вы нас постоянно посылаете? Ну и что, что только к директору&#8230; Почему он не хочет возвращать нам деньги? Аллё, где ваш дурацкий менеджер по рекламе? Почему он никак не может сказать конкретно, когда вы <b>доделаете наш сайт</b>?</i>»</p>
<p style="padding-left: 30px;">Наконец, в офис пришел не заказчик, а настоящий ”product owner”, серьезный и злой дядька, который встал за спинами программистов, посмотрел в их мониторы, и начал сильно тыкать им в плечи, приказывая «<i>Давай быстро сделай сайт нормально, нах! Ну!?</i>»</p>
<p style="padding-left: 60px;">Нет, это были не девяностые. Какие могли быть сайты в девяностых?</p>
<p style="padding-left: 30px;">Итого: проект с радостью передали другой студии «Сделаем сайт-визитку для вашего бизнеса, ня!», и чем оно там закончилось&#8230;</p>
<p>Всё, что заказчик может сделать «на входе» — самостоятельно расписать ТЗ, бо работу будут делать вообще неведомые ему люди, с которыми всё не обсудить. Да и если со всем перезнакомиться — менеджеры разработки (и особенно рекламные менеджеры, которые проекты инициируют) весьма нередко меняются прям на ходу проекта&#8230; Всякое бывает. Пусть мы будем считать их неучами. Пусть делают строго по ТЗ.</p>
<p>Всё, что заказчик может сделать «в процессе» — регулярно запрашивать демо того, что уже сделано по требованиям. Именно по требованиям, бо нюансы и отклонения всегда бытуют, индустрия такова, и технологии таковы. И многие вещи становятся понятными только в процессе демонстрации, а не заранее.</p>
<p>Всё, что заказчик может сделать «по-итогу» — тестировать, тестировать, тестировать. Самостоятельно.</p>
<p>Задача тестировщика в начале проекта — понимать, что случится с психикой заказчика, когда упадет занавес. И начинать готовить финальное тестирование.</p>
<p style="padding-left: 30px;">Собственно, для этого тестировщиков как можно раньше надо в проект привлекать — чтобы было время и возможность подготовиться к проведению тестирования, а не для того, чтобы «<i>находить баги как можно раньше</i>»&#8230; прекратите уже эту муть тиражировать. Нет клиенту никакого счастья от того, что мы баги находим «<i>как можно раньше</i>».</p>
<p>Без доступа к телу заказчика, конечно, натестируешь всякого&#8230; Например, программисты намутили возможность оплаты через очередной пэй-пал, и много всяких сложностей в процессе сего порешали, а тестировщики об этом вообще хз, и тестируют оформление «страницы товара», находя там баг на баге в верстке, и совсем чуть-чуть в функционале «Send to a friend»&#8230; Ну как тут не пожелать бить морды на комплексе?</p>
<p>Поэтому вторая задача тестировщика — поселиться в футболке программиста (Ближе к телу ©), и постоянно понимать, что в проекте становится важным, а что — вообще ерунда. Бо всё течёт, всё изменяется, и приоритеты тоже.</p>
<p>Третья задача тестировщика — взрослеть и перестать тупить над тест-кейсами. Бо успешность ПО не в строгом соответствии ТЗ.</p>
<p>PS Не будем ковырять разницу между «требованиями» и «ТЗ». Не в терминах собака зарыта.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2016/01/18/imbraca-haina-omului/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3482</post-id>	</item>
		<item>
		<title>Ссылки в Confluence. Mazafaka</title>
		<link>https://testitquickly.com/2015/11/25/how-to-with-confluence-links-mazafaka/</link>
					<comments>https://testitquickly.com/2015/11/25/how-to-with-confluence-links-mazafaka/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Wed, 25 Nov 2015 15:02:07 +0000</pubDate>
				<category><![CDATA[F.A.Q.]]></category>
		<category><![CDATA[Не смешно]]></category>
		<category><![CDATA[Озарения]]></category>
		<category><![CDATA[Скриншоты]]></category>
		<category><![CDATA[Учеба в бою]]></category>
		<category><![CDATA[Читерство]]></category>
		<category><![CDATA[Confluence]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=3446</guid>

					<description><![CDATA[Confluence 5.5.2 — прекрасная SaaS-система, пользуюсь ежедневно. Полностью интегрируется с Jira, все дела. В Confluence можно грамотно разметить оглавления в тексте, заголовками уровня 1-6. Можно вставить автоматически собираемое &#171;Содержание&#187; всех заголовков на странице (макрос &#8216;Table of Contents&#8217;). Можно вставлять в тело страницы другую страницу, целиком (макрос &#8216;Include Page&#8217;). Даже можно сделать на странице, содержимое которой… <span class="read-more"><a href="https://testitquickly.com/2015/11/25/how-to-with-confluence-links-mazafaka/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Confluence 5.5.2 — прекрасная <a href="https://ru.wikipedia.org/wiki/SaaS">SaaS</a>-система, пользуюсь ежедневно. Полностью интегрируется с Jira, все дела.</p>
<p>В Confluence можно грамотно разметить оглавления в тексте, заголовками уровня 1-6.</p>
<p>Можно вставить автоматически собираемое &#171;Содержание&#187; всех заголовков на странице (макрос &#8216;Table of Contents&#8217;).</p>
<p>Можно вставлять в тело страницы другую страницу, целиком (макрос &#8216;Include Page&#8217;).</p>
<p style="padding-left: 30px;">Даже можно сделать на странице, содержимое которой надо встроить, специальное выделение текста (макрос &#8216;Excerpt&#8217;), и вставлять ТОЛЬКО то содержимое, которое было помеченное таким хитрым образом (макрос &#8216;Excerpt Include&#8217;).</p>
<p>Можно вставлять ссылки на другие страницы внутри Confluence аж двумя способами: по-простому (по-дурацки) и грамотно.</p>
<p><span id="more-3446"></span></p>
<h2><span style="color: #008000;">Вставляем по-дурацки</span></h2>
<ol>
<li>Просто скопируй нужную ссылку из адресной строки, да вставь ее в нужное место на странице открытым текстом.</li>
</ol>
<p style="padding-left: 30px;">Буквально copy/paste &#8216;<span style="color: #000080;">httр://confluence.test/display/~a.lupan/Action+Verbs+to+be+used+in+Goal+setting+process</span>&#8216; в тело открытой на редактирование страницы.</p>
<p>Сработает сразу.</p>
<p>Но вероятно не будет работать в будущем, если в названии страницы изменится хотя бы один символ — ссылка просто &#171;умрёт&#187;.</p>
<p style="padding-left: 30px;">Например, если в названии только дружественные англо-символы (вроде &#171;<em>Action Verbs to be used in Goal setting process</em>&#171;), URL страницы будет выглядеть как &#8216;<span style="color: #008000;"><span style="color: #000080;">httр://confluence.test/display/~a.lupan/Action+Verbs+to+be+used+in+Goal+setting+proces</span>s</span>&#8216;</p>
<p style="padding-left: 30px;">Если изменить заголовок страницы на &#171;<em>Англ Action Verbs to be used in Goal setting process</em>&#187; (добавить неанглоалфавитный символ, или двоеточия, или что-то еще неординарное), URL страницы поменяется на что-то вроде &#8216;<span style="color: #000080;">httр://confluence.test/pages/viewpage.action?pageId=54598262</span>&#8216;</p>
<p>Всё потому, что URL страниц в Confluence создается динамически, изменяясь &#171;на лету&#187; в зависимости от названия страницы.</p>
<p>А ссылки на страницы в Confluence существуют в системе как самостоятельные сущности (переменные). Поэтому привязываться надо не к ссылкам, а к сущностям, которые хранят в себе ссылки. Поэтому</p>
<h2><span style="color: #008000;">Вставляем грамотно</span></h2>
<p><strong>1)</strong></p>
<ol>
<li>Вызвать макрос &#8216;Insert Link&#8217; (элементарно вызывается по Ctrl+K).</li>
<li>В окне настроек выбрать Search &gt; искать по названию страницы.</li>
</ol>
<p>Будет мелкий неудобняк:</p>
<ul>
<li>надо начинать набирать название искомой страницы без ошибок хотя бы в первых словах.</li>
<li>ой, если надо искать только что созданную страницу — она сперва должна проиндексироваться в системе, и процесс этот нам не подчиняется. Пока поиск не проиндексируется, будет казаться, что только что созданная страница тупо отсутствует&#8230;</li>
</ul>
<p>Поэтому более точный и удобный способ: в окне настроек макроса &#8216;Insert Link&#8217; открыть раздел &#8216;<strong>Recently viewed</strong>&#8216;. Нужная страница там безусловно найдется, практически всегда окажется, что я её уже открывал. Клик по её &#8216;Title&#8217;, и всё готово.</p>
<div id="attachment_3447" style="width: 510px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3447" class="wp-image-3447 size-large" title="Confluence Recently Viewed" src="https://testitquickly.com/wp-content/uploads/2015/11/confluence-recently-viewed.jpg?w=500" alt="Confluence Recently Viewed" width="500" height="352" /><p id="caption-attachment-3447" class="wp-caption-text">Confluence Recently Viewed</p></div>
<p>Теперь название страницы, на которую поставлена ссылка, может изменяться как угодно, вплоть до появления &#8216;<span style="color: #000080;">pageId=54598262</span>&#8216; — ссылка всё равно сохраняется &#171;живой и невредимой&#187;.</p>
<p><strong>2)</strong></p>
<p>Как быстро вставить ссылку, не подергивая свою мышь:</p>
<ol>
<li>В открытой на редактирование странице нажать на клавиатуре клавишу &#8216;<span style="color: #008000;">[</span>&#8216; — появится окно &#8216;Link suggestions&#8217;, аналог &#8216;Recently viewed&#8217;.</li>
</ol>
<p style="padding-left: 30px;">Дальше понятно?</p>
<p>Ссылки на имена юзеров вызываются через &#8216;<span style="color: #008000;">@</span>&#8216;.</p>
<p>Вставлять картинки: через &#8216;<span style="color: #008000;">!</span>&#8216;.</p>
<p style="padding-left: 30px;">Можно внутри страницы организовать огневые перекрестные внутренние ссылки, что дичайше котируется в больших документах вроде &#8216;QA Vocabulary&#8217; (например, в нашем 226 терминов, ой-вэй).</p>
<h2><span style="color: #008000;"><strong>Ссылки на разделы внутри страницы </strong></span></h2>
<p>делаются так:</p>
<ol>
<li>Разметить текст как заголовок (в моем случае &#8216;<span style="color: #008000;">Definitions of Selected Functional Verbs</span>&#8216;).
<p><div id="attachment_3448" style="width: 510px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3448" class="size-large wp-image-3448" src="https://testitquickly.com/wp-content/uploads/2015/11/confluenceheading.jpg?w=500" alt="Confluence Heading" width="500" height="462" /><p id="caption-attachment-3448" class="wp-caption-text">Confluence Heading</p></div></li>
<li>Скопировать этот текст в буфер обмена as is. Со всеми его пробелами и запятыми, если есть.</li>
<li>Перейти в другое место страницы, где надо сделать ссылку на данный заголовок.</li>
<li>Вызвать макрос &#8216;Insert Link&#8217; (элементарно вызывается по Ctrl+K).</li>
<li>В окне настроек выбрать Advanced.</li>
<li>В поле &#8216;Link&#8217; своими руками вписать символ &#8216;<span style="color: #008000;">#</span>&#8216; и сразу текст (заголовок) из буфера обмена со всеми его пробелами, as is, буквально &#8216;<span style="color: #008000;">#Definitions of Selected Functional Verbs</span>&#8216;
<div id="attachment_3449" style="width: 510px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3449" class="size-large wp-image-3449" src="https://testitquickly.com/wp-content/uploads/2015/11/confluenceadvancedlinks.jpg?w=500" alt="Confluence Advanced Links" width="500" height="353" /><p id="caption-attachment-3449" class="wp-caption-text">Confluence Advanced Links</p></div>
<p>// Внимание<span style="color: #000080;">: <em>The anchor name is case sensitive. You must use the same pattern of upper and lower case letters as you used when creating the Anchor</em>.</span></p>
<p>// <span style="color: #008000;"><span style="color: #000080;"><span style="color: #000000;">После обработки текст превратится в #DefinitionsofSelectedFunctionalVerbs (ибо справка:</span> <em>The anchor name in the full URL is concatenated into a single word, with all spaces removed</em>).</span></span></p>
<p>// <span style="color: #000000;">В поле &#8216;Link text&#8217; автоматически будет вписан тот же текст. Его спокойно можно отредактировать, при этом содержимое поля &#8216;Link&#8217; уже не изменится.</span></li>
<li>Insert.</li>
</ol>
<p>Итоговая ссылка на заголовок &#8216;<span style="color: #008000;">Definitions of Selected Functional Verbs</span>&#8216; будет выглядеть так: <span style="color: #000080;">httр://confluence.test/display/~a.lupan/Action+Verbs+to+be+used+in+Goal+setting+process#ActionVerbstobeusedinGoalsettingprocess-DefinitionsofSelectedFunctionalVerbs</span></p>
<p style="padding-left: 30px;"><strong>Мелкий неудобня</strong>к: ничто не подсказывает, что надо вставить &#8216;<span style="color: #008000;">#</span>&#8216;. GTFO, если не знаешь про этот хинт. Я про него знаю, и вроде не дурак, но иногда забываю вписать эту чертову решеточку&#8230;</p>
<p style="padding-left: 30px;"><strong>Серьезный, раздражающий неудобняк</strong>: если заголовок раздела &#8216;<span style="color: #008000;">Definitions of Selected Functional Verbs</span>&#8216; когда-нибудь изменится хоть на одну букву, ссылка внешне останется активной, но превратится в ссылку, просто закрытую заглушкой &#8216;#&#8217;.</p>
<p>Ок, это был простейший сценарий, ссылки внутри страницы. Теперь дело посложнее:</p>
<h2><span style="color: #008000;"><strong>Поставить ссылку на заголовок с другой страницы, которая находится в другом space</strong></span></h2>
<p>Учли, что прямой Copy/Paste возможен, но потенциально недолговечен, и надо действовать через макрос &#8216;Insert Link&#8217; (элементарно вызывается по Ctrl+K).</p>
<p style="padding-left: 30px;">И пусть там можно найти только общий Title нужной страницы, внутренние ссылки оттуда недоступны, однако действовать надо именно через макрос &#8216;Insert Link&#8217; (элементарно вызывается по Ctrl+K). Если в будущем изменится название страницы, в которой находится заголовок, на который надо ссылаться, Confluence эту ссылку грамотно обновит. Confluence рулит!</p>
<p style="padding-left: 60px;">Вот если внтури страницы изменится тот самый внутренний заголовок, на который сделана &#171;ссылка внутри страницы&#187;, тогда уж увы.</p>
<p style="padding-left: 30px;">И всё равно придется действовать через раздел Advanced, да еще и вручную вписывать название страницы.</p>
<p style="padding-left: 60px;">А это уже раздражающий неудобняк.</p>
<p>Если страница с внутренней ссылкой, на которую надо сослаться, находится в том же space:</p>
<ol>
<li>Вызвать макрос &#8216;Insert Link&#8217; (элементарно вызывается по Ctrl+K) &gt; Advanced</li>
<li>Вставить ссылку по шаблону &#8216;<span style="color: #008000;">Page Name#MyHeading</span>&#8216;.</li>
<li>В моем случае это &#8216;<span style="color: #008000;">Action Verbs to be used in Goal setting process#DefinitionsofSelectedFunctionalVerbs</span>&#8216;</li>
<li>Insert.</li>
</ol>
<p>Если страница с внутренней ссылкой, на которую надо сослаться, находится в другом space:</p>
<ol>
<li>Вызвать макрос &#8216;Insert Link&#8217; (элементарно вызывается по Ctrl+K) &gt; Advanced</li>
<li>Вставить ссылку по шаблону &#8216;<span style="color: #008000;">spacekey:Page Name#MyHeading</span>&#8216;.</li>
<li>В моем случае это &#8216;<span style="color: #008000;">~a.lupan:Action Verbs to be used in Goal setting process#DefinitionsofSelectedFunctionalVerbs</span>&#8216;</li>
<li>Insert.</li>
</ol>
<p>Работает.</p>
<h2><span style="color: #008000;">ВНЕЗАПНОСТИ</span></h2>
<p><strong>1)</strong></p>
<p>Полностью URL на определенный заголовок внутри определенной страницы выглядит так: <span style="color: #000080;">httр://confluence.test/display/~a.lupan/Action+Verbs+to+be+used+in+Goal+setting+process#ActionVerbstobeusedinGoalsettingprocess-DefinitionsofSelectedFunctionalVerbs</span></p>
<p>Что же это за <span style="color: #008000;">#ActionVerbstobeusedinGoalsettingprocess-DefinitionsofSelectedFunctionalVerbs</span>, если я вписывал только <span style="color: #008000;">#DefinitionsofSelectedFunctionalVerbs</span>? Что за Wtf?</p>
<p>Ответ такой: все в порядке.</p>
<p style="padding-left: 30px;"><span style="color: #008000;">The page name is repeated in the URL, after the # sign. The second occurrence of the page name is concatenated into a single word, with all spaces removed.</span></p>
<p>Но зачем?</p>
<p>Ок, учтем, что в виде ссылки надо использовать только то, что идет за решеткой, но только после дефиса.</p>
<p>Неочевиднейший подход. Пока это поймешь&#8230;</p>
<p><strong>2)</strong></p>
<p>Если продолжить редактировать страницу, отсылка продолжает оставаться рабочей.</p>
<p>Но если я решу отредактировать эту ссылку&#8230; в ней исчезает spacekey, и вместо</p>
<p>&#8216;<span style="color: #008000;"><strong>~a.lupan:</strong>Action Verbs to be used in Goal setting process#DefinitionsofSelectedFunctionalVerbs</span>&#8216;</p>
<p>там будет написано</p>
<p>&#8216;<span style="color: #008000;">Action Verbs to be used in Goal setting process#DefinitionsofSelectedFunctionalVerbs</span>&#8216;.</p>
<p>Всё, ссылка сдохла.</p>
<p>Не обратишь на это пристальное внимание — увы<span style="color: #ffffff;">, блеать&#8230;</span></p>
<div id="attachment_3450" style="width: 510px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3450" class="size-large wp-image-3450" src="https://testitquickly.com/wp-content/uploads/2015/11/confluencespacekeydisappear.jpg?w=500" alt="Confluence Space Key Disappear" width="500" height="352" /><p id="caption-attachment-3450" class="wp-caption-text">Confluence Space Key Disappear</p></div>
<p><strong>3)</strong></p>
<p>Confluence Help организован не по-взрослому.</p>
<p>Есть дефолт-справка по работе со ссылкам: <a href="https://confluence.atlassian.com/display/CONFEAP/Links">https://confluence.atlassian.com/display/CONFEAP/Links</a></p>
<p>Но также зачем-то существуют отдельные страницы справка для разных версий Confluence. Например, справка для Confluenct версии 5.6 находится тут: <a href="https://confluence.atlassian.com/conf56/confluence-user-s-guide/creating-content/using-the-editor/working-with-links">https://confluence.atlassian.com/conf56/confluence-user-s-guide/creating-content/using-the-editor/working-with-links</a></p>
<p>Я работаю с Confluence 5.5.2, поэтому смотрю на <a href="https://confluence.atlassian.com/conf55/confluence-user-s-guide/creating-content/using-the-editor/working-with-links">https://confluence.atlassian.com/conf55/confluence-user-s-guide/creating-content/using-the-editor/working-with-links</a></p>
<p>Между всеми тремя версиями справки разницы НЕТ, количество слов в двух документах идентично. Wtf?</p>
<div id="attachment_3451" style="width: 389px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3451" class="size-full wp-image-3451" src="https://testitquickly.com/wp-content/uploads/2015/11/confluence-help-links-word-count.jpg" alt="Confluence Help Links Word Count" width="379" height="194" /><p id="caption-attachment-3451" class="wp-caption-text">Confluence Help Links Word Count</p></div>
<p>В целом Confluence рулит неимоверно!</p>
<p>Просто надо немного оторвать ноги/руки тем, кто реализовал механизм работы с ссылками, и мир во всем моем мире наступит.</p>
<p>Сразу.</p>
<p>Всей подошвой.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2015/11/25/how-to-with-confluence-links-mazafaka/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3446</post-id>	</item>
		<item>
		<title>Так вот что такое «Регрессионное Тестирование»!</title>
		<link>https://testitquickly.com/2015/10/07/fa-te-simplu-ca-sopirla/</link>
					<comments>https://testitquickly.com/2015/10/07/fa-te-simplu-ca-sopirla/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Wed, 07 Oct 2015 15:53:13 +0000</pubDate>
				<category><![CDATA[F.A.Q.]]></category>
		<category><![CDATA[Банальное]]></category>
		<category><![CDATA[Комиксы]]></category>
		<category><![CDATA[Откровения]]></category>
		<category><![CDATA[Учеба в бою]]></category>
		<category><![CDATA[Regression testing]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=3419</guid>

					<description><![CDATA[Уже задрало слышать, что «Регрессионное тестирование — это когда мы заново всё тестируем». Кагбэ, да, но тогда почему это называется «Регрессионное тестирование», а не «Перетестировывание всего заново»? «Заново всё тестируем» — это не объяснение сути обсуждаемого феномена! Это лишь описание внешних признаков сего феномена. Так ребенок может объяснить, что такое автомобиль, не понимая, как и… <span class="read-more"><a href="https://testitquickly.com/2015/10/07/fa-te-simplu-ca-sopirla/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Уже задрало слышать, что «<em>Регрессионное тестирование — это когда мы заново всё тестируем</em>».</p>
<p style="padding-left:30px;">Кагбэ, да, но тогда почему это называется «<em>Регрессионное тестирование</em>», а не «<em>Перетестировывание всего заново</em>»?</p>
<p>«<em>Заново всё тестируем</em>» — это не объяснение сути обсуждаемого феномена! Это лишь описание внешних признаков сего феномена. Так ребенок может объяснить, что такое автомобиль, не понимая, как и почему вот это вот всё работает. Вроде «<em>Автомобиль — это когда папа за рулём, он едет на работу, а я в детский сад, и мне удобно в нём сидеть»</em>. Всё правильно же?!</p>
<p style="padding-left:30px;">Кроме термина <strong>регресс</strong> еще есть термин <strong>регрессия</strong> — сам по себе термин неоднозначный. Это бывает и в психологии, и в финансовой аналитике, и это разные феномены ВААПЩЕ.</p>
<p><span id="more-3419"></span></p>
<p>
Значитца, так. В <a class="bbc_url" title="Ссылка" href="https://ru.wikipedia.org/wiki/%D0%A0%D0%B5%D0%B3%D1%80%D0%B5%D1%81%D1%81%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%B5_%D1%82%D0%B5%D1%81%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" rel="nofollow external">википедии</a> правильно указана суть термина &#171;<strong>Регрессионное тестирование</strong>&#187; (<a class="bbc_url" title="Ссылка" href="https://ru.wikipedia.org/wiki/%D0%90%D0%BD%D0%B3%D0%BB%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA" rel="nofollow external">англ.</a> <i>regression testing</i>, от <a class="bbc_url" title="Ссылка" href="https://ru.wikipedia.org/wiki/%D0%9B%D0%B0%D1%82%D0%B8%D0%BD%D1%81%D0%BA%D0%B8%D0%B9_%D1%8F%D0%B7%D1%8B%D0%BA" rel="nofollow external">лат.</a> <i>regressio</i> — движение назад), но дальнейшее объяснение недостаточно адекватно. Дитячее оно.</p>
<p>
Давайте объясняться по-взрослому.</p>
<p>
Есть понятие <strong>Прогресс.</strong></p>
<div id="attachment_3420" style="width: 510px" class="wp-caption aligncenter"><a href="https://testitquickly.com/wp-content/uploads/2015/10/progress.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3420" class="size-large wp-image-3420" src="https://testitquickly.com/wp-content/uploads/2015/10/progress.jpg?w=500" alt="но не везде" width="500" height="364" /></a><p id="caption-attachment-3420" class="wp-caption-text">Есть же&#8230;</p></div>
<p>
А есть понятие<strong> Регресс</strong> — обратная сторона прогресса.</p>
<p>
Любая/каждая система по мере накопления функциональных возможностей развивается (прогрессирует). Это круто.</p>
<p style="padding-left:30px;">Например, какая-нибудь политическая партия: появляется в одном городе, затем, если начинает расти, открывает филиалы в соседних <del>о</del>городах, потом в соседних районах, областях, уездах, губерниях, выходит на уровень реальной политической силы, выходит в парламент, в космос, переезжает всем штабом в Дондюшаны и курит там кальян из зеленой травы, бо дальше развиваться некуда, мир завершается Дондюшанами.</p>
<p style="padding-left:30px;">Любая ERP-система развивается по тому же принципу — все больше информации собирается и учитывается по каждому чиху. Отчёты все красочнее, объемнее, в запросах все больше ЕСЛИ и НО НЕ и КРОМЕ.</p>
<p>Однако увеличение функциональности незаметно приносит и увеличение взаимосвязей между функциями.</p>
<p style="padding-left:30px;">Партия начинает управляться на местах все более автономно, глава партии уже не может, как когда-то, самостоятельно решать, что нужно делать, а что не нужно. Уже приходится перед принятием решения договариваться с самыми влиятельными лидерами региональных отделений. Уже приходится учитывать чужие интересы. Уже невозможно быть уверенным в том, что какое-то приказание, выданное в регионы, дойдет до каждого, и будет выполняться именно так, как было задумано.</p>
<p style="padding-left:30px;">Это и есть регресс.</p>
<p>Чтобы убедиться в том, что в существующей системе не начинается регресс, полезно иногда проводить ее полное тестирование.</p>
<p>
И уж тем более логично перетестировать всё, что можно, если в систему были внесены какие-то существенные изменения.</p>
<p style="padding-left:30px;">Со стороны это выглядит как &#171;<em>Внесли новый функционал — обязательно перетестировываем всё!</em>&#187; Словно тестировщики в тысячный раз прогоняют уже существующие тесты, вот и всё.</p>
<p>Не всё. Этого недостаточно.</p>
<p>
Проблема регресса для тестировщиков намного серьезнее — мы каждый раз не знаем, что принесёт с собой новая функциональность в системе. И каждый раз надо предположить/узнать/протестировать новые взаимодействия в системе, а не тестировать только новые функции в изоляции от остальных.</p>
<p style="padding-left:30px;">Смысл просто гонять старые тест-кейсы, если они были написаны без учета новых ситуаций?</p>
<p>Со временем старый функционал начинает плотно пересекаться с новым — и надо заново расчехлять аналитику, заново выявлять новые ситуации, которые могут возникнуть, заново писать тест-кейсы, которые затрагивают уже не столько функциональные, сколько интеграционные аспекты&#8230;</p>
<p style="padding-left:30px;">А «в интеграции» бытуют такие баги, о которых и не догадаешься, рассматривая функцию логина по-отдельности от остальных функций&#8230;</p>
<p>Поэтому регрессионное тестирование — нескончаемый кошмар, вообще-то&#8230; И выяснение &#171;<em>не наступил ли регресс</em>&#187; (внимание, не путать с &#171;<em>не наступила ли регрессия</em>&#171;) — постоянная задача, которую с какого-то момента необходимо постоянно решать.</p>
<p style="padding-left:30px;">В любом проекте с какого-то момента начинается уже не улучшение продукта, а борьба за &#171;<em>чтобы оно всё еще продолжало работать, как раньше</em>&#171;&#8230; с постоянным выяснением, а не наступил ли регресс из-за усложнения системы.</p>
<p>В начале проекта ВООБЩЕ нет необходимости думать про регрессионное тестирование. В начале проекта даже тест-кейсами особо заморачиваться нет смысла.</p>
<p>
Но чем дальше влез в лес&#8230;</p>
<h3><span style="color:#008000;">Ещё в тему</span></h3>
<p><a href="http://testitquickly.com/2019/02/14/regression-is-my-profession/">Regression is my profession!</a></p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2015/10/07/fa-te-simplu-ca-sopirla/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3419</post-id>	</item>
		<item>
		<title>Writer &#8212; Как убрать колонтитулы на определенных мною страницах?</title>
		<link>https://testitquickly.com/2015/07/12/writer-%d0%ba%d0%b0%d0%ba-%d1%83%d0%b1%d1%80%d0%b0%d1%82%d1%8c-%d0%ba%d0%be%d0%bb%d0%be%d0%bd%d1%82%d0%b8%d1%82%d1%83%d0%bb%d1%8b-%d0%bd%d0%b0-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b5%d0%bd/</link>
					<comments>https://testitquickly.com/2015/07/12/writer-%d0%ba%d0%b0%d0%ba-%d1%83%d0%b1%d1%80%d0%b0%d1%82%d1%8c-%d0%ba%d0%be%d0%bb%d0%be%d0%bd%d1%82%d0%b8%d1%82%d1%83%d0%bb%d1%8b-%d0%bd%d0%b0-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b5%d0%bd/#respond</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Sun, 12 Jul 2015 17:19:17 +0000</pubDate>
				<category><![CDATA[Учеба в бою]]></category>
		<category><![CDATA[Header]]></category>
		<category><![CDATA[LibreOffice]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=3403</guid>

					<description><![CDATA[Напрямую никак. Решение: создать новый стиль оформления страниц, и назначить этот стиль тем страницам, на которых не должно быть колонтитула. Format &#62; Styles and Formatting &#62; select Page Styles icon at top: Then: Create a new page style based on the Default Style page style (right-click &#62; New&#8230;). Organiser tab &#62; give this new style… <span class="read-more"><a href="https://testitquickly.com/2015/07/12/writer-%d0%ba%d0%b0%d0%ba-%d1%83%d0%b1%d1%80%d0%b0%d1%82%d1%8c-%d0%ba%d0%be%d0%bb%d0%be%d0%bd%d1%82%d0%b8%d1%82%d1%83%d0%bb%d1%8b-%d0%bd%d0%b0-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b5%d0%bd/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Напрямую никак.</p>
<p>
Решение: создать новый стиль оформления страниц, и назначить этот стиль тем страницам, на которых не должно быть колонтитула.</p>
<p>
<em>Format</em> &gt; <em>Styles and Formatting</em> &gt; select <em>Page Styles</em> icon at top:</p>
<p>
<img decoding="async" src="http://ask.libreoffice.org/upfiles/13906345907752009.png" alt="page styles" /></p>
<p>
Then:</p>
<ol>
<li>Create a new page style based on the <em>Default Style</em> page style (right-click &gt; <em>New&#8230;</em>).</li>
<li><em>Organiser</em> tab &gt; give this new style a meaningful name (e.g., &#171;No header / footer&#187;) &gt; set <em>Next Style</em> to &#171;Default Style&#187;.</li>
<li><em>Header</em> tab &gt; uncheck <em>Header on</em>.</li>
<li><em>Footer</em> tab &gt; uncheck <em>Footer on</em>.</li>
<li>Click OK.</li>
<li>Place the cursor at the end of the content on the page <strong><em>prior</em> to the page to have no header / footer</strong>.</li>
<li><em>Insert</em> &gt; <em>Manual Break&#8230;</em> &gt; <em>Type</em> of &#171;Page Break&#187; &gt; <em>Style</em> of &#171;No header / footer&#187; &gt; click OK.</li>
<li>Press DEL (if required to remove carriage return or page break in front of cursor).</li>
<li>Repeat steps 6-8 for each page to have header / footer area suppressed.</li>
</ol>
<p>For documents using direct formatting (e.g., <em>Format</em> &gt; <em>Page&#8230;</em>) the same process should work, although to what degree, will depend on how the direct formatting has been applied and to what extent.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2015/07/12/writer-%d0%ba%d0%b0%d0%ba-%d1%83%d0%b1%d1%80%d0%b0%d1%82%d1%8c-%d0%ba%d0%be%d0%bb%d0%be%d0%bd%d1%82%d0%b8%d1%82%d1%83%d0%bb%d1%8b-%d0%bd%d0%b0-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b5%d0%bd/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3403</post-id>	</item>
		<item>
		<title>Тыкайте проекты в свободном режиме</title>
		<link>https://testitquickly.com/2015/05/05/testeaza-liber/</link>
					<comments>https://testitquickly.com/2015/05/05/testeaza-liber/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Mon, 04 May 2015 21:41:16 +0000</pubDate>
				<category><![CDATA[Рекрутинг]]></category>
		<category><![CDATA[Соображения]]></category>
		<category><![CDATA[Учеба в бою]]></category>
		<category><![CDATA[Ватерлоо]]></category>
		<category><![CDATA[Карл Маркс]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=3382</guid>

					<description><![CDATA[Тыщу лет назад. Осень. Я, безработный, &#171;словно птица на сносях&#187;, иду собеседоваться в большую компанию. А там на входе две анкеты &#171;на адекватность&#187;. Дадада, давайт сюдайт, адекватность — это же моё второе имя! Первая анкета скучна, как радио &#171;Шансон&#187; в киевском варианте. Сто насущнейших вопросов из области программирования. Что такое ООП, а вот предположим, что… <span class="read-more"><a href="https://testitquickly.com/2015/05/05/testeaza-liber/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Тыщу лет назад.</p>
<p>Осень.</p>
<p>Я, безработный, &#171;словно птица на сносях&#187;, иду собеседоваться в большую компанию.</p>
<p>А там на входе две анкеты &#171;на адекватность&#187;.</p>
<p style="padding-left: 30px;">Дадада, давайт сюдайт, адекватность — это же моё второе имя!</p>
<p>Первая анкета скучна, как радио &#171;Шансон&#187; в киевском варианте. Сто насущнейших вопросов из области программирования.</p>
<p style="padding-left: 30px;">Что такое ООП, а вот предположим, что мы намазываем на бутерброд наследуемый полиморфизм, а в чем же насущная суть абстрактной сущности, а вот найди неправильный тэг в предлагаемом html-коде, а что б ты сделал, если б ты увидел молдавских коммунистов в церкви (ничего, это же неправильные коммунисты, они делают неправильный мёд), а кто такой тов. Стучка (один из организаторов коммунистической партии в Латвии с 1919 г.), а где теперь живет Карл Маркс (в сердцах пролетариата), и прочее&#8230;</p>
<p>Я отвечал этой занудной анкете честно, обстоятельно и неторопливо, мол, не брал я на душу покойников, и не испытывал судьбу, и не знаю я никаких ваших ООП, а вот этот тэг на html надо безусловно закрывать вот здесь, а тут тоже не знаю, и это пропущу, и тут я хз, а тут я вообще хз, и я начальник, спал спокойненько, и весь ваш МУР видал в гробу&#8230;</p>
<p><span id="more-3382"></span></p>
<p>Вторая анкета поживее — сто вопросов про тестирование ПО. Там я тоже отвечал честно, обстоятельно и неторопливо, но тут уже, в отличе от первой, незаполненным не оставил ни одно поле.</p>
<p>Итого странная ситуация: коньдидатЪ продемонстрировал исчезающе мало знаний в программировании, но ВНЕЗАПНО оказался невероятно хорош в тестировании, набрал ~90% правильных ответов, каг же таг?</p>
<p>Разбираться со феноменом явилось двое тест-манагеров. Мое сопротивление было смелым, как атака кавалерии Келлермана под Ватерлоо, но таким же ненужным. Не суть, конечно, дело прошлое, но по итогу беседы мне был нанесён самый мощный coup de grâce в моей тестировщицкой жизни, о котором не забывается. Речь пошла про тестирование проекта, который вот-вот надо сдавать.</p>
<p>А именно: &#171;<em>А вот у вас проект, который вот-вот надо сдавать. Что вы предложите делать тестировщикам: проверять по тест-кейсам, или в свободном режиме потыкать проект, может и найдутся какие-нибудь баги?</em>&#171;</p>
<p>Я крепко подумал.</p>
<p style="padding-left: 30px;">И ты подумай.</p>
<p style="padding-left: 30px;">Саспенс же, ёпта.</p>
<p>Если проект уже надо сдавать, это означает, что времени — с гулькин, мгм, нос.</p>
<p>Будет ли возможность выпуска следующей версии ПО, в которой будут исправлены все баги, которые будут обнаружены после выхода на продакшн? Не знаю, молчат, не говорят.</p>
<p style="padding-left: 30px;">Да, и непонятно, что в данном случае означает &#171;выход на продакшн&#187;, бо я ж ни здоб ни здуб о том, какого рода проект происходит — он на сервере появится, или будет передан в разные офисы и установлен на разном оборудовании, а я ж хз, тестировались ли варианты &#171;разного оборудования&#187;, и&#8230;</p>
<p>Ок, считаем, что другого шанса &#171;сдать адекватный проект&#187; не будет.</p>
<p>Можно заняться аналитикой: ещё раз пройтись по проекту и выяснить, все ли возможные сценарии работы приложения были продуманы и протестированы? Наверняка же не все&#8230; Но заниматься аналитикой перед финалом работы по проекту вобще?&#8230;</p>
<p>А если проект уже &#171;надо сдавать&#187; — это означает, что времени на багфиксы не будет?! Если в свободном поиске тестировщик найдёт что-то СТРАШНОЕ, то его свои же манагеры закопают у озера на Скулянке, лишь бы не сообщать в последний момент о том, что выходить в прод опасно&#8230;</p>
<p>Что-то хорошее в этой ситуации тоже нашлось — если проект &#171;уже надо сдавать&#187;, это значит, что до сих пор тестировщики что-то в этом проекте ковыряли, и вероятно, уже не первый день, и вероятно, уже знают его очень хорошо. Знают сильные места, знают слабые места, знают то, о чем никому не надо говорить, знают то, что хочется развидеть, но без армии психоаналитиков мистер Крюгер все равно будет каждую ночь посещать и несчастного тестировщика, и несчастного девелопера, который всё это надевелоперил&#8230;</p>
<p>Но в свободном поиске уже изрядно переспавшие с этим проектом тестировщики найдут, скорее всего, тот самый гулькин, мгм, нос, бо какие перлины можно найти, если начать перелопачивать всё ту же кучу навоза, которую сами наделали и сполна перелопатили?!</p>
<p style="padding-left: 30px;">Подскажу бесплатно: или найдутся какие-то безумно идиотские экзотические сценарии перехода с одного экрана на другой, или какие-то безумно идиотские экзотические сценарии выполнения каких-то расчетов, которые закрэшат софтину, и тогда манагеры поедут на Скулянку выкапывать из благословенного молдавского чернозема тестировщика, который хотя бы что-то да знает о том, где у этой софтины слабое место, в которое НЕ НАДО тыкать&#8230;</p>
<p>Нехорошее соображение: программисты не рекомендуют тестировщикам находить экзотические баги под самый финал проекта.</p>
<p style="padding-left: 30px;">Некстати подумалось, что если рискнуть, то можно дальше не читать, просто знайте, что убийца — не садовник&#8230;</p>
<p>Поэтому вариант &#171;А давайте в режиме свободного падения покопаемся в программе, может быть, и найдём что-то&#8230;&#187; мне не нравится КОТЭГОРИЧЕСКИ. Многовато экзотики. Потенциально можно доказать, что программа обладает страшными недостатками, но можно ли доказать, что она делает то, что&#8230;</p>
<p>А, кстати, программа уже делает то, что должна делать, без ошибок? Нет информации. Предположим, что я заказчик, который не врубается в градации экзотичности багов, и хочет, соппсно, получить софт, который будет делать то, что ему нужно&#8230; И как водится, предположим, что тестировщиков в проект пригласили просто потому, что кто-то убедил заказчика в том, что тестировщики — прекрасные эмуляторы &#171;конечного пользователя&#187;. Следовательно, самая важная информация, которая должна приходить от тестировщиков — будет ли удовлетворён конечный пользователь, а он будет удовлетворён в принципе потому, что программа будет делать то, что она должна делать&#8230;</p>
<p>Вернёмся к исходникам:</p>
<ol>
<li>проект &#171;вот-вот&#187; надо сдавать,</li>
<li>дальнейшая работа над проектом не объявлена,</li>
<li>у тестировщиков есть ТОЛЬКО две возможности:
<ol>
<li>или проверять проект по тест-кейсам,</li>
<li>или &#171;тыкать проект&#187; в поисках ранее пропущенных багов.</li>
</ol>
</li>
</ol>
<p>Ваше решение, фельдмаршал?</p>
<p><a href="https://testitquickly.com/wp-content/uploads/2015/05/1418309530_big-bang-theory-leonard21.jpg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-3385" src="https://testitquickly.com/wp-content/uploads/2015/05/1418309530_big-bang-theory-leonard21.jpg?w=500" alt="big bang theory proved " width="500" height="334" /></a></p>
<p>Решение такое:<strong> проверять проект по тест-кейсам</strong>.</p>
<p>Если есть время, то следует методично и последовательно убедиться ЕЩЁ раз в том, что программа делает то, что она ДОЛЖНА делать.</p>
<p>Палюбасу эта информация важнее всего.</p>
<p><strong>Итого</strong>: мне сказали, что в последний момент перед сдачей проекта надо тыкать в свободном режиме в надежде поймать какой-нибудь неведомый баг.</p>
<p>Я отказался.</p>
<p>Мне отказали.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2015/05/05/testeaza-liber/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3382</post-id>	</item>
		<item>
		<title>Надо стать джуниором</title>
		<link>https://testitquickly.com/2015/01/09/scoate-limba-afara/</link>
					<comments>https://testitquickly.com/2015/01/09/scoate-limba-afara/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Fri, 09 Jan 2015 17:11:52 +0000</pubDate>
				<category><![CDATA[В гостях у психиатра]]></category>
		<category><![CDATA[Печали]]></category>
		<category><![CDATA[Постановка мозгов]]></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://testitquickly.com/?p=3354</guid>

					<description><![CDATA[Ок, в последнее время так много людей заявляют &#171;Хочу стать тестировщиком&#171;, что уже пора сказать вслух и грубо: ок, бро. Просишь научить — научим. Научим всякой туфте, вроде Smoke Testing, Regression Testing, Decision Table Testing, Pairwise Testing, даже State-Transition Testing, или даже, святая святых, не каждому дано — Domain Analysis Testing&#8230; Это интересно? Это поможет… <span class="read-more"><a href="https://testitquickly.com/2015/01/09/scoate-limba-afara/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Ок, в последнее время так много людей заявляют &#171;<em>Хочу стать тестировщиком</em>&#171;, что уже пора сказать вслух и грубо: ок, бро. Просишь научить — научим.</p>
<p>Научим всякой туфте, вроде Smoke Testing, Regression Testing, Decision Table Testing, Pairwise Testing, даже State-Transition Testing, или даже, святая святых, не каждому дано — Domain Analysis Testing&#8230; Это интересно? Это поможет найти работу?</p>
<p><span id="more-3354"></span></p>
<p>Начинающему достаточно только рассказать про Equivalence Class Testing + Boundary Value Testing, показать форму заполнения тест-кейсов и отчетах о дефектах, и пнуть под зад, бо всё, «<em>You&#8217;re in da Army now, stand up and fight</em>», дальше — сам.</p>
<p>Но если только это и рассказать, то он же, зараза, вернётся с претензиями, мол, чему вы меня научили, бо работу никак не найду, а следовательно, я — няша, вы — злобные мудаки.</p>
<p style="padding-left: 30px;">Почему недостаточно только рассказывать про Equivalence Class Testing + Boundary Value Testing?</p>
<p style="padding-left: 30px;">Ну, поначалу всё ок, пока дело не дойдёт до какой-нибудь сложной формы наподобие google.com/advanced_search, и тогда «<a title="Мультфильм &quot;Волк и семеро козлят на новый лад&quot; " href="http://youtu.be/9HOZwXI09z8?t=5m52s"><em>Баста, карапузики, кончилися танцы!</em></a>»&#8230;</p>
<p>И ладно, если на наших глазах облажается джуниор (мы же тут любому джуниору ногу отгрызём, буде таковой рыпнется, ага?!). У джуниора есть время на то, чтобы осознать ошибки молодости и переучиться, и доучиться, или жениться и перестать отличать тестирование от программирования, равно как и утро от вечера.</p>
<p>А если это взрослый человек?</p>
<p>А если взрослый, то надо формулировать задачу правильно. И грамотно оценивать возможности реализации.</p>
<div id="attachment_3355" style="width: 510px" class="wp-caption aligncenter"><a href="https://testitquickly.com/wp-content/uploads/2015/01/d18fd185d182d0b0-d0bfd0bed0b1d0b5d0b4d0b0.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3355" class="size-large wp-image-3355" src="https://testitquickly.com/wp-content/uploads/2015/01/d18fd185d182d0b0-d0bfd0bed0b1d0b5d0b4d0b0.jpg?w=500" alt="Яхта &quot;Победа&quot;" width="500" height="254" /></a><p id="caption-attachment-3355" class="wp-caption-text">Как вы яхту назовете, так она и поплывёт</p></div>
<p>Ведь можно было бы сформулировать тот же запрос более откровенно: «<span style="color: #008000;">Чему нужно научиться, чтобы найти работу в тестировании и зарабатывать там много денег</span>?» Ну, что мешает?</p>
<p>Мешает то, что отсюда ВНЕЗАПНО растут ножки у проблемки, которая для взрослых людей вообще может оказаться непереборимой. Чтобы начать в тестировании, надо учиться с нуля.</p>
<p>Надо стать джуниором.</p>
<p>Джуниор в любой отрасли == «<em>На старте будет мало денег в принципе, но, вероятно, ПОТОМ денег будет много</em>».</p>
<p>Большинство джуниоров этот этап проходят в молодости, когда живут на содержании у родителей. Или когда начинают выходить из этого содержания.</p>
<p style="padding-left: 30px;">Снимать жилье на зарплату джуниора в Киеве априори невозможно.</p>
<p>Для того, чтобы «начать», действительно достаточно общих рекомендаций вроде «Савин + Канер». Как будет происходить развитие дальше — предсказать невозможно. Понятно, что кто-то останется на этом уровне, а кто-то начнет грызть сорцы и разбираться всё глубже и объемнее уже не только в тестировании, но и во всём остальном.</p>
<div id="attachment_3356" style="width: 233px" class="wp-caption alignleft"><a href="https://testitquickly.com/wp-content/uploads/2015/01/k1qbjkzgb4c7bv1.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3356" class="wp-image-3356 size-medium" style="margin-left: 3px; margin-right: 16px;" title="Капля никотина ковбоя не убивает. Не лошадь же..." src="https://testitquickly.com/wp-content/uploads/2015/01/k1qbjkzgb4c7bv1.jpg?w=223" alt="Капля никотина ковбоя не убивает. Не лошадь же..." width="223" height="300" /></a><p id="caption-attachment-3356" class="wp-caption-text">Капля никотина ковбоя не убивает. Не лошадь же&#8230;</p></div>
<p style="padding-left: 30px;">Это как умение быть ковбоем и умение курить «Мальборо». Нет четкой взаимосвязи между этими явлениями, нет обязательного перехода от «я ковбой» к «я курю». Но со стороны может показаться, что если стал ковбоем, то и курить будешь непременно, хлебая кофе из жестяной кружки у первобытного костра.</p>
<p style="padding-left: 30px;">Или наоборот, я уже курю «Мальборо», следовательно, я уже — почти ковбой. Где моя лошадка, где мои коровки, где моё лассо, где моя Горбатая гора?! Сплошные иллюзии.</p>
<p>Каждый человек (<a title="Ламерство, вернись на минуту!" href="http://testitquickly.com/2011/02/11/de-ce-pling-chitarele-stiu-doar-trotuarele/">не я первый</a>), который приходит в новую профессию в зрелом возрасте, тоже вынужден проходить этот этап «на старте мало денег». Перескочить этап «джуна» невозможно в принципе в любой профессии — от управления самолетами до продажи жареных семечек на автобусных остановках.</p>
<p>Уже ввиду того, что у взрослого человека есть крайне повышенные требования к поддержанию определенного уровня доходов (семья, дети, обязательства, всё это приводит к невозможности просто взять и уменьшить общий доход семьи на неопределенный срок, даже если в будущем обещается доход намного выше), этот переход могут осилить немногие.</p>
<p style="padding-left: 30px;">Особенно если семья не поддерживает.</p>
<p>Более-менее успешно (или быстро) пройти этап «джуна в тестировании» получается только у тех, для кого ковыряние в компьютерах было хобби на протяжении многих лет.</p>
<p style="padding-left: 30px;">Бо важнее понимать окружение (environment), нежели запоминать вид и расположение иконок в приложениях, и только догадываться о том, как и почему оно работает.</p>
<p>Остальные «резко желающие стать тестировщиками/программистами/анархистами» напоминают стареющих портовых грузчиков, которые вдруг возжелали изменить профессию, «<em>&#8230;шоб зарабатывать не хуже, чем Давид Ойстрах; ведь этот маланец, что жил на соседней с нами улице, с одного концерта зашибает больше, чем мы с одного месяца; так а мы чем хуже жидов-то, разумнее же всем стать на старости лет скрипачами, доходы опять же растут, мешки тягать не надоть&#8230;</em>»</p>
<p style="padding-left: 30px;">Неужели вы думаете, что пилить на скрипочке — это сложно? Семь нот. Четыре струны. Один смычок. Какие проблемы? Чо ты меня паришь своими тест-кейсами?! Почему так долго? Просто возьми и протестируй этот гребанный софт!!!</p>
<p>Консерватория никому не отказывает, но там все сперва ржут, а потом предлагают для начала поучиться пять-десять лет, без четкого обещания «станете мастером». Результаты понятны?</p>
<p>У меня этот переход был очень болезненным, но я к нему был готов. У кого-то это вообще не получается. И это нормально.</p>
<p style="padding-left: 30px;">Например, приходит понимание того, что программировать/тестировать — это таки занятие для задротов, и не каждый из «обычных людей» с этим справляется. И даже нужда в деньгах для многих не является достаточным мотиватором, чтобы «это выдержать».</p>
<p>Вот и вся ситуация, если говорить грубо и без вежливых экивоков.</p>
<p>И вот что&#8230; Сегодня тестирование/программирование рулит, бо в кризисе айтишные конторы оказались на коне, всё такое.</p>
<p style="padding-left: 30px;">Вспоминаем, как резко понадобились разномастные бухгалтера в девяностых, и где они сейчас.</p>
<p style="padding-left: 30px;">Вы в курсе, что в семидесятых годах ХХ века в том же СССР было полно программистов? Кто тогда хотел ходить в очках, с бородой, в белом халате, в НИИ чего-то там?</p>
<p>Завтра тестирование перестанет рулить, завтра и кризис закончится. Все к этому готовы?</p>
<p>Сегодня тестировщики, скажем очень грубо, нужны потому, что программисты очень плохо программируют всё то, что будет работать «для обычных людей». Вот там, где «робот с роботом общается» — там да, ракеты летают, космос наш, всё ок. Когда всё шаблонизируется, когда программисты научатся работать с системами, которые не нужно «трогать руками внутри», тогда и тестировщики начнут отмирать.</p>
<p style="padding-left: 30px;">Некоторые — от голода и упрямства.</p>
<p>И когда тестировщиков наконец-то станет МНОГО, и даже больше необходимого, их стоимость начнет падать просто потому, что их будет много, и уже будет не до жиру.</p>
<p>По-хорошему, каждому человеку, который не обладает психотипом «бизнесмен», надо работать над тем, чем он занимался бы и без зарплаты. Хобби — великое дело. Предрасположенность — это ценность.</p>
<p>Но вы не обращайте на всё это внимания. Вы велкам к нам. Мы научим, не сомневайтесь.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2015/01/09/scoate-limba-afara/feed/</wfw:commentRss>
			<slash:comments>30</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3354</post-id>	</item>
		<item>
		<title>Баллада о былинном фэйле</title>
		<link>https://testitquickly.com/2014/02/03/ballada-despre-ebalani/</link>
					<comments>https://testitquickly.com/2014/02/03/ballada-despre-ebalani/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Mon, 03 Feb 2014 19:53:05 +0000</pubDate>
				<category><![CDATA[В гостях у психиатра]]></category>
		<category><![CDATA[Не смешно]]></category>
		<category><![CDATA[Откровения]]></category>
		<category><![CDATA[Учеба в бою]]></category>
		<category><![CDATA[Tomcat]]></category>
		<category><![CDATA[Людочка]]></category>
		<category><![CDATA[Молдова]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=3207</guid>

					<description><![CDATA[А что я знаю о былинных, лютых фэйлах, от рассказа о которых стынет кровь не только у холоднокровных монстров Мариинской впадины, но даже у дежурного инспекторах святошинского райотдела киевской налоговой службы? Ну, кое-что знаю… Когда-то один сэр Тестировщик был очень юн и уверен в себе. За большие (для тогдашнего его) деньги он схантился в одну… <span class="read-more"><a href="https://testitquickly.com/2014/02/03/ballada-despre-ebalani/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>А что я знаю о былинных, лютых фэйлах, от рассказа о которых стынет кровь не только у холоднокровных монстров Мариинской впадины, но даже у дежурного инспекторах святошинского райотдела киевской налоговой службы?</p>
<p>Ну, кое-что знаю…</p>
<p><span id="more-3207"></span></p>
<p>Когда-то один сэр Тестировщик был очень юн и уверен в себе. За большие (для тогдашнего его) деньги он схантился в одну динамично загибающуюся кишиневскую компанию, которая хотела «<em>изменить мир, а не просто продавать сладкую воду</em>». О, да&#8230;</p>
<p>Всё же было не просто так. Умный и опытный сэр Тестировщик спросил на собеседовании:</p>
<p style="padding-left: 30px;">— А svn у вас есть?</p>
<p style="padding-left: 30px;">— <em>Конечно!</em> — ответили ему. — <em>И ещё у нас есть корпоративы на природе!</em></p>
<p style="padding-left: 30px;">— Тааак. А программисты у вас опытные?</p>
<p style="padding-left: 30px;">— <em>Конечно! И еще у нас есть премии за хорошую работу!</em></p>
<p style="padding-left: 30px;">— А документацию вы где держите? Внутренняя вики есть?</p>
<p style="padding-left: 30px;">— <em>Конечно! И еще у нас полное оформление на работу!</em></p>
<p>В общем, был сэр сам себе дурак. Если выяснил, что svn в компании есть, то надо было также спросить «<em>А им кто-то пользуется?</em>» А он не спросил.</p>
<p>Опытные программисты там были, но он же не спросил, сколько именно. Позже оказалось, что опытных там было трое из двадцати двух. С тех пор термин «программист-студент» кому ок, а у кого от этого термина начинается сыпь, режутся клыки и шерсть на загривке топорщится.</p>
<p>И документацию на вики действительно держали. Точнее, документацию по этой самой вики. По проектам документация хранилась в svn, в виде doc файлов с постоянно обновляемыми планами проектов&#8230;</p>
<p>Что там творили (от слова «<em>творчество</em>») программисты-студенты… Ну, представьте себе комнату, в которой сидят вроде бы адекватные молодые люди. Каждый по-отдельности вроде бы умеет писать код. Каждый знает, что существуют все эти svn и вики, но лично ему они ещё ни разу не понадобились. Ну да, программисту-одиночке подобные инструменты действительно не нужны, они крайне необходимы только для совместной работы. Но теперь представьте, что все люди в этой большой комнате работают над одним и тем же проектом, но — каждый по-отдельности. И каждый обоснованно уверен в том, что лично ему все эти фигни вроде svn ему нафиг не упёрлись.</p>
<p>Схема работы у каждого из них идеальная: каждый программист целый день педалит код, решая какие-то ёб*** задачи. Вечером он весь свой код запахивает в zip-файл, и скидывает его по почте главному программисту. И уходит домой.</p>
<p>Главный программист получает вечером десяток версий проекта, поочередной их открывает и начинает интегрировать внесенные изменения в уже существующий проект. Каждый вечер он занимается этим увлекательным делом до трех часов ночи, бо он отвечает за три проекта сразу, и на каждом проекте вот такой вот хардкор. И каждый вечер ситуация повторяется.</p>
<p>Сэр Тестировщик тестирует, тестирует, и замечает, что тестировать-то есть что, но незачем, бо ошибки повторяются крайне регулярно. И вообще, начальство сэром недовольно. До него в компании был тоже один тестировщик, хотя и без образования, но вот он работал хорошо и находил много багов, и главное, находил их быстро. А этот сэр, многодолларовый супер-специалист, чего-то тупит, и работает медленно…</p>
<p>А сэр Тестировщик действительно работал медленно. Тестировать предлагалось так: проект у каждого программиста поднят на Tomcat-сервачке на его же машинке. Сэр по сети открывает сайт-проект в своём браузере, и всласть тестирует. А программист в этом время на ходу вносит свои ёб*** функциональные изменения в проект, ведь ему надо работать, ему некогда ждать.</p>
<p>Сэр Тестировщик вдруг понял, почему главный программист (тот, который рефакторит код до трех ночи) больше не хочет быть ёб*** главным программистом.</p>
<p>Сэр Тестировщик начал звереть.</p>
<p>В частности, сэр бросил всё и начал фигачить тест-кейсы в эксельчике. Нафигачил около сотни. Забугорный менеджер сказал, что это оооочень круто, что есть тест-кейсы наконец-то. Взял сэр Тестировщик очередное творение программиста и стал проверять его по тест-кейсам. Дело продвигалось медленно. Тест-кейсы дико алели красным.</p>
<p>Первый же попавшийся программист на них посмотрел, и сказал «<em>Да, не работает, но я не этот функционал делал, я делал вон тот функционал…</em>»</p>
<p>Ок, ответствует ему сэр Тестировщик, в твоем секторе, хм, тоже много красного. Впрочем, я туда ещё не добрался толком…</p>
<p>«<em>Э, ты не то тестируешь! Ты найди мне все места, где вместо рендеринга страницы выпадает только белая страница, где скрипт не генерит контент!</em>» &#8212; заявляет этот штырь.</p>
<p>Взял себя сэр Тестировщик в руки, но вскоре эти руки достаточно быстро опустились к плинтусу. Основной массив ёб*** багов состоял из настолько мелких проблем, что их и функциональными не назовешь, а посему «незачем было такой баг искать».</p>
<p>Например, один из программистов постоянно закрывал кнопку ‘Register’ заглушкой ‘#’, и забывал к вечеру перед сдачей проекта эту заглушку снять. А чего там проверять регистрацию, ей-богу. Её уже когда-то проверяли.</p>
<p>Другой постоянно оставлял на экране в неожиданных местах строки типа ‘hzhzhzhzh’ – ну просто для того, чтобы ориентироваться, в каком месте должна выводиться информация, которую подкачивал его скрипт.</p>
<p>Тест-кейсы в этой кутерьме совершенно не требовались.</p>
<p>В общем, руки у сэра были, но очередной кино-кадр эти руки к плинтусу прибил. Тестирует сэр Тестировщик очередной проект, разумеется, поднятый на машинке программиста на Tomcat-сервачке. И что-то там нашлось, мелкое, стилистическое. А программист-демон этот баг взял и моментально исправил. А сэр Тестировщик ж не знал! У него ж ВНЕЗАПНО все страницы проекта лишаются ёб*** стилистического оформления! Поскакал сэр Тестировщик к этому волшебному кадру, и начали они три дня и три ночи общаться друг с другом на грамотном румынском языке с применением русской блатной фени:</p>
<p style="padding-left: 30px;">— Достопочтенный сэр Пеньтьюм, можете ли вы объяснить, в чём проблема?</p>
<p style="padding-left: 30px;">— <em>Ах, да, мистер сэр тестировщик, это я поправил тот баг, о котором вы соизволили мне сообщить, и не заметил, что вот это вот явление произошло. Обязуюсь исправить сегодня же.</em></p>
<p style="padding-left: 30px;">— Но позвольте, уважаемый сэр, в текущем состоянии продолжать тестировать проект не представляется возможным. Не соизволите ли вы откатить изменения к предыдущему состоянию?</p>
<p style="padding-left: 30px;">— <em>Ой, а я ж не знаю, как это сделать, я же уже не помню, какие изменения я сделал.</em></p>
<p style="padding-left: 30px;">— А svn на что нам был даден небесным подарком свыше?</p>
<p style="padding-left: 30px;">— <em>А кто этот джентльмен, Эсвээн? Я его не знаю.</em></p>
<p style="padding-left: 30px;">— Что ж, достопочтенный сэр Пеньтьюм, имейте хороший день!</p>
<p>Совершенно рассвирепев, сэр Тестировщик переключился на другой проект, и за один час нашел там 22 крупных багов. Из них восемь вообще уж гугенотско-критикальных. Снова оседлал он своего Росинанте, и поскакал к менеджеру этого проекта, и сообщает, мол, девушка, на твоём проекте баги же, баги! Ёб*** б*** с*** баги!</p>
<p style="padding-left: 30px;">— <em>Ах, да…</em> — ответствует заколдованная принцесса, — <em>Программисты с этого проекта говорили мне, что знают о восьмидесяти багах на этом проекте, и что они должны исчезнуть, когда они перепишут код на язык Java.</em></p>
<p style="padding-left: 30px;">— А до этого они на каком языке писали?</p>
<p style="padding-left: 30px;">— <em>Кажется, на C++, я точно не знаю. Они сейчас учат Java, и заново переписывают проект по-новому. В третий раз.</em></p>
<p>Йоговское состояние «ahooy» вам знакомо? Сэр Тестировщик познал его сполна&#8230;</p>
<p>Полностью несгибаемый тестировщицкий дух был сломлен на той же неделе, когда сэр Тестировщик открыл в браузере очередной проект портала по продаже картинок через мобильные телефоны, поднятый на всё том же Tomcat-сервачке. А картинки эти оказались порно-картинками. Ну, что ж&#8230; Но понад всеми этими порно-картинками красными буквами совершенно вне дизайна было крупно написано «<span style="color: #ff0000;"><strong><em>Liudochka, eu te iubesc!</em></strong></span>» («<em>Людочка, я тебя люблю!</em>»).</p>
<p>Сделал сэр Тестировщик скриншот этого признания, и понёсся к менеджеру этого порно-картиночного проекта с тревожным донесением. Парень очень оживился:</p>
<p style="padding-left: 30px;">— <em>А, это нормально, это я написал привет моей новой девушке, я недавно влюбился, хочу жениться. Видишь, ее фотография первая в галерее… Сейчас я эту надпись сниму, не заводи это в Jira, это не баг…</em></p>
<p>Не стал сэр заводить это в Jira. Дело в том, что в тот же день семеро программистов с утра на работу не пришли, и вопросы о проекту, которым они заведовали, оставались нерешёнными. ВНЕЗАПНО они появились, все в костюмчиках с галстучками. Это было действительно эффектно, с ихними-то рожами…</p>
<p style="padding-left: 30px;">— Вы где были?</p>
<p style="padding-left: 30px;">— <em>А, мы экзамен на бакалавра сдавали…</em></p>
<p style="padding-left: 30px;">С какого-то времени в Молдове можно поступать в высшее учебное заведение только при наличии первой ученой степени — бакалавр. Экзамен на эту степень принудительно держат все великовозрастные лицеисты. Но в те доистерические времена в вузы ещё принимали абитуриентов без «бака», однако в течение первого года обучения такие студенты были обязаны отдельно подготовиться и все-таки сдать экзамен на бакалавра, чем наши программисты в тот день и занялись. Атестат зрелости, значит, получили. Мужики, значит, восемнадцатилетние. Они изменят мир.</p>
<p>Вскоре на дежурный вопрос «<em>Как дела у нас в отделе тестирования?</em>» сэр Тестировщик искренне ответил «<em>Очень плохи дела</em>», и был он полностью прав, бо там всё было плохо.</p>
<p>Сэра Тестировщика назвали мудаком, который берет много денег, а тестирует очень медленно и плохо, много требует от окружающих, и вообще хмурый и неприветливый, а ведь его «брали с надеждой» на то, что он наведет порядок в области тестирования, а он со всеми этими утверждениями быстро и полностью согласился, лишь бы поскорее завершился пред-увольненьческий дежурный разговор.</p>
<p>Сэр Тестировщик понял, что не всякому коню рябина ягода, и что кроме умения искать баги надо ещё уметь грамотно разруливать процессы, и поехал учиться этому делу в стольный град.</p>
<p>А что ты знаешь про лютые фэйлы, а, ${username}?</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2014/02/03/ballada-despre-ebalani/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3207</post-id>	</item>
	</channel>
</rss>
