<?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%80%D0%B0%D0%B4%D0%BE%D1%81%D1%82%D0%B8/feed/" rel="self" type="application/rss+xml" />
	<link>https://testitquickly.com</link>
	<description>про тестирование ПО и всё такое прочее</description>
	<lastBuildDate>Thu, 21 Nov 2024 09:05:59 +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>Туду в консоли Debian</title>
		<link>https://testitquickly.com/2024/11/13/todo/</link>
					<comments>https://testitquickly.com/2024/11/13/todo/#respond</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Wed, 13 Nov 2024 18:09:14 +0000</pubDate>
				<category><![CDATA[To Do]]></category>
		<category><![CDATA[Автоматизация]]></category>
		<category><![CDATA[Инструменты]]></category>
		<category><![CDATA[Радости]]></category>
		<category><![CDATA[Читерство]]></category>
		<category><![CDATA[console]]></category>
		<category><![CDATA[Debian]]></category>
		<guid isPermaLink="false">https://testitquickly.com/?p=6349</guid>

					<description><![CDATA[Любая система «туду» хороша, если список дел постоянно перед глазами. Придумал простой способ добавить себе напоминалки о чём-то, что нужно сделать, глядя в консоль — прямо в консоль.]]></description>
										<content:encoded><![CDATA[<p>Любая система «туду» хороша, если список дел постоянно перед глазами.</p>
<p>Придумал <a href="https://testitquickly.com/bystro.linux/Common/HowTo/%D0%A1%D0%B4%D0%B5%D0%BB%D0%B0%D1%82%D1%8C/ToDo_%D0%B2_%D0%BA%D0%BE%D0%BD%D1%81%D0%BE%D0%BB%D0%B8.html">простой способ</a> добавить себе напоминалки о чём-то, что нужно сделать, глядя в консоль — прямо в консоль.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2024/11/13/todo/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6349</post-id>	</item>
		<item>
		<title>Сложные диаграммы простым текстом</title>
		<link>https://testitquickly.com/2024/08/12/mermaid-uml-uzor-tsaranesc/</link>
					<comments>https://testitquickly.com/2024/08/12/mermaid-uml-uzor-tsaranesc/#respond</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Mon, 12 Aug 2024 05:32:06 +0000</pubDate>
				<category><![CDATA[Изображения]]></category>
		<category><![CDATA[Инструменты]]></category>
		<category><![CDATA[Радости]]></category>
		<category><![CDATA[Скриншоты]]></category>
		<category><![CDATA[Читерство]]></category>
		<category><![CDATA[ChatGPT]]></category>
		<category><![CDATA[Confluence]]></category>
		<category><![CDATA[draw.io]]></category>
		<category><![CDATA[Gary Parker]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[Lee Copeland]]></category>
		<category><![CDATA[LiveScript]]></category>
		<category><![CDATA[Mermaid]]></category>
		<category><![CDATA[Modelio]]></category>
		<category><![CDATA[Notion]]></category>
		<category><![CDATA[Zim]]></category>
		<category><![CDATA[Джерри Вайнберг]]></category>
		<guid isPermaLink="false">https://testitquickly.com/?p=6211</guid>

					<description><![CDATA[Иногда сложные идеи проще объяснять картинками: Они помогают что-то объяснять и окружающим, и самому себе — это отличная лопата для анализа требований, от которых начинается тест-дизайн, где надо всё учесть, ничего не упустить, из ничего выявить неправильное или неоднозначное. Анализ рулит! Рисовать их можно и на обоях, и в не очень удобном LibreOffice Draw, в… <span class="read-more"><a href="https://testitquickly.com/2024/08/12/mermaid-uml-uzor-tsaranesc/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Иногда сложные идеи проще объяснять картинками:</p>
<div id="attachment_6213" style="width: 675px" class="wp-caption aligncenter"><a href="https://testitquickly.com/wp-content/uploads/2024/07/mermaid001.jpg"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-6213" class="size-large wp-image-6213" src="https://testitquickly.com/wp-content/uploads/2024/07/mermaid001-1024x403.jpg" alt="" width="665" height="262" srcset="https://testitquickly.com/wp-content/uploads/2024/07/mermaid001-1024x403.jpg 1024w, https://testitquickly.com/wp-content/uploads/2024/07/mermaid001-300x118.jpg 300w, https://testitquickly.com/wp-content/uploads/2024/07/mermaid001-768x302.jpg 768w, https://testitquickly.com/wp-content/uploads/2024/07/mermaid001-660x260.jpg 660w, https://testitquickly.com/wp-content/uploads/2024/07/mermaid001.jpg 1340w" sizes="(max-width: 665px) 100vw, 665px" /></a><p id="caption-attachment-6213" class="wp-caption-text"><em>Полноценный японский «танка» на UML </em></p></div>
<p>Они помогают что-то объяснять и окружающим, и самому себе — это отличная лопата для анализа требований, от которых начинается тест-дизайн, где надо всё учесть, ничего не упустить, из ничего выявить неправильное или неоднозначное. Анализ рулит!</p>
<p>Рисовать их можно и на обоях, и в не очень удобном LibreOffice Draw, в MS Visio (не щупал уже сто лет), и в опенсорсном <a href="https://www.modelio.org/index.htm">Modelio</a>, и в браузерном <a href="https://app.diagrams.net/">draw.io</a>. Там надо тыкать курсором по иконкам и стрелочкам, перетаскивать их по экрану и соединять в логичном порядке, после чего сохранить в виде картинки, которую надо вставить в свою документацию. И хорошо, если это надо сделать только один раз и картинка маленькая. Как правило, что-то надо поменять, или полотно диаграммы становится очень большим, на несколько экранов во все стороны — и там всегда надо что-то менять. Снова надо сгенерировать картинку, снова надо её прикрепить к странице и вставить в нужное место.</p>
<p>Есть другое решение — диаграммы можно не рисовать, а прямо в режиме редактирования документа в Notion (или в Confluence, или в IDE умного разработчика) в plain text с разметкой Markdown расписывать узлы диаграммы и связи между ними, а обновленная диаграмма автоматически перерисовывается. LaTeX way!</p>
<p>Проект называется <a href="https://mermaid.js.org/intro/">Mermaid</a> (русалка), работает на JavaScript, подключается как <a href="https://www.mermaidchart.com/plugins">плагин</a> в Confluence или Notion, в средах разработки, и даже в Jupyter notebook. Потыкать в свободном режиме — <a href="https://mermaid.live">https://mermaid.live</a></p>
<p>Диаграмм в Mermaid множество: Class Diagram, Entity Relationship Diagram, User Journey, Gantt, Pie Chart, Quadrant Chart, Requirement Diagram, Gitgraph (Git) Diagram, C4 Diagram, Mindmaps, Timeline, Zenuml, Sankey, XYChart, Block Diagram. Cамые ходовые три:</p>
<ol>
<li><span class="HwtZe" lang="ru"><span class="jCAhz ChMk0b"><span class="ryNqvb">Блок-схема </span></span></span><span class="HwtZe" lang="ru"><span class="jCAhz ChMk0b"><span class="ryNqvb">(Flowcharts)</span></span></span></li>
<li>Диаграмма состояний (State diagram)</li>
<li>Диаграмма последовательности (Sequence diagram)</li>
</ol>
<h2>Mermaid в Notion</h2>
<p>В Notion (не наш выбор, но и там есть жизнь) блок с мермайдом вызывается командой, которую можно даже не дописывать:</p>
<p><a href="https://testitquickly.com/wp-content/uploads/2024/07/mermaid002.jpg"><img decoding="async" class="aligncenter size-full wp-image-6214" src="https://testitquickly.com/wp-content/uploads/2024/07/mermaid002.jpg" alt="" width="722" height="323" srcset="https://testitquickly.com/wp-content/uploads/2024/07/mermaid002.jpg 722w, https://testitquickly.com/wp-content/uploads/2024/07/mermaid002-300x134.jpg 300w, https://testitquickly.com/wp-content/uploads/2024/07/mermaid002-660x295.jpg 660w" sizes="(max-width: 722px) 100vw, 722px" /></a></p>
<p>Получаем поле с представлением «Split» — сверху код, а внизу результат его правильной работы:</p>
<p><a href="https://testitquickly.com/wp-content/uploads/2024/08/mermaid003.jpg"><img decoding="async" class="aligncenter size-large wp-image-6251" src="https://testitquickly.com/wp-content/uploads/2024/08/mermaid003-1024x727.jpg" alt="" width="665" height="472" srcset="https://testitquickly.com/wp-content/uploads/2024/08/mermaid003-1024x727.jpg 1024w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid003-300x213.jpg 300w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid003-768x545.jpg 768w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid003-660x469.jpg 660w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid003.jpg 1341w" sizes="(max-width: 665px) 100vw, 665px" /></a></p>
<p>Когда дело сделано, разумно переключить отображение содержимого блока на «Preview», чтобы не пугать прожект-манагера непонятными буковками.</p>
<h2>Блок-схема</h2>
<p>Она же Flowchart. <a href="https://mermaid.js.org/syntax/flowchart.html">Документация</a> по ней подробна и адекватна.</p>
<p>Блок-схема состоит из узлов (геометрических фигур) и ребер (стрелок/линий), и объявляется непременно с направлением развёртывания — сверху вниз (TD) или слева направо (LR):</p>
<p>Пример:</p>
<pre style="padding-left: 40px;">flowchart TD
S(Простая последовательность шагов)
--&gt; id1(Самурай всё понимает)
--&gt; E(Разговор исчерпан)</pre>
<p>S — Start.</p>
<p>E — End.</p>
<p>Между ними можно расположить сколько угодно узлов. Называть их можно буквами любого алфавита, который есть в кодировке UTF-8, от «id1, id2, id3» до «самурайУмничает».</p>
<p>Сплошные управляющие стрелки (рёбра) указываются так:</p>
<pre style="padding-left: 40px;">--&gt;</pre>
<p>Стрелка с прерывистой линией:</p>
<pre style="padding-left: 40px;">-.-&gt;</pre>
<p>Стрелку можно ставить перед узлом, а можно после. Мне удобнее воспринимать их в начале строки.</p>
<p>Стрелками можно связывать не только на каждый следующий узел, но и непоследовательно прыгать к любым другим узлам. Например, можно связать id3 с id1:</p>
<pre style="padding-left: 40px;">flowchart TD 
  S(Простая последовательность шагов) 
  --&gt; id1(Самурай всё понимает) 
  --&gt; id2(Невод закинут в море) 
  -.-&gt; id3(Дед, ну ты дурак? <span role="img" aria-label="©">©</span>) 
  --&gt; id1 
  --&gt; E(Разговор исчерпан)
</pre>
<p><a href="https://testitquickly.com/wp-content/uploads/2024/08/mermaid004.jpg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-6253" src="https://testitquickly.com/wp-content/uploads/2024/08/mermaid004-1024x887.jpg" alt="" width="665" height="576" srcset="https://testitquickly.com/wp-content/uploads/2024/08/mermaid004-1024x887.jpg 1024w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid004-300x260.jpg 300w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid004-768x665.jpg 768w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid004-660x572.jpg 660w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid004.jpg 1366w" sizes="auto, (max-width: 665px) 100vw, 665px" /></a></p>
<p>Ещё есть комментарии — через «два символа процента»:</p>
<pre style="padding-left: 40px;">%%{init: {"flowchart": {"htmlLabels": true}} }%%</pre>
<h3>Форматирование узлов на блок-схеме</h3>
<p>Их форма задаётся скобками.</p>
<pre style="padding-left: 40px;">flowchart TD 

S[\Простая последовательность шагов/]
 --&gt; id1{Самурай всё понимает}
 --&gt; id2[Невод закинут в море]
 -.-&gt; id3(Дед, ну ты дурак? <span role="img" aria-label="©">©</span>) 
-.-&gt; id2 
--&gt; E[/Разговор исчерпан\]
</pre>
<p><a href="https://testitquickly.com/wp-content/uploads/2024/08/mermaid005.jpg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-6255" src="https://testitquickly.com/wp-content/uploads/2024/08/mermaid005-836x1024.jpg" alt="" width="665" height="815" srcset="https://testitquickly.com/wp-content/uploads/2024/08/mermaid005-836x1024.jpg 836w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid005-245x300.jpg 245w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid005-768x941.jpg 768w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid005-660x809.jpg 660w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid005.jpg 1177w" sizes="auto, (max-width: 665px) 100vw, 665px" /></a></p>
<h3>Комментарии на стрелках</h3>
<pre style="padding-left: 40px;">flowchart TD 

S[\Простая последовательность шагов/] 
--&gt; id1(Самурай всё понимает)
-.-&gt; |размахнувшись| id2(Невод закинут в море)
--&gt; E[/Разговор исчерпан\]</pre>
<p><a href="https://testitquickly.com/wp-content/uploads/2024/08/mermaid010.jpg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-6263" src="https://testitquickly.com/wp-content/uploads/2024/08/mermaid010-1024x686.jpg" alt="" width="665" height="445" srcset="https://testitquickly.com/wp-content/uploads/2024/08/mermaid010-1024x686.jpg 1024w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid010-300x201.jpg 300w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid010-768x514.jpg 768w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid010-660x442.jpg 660w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid010.jpg 1133w" sizes="auto, (max-width: 665px) 100vw, 665px" /></a></p>
<h3>Пометить узлы разными цветами</h3>
<p>Для этого надо объявить классы сущностей через ’classDef’, а там чистый CSS, поэтому названия или коды цветов надо взять из <a href="https://htmlcolorcodes.com/color-names/">htmlcolorcodes.com</a></p>
<pre style="padding-left: 40px;">flowchart TD

classDef decisionPoint color:black,stroke:DarkOrange,fill:Snow,stroke-width:1px,text-align:left;
classDef startPoint color:black,stroke:White,fill:#93e4e6,stroke-width:1px,text-align:left;
classDef endPoint color:gold,stroke:White,fill:black,stroke-width:1px,text-align:left;

S[\Простая последовательность шагов/]:::startPoint
--&gt; id1(Самурай всё понимает)
--&gt; id2[Невод закинут в море]:::decisionPoint
-.-&gt; id3(Дед, ну ты дурак? <span role="img" aria-label="©">©</span>)
--&gt; id2
--&gt; E[/Разговор исчерпан\]:::endPoint</pre>
<p>Затем применить классы к узлам через три двоеточия.</p>
<p><a href="https://testitquickly.com/wp-content/uploads/2024/08/mermaid006.jpg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-6257" src="https://testitquickly.com/wp-content/uploads/2024/08/mermaid006-1024x921.jpg" alt="" width="665" height="598" srcset="https://testitquickly.com/wp-content/uploads/2024/08/mermaid006-1024x921.jpg 1024w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid006-300x270.jpg 300w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid006-768x691.jpg 768w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid006-660x594.jpg 660w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid006.jpg 1413w" sizes="auto, (max-width: 665px) 100vw, 665px" /></a></p>
<p>Не надо излишне увлекаться раскрасками. Стартовый и эндовый узлы лучше пометить не цветом, а формой узла через наклоны обрамляющих слэшей:</p>
<pre>[\ старт /] и [/ финиш \]</pre>
<p>Цвета, если действительно надо применять, следует подобрать неяркие. Учесть, что кто-то будет смотреть это всё в darkMode.</p>
<h3>Поменять размер шрифта одного из узлов</h3>
<p>Через управляющие команды CSS:</p>
<pre style="padding-left: 40px;">classDef decisionPoint <strong>font-size:0.9em</strong>,color:black,stroke:DarkOrange,fill:Snow,stroke-width:1px,text-align:left;</pre>
<h3>Вписать в один узел несколько строк</h3>
<p>Просто переносим буквы/слова внутри узла на новую строку. В моем примере каждая новая (перенесенная) строка начинается с булита — это необязательно, просто выглядит как список на слайде. Кавычки вроде нужны, а на деле не обязательны.</p>
<pre style="padding-left: 40px;">flowchart TD 

classDef leftAlign font-size:0.9em,color:black,stroke:DarkOrange,fill:Snow,stroke-width:1px,text-align:left; 

S[\Простая последовательность шагов/]
 --&gt; id1(Самурай всё понимает)
 --&gt; listOfEvents("•  Некуда спешить
• Не о чём думать
• Начинается дождь"):::leftAlign
 --&gt; id2[Невод закинут в море]
E[/Разговор исчерпан\]
</pre>
<p><a href="https://testitquickly.com/wp-content/uploads/2024/08/mermaid007.jpg"><img loading="lazy" decoding="async" class="aligncenter size-full wp-image-6258" src="https://testitquickly.com/wp-content/uploads/2024/08/mermaid007.jpg" alt="" width="936" height="884" srcset="https://testitquickly.com/wp-content/uploads/2024/08/mermaid007.jpg 936w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid007-300x283.jpg 300w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid007-768x725.jpg 768w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid007-660x623.jpg 660w" sizes="auto, (max-width: 936px) 100vw, 936px" /></a></p>
<p>Тут под произвольным именем ’newLines’ было задано соединение нескольких узлов в один общий узел. А это значит, что можно заранее соединять узлы в отдельные ветки… тааакое можно наворотить!</p>
<h3>Разместить на одной диаграмме несколько самостоятельных ветвей</h3>
<p>…между которыми связующих звеньев вообще может не быть — это глупо, но возможно. Или можно задать связи между ними в нелинейном сочетании:</p>
<pre style="padding-left: 40px;">flowchart TD

classDef leftAlign font-size:0.9em,color:black,stroke:DarkOrange,fill:Snow,stroke-width:1px,text-align:left;

biblioteka["Понял в тишине библиотеки"]
apple["Яблоки на снегу"]
gameOver["Демоны спёрли дыхание"]
bookIsClosed["Книга недолго открыта"]
listOfEvents("• Некуда спешить
• Не о чём думать
• Начинается дождь"):::leftAlign

apple 
--&gt; biblioteka 
--&gt; listOfEvents

S[\Происходит жизнь/]
--&gt; id1(Самурай всё понимает)
--&gt; id2[Невод закинут в море]
--&gt; listOfEvents
--&gt; E[/Разговор исчерпан\]

id1
--&gt; gameOver
--&gt; bookIsClosed</pre>
<p><a href="https://testitquickly.com/wp-content/uploads/2024/08/mermaid008.jpg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-6260" src="https://testitquickly.com/wp-content/uploads/2024/08/mermaid008-1024x613.jpg" alt="" width="665" height="398" srcset="https://testitquickly.com/wp-content/uploads/2024/08/mermaid008-1024x613.jpg 1024w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid008-300x180.jpg 300w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid008-768x460.jpg 768w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid008-660x395.jpg 660w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid008.jpg 1404w" sizes="auto, (max-width: 665px) 100vw, 665px" /></a></p>
<p>Вполне можно свести узел «Книга недолго открыта» к финишу, прописав последней командой „&#8212;&gt; E”, но это необязательно, некоторые процессы вполне самостоятельно могут закончиться «ничем».</p>
<p><!-- notionvc: 17b4916e-9c3a-43e4-bf85-1938f6251121 --></p>
<h2>Диаграмма последовательности</h2>
<p>Она же <a href="https://mermaid.js.org/syntax/sequenceDiagram.html">Sequence diagram</a>.</p>
<p>Это предпочитают программисты — удобно показать, как процессы взаимодействуют друг с другом и в каком порядке.</p>
<pre style="padding-left: 40px;">sequenceDiagram

Jules-&gt;&gt;+Brett: What does Marsellus Wallace look like?
Brett--&gt;&gt;+Jules: …What?
Jules-&gt;&gt;+Brett: ENGLISH, MOTHERFUCKER! DO YOU SPEAK IT!?
Brett--&gt;&gt;+Jules: Yes!!
Jules-&gt;&gt;+Brett: DESCRIBE WHAT MARSELLUS WALLACE “LOOKS” LIKE!
Brett--&gt;&gt;+Jules: Wha-what I—?
Jules-&gt;&gt;+Brett: SAY "WHAT" AGAIN! I DOUBLE-DARE YOU, MOTHERFUCKER!! SAY "WHAT" ONE MORE GODDAMN TIME!
Brett--&gt;&gt;+Jules: H-H-He's black...
Jules-&gt;&gt;+Brett: Go on!
Brett--&gt;&gt;+Jules: ...He's bald...!
Jules-&gt;&gt;+Brett: Does he look like a bitch?!
Brett--&gt;&gt;+Jules: What? 
Note over Jules,Brett: shoots Brett in the shoulder
Jules-&gt;&gt;+Brett: DOES! HE! LOOK! LIKE! A BITCH?!?!
Brett--&gt;&gt;+Jules: NO!
Jules-&gt;&gt;+Brett: Then why'd you try to fuck him like a bitch, Brett?
Brett--&gt;&gt;+Jules: I didn't...!
Jules-&gt;&gt;+Brett: Yes, you did! YES, you DID, Brett! You tried to fuck him!</pre>
<div id="attachment_6261" style="width: 675px" class="wp-caption aligncenter"><a href="https://testitquickly.com/wp-content/uploads/2024/08/mermaid009.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6261" class="wp-image-6261 size-large" src="https://testitquickly.com/wp-content/uploads/2024/08/mermaid009-899x1024.jpg" alt="" width="665" height="757" srcset="https://testitquickly.com/wp-content/uploads/2024/08/mermaid009-899x1024.jpg 899w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid009-263x300.jpg 263w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid009-768x875.jpg 768w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid009-1349x1536.jpg 1349w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid009-660x752.jpg 660w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid009.jpg 1360w" sizes="auto, (max-width: 665px) 100vw, 665px" /></a><p id="caption-attachment-6261" class="wp-caption-text"><em>Pulp Fiction in action</em></p></div>
<p>Акторов может быть множество, переходы между ними тоже доступны в разных сочетаниях.</p>
<p>Разумно рисовать от одного актора только сплошные стрелки, а от другого только прерывистые.</p>
<p>Неразумно рисовать в таком стиле длинные диаграммы.</p>
<p>Также программисты используют рисование диаграмм через LiveScript с аналогичными возможностями:</p>
<pre>sequenceDiagram
  actor Customer
  participant Checkout
  participant DB

  Customer-&gt;&gt;+Checkout: Request checkout page
  Checkout-&gt;&gt;+DB: /api/settings

и так далее по той же схеме.</pre>
<p>&nbsp;</p>
<h2>Диаграмма состояний</h2>
<p>Она же <a href="https://mermaid.js.org/syntax/stateDiagram.html">State diagram</a> — диаграмма, которая описывает поведение систем. Ты видел её в книге Коупленда про тест-дизайн.</p>
<div id="attachment_6247" style="width: 310px" class="wp-caption aligncenter"><a href="https://testitquickly.com/wp-content/uploads/2024/08/copeland-order-diagram-.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-6247" class="wp-image-6247 size-medium" src="https://testitquickly.com/wp-content/uploads/2024/08/copeland-order-diagram--300x258.jpg" alt="" width="300" height="258" srcset="https://testitquickly.com/wp-content/uploads/2024/08/copeland-order-diagram--300x258.jpg 300w, https://testitquickly.com/wp-content/uploads/2024/08/copeland-order-diagram--768x661.jpg 768w, https://testitquickly.com/wp-content/uploads/2024/08/copeland-order-diagram--660x568.jpg 660w, https://testitquickly.com/wp-content/uploads/2024/08/copeland-order-diagram-.jpg 980w" sizes="auto, (max-width: 300px) 100vw, 300px" /></a><p id="caption-attachment-6247" class="wp-caption-text"><em>Всё чётко, да?</em></p></div>
<p>Эта диаграмма — учебная, кривая, неправильная:</p>
<p style="padding-left: 40px;">Note that the diagram is still incomplete. No arrows and bulls-eyes emerge from the Cancelled states. Perhaps we could reinstate a reservation from the Cancelled NonPay state. We could continue expanding the diagram to include seat selection, flight cancellation, and other significant events affecting the reservation but this is sufficient to illustrate the technique.</p>
<p style="padding-left: 40px;">© Lee Copeland</p>
<p>А она неправильная. Просто для экономии бумаги три перехода сведены к одному и тому же (Cancelled ByCust), а в норме это надо выводить в отдельные (тупиковые) ветви. Иногда даже из тупичка может произойти обратное действие, и если через всё пространство протягивать стрелки в одно и то же место, то через какое-то время диаграмма покрывается паутиной метаний от одного узла к другому… ох.</p>
<p>Её надо пересоставить в более адекватном порядке, но для разгона попробуем воссоздать как есть, сведём выход из нескольких узлов в один Cancelled ByCust:</p>
<pre style="padding-left: 40px;">stateDiagram-v2

[*] --&gt; Made : giveInfo/startPayTimer
Made --&gt; Cancelled_NonPay : PayTimer_expired
Made --&gt; CancelledByCust : cancel
Made --&gt; Paid : payMoney 
Paid --&gt; CancelledByCust : cancel/Refund
Ticketed --&gt; CancelledByCust : cancel/ReturnTicket/Refund
Paid --&gt; Ticketed : print/Ticket
Ticketed --&gt; Used : giveTicket
Used --&gt; [*]</pre>
<p><a href="https://testitquickly.com/wp-content/uploads/2024/08/mermaid011.jpg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-6265" src="https://testitquickly.com/wp-content/uploads/2024/08/mermaid011-1024x824.jpg" alt="" width="665" height="535" srcset="https://testitquickly.com/wp-content/uploads/2024/08/mermaid011-1024x824.jpg 1024w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid011-300x241.jpg 300w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid011-768x618.jpg 768w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid011-660x531.jpg 660w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid011.jpg 1379w" sizes="auto, (max-width: 665px) 100vw, 665px" /></a></p>
<p>Важно: названия узлов должны быть представлены одним словом. Пробел между ними принудительно создает новый узел. Решение — отдельно создать <del>переменную</del> узел с условным названием и содержимым в виде слов с пробелом. Например:</p>
<pre style="padding-left: 40px;">stateDiagram-v2

CancelledByCust: Cancelled by Customer
Cancelled_NonPay: Cancelled when payTimer expired

[*] --&gt; Made : giveInfo/startPayTimer 
Made --&gt; Cancelled_NonPay : PayTimer_expired 
Made --&gt; CancelledByCust : cancel 
Made --&gt; Paid : payMoney 
Paid --&gt; CancelledByCust : cancel/Refund 
Ticketed --&gt; CancelledByCust : cancel/ReturnTicket/Refund 
Paid --&gt; Ticketed : print/Ticket 
Ticketed --&gt; Used : giveTicket Used --&gt; [*]</pre>
<p><a href="https://testitquickly.com/wp-content/uploads/2024/08/mermaid014.jpg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-6269" src="https://testitquickly.com/wp-content/uploads/2024/08/mermaid014-1024x600.jpg" alt="" width="665" height="390" srcset="https://testitquickly.com/wp-content/uploads/2024/08/mermaid014-1024x600.jpg 1024w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid014-300x176.jpg 300w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid014-768x450.jpg 768w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid014-1536x900.jpg 1536w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid014-660x387.jpg 660w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid014.jpg 1786w" sizes="auto, (max-width: 665px) 100vw, 665px" /></a></p>
<p>Раз уж название каждого узла — это его уникальный идентификатор, придется все эти ответвления в «CancelledByCustomer» сделать уникальными через нумерацию. Заодно пометим цветом happyPath и отхождения от него:</p>
<pre style="padding-left: 40px;">stateDiagram-v2

classDef happyPath font-size:1em,color:black,stroke:DarkOrange,fill:palegreen,stroke-width:1px,text-align:left;
classDef negativeScenario font-size:1em,color:black,stroke:DarkOrange,fill:IndianRed,stroke-width:1px,text-align:left;

[*] --&gt; Made:::happyPath : giveInfo/startPayTimer
Made --&gt; Cancelled_NonPay:::negativeScenario : PayTimer_expired
Made --&gt; CancelledByCustomer_1:::negativeScenario : cancel
Made --&gt; Paid:::happyPath : payMoney 
Paid --&gt; CancelledByCustomer_2:::negativeScenario : cancel/Refund
Ticketed --&gt; CancelledByCustomer_3:::negativeScenario : cancel/ReturnTicket/Refund
Paid --&gt; Ticketed:::happyPath : print/Ticket
Ticketed --&gt; Used:::happyPath : giveTicket
Used --&gt; [*]</pre>
<p><a href="https://testitquickly.com/wp-content/uploads/2024/08/mermaid012.jpg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-6267" src="https://testitquickly.com/wp-content/uploads/2024/08/mermaid012-1024x783.jpg" alt="" width="665" height="508" srcset="https://testitquickly.com/wp-content/uploads/2024/08/mermaid012-1024x783.jpg 1024w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid012-300x229.jpg 300w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid012-768x587.jpg 768w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid012-660x504.jpg 660w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid012.jpg 1463w" sizes="auto, (max-width: 665px) 100vw, 665px" /></a></p>
<p>Можно задать направление этой диаграммы по-горизонтали, но это воспринимается неудобно:</p>
<p><code>direction LR</code></p>
<p><a href="https://testitquickly.com/wp-content/uploads/2024/08/mermaid013.jpg"><img loading="lazy" decoding="async" class="aligncenter size-large wp-image-6268" src="https://testitquickly.com/wp-content/uploads/2024/08/mermaid013-1024x232.jpg" alt="" width="665" height="151" srcset="https://testitquickly.com/wp-content/uploads/2024/08/mermaid013-1024x232.jpg 1024w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid013-300x68.jpg 300w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid013-768x174.jpg 768w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid013-1536x349.jpg 1536w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid013-660x150.jpg 660w, https://testitquickly.com/wp-content/uploads/2024/08/mermaid013.jpg 1806w" sizes="auto, (max-width: 665px) 100vw, 665px" /></a></p>
<h3>Намутить тест-кейсы по этим путепроводам</h3>
<p>Дёрнем chatGPT с задачей перемножить все эти блямбы между собой.</p>
<p>Для stateDiagram псевдоинтеллект выдал такое:</p>
<ol>
<li><strong>TC1: Complete Payment and Print Ticket</strong>
<ul>
<li><strong>Initial State:</strong> [*]</li>
<li><strong>Action:</strong> giveInfo/startPayTimer</li>
<li><strong>Result:</strong> Made</li>
<li><strong>Action:</strong> payMoney</li>
<li><strong>Result:</strong> Paid</li>
<li><strong>Action:</strong> print/Ticket</li>
<li><strong>Result:</strong> Ticketed</li>
<li><strong>Action:</strong> giveTicket</li>
<li><strong>Result:</strong> Used</li>
<li><strong>Final State:</strong> [*]</li>
</ul>
</li>
<li><strong>TC2: Complete Payment and Use Ticket</strong>
<ul>
<li><strong>Initial State:</strong> [*]</li>
<li><strong>Action:</strong> giveInfo/startPayTimer</li>
<li><strong>Result:</strong> Made</li>
<li><strong>Action:</strong> payMoney</li>
<li><strong>Result:</strong> Paid</li>
<li><strong>Action:</strong> print/Ticket</li>
<li><strong>Result:</strong> Ticketed</li>
<li><strong>Action:</strong> giveTicket</li>
<li><strong>Result:</strong> Used</li>
<li><strong>Final State:</strong> [*]</li>
</ul>
</li>
</ol>
<p>И так далее.</p>
<p>Уберем детали:</p>
<p><strong>Happy Path Test Cases</strong></p>
<ol>
<li>TC1: Complete Payment and Print Ticket</li>
<li>TC2: Complete Payment and Use Ticket</li>
</ol>
<p><strong>Negative Scenario Test Cases</strong></p>
<ol>
<li>TC3: Payment Timer Expired</li>
<li>TC4: Cancelled by Customer Before Payment</li>
<li>TC5: Cancelled by Customer After Payment</li>
<li>TC6: Cancelled by Customer After Ticket Printed</li>
</ol>
<p>Кхм… Позитивные тесты — отдельно напечатать билет и отдельно его использовать — ну-ну. Тебе же говорили, что диаграмма неадекватная и требует пересмотра?</p>
<p>А отклонения от happyPath ПИ считало норм.</p>
<p>Хорошо бы ещё навостриться прописывать основу для диаграмм, из которой chatGPT мог бы генерировать код для самих диаграмм, и тогда можно ускориться ещё сильнее.</p>
<h2>Туториалы по Mermaid</h2>
<p>Их <a href="https://mermaid.js.org/ecosystem/tutorials.html">таки есть</a>, вот два самых наглядных:</p>
<p><iframe loading="lazy" title="How to Create Mermaid Diagrams in GitLab" width="665" height="499" src="https://www.youtube.com/embed/SQ9QmuTHuSI?start=481&#038;feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<p>и</p>
<p><iframe loading="lazy" title="Mermaid In Markdown, Diagrams As Code: Introduction, How-to, And Demo" width="665" height="374" src="https://www.youtube.com/embed/qGsQolMh9zE?start=204&#038;feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<p>Файл с примерами из второго видео — <a href="https://github.com/PetterTech/DemoStuff/blob/main/Mermaid/mermaid.md">mermaid.md</a></p>
<h2>ZIM</h2>
<p>Любопытно, что в вики-редакторе Zim тоже есть модуль «Вставка диаграмм» (ему нужен GraphViz), который работает по тому же принципу — пишем словами, видим диаграмму. Редактирование диаграммы включается даблкликом по ней.</p>
<h2>Вольное последумие</h2>
<p>Диаграммы как сапёрные лопатки, отлично помогают только там, где они уместны. Нельзя сводить представление всех сложных абстракций <em>только</em> к диаграммам. Надо уметь всё объяснять и рисунками, и текстом, и видео.</p>
<p>© Джеральд Вайнберг, книга «<em>Exploring Requirements — quality before design</em>» (1989), подглава «1.4 Making Sure That Everyone Can Read the Map»:</p>
<p style="padding-left: 40px;">Proponents of each notation claim that their maps are “intuitive” and ”easy to read”. These statements are true in the same sense that Chinese is intuitive — in Beijing. Virtually any notational system becomes intuitive after someone has spent a lot of time working with it.</p>
<p>Как только диаграмма объяснила одну идею, её надо немедленно оставить в покое и не усложнять — рисуй новые.</p>
<p>Генеративные сервисы надо держать под пристальным, недоверчивым присмотром, бо оно тебе нагенерирует, лишь бы ты был хоть немного счастлив. Если в череде шагов не будет чего-то очевидного, то GPT ничем не поможет, оно будет работать только с тем, что ему передал нерадивый тестировщик.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2024/08/12/mermaid-uml-uzor-tsaranesc/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">6211</post-id>	</item>
		<item>
		<title>bystro.linux</title>
		<link>https://testitquickly.com/2022/03/18/bystro-linux/</link>
					<comments>https://testitquickly.com/2022/03/18/bystro-linux/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Fri, 18 Mar 2022 17:00:56 +0000</pubDate>
				<category><![CDATA[Документация]]></category>
		<category><![CDATA[Инструменты]]></category>
		<category><![CDATA[Настройки]]></category>
		<category><![CDATA[Радости]]></category>
		<category><![CDATA[Фишки]]></category>
		<category><![CDATA[flatpak]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[nas]]></category>
		<category><![CDATA[omv]]></category>
		<category><![CDATA[Zim]]></category>
		<guid isPermaLink="false">https://testitquickly.com/?p=5780</guid>

					<description><![CDATA[«Вот по дороге едет „ЗиМ”, И им я буду задавим…» © ПНВС Война войной, а порядок в файлах держать надо. Представляю сам себе свой же открытый и ещё далеко не завершённый сборник рецептов/инструкций для последовательной настройки Debian/Manjaro c KDE — https://testitquickly.com/bystro.linux/ И даже есть https://testitquickly.com/bystro.linux.nas/ — про настройку NAS на основе OpenMediaVault. Всё собрано в… <span class="read-more"><a href="https://testitquickly.com/2022/03/18/bystro-linux/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p style="text-align: right;">«<em>Вот по дороге едет „ЗиМ”,<br />
И им я буду задавим…</em>»<br />
© ПНВС</p>
<p>Война войной, а порядок в файлах держать надо. Представляю сам себе свой же открытый и ещё далеко не завершённый сборник рецептов/инструкций для последовательной настройки Debian/Manjaro c KDE — <a href="https://testitquickly.com/bystro.linux/">https://testitquickly.com/bystro.linux/</a></p>
<p style="padding-left: 40px;">И даже есть <a href="https://testitquickly.com/bystro.linux.nas/">https://testitquickly.com/bystro.linux.nas/</a> — про настройку NAS на основе OpenMediaVault.</p>
<p>Всё собрано в <a href="https://zim-wiki.org/" rel="nofollow">Zim</a>, десктопном текстовом редакторе для локального сборника wiki pages на основе plain text файлов с markdown разметкой. Рекомендую.</p>
<p dir="auto">За десятилетия возни с Debian собрался txt-файл на 4 384 строк с рецептами и подсказками по установке и (почти полной) настройке устанавливаемой системы. Копи-паст из plain text в консоль идеален, и простые инструкции в нём воспринимаются отлично. А многошаговые последовательности воспринимаются сложно. И сразу всё плохо с иерархией, ссылками на разные места и с оформлением текста. Хочется локальную википедию. Но в то же время хочется plain text. И чтобы было доступно в том числе и из консоли.</p>
<p dir="auto">Zim — идеальная «настольная wiki». Хранит всё в текстовых файлах, которые можно читать/редактировать в любом окружении, и синхронизировать и бэкапить их можно как угодно — plain text же. Zim не только помогает упорядочить большие массивы знаний, он ещё помогает самому процессу мышления, как майндмапа. Он потребляет даже меньше ресурсов, чем Kate!</p>
<p dir="auto"><span id="more-5780"></span>Начал было закатывать всё это через LaTeX в pdf, но с консольными командами в LaTeX всё мерзОтно. Ординарные и даблкавычки там принудительно становятся фигурными, а тильда (~) в открытом виде вообще не используется. Копи-пастить команды из таких pdf в консоль нет смысла, бо в строку подставляются лишние и ошибочные символы. Кстати, ту же ерунду творит и WordPress.</p>
<h2 dir="auto"><strong>Что с этим можно делать</strong></h2>
<p dir="auto">Всё, что может быть необходимым или интересным, кроме коммерции или издевательства над джунами. Всё открыто, RTFM и погнали экспериментировать.</p>
<ol dir="auto">
<li></li>
</ol>
<p dir="auto"><em>Debian</em>: sudo apt-get install zim</p>
<p dir="auto"><em>Manjaro</em>: sudo pacman -S zim</p>
<p dir="auto">Можно поставить через flatpak или snap, но в нативной установке проще настроить внешнее оформление Zim (я подсел на тёмную тему).</p>
<ol dir="auto" start="2">
<li></li>
</ol>
<p dir="auto">Выкачать все файлы из <strong class="mr-2 flex-self-stretch"><a href="https://github.com/testitquickly/bystro.linux" data-pjax="#repo-content-pjax-container">bystro.linux</a></strong>.</p>
<p dir="auto">Открыть Zim<br />
> File<br />
> Open Another Notebook (Ctrl+O)<br />
> Add<br />
> [Browse]<br />
> Указать каталог с этими файлами.</p>
<p dir="auto">Подхватится файл notebook.zim — блокнот откроется.</p>
<ol dir="auto" start="3">
<li></li>
</ol>
<p dir="auto">Следовать инструкциям. Ссылки на них находятся в головном файле раздела про настройку Debian или про Manjaro.</p>
<p dir="auto">В индексе блокнота Zim невозможно упорядочить/сортировать страницы по своему хотению, а именовать их цифрами — безумно. Поэтому в головной файл раздела добавлены ссылки на каждую страницу/подстраницу, инструкции из которых следует (это не принципиально) последовательно выполнять.</p>
<ol dir="auto" start="4">
<li></li>
</ol>
<p dir="auto">Стилевое оформление страниц Zim настраивается отдельно. Инструкция по натягиванию на него тёмной темы см. на <a href="https://github.com/testitquickly/ru-Debian-KDE-Setup-Memo/wiki/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-%D1%82%D1%91%D0%BC%D0%BD%D0%BE%D0%B9-%D1%82%D0%B5%D0%BC%D1%8B-Zim">вики-странице</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2022/03/18/bystro-linux/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">5780</post-id>	</item>
		<item>
		<title>Переозвучить Teams на смартфоне</title>
		<link>https://testitquickly.com/2021/10/13/%d0%bf%d0%b5%d1%80%d0%b5%d0%be%d0%b7%d0%b2%d1%83%d1%87%d0%b8%d1%82%d1%8c-teams-%d0%bd%d0%b0-%d1%81%d0%bc%d0%b0%d1%80%d1%82%d1%84%d0%be%d0%bd%d0%b5/</link>
					<comments>https://testitquickly.com/2021/10/13/%d0%bf%d0%b5%d1%80%d0%b5%d0%be%d0%b7%d0%b2%d1%83%d1%87%d0%b8%d1%82%d1%8c-teams-%d0%bd%d0%b0-%d1%81%d0%bc%d0%b0%d1%80%d1%82%d1%84%d0%be%d0%bd%d0%b5/#respond</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Wed, 13 Oct 2021 10:36:22 +0000</pubDate>
				<category><![CDATA[Документация]]></category>
		<category><![CDATA[Радости]]></category>
		<category><![CDATA[Читерство]]></category>
		<category><![CDATA[MS Teams]]></category>
		<guid isPermaLink="false">http://testitquickly.com/2021/10/13/%d0%bf%d0%b5%d1%80%d0%b5%d0%be%d0%b7%d0%b2%d1%83%d1%87%d0%b8%d1%82%d1%8c-teams-%d0%bd%d0%b0-%d1%81%d0%bc%d0%b0%d1%80%d1%82%d1%84%d0%be%d0%bd%d0%b5/</guid>

					<description><![CDATA[По-дефолту звуки, которые издает Teams на смартфоне раздражают даже мëртвого Имхотепа — имхо, конечно, да кабы у него был смартфон, коий ему не дадут. Их можно отключить ВООБЩЕ, но иногда таки надо получать сообщения из этой навязанной корпорациями шняжки, поэтому еë не заткнуть. Но как тут поменять звук-то?!?!?!? А вот так: В приложении Teams тыкнуть… <span class="read-more"><a href="https://testitquickly.com/2021/10/13/%d0%bf%d0%b5%d1%80%d0%b5%d0%be%d0%b7%d0%b2%d1%83%d1%87%d0%b8%d1%82%d1%8c-teams-%d0%bd%d0%b0-%d1%81%d0%bc%d0%b0%d1%80%d1%82%d1%84%d0%be%d0%bd%d0%b5/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p></p>
<p>По-дефолту звуки, которые издает Teams на смартфоне раздражают даже мëртвого Имхотепа — имхо, конечно, да кабы у него был смартфон, коий ему не дадут.</p>
<p></p><p>
</p>
<p>Их можно отключить ВООБЩЕ, но иногда таки надо получать сообщения из этой навязанной корпорациями шняжки, поэтому еë не заткнуть.</p>
<p></p><p>
</p>
<p>Но как тут поменять звук-то?!?!?!?</p>
<p></p><p>
</p>
<p>А вот так:</p>
<p></p><p>
</p>
<pre class="wp-block-preformatted">В приложении Teams тыкнуть по иконке своего аккаунта,
-&gt; Settings (Настройки)
-&gt; Notifications (Уведомления)
-&gt; General activity (Общие действия)
-&gt; Chats (Чаты)
-&gt; Без звука
Или же можно выбрать другой звук, например, тишину.</pre>
<p></p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2021/10/13/%d0%bf%d0%b5%d1%80%d0%b5%d0%be%d0%b7%d0%b2%d1%83%d1%87%d0%b8%d1%82%d1%8c-teams-%d0%bd%d0%b0-%d1%81%d0%bc%d0%b0%d1%80%d1%82%d1%84%d0%be%d0%bd%d0%b5/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4722</post-id>	</item>
		<item>
		<title>Как собрать служебные файлы PdfLaTeX в отдельном каталоге</title>
		<link>https://testitquickly.com/2019/06/15/latex-metafiles-outside/</link>
					<comments>https://testitquickly.com/2019/06/15/latex-metafiles-outside/#respond</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Sat, 15 Jun 2019 17:53:03 +0000</pubDate>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[Документация]]></category>
		<category><![CDATA[Радости]]></category>
		<category><![CDATA[Фишки]]></category>
		<category><![CDATA[Kile]]></category>
		<category><![CDATA[LaTeX]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=4217</guid>

					<description><![CDATA[При сборке pdf в каталоге проекта появляется ряд служебных файлов, содержимое которых меняется от билда к билду. Их даже нет смысла засылать в репозиторий. Можно удалять их перед коммитом. find -regex '.*\.\(tex~\&#124;sty~\&#124;sh~\&#124;bib~\&#124;backup\&#124;dvi\&#124;ps\)' -print -delete Можно сказать Kile, что после закрытия надо удалять все «временные файлы». Но закрывать Kile каждый раз перед тем, как сделать коммит… <span class="read-more"><a href="https://testitquickly.com/2019/06/15/latex-metafiles-outside/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>При сборке pdf в каталоге проекта появляется ряд служебных файлов, содержимое которых меняется от билда к билду. Их даже нет смысла засылать в репозиторий.</p>
<p>Можно удалять их перед коммитом.</p>
<pre>find -regex '.*\.\(tex~\|sty~\|sh~\|bib~\|backup\|dvi\|ps\)' -print -delete</pre>
<p>Можно сказать Kile, что после закрытия надо удалять все «временные файлы». Но закрывать Kile каждый раз перед тем, как сделать коммит — как-то странно.</p>
<p>Можно добавить все такие файлы в .gitignore Но эти файлы так и лежат в каталоге проекта.</p>
<p>А можно компилировать проект, принудительно создавая всякие такие файлы в отдельном каталоге.</p>
<p><span id="more-4217"></span></p>
<p>В итоге получится такое:</p>
<pre>Project directory/
|__ main.tex
|__ main.bib
|__ main.pdf
|__ chapter1.tex
|__ chapter2.tex
|__ …
|__ project_metafiles/
| |__ main.aux
| |__ main.bcf
| |__ main.blg
| |__ main.glo
| |__ main.ist
| |__ main.log
| |__ main.toc
| |__ …
|__ figures/
|__ figure1.pdf
|__ …</pre>
<p>Про это всё уже кто-то подумал аж в 2015-ом: <a href="https://texblog.org/2015/08/20/hiding-latex-metafiles-from-project-directory/">texblog.org</a>, но, разумеется, есть нюансы — там нет Kile.</p>
<p>Мои эксперименты с этим трактором заняли часов восемь, самой сложной задачей оказалась неочевидная настройка билд-скриптов в Kile, но он таки завёлся. Заодно я поднаторел в быстром составлении документации по проекту.</p>
<p>Смысл предлагаемого скрипта:</p>
<ol>
<li>собрать pdf с PdfLaTeX.</li>
<li>собрать его библиографию с BibLaTeX.</li>
<li>итоговый скрипт должен лежать в отдельном каталоге, назовём его kile_scripts/</li>
<li>при сборке main.pdf все служебные файлы должны сразу появляться в project_metafiles/</li>
<li>сборка глоссария и индекса в этот скрипт не войдёт (она нужна редко и запускается через отдельный sh-файл)</li>
<li>билдить нужно по этому скрипту, но из Kile („QuickBuild“ по Ctrl+1)</li>
</ol>
<p><strong>Ограничения</strong></p>
<p>Это настройка работает глобально, а название главного файла для сборки проекта прописано жёстко — <em>main </em>(.tex).</p>
<p>Если открыть в Kile другой проект, то скрипт будет искать файл <em>main</em> 🙂</p>
<p>Выходом будет прописывание переменной в файле .sh, а неудобство в том, что этот файл при каждой смене проекта надо обновить, прописав в объявляемой переменной соответствующее название файла для сборки (несколько смягчает ситуацию добавление и комментирование строк).</p>
<p>Полная инструкция в Dropbox: <a href="http://bit.ly/2IjoqC0">http://bit.ly/2IjoqC0</a> /txt</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2019/06/15/latex-metafiles-outside/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">4217</post-id>	</item>
		<item>
		<title>Завершился винницкий QA Boot Camp 2018</title>
		<link>https://testitquickly.com/2018/06/29/diateza-activa-inevitabila/</link>
					<comments>https://testitquickly.com/2018/06/29/diateza-activa-inevitabila/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Fri, 29 Jun 2018 15:43:35 +0000</pubDate>
				<category><![CDATA[Откровения]]></category>
		<category><![CDATA[Радости]]></category>
		<category><![CDATA[Фотографии]]></category>
		<category><![CDATA[QA boot camp]]></category>
		<category><![CDATA[Винница]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=3910</guid>

					<description><![CDATA[Сегодня осознал, что меня всё ещё называют репортёром: Поистине, из профессии журналиста не уходят, а только выносят. Сегодня в Виннице группа успешно завершаемого винницкого буткэмпа перед приступанием к выпускному экзамену ВНЕЗАПНО одарила тренеров сладо-шняжками с очень личностными инскрипциями. Вот моя: Наш корреспондент обнаружил вон какой клад в коробке (из-под обуви) под именным инскриптумом: &#160; [polldaddy… <span class="read-more"><a href="https://testitquickly.com/2018/06/29/diateza-activa-inevitabila/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Сегодня осознал, что меня всё ещё называют репортёром:</p>
<p><div id="attachment_3911" style="width: 341px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3911" class="size-full wp-image-3911" src="https://testitquickly.com/wp-content/uploads/2018/06/reporter-in-jira.jpg" alt="Репортёр" width="331" height="160" /><p id="caption-attachment-3911" class="wp-caption-text">Репортёр по версии Jira</p></div></p>
<p>
Поистине, из профессии журналиста не уходят, а только выносят.</p>
<p>
Сегодня в Виннице группа успешно завершаемого винницкого буткэмпа перед приступанием к выпускному экзамену ВНЕЗАПНО одарила тренеров сладо-шняжками с очень личностными инскрипциями.</p>
<p>
Вот моя:</p>
<p><div id="attachment_3912" style="width: 510px" class="wp-caption aligncenter"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3912" class="size-large wp-image-3912" src="https://testitquickly.com/wp-content/uploads/2018/06/vinnitsya-qa-boot-camp-2018.jpg?w=500" alt="Олимпийская подяка" width="500" height="512" /><p id="caption-attachment-3912" class="wp-caption-text">Олимпийского уровня подяка</p></div></p>
<p>
Наш корреспондент обнаружил вон какой клад в коробке (из-под обуви) под именным инскриптумом:</p>
<p>
<img loading="lazy" decoding="async" class="aligncenter size-large wp-image-3913" src="https://testitquickly.com/wp-content/uploads/2018/06/vinnitsya-qa-boot-camp-2018-inside.jpg?w=500" alt="" width="500" height="627" /></p>
<p>
&nbsp;</p>
<p style="text-align:center;">[polldaddy poll=10043617]</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2018/06/29/diateza-activa-inevitabila/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3910</post-id>	</item>
		<item>
		<title>Нормальное тестирование-то</title>
		<link>https://testitquickly.com/2016/05/24/in-padure-la-baneasa-hitsina-ma/</link>
					<comments>https://testitquickly.com/2016/05/24/in-padure-la-baneasa-hitsina-ma/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Tue, 24 May 2016 19:20:19 +0000</pubDate>
				<category><![CDATA[Анонсы]]></category>
		<category><![CDATA[Радости]]></category>
		<category><![CDATA[Тренировка]]></category>
		<category><![CDATA[Винница]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=3552</guid>

					<description><![CDATA[Говорил тут с младшим коллегой про вечные ценности, про Negative и Positive testing. Ну, он и запутался в разнице между добром и недобром&#8230; Бывает. Я на листочке написал: «Negative &#8212;&#8212;&#8212;&#8212;- Normal &#8212;&#8212;&#8212;&#8212;&#8212; Positive» и говорю, мол, вот три основных вида тестирования, давай говори детально, что каждый из них означает&#8230; Он по-серьезному начал придумывать, что означает… <span class="read-more"><a href="https://testitquickly.com/2016/05/24/in-padure-la-baneasa-hitsina-ma/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Говорил тут с младшим коллегой про вечные ценности, про Negative и Positive testing.</p>
<p>Ну, он и запутался в разнице между добром и недобром&#8230; Бывает.</p>
<p>Я на листочке написал:</p>
<p style="text-align: center;">«Negative &#8212;&#8212;&#8212;&#8212;- Normal &#8212;&#8212;&#8212;&#8212;&#8212; Positive»</p>
<p>и говорю, мол, вот три основных вида тестирования, давай говори детально, что каждый из них означает&#8230;</p>
<p>Он по-серьезному начал придумывать, что означает &#8216;Normal testing&#8217;. И почти даже сумел придумать.</p>
<p style="padding-left: 30px;">Ну не прекрасная ли я сволочь?! 🙂</p>
<p>Говорю: «<em>Если примешь за постулат существование &#171;нормального тестирования&#187;, следовательно, все остальное тестирование будет называться ненормальным&#8230;</em>»</p>
<p>Как видим, теория тестирования пухнет и расширяеццо. Будем ее пухнять и расширять этим летом в Виннице, в тесных рамках <a href="http://iqlab.ua/events/item/134-qa-boot-camp-vinnytsya-2016">QA Boot Camp 2016</a>.</p>
<p style="padding-left: 30px;">Be equipped for QA Engineer position in Astound Commerce!</p>
<p style="padding-left: 30px;">QA Boot Camp is an amazing opportunity to join worldwide ecommerce leader &#8212; Astound Commerce! Only the best talents will start career in international professional team to perform and deliver interesting projects.</p>
<p style="padding-left: 30px;">QA Boot Camp will be conducted during the evening time on workdays. Participants will be granted with diplomas after successful completion.</p>
<p style="padding-left: 30px;">Participation is free of charge.</p>
<p>В класс допускаются домашние животные.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2016/05/24/in-padure-la-baneasa-hitsina-ma/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3552</post-id>	</item>
		<item>
		<title>Объяснение тестирования для программистов</title>
		<link>https://testitquickly.com/2015/12/09/batrinul-beizer/</link>
					<comments>https://testitquickly.com/2015/12/09/batrinul-beizer/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Wed, 09 Dec 2015 13:04:48 +0000</pubDate>
				<category><![CDATA[Озарения]]></category>
		<category><![CDATA[Радости]]></category>
		<category><![CDATA[Фотографии]]></category>
		<category><![CDATA[Boris Beizer]]></category>
		<category><![CDATA[Glenford Myers]]></category>
		<category><![CDATA[James Bach]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=3461</guid>

					<description><![CDATA[***: Я вчера с другой стороны на Бейзера посмотрел. Именно с той, про которую ты говорил, что это &#171;объяснение тестирования для программистов&#171;. С учетом их мышления и специфики. &#62;&#62;&#62;: И как оно? ***: Просто по другому. Не Савин. Не Копленд. Не Канер. єто как Достоевского и Пелевина сравнивать. В ту же оперу ходил и Гленфорд… <span class="read-more"><a href="https://testitquickly.com/2015/12/09/batrinul-beizer/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>***: Я вчера с другой стороны на Бейзера посмотрел. Именно с той, про которую ты говорил, что это &#171;<em>объяснение тестирования для программистов</em>&#171;. С учетом их мышления и специфики.</p>
<p>&gt;&gt;&gt;: <em>И как оно?</em></p>
<p>***: Просто по другому.</p>
<p>Не Савин.</p>
<p>Не Копленд.</p>
<p>Не Канер.</p>
<p>єто как Достоевского и Пелевина сравнивать.</p>
<p style="padding-left: 30px;">В ту же оперу ходил и <a href="http://www.ceocfointerviews.com/interviews/RadiSy2.jpg">Гленфорд Майерс</a>, до речі. &#8216;<a href="http://eu.wiley.com/WileyCDA/WileyTitle/productCd-1118031962.html">Art of Software Testing</a>&#8216; написана для программистов, и учиться по ней классическому функциональному тестированию /того же карандаша/ крайне сложно.</p>
<p><span id="more-3461"></span></p>
<p><div id="attachment_3462" style="width: 122px" class="wp-caption alignleft"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-3462" class="alignnone size-thumbnail wp-image-3462" src="https://testitquickly.com/wp-content/uploads/2015/12/boris-beizer.jpg?w=112" alt="Борис Бейзер" width="112" height="150" /><p id="caption-attachment-3462" class="wp-caption-text">Борис Бейзер</p></div></p>
<p><b>Boris Beizer</b> is an American software engineer and author.</p>
<p>Born in Brussels, Belgium. Lives near Philadelphia, Pennsylvania.</p>
<p>Received his B.S. degree in physics from the City College of New York in 1956, an MS in Electrical Engineering (1963) and a PhD in computer science from the University of Pennsylvania in 1966.</p>
<p>Written many books and articles on topics such as system architecture and software testing.</p>
<p>Directed testing for the FAA&#8217;s Weather Message Switching Center and several other large communications systems.</p>
<p>Has been a speaker at many testing conferences and is also known for his seminars on testing.</p>
<h2><span id="List_of_Publications_.28partial.29" class="mw-headline">List of Publications (partial)</span></h2>
<ul>
<li><i>Software Quality Reflections</i> Essays, dialogues and poems,2000</li>
<li><i>Black-box testing: techniques for functional testing of software and systems</i> (1995) <a class="internal mw-magiclink-isbn" href="https://en.wikipedia.org/wiki/Special:BookSources/0471120944">ISBN 0-471-12094-4</a>; Japanese edition, Nikei</li>
<li><i>The frozen keyboard: living with bad software</i> (1988) <a class="internal mw-magiclink-isbn" href="https://en.wikipedia.org/wiki/Special:BookSources/0830631461">ISBN 0-8306-3146-1</a></li>
<li><i>Personal computer quality: a guide for victims and vendors</i> (1986) <a class="internal mw-magiclink-isbn" href="https://en.wikipedia.org/wiki/Special:BookSources/0442209924">ISBN 0-442-20992-4</a></li>
<li><i>Software system testing and quality assurance</i> (1984) <a class="internal mw-magiclink-isbn" href="https://en.wikipedia.org/wiki/Special:BookSources/0442213069">ISBN 0-44221-306-9</a></li>
<li><i>Software testing techniques</i> (1983) <a class="internal mw-magiclink-isbn" href="https://en.wikipedia.org/wiki/Special:BookSources/0442206720">ISBN 0-442-20672-0</a>; expanded Second edition 1990; Japanese Edition Nikei</li>
<li><i>Micro-analysis of computer system performance</i> (1978) <a class="internal mw-magiclink-isbn" href="https://en.wikipedia.org/wiki/Special:BookSources/0442206631">ISBN 0-442-20663-1</a>; Russian Edition</li>
<li><i>Communications Processor System</i> (1977) with Kenneth Hagstrom</li>
<li><i>The architecture and engineering of digital computer complexes, Volume 1</i> (1971), Volume 2; Polish and Russian Editions</li>
<li><i>Engineering applications of Boolean algebra</i> (1958) with Stephen W. Leibholz</li>
</ul>
<p>Novels under pseudonym <strong>Ethan I.Shedley</strong></p>
<ul>
<li><i>Earthship and Starsong</i> Viking 1979</li>
<li><i>The Medusa Conspiracy</i> Viking,1980</li>
</ul>
<p><a href="http://www.satisfice.com/blog/archives/30" rel="home">© James Bach</a></p>
<blockquote>
<p>Starting in 1987, I tried to learn software testing. Starting in 1989, I started reinventing testing for myself, having become disillusioned with the empty calories of folklore that I found in books by folks like William Perry, or the misanthropic techniquism of Boris Beizer (Boris once told me that it didn’t bother him if people find his advice impractical, since he was merely concerned with documenting “best practices”, a phenomenon that he seemed to think has nothing to do with applicability or utility).</p>
</blockquote>
<p id="site-title">Он же:</p>
<blockquote>
<p>Boris Beizer was a big name in the eighties. These days, he&#8217;s been pretty much forgotten. His work has little relevance to modern software development. Boris is famous for pushing code coverage as a big deal and dismissing the idea of exploratory and risk-based testing. He once told me, in 1993, that Microsoft would be out of business &#171;within 5 years&#187; because it was using the kind of testing practices I recommend.</p>
</blockquote>
<p><a href="https://www.utest.com/articles/testing-the-limits-with-james-bach-part-2">Он же</a>:</p>
<blockquote>
<p><strong>uTest: When the most prominent testing minds get together, it seems there are often loud, heated disagreements – why is that?</strong></p>
<p><strong>JB</strong>: It&#8217;s not prominent minds causing this, it&#8217;s different cultures of testing. Also, you have a sampling bias: you notice heated disagreements more than the absence of them. Why don&#8217;t I get credit for all the times I *didn&#8217;t* argue with Boris Beizer under an escalator?</p>
<p>We have different cultures of testing. They are basically at war with each other. I wish the other guys would surrender and come into the light, but Rex, Stuart, Bernard, Dot, Lloyd, et al don&#8217;t take my advice.</p>
</blockquote>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2015/12/09/batrinul-beizer/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3461</post-id>	</item>
		<item>
		<title>Тяжёлый заработок тестировщика</title>
		<link>https://testitquickly.com/2013/02/27/dati-punguta-cu-doi-bani/</link>
					<comments>https://testitquickly.com/2013/02/27/dati-punguta-cu-doi-bani/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Wed, 27 Feb 2013 00:13:04 +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=3081</guid>

					<description><![CDATA[Сугубо ради любви к науке сумел сегодня заработать 25 копеек ($0,031) методом настырного тестирования офисного аппарата с шоколадными шмурдячками. Предыстория (сразу с историей и пост-историей, чтобы два раза не вставать) такая: этот заразный аппарат принимает как бумажные купюры, так и копеечкинские монетки номиналом 10, 25 и 50 великодержавных укркопеек. Как-то скормил я ему пять гривен… <span class="read-more"><a href="https://testitquickly.com/2013/02/27/dati-punguta-cu-doi-bani/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Сугубо ради любви к науке сумел сегодня заработать 25 копеек ($0,031) методом настырного тестирования офисного аппарата с шоколадными шмурдячками.</p>
<p>Предыстория (сразу с историей и пост-историей, чтобы два раза не вставать) такая: этот заразный аппарат принимает как бумажные купюры, так и копеечкинские монетки номиналом 10, 25 и 50 великодержавных укркопеек.</p>
<p><span id="more-3081"></span></p>
<p>Как-то скормил я ему пять гривен одной бумажкой. Но отсек, в котором находился вожделенный продукт, назвался неработоспособным. Нажал пимпочку &#171;Отмена&#187;, и в отсек отстоя посыпались монетки на общую сумму 4,75 UAH.</p>
<p>А должно было быть 5 UAH.</p>
<p style="padding-left: 30px;">Оп-па[н]!</p>
<p style="padding-left: 30px;">Баг!</p>
<p>Подкараулил <del>мудака</del> парня, который заряжает этот аппарат такими вредными для офисного здоровья шмурдяками, и кратко спросил про понизившийся уровень моих капиталов. &#171;<em>А, — </em>сказал он,<em> — это бывает. Там монетки иногда путают отсеки, в которые должны попадать</em>&#171;.</p>
<p>Хм.</p>
<p>Дождался, когда в офисе стало больше кислорода.</p>
<p>Вооружился 25-копеечной монетой&#8230;</p>
<p>Если монетки ИНОГДА попадают не тудой, кудой нужно, значит, есть шанс скормить аппарату 25 копеек, заорать &#171;Отмена!&#187; и получить 50-копеечную монету.</p>
<p>Ну, и всё заверте&#8230;</p>
<ol>
<li>Сунуть монетку в монеткоприемник.</li>
<li>Надавить на <del>совесть депутата</del> пимпу &#171;Отмена&#187;.</li>
<li>Послушать приятный звук капающих в приемник денег.</li>
<li>Вытащить монетку.</li>
</ol>
<p>После 20-й неудачи притащил к аппарату стул, бо задрало сидеть, как гопник.</p>
<p>В районе семидесятых шагов аппарат всё-таки выдал мне 50-коп монетку вместо ожидаемой 25-ти копеечной.</p>
<p style="padding-left: 30px;">ЛЮТЫЙ ВИН!</p>
<p>По ходу эксперимента выяснилось следующее:</p>
<p style="padding-left: 30px;">Давить кнопку &#171;Отмена&#187; часто, как бешеный суслик, нет смысла. Не влияет. Разве что пружина возврата кнопки уйдет в утиль раньше ожидаемого.</p>
<p style="padding-left: 30px;">Держать кнопку &#171;Отмена&#187; утопленной в момент закидона монетки нет смысла — монетка просто выкатывается сразу по вбросу.</p>
<p style="padding-left: 30px;">Монеты из аппарата выкатываются последовательно. Например, если их забросить пронумерованными, то можно будет наблюдать последовательность выдачи. Значит, есть возможность закинуть в аппарат &#171;некрасивую&#187; монетку и после ряда итераций получить в руки более новую и блестящую. Если таковая, конечно, будет ранее кем-то скормлена аппарату.</p>
<p style="padding-left: 30px;">Аппарат не любит почерневшие монеты. Внимание, есть в нём такой очень неприятный баг.</p>
<p style="padding-left: 60px;"><span style="color: #008000;">// Как-то с голодухи закинул я в этот аппарат гривен шесть, и затем предложил ему ещё и &#171;потемневшую&#187; 50-коп монетку. Фашистский аппарат ВНЕЗАПНО взял и обнулил уже набранный мною кредитный счет до пресловутых пятидесяти копеек. Сучёныш!</span></p>
<p style="padding-left: 30px;">Вот и сейчас, когда из приемника выпала монета с признаками благородной грязи (<a href="http://ru.wikipedia.org/wiki/Pecunia_non_olet">Pecunia non olet</a>, всё такое&#8230;), сразу принимать ее обратно аппарат не захотел. Тупо сбрасывал монетку в отстойник, и согласился её принять только после четвертой попытки. А позже снова мне её выдал, и снова закапризничал при приёме.</p>
<p style="padding-left: 30px;">Спрогнозировать количество итераций невозможно. Слишком уж &#171;алеаториу&#187; эксперимент получается. Поэтому рассчитывать на пополнение наличности можно только очень упёртым и голодным тестировщикам. Проще уж грабить школьников или прибить томиком &#171;Преступленьице и наказаньице&#187; какую-нибудь киевскую старуху-процентщицу (&#171;Не пытайтесь повторить это в домашних условиях!&#187;).</p>
<p>В ходе эксперимента ни одно животное не смогло пострадать.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2013/02/27/dati-punguta-cu-doi-bani/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">3081</post-id>	</item>
		<item>
		<title>Неспешная SQA Days 11</title>
		<link>https://testitquickly.com/2012/05/05/sqa-days-11-alene-trapas-cobora/</link>
					<comments>https://testitquickly.com/2012/05/05/sqa-days-11-alene-trapas-cobora/#comments</comments>
		
		<dc:creator><![CDATA[Alexei Lupan]]></dc:creator>
		<pubDate>Sat, 05 May 2012 15:27:20 +0000</pubDate>
				<category><![CDATA[Конференции]]></category>
		<category><![CDATA[Радости]]></category>
		<category><![CDATA[Соображения]]></category>
		<category><![CDATA[Фотографии]]></category>
		<category><![CDATA[SQA Days 11]]></category>
		<category><![CDATA[SysIQ]]></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>
		<category><![CDATA[Николай Алименков]]></category>
		<category><![CDATA[Сатине Паронян]]></category>
		<category><![CDATA[Сергей Бережной]]></category>
		<category><![CDATA[Стас Фомин]]></category>
		<guid isPermaLink="false">http://testitquickly.com/?p=2903</guid>

					<description><![CDATA[Музыкальная тема прошедшей конференции: 0 Две недели бороде, Пообтрепано пальто, Завели свой разговор тополя до начала конференции прошли в приятном, но суровом напряге — в подвалах SysIQ джуниоров-автоматизаторов тренировали&#8230; 1 Буквально за два дня до мероприятия вспомнил, что еще не сделал себе спец.футболку для конференции; пришлось бегать с утра и спешно по дебрям киева. 2… <span class="read-more"><a href="https://testitquickly.com/2012/05/05/sqa-days-11-alene-trapas-cobora/">Читать далее &#187;</a></span>]]></description>
										<content:encoded><![CDATA[<p>Музыкальная тема прошедшей конференции:</p>
<p><iframe loading="lazy" title="Чунга-Чанга Сектор Газа" width="665" height="499" src="https://www.youtube.com/embed/ikF1pvFVz-0?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<p><strong><span style="color: #008000;">0</span></strong></p>
<p>Две недели <del>бороде, Пообтрепано пальто, Завели свой разговор тополя</del> до начала конференции прошли в приятном, но суровом напряге — в подвалах <a href="http://sysiq.com/">SysIQ</a> джуниоров-автоматизаторов тренировали&#8230;</p>
<p><span style="color: #008000;"><strong>1</strong></span></p>
<p>Буквально за два дня до мероприятия вспомнил, что еще не сделал себе <a href="http://testitquickly.com/2012/04/19/sqa-days-11-haine-gata/">спец.футболку</a> для конференции; пришлось бегать с утра и спешно по дебрям киева.</p>
<p><span style="color: #008000;"><strong>2</strong></span></p>
<p>Посему на конференцию я прибыл в очень, очень, очень расслабленном состоянии полудремы, что помогло сосредоточиться на внутренних ощущениях, а не на внешних раздражителях. Например, спокойно осознал и воспринял то, что кругом много людей, которые могут спокойно ответить на вопрос &#171;В чем твоё искусство?&#187; или &#171;В чём ты талантлив?&#187;</p>
<p style="padding-left: 30px;">Редкость же, ващще&#8230;</p>
<p><span id="more-2903"></span></p>
<p><span style="color: #008000;"><strong>3</strong></span></p>
<p>Из-за великого расслабона ВНЕЗАПНО получилось спокойно воспринимать посещаемые доклады &#171;с нуля&#187;.</p>
<p style="padding-left: 30px;">Работа в програмном комитете в каком-то смысле разрушает сказочность происходящего &#8212; почти все доклады уже знакомы, к некоторым даже руку приложил, и восприятие меняется.</p>
<p style="padding-left: 30px;">То-то я когда-то удивлялся легкости, с которой Алексей Баранцев на конференции перемещается между залами, нигде особо не задерживаясь — дык знакомо уже всё, уже интереснее в коридорах тусоваться.</p>
<p>Однако стремление к покою пошло на пользу — сидел спокойно, внимал ясно, словно в первый раз, никуда не спешил.</p>
<p><strong><span style="color: #008000;">4</span></strong></p>
<p>Порадовала инициативная Виктория Птицына с конференцийным журналом.</p>
<p>Я, по наивности своей, думал, что журнал будут читать &#171;не отходя от кассы&#187;, и соответственно продумал текст, однако &#171;в поле&#187; обнаружил, что журнал читать будут &#171;когда-нибудь потом&#187;.</p>
<p style="padding-left: 30px;">Иначе или так, ряд автографов на своем опусе пятом, фа-диез, я раздал.</p>
<p style="padding-left: 30px;">И до выпуска изрядно букв Виктории понаписал, объясняя мелочи профессиональной верстки на примере первичных макетов. Кое-чем в итоге пришлось попуститься, но в остальном вырулили молодцевато.</p>
<p>Хоть это и первый выпуск совершенно неподготовленных в журналистике редакторов, однако получилось очень достойно, на уровне журнала выпускников журфакультета.</p>
<p>Изысканный эксклюзив: моя статья &#171;<a href="https://testitquickly.com/wp-content/uploads/2012/05/alexeilupanscriptsqadays11.pdf">Как работать в условиях: «Вот тебе приложение, тестируй, как работает — сам поймешь»</a>&#187; (pdf).</p>
<p><span style="color: #008000;"><strong>5</strong></span></p>
<p>По старой дружбе дал себя слегка похантить салатово-футболочным рекрутерам из одесской Lohika 🙂</p>
<p><div id="attachment_2904" style="width: 510px" class="wp-caption aligncenter"><a href="https://testitquickly.com/wp-content/uploads/2012/05/lohikarecruters.jpg"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2904" class="size-full wp-image-2904" title="lohikaRecruters" src="https://testitquickly.com/wp-content/uploads/2012/05/lohikarecruters.jpg" alt="Жую озонированный яблочный сок и хвастаюсь статьей в журнале" width="500" height="361" /></a><p id="caption-attachment-2904" class="wp-caption-text">Жую лохиковский озонированный яблочный сок и хвастаюсь своей статьей в журнале</p></div></p>
<p>Пообщались знатно и ненапряжно и про близлежащих к Одессе молдаван, и про дифференциальную психологию в рекрутинге.</p>
<p>Например, Сати (на фото слева) считает, что выяснять психологические свойства кандидатской личности до непосредственно личного контакта излишне, тогда как я (на фото справа) уверен в том, что это как раз следует выяснять заранее, чтобы не приходилось выяснять все эти детали в ходе самого собеседования&#8230;</p>
<p><div id="attachment_2905" style="width: 411px" class="wp-caption aligncenter"><a href="https://testitquickly.com/wp-content/uploads/2012/05/four_temperament_b.png"><img loading="lazy" decoding="async" aria-describedby="caption-attachment-2905" class="size-full wp-image-2905" title="Four_temperament_b" src="https://testitquickly.com/wp-content/uploads/2012/05/four_temperament_b.png" alt="" width="401" height="401" /></a><p id="caption-attachment-2905" class="wp-caption-text">Вот поди отличи основные человеческие темпераменты&#8230;</p></div></p>
<p>Оно, конечно, проще выясняется при личном стыке, если у тебя за пазухой большой запас женской интуиции, а вот мне, обладателю мешка сугубо мужской логики, выяснять темперамент и прочие интро/экстравертностные свойства кандидатов непосредственно в ходе собеседования кажется излишней тратой времени. Могу и ошибиться.</p>
<p><span style="color: #008000;"><strong>6</strong></span></p>
<p>Прогрессивному человечеству известно, что некоторые молдаване комфортно заселяют Одессу.</p>
<p style="padding-left: 30px;">Мне в Одессе не очень комфортно, но это сугубо моя маничка.</p>
<p>Дык вот, Lohika то и дело проводит в Одессе мероприятия, аналогичные весьма качественным конференциями, только меньшего масштаба. Мне моментально подумалось о том, что ездить туда из Кишинева дело плёвое, и почему бы молдавско-подданным не набегать на конференции в Одессу, и я стал сурьезно разочаровываться в соотечественниках, которые всего этого не делают&#8230;</p>
<p>Однако вскоре додумалось, по какой причине эти набеги не являются массовым феноменом, и моё разочарование слегка ослабло.</p>
<p>Ну, не ездят&#8230;</p>
<p style="padding-left: 30px;">Не всем дано, не каждому надо, не всюду требуется.</p>
<p><span style="color: #008000;"><strong>7</strong></span></p>
<p>Мои младшие коллеги по <a href="http://sysiq.com">SysIQ</a> (нас там была целая мини-банда) впечатлились демонстрацией техники pairwise by Никита Постолакий (Luxoft). Удивился, мол, чего там особенного, бо я постоял часть доклада, и свалил — не вштырило. А оказалось, что для них это новинка.</p>
<p style="padding-left: 30px;">Надо будет стряхнуть пыль с большого плана проведения принудительных внутрикомпанейских растолковываний про техники тестирования&#8230;</p>
<p style="padding-left: 30px;">Да и вообще надо бы пересмотреть все техники тестирования в принципе.</p>
<p><span style="color: #008000;"><strong>8</strong></span></p>
<p>Вроде бы у меня получилось растолковать Глебу Рыбалко, почему с точки зрения профессиональной ток-шоуной журналистики его с Викой Мусияченко подкасты &#171;<a href="http://qaconsulting.ru/category/testirovanie-backstage/">Тестирование, Backstage</a>&#187; в нынешнем формате обречены на нескорое, но безусловное загибание.</p>
<p>На пальцах левой руки показал, почему редколлегии подкаста нужна иная концепция, и пальцами правой руки объяснил, как ожидающие их проблемы решаются в большой журналистике.</p>
<p>Если мой injection был успешным, то &#171;Тестирование, Backstage&#187; через какое-то время должно вырулить надолго на новый уровень качества, чем я буду безусловно и незамутненно гордиццо.</p>
<p style="padding-left: 30px;">К слову, &#171;Тестирование, Backstage&#187; означает всего лишь &#171;Закулисье тестирования&#187; 🙂</p>
<p><span style="color: #008000;"><strong>9</strong></span></p>
<p>С шефом автоматизаторов &#171;Одноклассников&#187; <a href="http://makarov-nikita.moikrug.ru/">Никитой Макаровым</a> совершили кулинарный трип в &#171;Шницель Хаус&#187; на Саксаганского, вследствие чего я выбил себе из этого прелестного предприятия красивую скидочную карту; также стороны в ходе прогулки по переходящему в ночь Киеву обсудили ряд насущных проблем в тестировании социальной сети &#171;Одноклассники&#187; в частности и тестирования всего прочего вообще в Кишиневе, Одессе, Москве, Риге и прочих местах скопления тестировщиков.</p>
<p>И даже попали под руку уличного шаржиста, вследствие чего Никита стал похож на хитро ухмыляющегося армянина (&#171;Я твой дом шатал, труба вертел!&#187;), а я на довольного жизнью еврея эпикуреиста-гедониста.</p>
<p style="padding-left: 30px;">Пресловутое &#171;видение художника&#187; творит чудеса 🙂</p>
<p style="padding-left: 30px;">&#171;<em>Мне теперь одна дорога, мне другого нет пути&#8230;</em></p>
<p><em>Где тут, братцы, синагога? Подскажите, как пройти&#8230;</em>&#187; ©</p>
<p><span style="color: #008000;"><strong>10</strong></span></p>
<p>Николай Алименков восхищает: с температурой ходить на доклады, где неправильно рассказывают про agile, и терпеливо НЕ троллить докладчиков — это сила!</p>
<p>Хотя по итогам его все равно признали главным троллем конференции и выдали соответствующий приз.</p>
<p><span style="color: #008000;"><strong>11</strong></span></p>
<p>А утром второго дня конференции я проснулся и понял &#8212; беда. Никуда не пойду. Давление изнутри давит наружу. Или наоборот. В общем, лежать, лежать, лежать.</p>
<p>Ну я и лёг, вследствие чего не смог дообщаться со всеми, кого видел в первый день.</p>
<p><span style="color: #008000;"><strong>12</strong></span></p>
<p>Киев рулит, это знает каждый ребёнок, оснащенный леденцом, который у него еще никому не довелось отнимать.</p>
<p>Но почему-то в недрах Киева всё ещё гнездятся странные тётки образца &#171;советская буфетчица&#187;. Обычно встречаются в небольших магазинах, но часть этих тёток основались в том самом КИМО, в котором проходила конференция.</p>
<p>Тётки эти активно отгоняли всех желающих взять с расставленных столов минеральной воды или замутить чаю, бо &#171;приходите в 16.00, а раньше не надо, а то не всем достанется!&#187;</p>
<p style="padding-left: 30px;"><strong>Михаил Булгаков. &#171;Богема&#187;</strong></p>
<p style="padding-left: 30px;">В 1921 году было несколько иначе, чем в 1924 г. Именно нельзя было так ездить: снялся и поехал черт знает куда! Очевидно, те, что ведали разъездами граждан, рассуждали приблизительно таким образом:</p>
<p style="padding-left: 30px;">~ Ежели каждый начнет ездить, то что же это получится?</p>
<p style="padding-left: 30px;">Нужно было поэтому получить разрешение. Я немедленно подал куда следует заявление и в графе, в которой спрашивается:</p>
<p style="padding-left: 30px;">~ А зачем едешь?</p>
<p style="padding-left: 30px;">Написал с гордостью:</p>
<p style="padding-left: 30px;">~ В Тифлис для постановки моей революционной пьесы.</p>
<p>Отогнанные от столов кочевали через дорогу в какое-то кофейно-кофейное заведение.</p>
<p>Например, перекинуться тремя парами слов с <a href="http://natalyarukol.ru/about/">Наташей Руколь</a> и <a href="http://lazy-tester.blogspot.com/">Андреем Мясниковым</a> получилось как раз в том заведении. И именно там же удалось спокойно поговорить с <a href="http://anotherpm.com/blog/?page_id=2&amp;lang=ru-ru">Сергеем Бережным</a>.</p>
<p style="padding-left: 30px;">В общем, КИМО в кофейно-поедальном плане — совок, а с совковыми организациями делать дела очень сложно&#8230;</p>
<p>Да, а тем, кто был допущен до кофейно-чайного стола к 16.00 повезло больше чем тем, кто подошёл туда к 16.10 — на столах уже было пусто.</p>
<p>Приносим организаторам наши сочувствия 🙂</p>
<p>Киев он такой&#8230; Внешне красивый, зараза, но внутрях местами внезапно недешевый и даже асоциальный.</p>
<p><span style="color: #008000;"><strong>13</strong></span></p>
<p><span style="color: #000000;">Впечатлило <a href="http://blogs.uml2.ru/post/SQAdays-vesna-2012-pervyy-den-prevzoshel-ozhidaniya">наблюдение Максима Цепкова</a> о тестировщиках:</span></p>
<p style="padding-left: 30px;"><span style="color: #000000;">Это конференция</span> практиков, причем тестировщики-практики — значительно более конкретны, чем разработчики.</p>
<p style="padding-left: 30px;">Они знают теоретические понятия — как слова. Они не слишком доверяют теориям, потому как не понаслышке знают, насколько слова, теория отличаются от реального мира.</p>
<p style="padding-left: 30px;">И, в общем, потому они не слишком вникают в теорию — если это не описания тех программ, которые им надо протестировать.</p>
<p style="padding-left: 30px;">Waterfall, Agile, Lean для них — теория. У которой есть предельно конкретное воплощение в собственной жизни.</p>
<p style="padding-left: 30px;">А вот обобщенного понимания — часто нет. Потому как не нужно. И оно домысливается по месту, иногда адекватно, иногда — не очень.</p>
<p style="padding-left: 30px;">Хочу отметить, что такая работа со словами, понятиями — характерна для современного мира, хотя и вызывает определенное неприятие и даже отвращение у представителей научной школы. Это работа с мемами.</p>
<p style="padding-left: 30px;">Мем — не имеет четкого определения.</p>
<p style="padding-left: 30px;">Мемы понимаются аудиторией очень широко, а границы — нечетки.</p>
<p style="padding-left: 30px;">Разделяя мемы, человек проводит для себя некоторые фантазийные границы.</p>
<p style="padding-left: 30px;">Это особенность современного восприятия. И она объективна. Она может не нравится, но она присуща миру, и максимум что можно сделать — это создавать закрытые клубы с четким определением тех или иных слов, отгораживаясь от мира. Но мир-то от этого — не изменится.</p>
<p><span style="color: #008000;"><span style="color: #000000;">Аналитики нам други, товарищи и поставщики юз-кейсов! А юз-кейсы являются отличной едой для грамотного тестировщика!</span></span></p>
<h3><span style="color: #008000;"><strong>И ссылок чуток</strong></span></h3>
<p><a href="http://it-conf.ru/ru/content/465.htm">Программа конференции SQA Days 11</a> со слайдами и местами с видео.</p>
<p><a href="http://vimeo.com/album/1914524">Сборник видео докладов</a> от Стаса Фомина.</p>
<p><a href="http://it-conf.ru/ru/content/500.htm">Всяко отзывов</a> с фотографиями о конференции.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://testitquickly.com/2012/05/05/sqa-days-11-alene-trapas-cobora/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">2903</post-id>	</item>
	</channel>
</rss>
