<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>Форум 'Тестирование приложений' на RSDN</title>
    <link>http://rsdn.org/Forum/apptesting/</link>
    <description>Любые вопросы связанные с повышением качества приложений - инструменты, теории и методологии тестирования.</description>
    <category>apptesting</category>
    <language>ru-ru</language>
    <copyright>Copyright ©, RSDN, 2001-2007</copyright>
    <webMaster>forum@rsdn.org</webMaster>
    <generator>RSDN RSS Generator 1.3</generator>
    <image>
      <url>http://rsdn.org/rsdn.gif</url>
      <title>RSDN</title>
      <link>http://rsdn.org</link>
    </image>
    <lastBuildDate>Fri, 03 Apr 2026 23:41:25 GMT</lastBuildDate>
    <ttl>5</ttl>
	<item>
		<title>чем отличается harness test ot unit test</title>
		<link>http://rsdn.org/Forum/apptesting/9074711.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/9074711</guid>
		<comments>http://rsdn.org/Forum/apptesting/9074711</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=9074711</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/9074711</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=9074711</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;меня просят написать harness test&lt;br /&gt;
который&lt;br /&gt;
открывает доступ к видеокарте&lt;br /&gt;
очищает буфер в видеокарте&lt;br /&gt;
формирует/копирует изображение в буфере&lt;br /&gt;
закрывает доступ к видеокарте&lt;br /&gt;
вызывает show&lt;br /&gt;
&lt;br /&gt;
причем нормальных методов посмотреть что в буфере самой видеокарте нет&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
все вышеперечисленное нормально для harness test ?&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Fri, 03 Apr 2026 12:59:07 GMT</pubDate>
		
			<author>sergey2b &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>Как тестировать многопоточные штуки?</title>
		<link>http://rsdn.org/Forum/apptesting/8896179.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8896179</guid>
		<comments>http://rsdn.org/Forum/apptesting/8896179</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8896179</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8896179</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8896179</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;К примеру, такой кейс &amp;mdash; восстановление сессии.&lt;br /&gt;
&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;interface&lt;/span&gt; ISessionProvider {
  Task&amp;lt;SessionResult&amp;gt; RetrieveSession();
  Task ResetSession();
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
Нужно чтобы:&lt;br /&gt;
&lt;br /&gt;
1. Если сессия устарела (а этого ISessionProvider не знает &amp;mdash; узнаем когда сделаем запрос) &amp;mdash; то вызвать resetSession.&lt;br /&gt;
2. Может быть два одновременных запроса и каждый вызовет resetSession.&lt;br /&gt;
3. resetSession может быть вызван в момент, когда первый запрос уже начал восстановление сессии (а так же когда начал, почти начал, закончил, почти закончил).&lt;br /&gt;
4. Нельзя восстанавливать сессию повторно, если уже раз восстановили.&lt;br /&gt;
&lt;br /&gt;
Допустим вы сделали решение. Как вы его будете тестировать?&lt;br /&gt;
&lt;br /&gt;
&lt;div class='mod'&gt;17.02.25 05:14: Перенесено из 'Тестирование приложений'&lt;/div&gt;&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Mon, 10 Feb 2025 07:00:50 GMT</pubDate>
		
			<author>Shmj &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>28</slash:comments>
		
	</item>

	<item>
		<title>Помогите, plz, сделать короткий тест.</title>
		<link>http://rsdn.org/Forum/apptesting/8848281.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8848281</guid>
		<comments>http://rsdn.org/Forum/apptesting/8848281</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8848281</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8848281</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8848281</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Я подключился к S3 облаку, которое у меня дома.&lt;br /&gt;
Если вас не затруднит, то зайдите в тему "Инструкции"--&amp;gt;"Ошибки форума"&lt;br /&gt;
Там есть куча плееров. Мне интересно будет ли казать видео сначала с одного,&lt;br /&gt;
а потом со всех одновременно.&lt;br /&gt;
Видно ли что-нибудь со смартфона. Интересно, что произойдёт, если пару человек с разных&lt;br /&gt;
устройств одновременно запустят видео. Настанет ли полный кирдык?&lt;br /&gt;
Адрес &lt;a class="m" href="http://185.195.27.8:4567/" target="_blank"&gt;http://185.195.27.8:4567/&lt;/a&gt;&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Wed, 06 Nov 2024 12:35:54 GMT</pubDate>
		
			<author>ProgrammerCPP &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>2</slash:comments>
		
	</item>

	<item>
		<title>Telegram Desktop Add Test Server</title>
		<link>http://rsdn.org/Forum/apptesting/8701144.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8701144</guid>
		<comments>http://rsdn.org/Forum/apptesting/8701144</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8701144</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8701144</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8701144</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;AUTH_TOKEN_INVALID2 при попытке авторизовать телефоном по qr-коду когда пытаюсь добавить тестовый аккаунт. &lt;br /&gt;
5-значный код не присылает. Интернет ответа не дает. Может кто-то сталкивался?&lt;br /&gt;
делаю по этой инструкции &lt;a class="m" href="https://docs.telegram-mini-apps.com/platform/test-environment" target="_blank"&gt;https://docs.telegram-mini-apps.com/platform/test-environment&lt;/a&gt;&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Wed, 28 Feb 2024 13:35:09 GMT</pubDate>
		
			<author>Разраб &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>Тестирование в продакшене или в девелоп- какое лучше?</title>
		<link>http://rsdn.org/Forum/apptesting/8697945.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8697945</guid>
		<comments>http://rsdn.org/Forum/apptesting/8697945</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8697945</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8697945</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8697945</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Какая структура тестирования лучше-&lt;br /&gt;
&lt;br /&gt;
1) "как бы прод" максимально приближенное к реальному. Потом релиз в реальный прод, который отличается. Ошибка может произойти на шаге релиза в прод (например, файл не скопировался) и у клиента упало.&lt;br /&gt;
1.1) как защититься от "исправлений" сторонних утилит AWS, которые неявные и внезапно ломают поведение в тот момент, когда меньше всего ожидаешь подвох?&lt;br /&gt;
&lt;br /&gt;
2) релизить сразу в реальный прод (в ньчные часы, например) и там тестировать реально то, что попадает к клиенту.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.1) Какие способы отдавать разным клиентам разную версию веб интерфейса так, чтобы закладки не ломались?&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Fri, 23 Feb 2024 04:58:40 GMT</pubDate>
		
			<author>Артём &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>2</slash:comments>
		
	</item>

	<item>
		<title>[fyi] Интересная схема-гифка для типов тесов.</title>
		<link>http://rsdn.org/Forum/apptesting/8623723.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8623723</guid>
		<comments>http://rsdn.org/Forum/apptesting/8623723</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8623723</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8623723</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8623723</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Здравствуйте.&lt;br /&gt;
