<?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>IT Образование &#8211; Review</title>
	<atom:link href="https://re-view.pt/it-obrazovanie/feed/" rel="self" type="application/rss+xml" />
	<link>https://re-view.pt</link>
	<description>Real Estate Management</description>
	<lastBuildDate>Thu, 23 Mar 2023 11:09:10 +0000</lastBuildDate>
	<language>pt-PT</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.4.18</generator>
	<item>
		<title>ASP NET Core Введение в юнит-тесты</title>
		<link>https://re-view.pt/it-obrazovanie/asp-net-core-vvedenie-v-junit-testy/</link>
					<comments>https://re-view.pt/it-obrazovanie/asp-net-core-vvedenie-v-junit-testy/#respond</comments>
		
		<dc:creator><![CDATA[António Mota]]></dc:creator>
		<pubDate>Tue, 29 Mar 2022 03:00:44 +0000</pubDate>
				<category><![CDATA[IT Образование]]></category>
		<guid isPermaLink="false">https://re-view.pt/?p=117231</guid>

					<description><![CDATA[<p>СодержаниеРабота с унаследованным кодомТестируемая архитектураРегрессионное тестированиеUnit Tests: практическое применениеОшибки интеграции и производительности[править | править код]Выберите логическое расположение тестов в вашей VCS Есть несколько основных сценариев, при которых стоит писать Unit тесты. Позволяет снизить количество тест-кейсов для юнита. В среднем на юнит должно приходиться от 1 до 9 тест-кейсов. Это очень хороший индикатор качества юнита - [...]</p>
<p>O conteúdo <a rel="nofollow" href="https://re-view.pt/it-obrazovanie/asp-net-core-vvedenie-v-junit-testy/">ASP NET Core Введение в юнит-тесты</a> aparece primeiro em <a rel="nofollow" href="https://re-view.pt">Review</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div id="toc" style="background: #f9f9f9;border: 1px solid #aaa;display: table;margin-bottom: 1em;padding: 1em;width: 350px;">
<p class="toctitle" style="font-weight: 700;text-align: center;">Содержание</p>
<ul class="toc_list">
<li><a href="#toc-0">Работа с унаследованным кодом</a></li>
<li><a href="#toc-1">Тестируемая архитектура</a></li>
<li><a href="#toc-2">Регрессионное тестирование</a></li>
<li><a href="#toc-3">Unit Tests: практическое применение</a></li>
<li><a href="#toc-4">Ошибки интеграции и производительности[править | править код]</a></li>
<li><a href="#toc-5">Выберите логическое расположение тестов в вашей VCS</a></li>
</ul>
</div>
<p>Есть несколько основных сценариев, при которых стоит писать Unit тесты. Позволяет снизить количество тест-кейсов для юнита. В среднем на юнит должно приходиться от 1 до 9 тест-кейсов. Это очень хороший индикатор качества юнита &#8211; если тест-кейсов больше или хочется их сгруппировать, нам точно нужно разделить его на два и больше независимых юнитов. Данные подход позволяет небольшими шагами реализовывать решение сложным бизнес-требованиям, оставаясь все время сфокусированным только на нужном функционале и избегать over engineering.</p>
<p><img class='aligncenter' style='display: block;margin-left:auto;margin-right:auto;' src="data:image/jpeg;base64,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rwocZFJ1+R1bZYalsJQhIGUdlA9FA5qOpJJMkmSSZJJNDrI3TpvUr3T9w+6uUE+VHiYEBmw7z1VxJ8f9Krx/GfxPSGrEQZMNXGu/fN0efCK6LHOdUYksDsiOxlBTPz1GEEdxKePvpicEmOHP2FR9pKuPzfCuZnfKMxE72rP538m/87/1HDcK1p8oXEP0Vl9W/und/rG7cPACpB1bZNbtI4xGoUdBHe2nsnujXSl7bPs3dwnVR3+irTw765Mb8pHER/I2O+Z6u49KIzf6zvjSeVbE+UviQ3M2IiY+SuNJ3x/pXHjQHWrbUnlPDWcqdyZ4Ge0FcRpwpQGtPf3Tw3apUB6q5FT5TeJfobDgI6q4jKNyf9a9Ecu+vZ8qDE/0Nh49VceP61r66A64QmIHPTQ5vURw51ru1Rr/AFhKREjsq793fXJbnlQYmYlmwMEH80/80yP/AJmtbnlNYkf5GxGs6N3A4QR/rW4jhUsgpCiiioJCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigCiiigP//Z" width="306px" alt="unit тестирование"/></p>
<p>Они зависят от количества и серьезности новых фич и дефектов у пользователей. Интеграционные не должны иметь внешних зависимостей — они проверяют только саму программу, а не базу. Кстати — прекрасный критерий что бы отсекать «23х летних синьоров». Если девелопер не понимает зачем юнит-тесты, то это значит что у него было мало практики или не повезло работать с нормальным кодом. Обычно, на тестах и прочих зрелых практиках разработки даже на этапе MVP настаивают не менеджеры, а тех.</p>
<h2 id="toc-0">Работа с унаследованным кодом</h2>
<p>По-этому вместо того, чтобы каждый раз разбираться имел ввиду что-то автор или нет — лучше один раз порефакторить эти тесты. Что можно — вынести на black-box или уровнями повыше. Что нельзя — то остается тут — но тогда уже понятно что это что-то очень низко уровненное. Часто (в моем контексте) тут остаются обработки каких-то исключительных ситуаций, которые муторно (если вообще возможно) воспроизвести более высокоуровневыми тестами. Не надо лепить из юнит тестов святой грааль и сербрянную пулю, и не надо ныть если они этого вдруг не делают. В таком тривиальном случае — можете, конечно.</p>
<p>Unit-тестирование (англ. unit testing) &#8211; это проверка корректности работы отдельных частей приложения в изолированной среде независимо друг от друга. Собственно, об этом я и хотел сказать, но вы сами сказали об этом в статье. Смысл от тестов  есть, когда у вас парочке программистов нечем заняться и их надо нагрузить работой, чтобы не бродили, как зомби, по офису, распугивая клиентов. Какой либо другой практической пользы от них, я не видал ни на малых проектах, ни на больших.</p>
<p>В результате, даже если не учитывать документацию, каждое конкретное место кода посещается 3 раза. В третий проход — он делает фичу поверх рефакторинга, в том <a href="https://deveducation.com/blog/chto-takoe-modulnoe-testirovanie-i-kak-ono-rabotaet/">модульное тестирование</a> же коде. Мне как раз помогал другой подход — не трогать код, пока это не нужно. Рефакторить только тогда, когда новая фича совсем не ложится на старый код.</p>
<h2 id="toc-1">Тестируемая архитектура</h2>
<p>Для получения выгоды от модульного тестирования требуется строго следовать технологии тестирования на всём протяжении процесса разработки программного обеспечения. Нужно хранить не только записи обо всех проведённых тестах, но и обо всех изменениях исходного кода во всех модулях. С этой целью следует использовать систему контроля версий ПО. Таким образом, если более поздняя версия ПО не проходит тест, который был успешно пройден ранее, будет несложным сверить варианты исходного кода и устранить ошибку.</p>
<p>Открываешь унаследованный проект — 80% покрыто тестами тобой описанными, никому кроме писателя не нужными и не полезными. Начинаешь с выкашивания нах большинства тестов — особенно тех что на моках взращены, покрываешь нормальными блек-бокс тестами на нужных уровнях — и можно начинать делать TDD. Вспоминаем другой принцип — Single Responsibility. Если им пользовались — то за стадии жизни жизни отвечает какой-нибудь один класс . Нужен другой порядок — пишем другую реализацию + юнит тесты и подставляем в DI контейнер. Все старое остается работать как раньше и не ломается.</p>
<ul>
<li>Процедура заключается в написании контрольных примеров для всех функций и методов, чтобы в случае, если изменение вызвало ошибку, его можно было быстро идентифицировать и исправить.</li>
<li>Жесткое ТДД когда сначала готовы все тесты а потом весь код вряд ли получится.</li>
<li>Заранее написанный тест можно использовать в дальнейшем в качестве проектной документации к программному продукту.</li>
<li>MockFtpServer — библиотека, которая предоставляет две разные реализации FTP-сервера («заглушка» и «обманка»), которые можно использовать для тестирования различных сценариев.</li>
<li>Например, у нас покрыто тестами 43 тысячи строк кода, а 10 тысяч — нет.</li>
<li>У нас больших (с серьезными изменениями) внешних релизов меньше, и сильно меняется код — думаю, не окупилось бы.</li>
</ul>
<p>Чтобы лучше понять юнит-тесты, изучите тестовые фреймворки вашего языка. А потом найдите крупные open-source-проекты, которые их используют, и посмотрите, как они работают. Можно даже скачать проект и поиграть с тестами, чтобы глубже погрузиться в тему. Сейчас в коммерческой разработке без тестов почти не работают — а в большинстве компаний от разработчиков даже требуют покрывать код юнит-тестами. Везде, где я работал в последние несколько лет, тоже было такое правило. Ведь если в команде кто-то факапит, то может развалиться вся работа — а тестирование как раз защищает от краха.</p>
<h2 id="toc-2">Регрессионное тестирование</h2>
<p>То ли я что-то существенное пропустил, то ли он так ничего полезного в плане истории и не сказал. Что ATDD более ранняя методика, из которой возникли TDD и BDD обострением подхода в определённых направлениях — было известно и ранее. В остальном доклад полезен только с целью учить английский на слух — ибо час тупой мути. Ну это если какой-то JavaScript, где нормальный поиск фиг найдёт все случаи monkeypatchingʼа объектов по живому в рантайме&#8230; Впрочем, они и так готовы каждый год переписывать с нуля на новый фреймворк, и у них эта проблема вообще минимизирована. Как когда-то определил Каганов (если он первый&#8230; раньше не слышал), есть экология чтения — не засорять голову тем, что или не понадобится, или вообще пойдёт во вред.</p>
<p><img class='aligncenter' style='display: block;margin-left:auto;margin-right:auto;' src="data:image/jpeg;base64,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" width="308px" alt="unit тестирование"/></p>
<p>Пользователь напишет в поддержку и скажет, что он делал, и покажет лог. Таких данных часто достаточно, чтобы найти и исправить причину. Если релизим каждую неделю, и пилим много мелких фич — автотесты очень хороши, чтобы сразу видеть, когда новая фича что-то поломала или изменила в неожиданном месте. Если код не меняется, то естественно TDD тут нету по определению, так как нету и девелопмента. TDD на уже существующем коде невозможен по определению. Возможны всякие еретические отклонения, но не канон.</p>
<h2 id="toc-3">Unit Tests: практическое применение</h2>
<p>Так юнит-тесты и не для выявления багов бизнес-логики. Для тестирования продакшина есть всякие другие тесты — которые тестируют именно конечный результат. А юнит тест как раз тестирует это «взять А или Б» и ничего больше. В отличии от простых юнит-тестов интеграционный уже придется менять при изменении любого из входящих в реализацию классов.</p>
<p>Если у вас нет денег на автотесты (которые, как известно, отбиваются в основном в долгоиграющих проектах), то толпа ручных тестировщиков – ваш вариант. Для компонентных тестов написать свой responsive mock — тоже хорошая идея! Проводится максимально просто по заранее составленному документу с пошаговыми инструкциями.</p>
<h2 id="toc-4">Ошибки интеграции и производительности[править | править код]</h2>
<p>Например, обновить используемую в проекте библиотеку до актуальной версии можно в любой момент, прогнав тесты и выявив несовместимости. Цель модульного тестирования состоит в том, чтобы выделить каждую значимую часть кода и проверить ее отдельно от других частей, чтобы любые ошибки или дефекты было легче найти и исправить. Это упрощает поддержку кода, добавление новых функций и рефакторинг кодовой базы. Во многих конторах и продукционный код выходит такой, что его можно сразу после мержа выкидывать, так это ж не говорит ничего о концепции в целом, только о руках, его написавших. Изменение интерфейсов совершенно не является областью ответственности unit-тестов и их устаревание в данном случае не просто не является проблемой, а даже желаемо.</p>
<p>Смотря что вы планируете с этим MVP делать. Если выбрасывать и переписывать всё с нуля, то, наверное, можно и без unit-тестирования. Но в итоге, без тестов постоянно происходили проколы. Причём, они сами это осознавали, когда посмотрели как мы быстро вносим нужные изменения и соответствуем спеке в остальных (неизменённых) частях <a href="https://deveducation.com/">https://deveducation.com/</a> — у них как раз с этим были большие проблемы. Поддрежка нескольких USB-устройств — это уже новая функциональность, а не рефакторинг, так что ничего удивительного, что какие-то тесты будут отваливаться. В общем — вспоминаю старую книжку по тестированию, где писали, что автоматизация начинает окупаться где-то после 6 релизов.</p>
<h2 id="toc-6">Тестирование кода доступа к данным</h2>
<p>Что дороже, чем  просто написать код, скомпилить, запустить, и оттестить. Юнит тесты — это когда мы с одной стороны дернули метод «входящий звонок» а с другой — словили сообщение «сделать звонок» с нужными параметрами. Тестируется один маленький кусочек интерфейса конкретного модуля. Рефакторинг существующей живой системы без более-менее вменяемых тестов — слабоумие и отвага. Ну либо полный регрешн-тестинг после окончания.</p>
<p>Если ты не ответишь «проще», нам просто не о чём разговаривать, потому что мы находимся в каких-то разных системах координат. Если эджайл и рядом продакт овнер, и деньги считают — тогда требования можно изменить так, чтобы их было легко заимплементить. Возможно, граница — в coupling между модулями и уровнями системы.</p>
<p>Модульные тесты имеют более узкую область применения, позволяют нам охватить все случаи и гарантировать, что каждый отдельно взятый участок работает безупречно. Такое тестирование довольно легко реализовать. Модульное тестирование — это метод тестирования программного обеспечения при котором создаются модули, то есть небольшие части приложения, поведение каждого из которых проверяется отдельно. Модульное тестирование выполняется на этапе разработки приложения.</p>
<p>O conteúdo <a rel="nofollow" href="https://re-view.pt/it-obrazovanie/asp-net-core-vvedenie-v-junit-testy/">ASP NET Core Введение в юнит-тесты</a> aparece primeiro em <a rel="nofollow" href="https://re-view.pt">Review</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://re-view.pt/it-obrazovanie/asp-net-core-vvedenie-v-junit-testy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