&lt;br /&gt;
Прикольная гифка с типами тестов и соотв. решениями от вендоров:&lt;br /&gt;
&lt;table style="margin-top:5px;margin-bottom:5px" cellpadding="0" cellspacing="0"&gt; 	&lt;tbody onclick="toggleExpand(this)" style="cursor:pointer"&gt; 		&lt;tr&gt; 			&lt;td style="width:10px" class="hidden_Plus"&gt;				&amp;nbsp;			&lt;/td&gt;			&lt;td style="font-weight:bold;padding-left:2px;font-family:Verdana,Arial;font-size:9pt;"&gt;								большая картинка			&lt;/td&gt; 		&lt;/tr&gt; 	&lt;/tbody&gt; 	&lt;tbody style="display:none"&gt; 		&lt;tr&gt;			&lt;td style="background-image:url(//rsdn.org/Forum/images/line.gif);background-repeat:repeat-y;background-position:center"&gt;							&lt;/td&gt;			&lt;td style="padding-left:3px;font-family:Verdana,Arial;font-size:8pt"&gt;&lt;img border='0' src='https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd18e5226-8335-4455-909d-5a6ef98747a6_1280x1664.gif?utm_source=substack&amp;amp;utm_medium=email' /&gt;&lt;/td&gt; 		&lt;/tr&gt; 		&lt;tr&gt;			&lt;td style="height:1px;background-image:url(//rsdn.org/Forum/images/corner.gif);background-repeat:no-repeat;background-position:center"&gt;							&lt;/td&gt;			&lt;td&gt;&lt;/td&gt;		&lt;/tr&gt;	&lt;/tbody&gt; &lt;/table&gt; &lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Mon, 23 Oct 2023 17:41:03 GMT</pubDate>
		
			<author>Sharov &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>3</slash:comments>
		
	</item>

	<item>
		<title>Как измерить пиковую нагрузку на API?</title>
		<link>http://rsdn.org/Forum/apptesting/8590416.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8590416</guid>
		<comments>http://rsdn.org/Forum/apptesting/8590416</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8590416</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8590416</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8590416</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Изначальная проблема которую я пытаюсь решить: переезжаем на новый сервис. Хотим проверить, что новый сервис держит пиковую нагрузку, которую держал старый.&lt;br /&gt;
&lt;br /&gt;
В данный момент я пытаюсь измерить пиковую нагрузку, что бы описать её. Метрика нужна что бы&lt;br /&gt;
1. передать её в команду поддержки API, возможно они сразу скажут что она слишком высока и сервис не выдержит&lt;br /&gt;
2. попытатся повторить её (например jmeter-ом)&lt;br /&gt;
&lt;br /&gt;
Есть логи в которых логируется окончание запроса и его длительность.&lt;br /&gt;
Пытаюсь вычислить rpm (requests per minute), но не получается. Чем меньше интервал я беру в регионе спайка, тем выше получаются значения RPM.&lt;br /&gt;
&lt;br /&gt;
Приведу пример, чтоб было понятнее. Пусть у нас есть 1 запрос в течении часа. Какая нагрузка? RPM = 1/60 = 0.0167&lt;br /&gt;
Ок, начинаем проверять интервалы размером в 1ms. Все будут с RPM=0 кроме одного, у которого RPM=1*60*1000 = 60000.&lt;br /&gt;
&lt;br /&gt;
Как выбрать интервал? Может нужна какая-то другая метрика?&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Wed, 30 Aug 2023 05:44:52 GMT</pubDate>
		
			<author>Sergey J. A. &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>17</slash:comments>
		
	</item>

	<item>
		<title>Z-нотация и её применение</title>
		<link>http://rsdn.org/Forum/apptesting/8545850.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8545850</guid>
		<comments>http://rsdn.org/Forum/apptesting/8545850</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8545850</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8545850</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8545850</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Вот существует структура "&lt;a class="m" href="https://panorama.pub/8535-izobretatel-pokayalsya.html" target="_blank"&gt;красно-чёрное&lt;/a&gt; дерево". Говорят, что её надо программировать аккуратно, чтобы не допустить ошибок.&lt;br /&gt;
Было бы логично описать требования к ней в виде Z-нотации и уметь формально доказывать корректность реализации, логично?&lt;br /&gt;
Ну я пошел в phind.com и спросил у черного моря &amp;mdash; есть ли такая спецификация. Долго кричал, ничего не ответила мне золотая рыбка...&lt;br /&gt;
&lt;br /&gt;
Оно сваяло мне такой код:&lt;br /&gt;
&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;[RBTree]
  parent: RBNode
  child: RBNode * 2
  color: {Red, Black}
  key: int
  root: RBNode

[RBNode]
  parent: RBNode
  child: RBNode * 2
  color: {Red, Black}
  key: int

[RBTreeOperations]
  insert: RBNode * int -&amp;gt; RBTree
  delete: RBNode * RBTree -&amp;gt; RBTree
  search: RBNode * RBTree -&amp;gt; bool

[RBTreeConstraints]
  - Every node is either red or black.
  - The root node is always black.
  - All leaves (NIL) are black.
  - If a node is red, both its children are black.
  - Every path from a node to its descendant leaves contains the same number of black nodes.

[insert]
  - Inserts a new RBNode with the given key into the RBTree.
  - Maintains the Red-Black Tree properties by performing necessary rotations and color adjustments.
  - Returns the updated RBTree.

[delete]
  - Removes the specified RBNode from the RBTree.
  - Ensures that the Red-Black Tree properties are preserved after the deletion operation.
  - Performs rotations and color adjustments as needed.
  - Returns the updated RBTree.

[search]
  - Checks if the RBTree contains a node with the given key.
  - Traverses the RBTree, comparing the key with the keys of the nodes.
  - Returns true if a node with the key is found, false otherwise.

[RBTreeConstraints]
  - Specifies the constraints that must be satisfied by the RBTree.
  - Ensures that the tree remains balanced and maintains the desired properties.
  - Specifies the color of the nodes, the root node, and the relationship between parent and child nodes.&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
1) чем это в принципе отличается от какого-либо другого кода, записанного в другом синтаксисе?&lt;br /&gt;
2) что теперь с ним дальше делать?&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Tue, 20 Jun 2023 01:54:05 GMT</pubDate>
		
			<author>Эйнсток Файр &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>1</slash:comments>
		
	</item>

	<item>
		<title>Как тестировать серверные сервисные приложения?</title>
		<link>http://rsdn.org/Forum/apptesting/8426271.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8426271</guid>
		<comments>http://rsdn.org/Forum/apptesting/8426271</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8426271</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8426271</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8426271</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Имеется приложение. При старте запускает веб-сервер. Для работы использует СУБД. Принимает некие HTTP запросы с JSON телами и отвечает так же. Также само запрашивает некоторые другие сервисы по HTTP. Также в будущем будет работать с Rabbit MQ.&lt;br /&gt;
&lt;br /&gt;
Хочется понять, как такое приложение тестировать на верхнем уровне.&lt;br /&gt;
&lt;br /&gt;
Сейчас это делается юнит-тестами. Запускается несколько мок-серверов, запускается при старте теста БД, в эту БД код кладёт начальные данные, вызывает нужные эндпоинты, в конце проверяет, вызывались ли нужные эндпоинты у мок-серверов, проверяет, изменились ли данные в БД.&lt;br /&gt;
&lt;br /&gt;
Проблема в том, что эти тесты очень муторно писать. Разработчики их писать ленятся, не-разработчики таким скиллом не обладают по-большому счёту.&lt;br /&gt;
&lt;br /&gt;
Задача мне кажется типовой и достаточно универсальной. Но не очень понимаю, как гуглить.&lt;br /&gt;
&lt;br /&gt;
По сути нужен инструмент, в котором во-первых будет хороший UI для тестера для редактирования тестовых сценариев. Тестовый сценарий включает в себя подготовку окружения (данные для БД, настройка мок-серверов), вызов нужного эндпоинта в тестируемом сервисе и, собственно, проверку предположений (база поменялась, мок-серверы вызывались). Во-вторых сохранение этих сценариев в файлах и вызов какого-то консольного приложения для их запуска (чтобы настроить автоматический прогон этих тестов).&lt;br /&gt;
&lt;br /&gt;
Пока вижу два подхода:&lt;br /&gt;
&lt;br /&gt;
1. Собрать свой велосипед из полу-готовых инструментов. К примеру реализовать вставку в БД/верификацию по XLSX и готовить данные в экселе. Для мока использовать что-то вроде wiremock, у него там есть свои конфиги. В итоге тестировщик будет в кучке файлов возиться.&lt;br /&gt;
&lt;br /&gt;
2. Сделать всё через Postman. Я им сам не пользовался, могу ошибаться, но вроде там есть возможность написания тестовых сценариев. При этом для работы с БД параллельно запустить второй сервис, который даёт универсальный HTTP-интерфейс для базы и подготавливать/проверять данные в Postman вызывая этот сервис.&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Mon, 12 Dec 2022 02:09:57 GMT</pubDate>
		
			<author>vsb &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>44</slash:comments>
		
	</item>

	<item>
		<title>Книжка по юнит-тестированию 2021 года</title>
		<link>http://rsdn.org/Forum/apptesting/8399222.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8399222</guid>
		<comments>http://rsdn.org/Forum/apptesting/8399222</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8399222</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8399222</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8399222</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Издательство Питер.&lt;br /&gt;
Владимир Хориков. Принципы юнит- тестирования. &lt;br /&gt;
А издательстве осталась только электронная версия: &lt;a class="m" href="https://www.piter.com/product_by_id/212580594" target="_blank"&gt;https://www.piter.com/product_by_id/212580594&lt;/a&gt;&lt;br /&gt;
Там есть оглавление.&lt;br /&gt;
&lt;br /&gt;
В лабиринте: &lt;a class="m" href="https://www.labirint.ru/books/777259/" target="_blank"&gt;https://www.labirint.ru/books/777259/&lt;/a&gt;&lt;br /&gt;
Аннотация&lt;br /&gt;
Юнит-тестирование — это процесс проверки отдельных модулей программы на корректность работы. Правильный подход к тестированию позволит максимизировать качество и скорость разработки проекта. Некачественные тесты, наоборот, могут нанести вред: нарушить работоспособность кода, увеличить количество ошибок, растянуть сроки и затраты. Грамотное внедрение юнит-тестирования — хорошее решение для развития проекта.Научитесь разрабатывать тесты профессионального уровня, без ошибок автоматизировать процессы тестирования, а также интегрировать тестирование в жизненный цикл приложения. Со временем вы овладеете особым чутьем, присущим специалистам по тестированию. Как ни удивительно, практика написания хороших тестов способствует созданию более качественного кода.В этой книге:- Универсальные рекомендации по оценке тестов.- Тестирование для выявления и исключения антипаттернов.- Рефакторинг тестов вместе с рабочим кодом.- Использование интеграционных тестов для проверки всей системы.&lt;br /&gt;
&lt;br /&gt;
Это к вопросу об отсутствии книг по юнит-тестированию&lt;br /&gt;
&lt;br /&gt;
От себя добавлю, что книга хорошая. &lt;br /&gt;
Там азы особо не разжевываются, а рассматриваются вопросы более высокого уровня. &lt;br /&gt;
Например, я узнал, что существует две школы юнит-тестироования: классическая и лондонская. &lt;br /&gt;
Описано 3 стиля юнит-тестирования. Есть и о покрытии кода тестами. &lt;br /&gt;
Про рефакторинг тестов и антипаттерны юнит-тестирования. &lt;br /&gt;
И еще про интеграционное тестирование тоже прилично написано. &lt;br /&gt;
В общем, книжка мне понравилась.&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Tue, 01 Nov 2022 09:23:24 GMT</pubDate>
		
			<author>LaptevVV &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>0</slash:comments>
		
	</item>

	<item>
		<title>Новые книги по тестированию от из-ва Питер</title>
		<link>http://rsdn.org/Forum/apptesting/8398186.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8398186</guid>
		<comments>http://rsdn.org/Forum/apptesting/8398186</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8398186</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8398186</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8398186</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;1. Тестирование javascript &lt;br /&gt;
&lt;a class="m" href="https://www.piter.com/collection/kompyutery-i-internet/product/testirovanie-javascript" target="_blank"&gt;https://www.piter.com/collection/kompyutery-i-internet/product/testirovanie-javascript&lt;/a&gt;&lt;br /&gt;
Оглавление&lt;br /&gt;
&lt;a class="m" href="https://www.piter.com/collection/kompyutery-i-internet/product/testirovanie-javascript#Oglavlenie-1" target="_blank"&gt;https://www.piter.com/collection/kompyutery-i-internet/product/testirovanie-javascript#Oglavlenie-1&lt;/a&gt;&lt;br /&gt;
Аннотация с Лабиринта&lt;br /&gt;
Автоматизированное тестирование &amp;mdash; залог стабильной разработки качественных приложений. Полноценное тестирование должно охватывать отдельные функции, проверять интеграцию разных частей вашего кода и обеспечивать корректность с точки зрения пользователя. Книга научит вас быстро и уверенно создавать надежное программное обеспечение. Вы узнаете, как реализовать план автоматизированного тестирования для JavaScript-приложений. В издании описываются стратегии тестирования, обсуждаются полезные инструменты и библиотеки, а также объясняется, как развивать культуру, ориентированную на качество. Вы исследуете подходы к тестированию как серверных, так и клиентских приложений, а также научитесь проверять свое программное обеспечение быстрее и надежнее.&lt;br /&gt;
&lt;a class="m" href="https://www.labirint.ru/books/900473/" target="_blank"&gt;https://www.labirint.ru/books/900473/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
2. Эффективное тестирование программного обеспечения.&lt;br /&gt;
На сайте Питера она куда-то пропала.&lt;br /&gt;
В Лабиринте: &lt;a class="m" href="https://www.labirint.ru/books/896017/" target="_blank"&gt;https://www.labirint.ru/books/896017/&lt;/a&gt;&lt;br /&gt;
Аннотация&lt;br /&gt;
"Идеально подходит для обучения следующего поколения разработчиков приемам эффективного тестирования программного обеспечения".&lt;br /&gt;
Доктор Ари Ван Дерсен, профессор Делфтского технологического университета&lt;br /&gt;
&lt;br /&gt;
Для инженеров-программистов тестирование является ключевой частью процесса разработки. Владение тестированием на основе спецификаций, граничным и структурным тестированием, а также другими ключевыми стратегиями необходимо для разработки хороших тестов и выявления ошибок до того, как они попадут в промышленное окружение. Данная книга познакомит вас с различными видами тестирования, сосредоточенными как на отдельных модулях, так и на целых компонентах. Вы узнаете, как писать легко тестируемый прикладной код и простые в сопровождении тесты. Предлагая тщательный систематический подход, книга включает образцы исходного кода с комментариями, реалистичные сценарии и обоснованные объяснения.&lt;br /&gt;
&lt;br /&gt;
Примеры на основе Java иллюстрируют концепции, которые можно использовать для тестирования ПО на любом объектно-ориентированном языке.&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Tue, 01 Nov 2022 04:56:05 GMT</pubDate>
		
			<author>LaptevVV &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>3</slash:comments>
		
	</item>

	<item>
		<title>Прошла мода на такие книжки (по Unit-тестированию)</title>
		<link>http://rsdn.org/Forum/apptesting/8398096.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8398096</guid>
		<comments>http://rsdn.org/Forum/apptesting/8398096</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8398096</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8398096</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8398096</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;&lt;a class=" tips m" href="https://rsdn.org/forum/dotnet/8398089.1" rel="#QGRwEG" target="_blank" title="NUnit &amp;mdash; живой, или умер?"&gt;https://rsdn.org/forum/dotnet/8398089.1&lt;div class="tooltip" id="QGRwEG"&gt;Автор: rosencrantz&lt;br /&gt;Дата: 31.10.22&lt;/div&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
За 15 лет стопудово был какой-либо прогресс или в методах, или в используемых инструментах.&lt;br /&gt;
Если область деятельности реально существует, то опыт в ней накапливается,&lt;br /&gt;
особенно в мировом масштабе.&lt;br /&gt;
&lt;br /&gt;
Если "мода прошла", то получается, что это вообще в принципе было&lt;br /&gt;
неприменимое на практике (экономически невыгодное, крайне нишевое) направление деятельности?&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Mon, 31 Oct 2022 19:27:58 GMT</pubDate>
		
			<author>Эйнсток Файр &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>10</slash:comments>
		
	</item>

	<item>
		<title>Как понять почему тесты не отрабатывают?</title>
		<link>http://rsdn.org/Forum/apptesting/8309706.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8309706</guid>
		<comments>http://rsdn.org/Forum/apptesting/8309706</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8309706</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8309706</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8309706</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Есть такой нехитрый код в контроллере &lt;br /&gt;
&lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;&lt;span class='kw'&gt;public class&lt;/span&gt; CarController : CarControllerBase
{
        &lt;span class='kw'&gt;private readonly&lt;/span&gt; IFeatureGetCarById _featureGetCarById;       

        &lt;span class='kw'&gt;public&lt;/span&gt; CarController (IFeatureGetCarById featureGetCarById)
        {
            _featureGetCarById= featureGetCarById;
        }

   &lt;span class='kw'&gt;public&lt;/span&gt; async Task&amp;lt;IActionResult&amp;gt; GetCarById(
            CancellationToken cancellationToken,
            [Required] Guid carId,
            &lt;span class='kw'&gt;int&lt;/span&gt;? version,
            [FromServices] IFeatureGetCarById featureGetCarById)
{
    &lt;span class='kw'&gt;return&lt;/span&gt; version.HasValue ? 
                Ok(await featureGetCarById.GetCarByIdForVersion(carId, version.Value, cancellationToken)) : 
                Ok(await featureGetCarById.GetCarByIdAsync(carId, cancellationToken));
}&lt;/code&gt;&lt;/pre&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
и есть такой код в тесте.&lt;br /&gt;
Тест заходит в метод контроллера GetCarById но внутрь GetCarByIdForVersion или GetCarByIdAsync уже не заходит.&lt;br /&gt;
В ошибку не падает,возвращает просто null и 200&lt;br /&gt;
Как понять в чем проблема?&lt;br /&gt;
Есть подозрение что надо мокать еще внутри сервиса FeatureGetCarById что в конструктор инжектится. &lt;br /&gt;
А там среди прочих сервисов инжектится еще и DbContext.&lt;br /&gt;
&lt;br /&gt;
        &lt;br /&gt;
&lt;pre class='c'&gt;&lt;code&gt;    &lt;span class='kw'&gt;var&lt;/span&gt; mockIFeatureGetCarById  = &lt;span class='kw'&gt;new&lt;/span&gt; Mock&amp;lt;IFeatureGetCarById&amp;gt;();            
            
            CancellationToken cancellationToken = &lt;span class='kw'&gt;new&lt;/span&gt; CancellationToken();
            Guid carId = &lt;span class='kw'&gt;new&lt;/span&gt; Guid(&lt;span class='str'&gt;"1018917A-FDF1-EC11-A07B-A4C3F063C82D"&lt;/span&gt;);
            &lt;span class='kw'&gt;int&lt;/span&gt; version = 2;

            mockFeatureGetCarById.Setup(feature =&amp;gt; feature.GetCarByIdForVersion(carId, version, cancellationToken));
            mockFeatureGetCarById.Setup(feature =&amp;gt; feature.GetCarByIdAsync(carId, cancellationToken));

            
            &lt;span class='kw'&gt;var&lt;/span&gt; carController = &lt;span class='kw'&gt;new&lt;/span&gt; CarController(mockIFeatureGetCarById.Object);
            
            &lt;span class='kw'&gt;var&lt;/span&gt; result = await carController.GetCarById(cancellationToken, carId , version, mockIFeatureGetCarById.Object);&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Wed, 06 Jul 2022 14:18:59 GMT</pubDate>
		
			<author>peer &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>1</slash:comments>
		
	</item>

	<item>
		<title>Вот как могло такое получиться?</title>
		<link>http://rsdn.org/Forum/apptesting/8287826.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8287826</guid>
		<comments>http://rsdn.org/Forum/apptesting/8287826</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8287826</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8287826</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8287826</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Сделал бэкап небольшого (128 Гб) SSD стандартным семерочным бэкапером. Отформатировал диск, восстановил обратно. Обнаружил, что восстановились почти все файлы, но в установочных каталогах нескольких приложений (2GIS, Visual Studio, MSDN, VMware Workstation, VirtualBox) не хватает где по десятку, а где по паре сотен файлов. А каталоги все на месте &amp;mdash; в одних есть часть файлов, другие пусты.&lt;br /&gt;
&lt;br /&gt;
Полез изучать бэкап &amp;mdash; в нем этих файлов нет, как нет и в каталоге (GlobalCatalog.wbcat).&lt;br /&gt;
&lt;br /&gt;
Полез в сеть читать про жалобы на виндовый бэкапер &amp;mdash; не нашел ни одной. Наоборот, нашел множество статей типа "how to make a drive backup with Windows 7 Backup and Restore Utility".&lt;br /&gt;
&lt;br /&gt;
Вот как так, а? Его ж как-то тестировали, и миллионы пользователей им пользовались, а кто-то пользуется и до сих пор. Как он мог сделать формально валидный бэкап, не положив туда множества файлов из разных каталогов, и чтоб такое не вылезало сколько-нибудь систематически у разных пользователей?&lt;br /&gt;
&lt;br /&gt;
Как вообще можно родить код, в котором такой глюк возможен случайно? &lt;img border='0' width='15' height='22' src='//rsdn.org/Forum/images/confused.gif' /&gt;&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Tue, 31 May 2022 17:04:30 GMT</pubDate>
		
			<author>Евгений Музыченко &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>7</slash:comments>
		
	</item>

	<item>
		<title>Автоматизация создания тестов для Selenium / C#</title>
		<link>http://rsdn.org/Forum/apptesting/8156056.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8156056</guid>
		<comments>http://rsdn.org/Forum/apptesting/8156056</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8156056</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8156056</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8156056</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Всем привет,&lt;br /&gt;
&lt;br /&gt;
Тестирую сайт с помощью Selenium WebDriver / C#. Хотелось бы создавать "скелет" теста, просто накликав его в браузере (тест потом будет модифицироваться вручную). Есть ли какое-то расширение для Visual Studio, чтобы можно было запустить браузер, покликать там, и в итоге получить код на C#, который делает все то же самое?&lt;br /&gt;
&lt;br /&gt;
Спасибо.&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Thu, 16 Dec 2021 15:56:53 GMT</pubDate>
		
			<author>Unhandled_Exception &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>2</slash:comments>
		
	</item>

	<item>
		<title>Тестовый http файл сервер</title>
		<link>http://rsdn.org/Forum/apptesting/8155381.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8155381</guid>
		<comments>http://rsdn.org/Forum/apptesting/8155381</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8155381</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8155381</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8155381</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Мне надо протестировать http клиента, который умеет докачивать данные по url после разрыва сервером соединения.&lt;br /&gt;
&lt;br /&gt;
Есть ли такой несложный http файл сервер, который можно настроить так чтобы он обрывал соединение, если оно превышает лимит по времени? Желательно под windows. Должен поддерживать докачку (выдавал в ответе заголовок Accept-Ranges). Я уверен, что nginx такое умеет, но как его настроить так &amp;mdash; я не знаю и не хочется ради тестирования убиваться разбираясь в его настройках.&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Wed, 15 Dec 2021 17:46:55 GMT</pubDate>
		
			<author>alsemm &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>3</slash:comments>
		
	</item>

	<item>
		<title>Юнит-тесты многопоточки</title>
		<link>http://rsdn.org/Forum/apptesting/8126638.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8126638</guid>
		<comments>http://rsdn.org/Forum/apptesting/8126638</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8126638</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8126638</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8126638</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;На собеседовании была задача. &lt;br /&gt;
C#.&lt;br /&gt;
В 3 разных потока будет передан один объект. В нем есть 3 метода. RunFirst, RunSecond, RunThird.&lt;br /&gt;
Нужно сделать так, что бы методы могли быть вызваны только по очереди. Хотя потоки могут вызывать их как угодно.&lt;br /&gt;
Ну сам класс то я реализовал через lock.&lt;br /&gt;
&lt;br /&gt;
А потом меня попросили написать юнит-тест на это.&lt;br /&gt;
&lt;br /&gt;
Как такое тестировать? Реально стартовать потоки в тесте? Но где гарантия, что потоки случайно не вызовут методы в нужном порядке.&lt;br /&gt;
Да и что проверять в тесте?&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Sun, 07 Nov 2021 14:37:48 GMT</pubDate>
		
			<author>BlackEric &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>52</slash:comments>
		
	</item>

	<item>
		<title>Тестирование middleware</title>
		<link>http://rsdn.org/Forum/apptesting/8114714.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8114714</guid>
		<comments>http://rsdn.org/Forum/apptesting/8114714</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8114714</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8114714</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8114714</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Прошу прощения, если неправильно применяю второе слово, но по-другому не знаю, как описать код, с которым я работаю по работе в данный момент. Суть его в том, что дёргаются разные микросервисы, переливаются данные из &lt;s&gt;пустого&lt;/s&gt; JSON в &lt;s&gt;порожнее&lt;/s&gt; Thrift и обратно. Как тестировать такой код, когда не существует заглушек или тривиальных реализаций для зависимостей? В данный момент 99% тестов это mocking API сервисов, к которым обращается тестируемый код, с последующей проверкой того, что функция была вызвана. По-мойму, это не просто пустая трата времени, а небольшая диверсия, потому что всем кажется, что код покрыт тестами, а на деле ничего не покрыто, и ломается на раз-два (происходит постоянно). Лет 8 назад я работал на похожем проекте, но там всё было на JavaEE с инверсией зависимостей и обязательным написанием stub или no-op реализации для каждого интерфейса.&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Mon, 18 Oct 2021 11:29:19 GMT</pubDate>
		
			<author>cppguard &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>5</slash:comments>
		
	</item>

	<item>
		<title>Юнит тесты для планов выполнения запросов</title>
		<link>http://rsdn.org/Forum/apptesting/8052390.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8052390</guid>
		<comments>http://rsdn.org/Forum/apptesting/8052390</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8052390</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8052390</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8052390</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Есть некий API доступа к данным, позволяющий указывать критерии фильтрации (по любому из N полей, по нескольким полям через and/or), сортировку (по любому из N полей) и паджинацию. По запросам к этом API строятся ORM-запросы (Java, Criteria builder), которые потом идут в Mysql. Запросы, конечно, получаются очень разными, а уж планы выполнения &amp;mdash; так ещё разнее. Хочется чтобы любой запрос отрабатывал за 1 секунду при 10 параллельных юзерах. О тормозах мы часто узнаём от внешних потребителей. Показывают что они как хотят отфильтровать, мы воспроизводим, смотрим план, придумываем как сделать быстрее. Например индекс добавляем. Хочется придумать как отлавливать наибольшее число тормозных запросов как можно раньше &amp;mdash; до того, как внешние потребители с этим столкнутся.&lt;br /&gt;
&lt;br /&gt;
У нас есть ежедневные перформанс тесты, которые проверяют какие-то сочетания каких-то параметров и от них есть выхлоп, но все возможные сочетания проверять конечно не получится &amp;mdash; тупо очень много времени займёт, если каждую конфигурацию мучать хотя бы по 15 секунд.&lt;br /&gt;
&lt;br /&gt;
Приходит в голову написать "юнит тесты", которые бы проверяли как выглядит план выполнения запроса для каждой возможной конфигурации параметров, и убеждались бы, что там точно нигде никогда нет full scan например. Будут такие тесты иметь смысл? Как бы вы подошли к проблеме?&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Thu, 15 Jul 2021 19:25:56 GMT</pubDate>
		
			<author>rosencrantz &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>18</slash:comments>
		
	</item>

	<item>
		<title>Подделка юнит тестов, пригорело</title>
		<link>http://rsdn.org/Forum/apptesting/8034350.1</link>
		<guid isPermaLink="true">http://rsdn.org/Forum/apptesting/8034350</guid>
		<comments>http://rsdn.org/Forum/apptesting/8034350</comments>
		<wfw:comment>http://rsdn.org/Forum/PostRssComment.aspx?mid=8034350</wfw:comment>
		<wfw:commentRss>http://rsdn.org/Forum/RSS/8034350</wfw:commentRss>
		<trackback:ping>http://rsdn.org/Forum/Trackback.aspx?mid=8034350</trackback:ping>
		<description>
			
					&lt;div style="@import url(http://rsdn.org/Forum/Forum.css);"&gt;Как относитесь к такой практике юнит тестов:&lt;br /&gt;
&lt;br /&gt;
1) ожидаем (подписываемся) какой-то event (в общей куче), как критерий прохождения теста.&lt;br /&gt;
2) вызываем функцию, которую т.н. "тестируем", которая вроде бы должна отправить тот event.&lt;br /&gt;
3) контрольный выстрел- &lt;b&gt;из теста&lt;/b&gt; отправляем event, ожидаемый в (1).&lt;br /&gt;
&lt;br /&gt;
Тест &lt;b&gt;всегда&lt;/b&gt; проходит, похрен что "тестируемая" функция совсем иначе себя ведёт. И вот этому тесту был посвещен целый тикет в жыре.&lt;br /&gt;
&lt;br /&gt;
Пригорело. Опять.&lt;/div&gt;
				
		</description>
		
		<category>apptesting</category>
		<pubDate>Tue, 22 Jun 2021 00:38:40 GMT</pubDate>
		
			<author>Тёмчик &lt;forum@rsdn.org&gt;</author>
		
		
			<slash:comments>72</slash:comments>
		
	</item>
</channel>
</rss>
