<?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>Pruebas Archives - Software Evolutivo</title>
	<atom:link href="https://softwareevolutivo.com.ec/category/desarrollo-de-software/pruebas/feed/" rel="self" type="application/rss+xml" />
	<link>https://softwareevolutivo.com.ec/category/desarrollo-de-software/pruebas/</link>
	<description>Consultora de Software Empresarial</description>
	<lastBuildDate>Thu, 22 Feb 2024 16:12:01 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://softwareevolutivo.com.ec/wp-content/uploads/2024/03/cropped-Perfil-Redes-Iso-32x32.png</url>
	<title>Pruebas Archives - Software Evolutivo</title>
	<link>https://softwareevolutivo.com.ec/category/desarrollo-de-software/pruebas/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>SonarQube, código limpio y libre de errores, despreocúpate!</title>
		<link>https://softwareevolutivo.com.ec/sonarqube-codigo-limpio-y-libre-de-errores-despreocupate/</link>
					<comments>https://softwareevolutivo.com.ec/sonarqube-codigo-limpio-y-libre-de-errores-despreocupate/#respond</comments>
		
		<dc:creator><![CDATA[Johannes Caranqui]]></dc:creator>
		<pubDate>Mon, 16 Sep 2019 15:00:03 +0000</pubDate>
				<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[Pruebas]]></category>
		<category><![CDATA[Tecnología]]></category>
		<category><![CDATA[Tendencias]]></category>
		<category><![CDATA[Clean Code]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Sonar]]></category>
		<guid isPermaLink="false">https://softwareevolutivo.com.ec/?p=650</guid>

					<description><![CDATA[<p>¿Que es SonarQube? También conocido como “Sonar”, es una herramienta desarrollada en Java (de código abierto) para revisión de código, detección de errores y vulnerabilidades permitiendo al equipo de desarrollo gestionar, hacer seguimiento y mejorar la calidad de su código fuente.</p>
<p>The post <a href="https://softwareevolutivo.com.ec/sonarqube-codigo-limpio-y-libre-de-errores-despreocupate/">SonarQube, código limpio y libre de errores, despreocúpate!</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="650" class="elementor elementor-650">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-6c9333eb elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="6c9333eb" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-430c9740" data-id="430c9740" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-33455355 elementor-widget elementor-widget-text-editor" data-id="33455355" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p></p>
<div class="wp-block-image">
<figure class="aligncenter"><img decoding="async" src="https://softwareevolutivo.com.ec/wp-content/uploads/2019/09/image1-1.png" alt="" class="wp-image-651"></figure>
</div>
<p></p>
<p></p>
<p><strong>¿Que es SonarQube?</strong><br></p>
<p></p>
<p></p>
<p>También conocido como “Sonar”, es una herramienta desarrollada en Java (de código abierto) para revisión de código, detección de errores y vulnerabilidades permitiendo al equipo de desarrollo gestionar, hacer seguimiento y mejorar la calidad de su código fuente.<br></p>
<p></p>
<p></p>
<p>Se debe tener claro que NO solo funciona para Java, NO necesariamente necesita de Maven y se puede integrar con muchos de los más populares IDE’s.</p>
<p></p>
<p></p>
<blockquote style="text-align:center" class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p><em>¨Siempre escribe tu código como si la persona que va a terminar manteniéndolo fuera un psicópata violento que sabe donde vives</em>¨</p>
</blockquote>
<p></p>
<p></p>
<p><strong>¿Porque elegir Sonar?</strong></p>
<p></p>
<p></p>
<figure class="wp-block-image"><img decoding="async" src="https://softwareevolutivo.com.ec/wp-content/uploads/2019/09/image2-1.png" alt="" class="wp-image-653"></figure>
<p></p>
<p></p>
<p>No solo por ser eficiente al momento de escribir código, sino también porque las reglas de revisión son actualizadas constantemente por la comunidad. Existe más de 400 reglas sólo en Java, más de 200 reglas para Python, cantidades que aumentan con el pasar del tiempo.<br></p>
<p></p>
<p></p>
<p>Sonar además de ofrecer su propio motor de análisis estático permite integrarlo con otras herramientas como <strong>Checkstyle</strong>, <strong>PMD</strong> o <strong>FindBugs</strong>, el beneficio es que permite obtener de forma homogénea y agrupada todas las evidencias detectadas por éstas herramientas.</p>
<p></p>
<p></p>
<blockquote style="text-align:center" class="wp-block-quote is-layout-flow wp-block-quote-is-layout-flow">
<p>¨<em>Todo integrado en un único cuadro de mandos</em>¨</p>
</blockquote>
<p></p>
<p></p>
<p>La principal “desventaja” es el mantenimiento de código, al ser más costoso, también se invierte más tiempo, así como producir “falsos positivos”.<br></p>
<p></p>
<p></p>
<p><strong>¿Sonar modifica mi código?</strong><br></p>
<p></p>
<p></p>
<p>Claramente NO, Sonar nunca modifica una sola línea de código, lo que sí puede hacer es revisar el código comparándolo con ciertas convenciones mundiales de “Clean Code”.</p>
<p></p>
<p></p>
<p>Un aspecto importante es que NO solo nos indica en que linea se encuentra el potencial bug,&nbsp; warning sino que nos sugiere el “cómo” debería ser escrito nuestro código.<br></p>
<p></p>
<p></p>
<p><strong>Lenguajes soportados en Sonar</strong><br></p>
<p></p>
<p></p>
<p>Por defecto en la versión “Community” se puede analizar los lenguajes más populares de hoy en día, Java, C#, JavaScript, PHP, Python, COBOL, VB.NET, Objective-C, XML, entre otros.<br></p>
<p></p>
<p></p>
<p><strong>Mi primer análisis con SonarQube</strong><br></p>
<p></p>
<p></p>
<p>Sonar brinda la posibilidad de analizar nuestro proyecto en <a href="https://sonarcloud.io">https://sonarcloud.io</a> de manera gratuita hasta cierto número de líneas de código abierto, ingrese al link mencionado para revisar costos y beneficios.<br></p>
<p></p>
<p></p>
<p>Si eres usuario de VSCode, te encantará esta herramienta “Sonar Lint”, su repositorio oficial <a href="https://github.com/SonarSource/sonarlint-vscode">https://github.com/SonarSource/sonarlint-vscode</a><br></p>
<p></p>
<p></p>
<p>Todo el proceso de instalación y análisis se encuentra en&nbsp; <a href="https://www.sonarqube.org/">https://www.sonarqube.org/</a></p>
<p></p>
<p></p>
<p>Nuevas novedades, issues y eventos en <a href="https://blog.sonarsource.com/">https://blog.sonarsource.com/</a></p>
<p></p>
<p><br>
<!-- /wp:shortcode --></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a href="https://softwareevolutivo.com.ec/sonarqube-codigo-limpio-y-libre-de-errores-despreocupate/">SonarQube, código limpio y libre de errores, despreocúpate!</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://softwareevolutivo.com.ec/sonarqube-codigo-limpio-y-libre-de-errores-despreocupate/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Pruebas de Aceptación con BDD y Cucumber</title>
		<link>https://softwareevolutivo.com.ec/iniciando-con-las-pruebas-de-aceptacion/</link>
					<comments>https://softwareevolutivo.com.ec/iniciando-con-las-pruebas-de-aceptacion/#respond</comments>
		
		<dc:creator><![CDATA[Jorge Aguilar]]></dc:creator>
		<pubDate>Mon, 08 Jan 2018 15:31:35 +0000</pubDate>
				<category><![CDATA[Desarrollo de Software]]></category>
		<category><![CDATA[Pruebas]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[pruebas]]></category>
		<category><![CDATA[tdd]]></category>
		<guid isPermaLink="false">https://softwareevolutivo.com.ec/?p=312</guid>

					<description><![CDATA[<p>Pruebas de aceptación con BDD y Cucumber</p>
<p>En desarrollo de Software, la automatización de las pruebas es vital para garantizar la calidad del producto. Prácticas ágiles como Entrega Contínua la tienen con un pilar fundamental para obtener los beneficios esperados.</p>
<p>The post <a href="https://softwareevolutivo.com.ec/iniciando-con-las-pruebas-de-aceptacion/">Pruebas de Aceptación con BDD y Cucumber</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></description>
										<content:encoded><![CDATA[		<div data-elementor-type="wp-post" data-elementor-id="312" class="elementor elementor-312">
						<section class="elementor-section elementor-top-section elementor-element elementor-element-4725eaf3 elementor-section-boxed elementor-section-height-default elementor-section-height-default" data-id="4725eaf3" data-element_type="section" data-e-type="section">
						<div class="elementor-container elementor-column-gap-default">
					<div class="elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5246b389" data-id="5246b389" data-element_type="column" data-e-type="column">
			<div class="elementor-widget-wrap elementor-element-populated">
						<div class="elementor-element elementor-element-503af505 elementor-widget elementor-widget-text-editor" data-id="503af505" data-element_type="widget" data-e-type="widget" data-widget_type="text-editor.default">
				<div class="elementor-widget-container">
									<p><span style="text-align: left;">En desarrollo de Software, la automatización de las pruebas es vital para garantizar la calidad del producto. Prácticas ágiles como&nbsp;</span><a href="https://en.wikipedia.org/wiki/Continuous_delivery" target="_blank">Entrega Contínua</a><span style="text-align: left;">&nbsp;la tienen con un pilar fundamental para obtener los beneficios esperados. Y es que al desarrollar pruebas junto con el código de la implementación, estamos promoviendo a que los errores sean identificados en etapas tempranas en el ciclo de vida del desarrollo de Software, reduciendo así los costos que representaría identificar estos mismos errores ya cuando el Software esté operativo.</span></p>
<p>Para las organizaciones que compiten en un mercado muy exigente, mantener sus productos de Software actualizados con las necesidades de sus clientes internos y externos puede ser la diferencia entre seguir operando o desaparecer. El contar con pruebas automatizadas hará que estos cambios puedan surgir en menor tiempo.</p>
<h3>¿Por dónde comenzar?</h3>
<p>Ahora que sabemos que tener pruebas automatizadas es importante, suele ocurrir que, como no estamos habituados a escribirlas, no sabemos por donde comenzar. Una alternativa es aplicar&nbsp;<a href="https://en.wikipedia.org/wiki/Test-driven_development" target="_blank">TDD</a>, lo cual nos ayuda no solamente a tener un conjunto aceptable de pruebas sino que también evita que caigamos en la sobre-ingeniería, manteniendo un diseño simple en nuestro código.</p>
<p>Las&nbsp;<a href="https://en.wikipedia.org/wiki/Unit_testing">pruebas unitarias</a>&nbsp;que se obtienen de aplicar TDD sirven como documentación para que otros desarrolladores se familiaricen con la funcionalidad esperada. Además, nos sirven como un red de protección ya que podremos comprobar al ejecutar la mismas que no hayamos afectado negativamente algo que la aplicación está esperando.</p>
<p>Sin embargo, estas pruebas no son de mucha ayuda cuando deseamos la participación de otros actores que no tengan el nivel un técnico de los desarrolladores. Aquí es donde herramientas como&nbsp;<a href="https://cucumber.io/" target="_blank">Cucumber</a>&nbsp;pueden ser de mucha ayuda ya que permiten la definición de&nbsp;<a href="https://en.wikipedia.org/wiki/Acceptance_testing" target="_blank">pruebas de aceptación</a>&nbsp;en un lenguaje que el negocio conoce. Mediante ejemplos reales se puede identificar los escenarios prioritarios que el Software debe implementar.</p>
<p>Se puede definir a Cucumber como una herramienta BDD, ya que promueve a que primero escribamos una prueba de aceptación y luego proceder a la implementación para pasar la misma.</p>
<h3>¿Y qué es BDD?</h3>
<p>Behavior-driven development (<a href="https://en.wikipedia.org/wiki/Behavior-driven_development" target="_blank">BDD</a>) es un proceso de desarrollo de Software que emerge de TDD y que ayuda a que el equipo de desarrollo y los conocedores del negocio colaboren de mejor manera durante la creación del producto de Software.</p>
<p>Manteniendo un enfoque&nbsp;<a href="https://en.wikipedia.org/wiki/Top-down_and_bottom-up_design" target="_blank">top-down</a>, se inicia con la definición de un caso en particular del negocio, escrito en el lenguaje del día a día de los involucrados. Esta simple definición serviría nada más como documentación de los que esperamos del sistema, pero este proceso de desarrollo busca que este requerimiento definido como una prueba de aceptación sea automatizado para validar su cumplimiento en cualquier momento.</p>
<p>Al &nbsp;igual que TDD todo comienza con una definición que esperamos que falle para luego proceder a implementarla. Aquí es donde se pone interesante el asunto ya que para esa implementación podríamos hacer uso de TDD en cada uno de los elementos que se vayan a desarrollar en los niveles inferiores.</p>
<p>Si deseas ver cómo todo esto puede ser utilizado desde una aplicación en Java puedes visitar la siguiente entrada&nbsp;<a href="https://softwareevolutivo.com.ec/cucumber-spring-boot-2-junit-5/">Cucumber + Spring boot 2 + Junit 5</a></p>
<h3>Resumen y conclusiones</h3>
<ul>
<li>El uso de un lenguaje natural de negocio ayuda enormemente a que los actores principales se involucran en la concepción del producto de Software y en la validación posterior del mismo.</li>
<li>BDD también es de mucha ayuda cuando no sepamos por dónde iniciar nuestras pruebas ya que este enfoque pone en evidencia lo que resulta de prioridad para el negocio.</li>
</ul>
<h3>Referencias</h3>
<ul>
<li><a href="https://en.wikipedia.org/wiki/Continuous_delivery" target="_blank">https://en.wikipedia.org/wiki/Continuous_delivery</a><br></li>
<li><a href="https://en.wikipedia.org/wiki/Test-driven_development" target="_blank">https://en.wikipedia.org/wiki/Test-driven_development</a><br></li>
<li><a href="https://en.wikipedia.org/wiki/Unit_testing" target="_blank">https://en.wikipedia.org/wiki/Unit_testing</a><br></li>
<li><a href="https://cucumber.io/" target="_blank">https://cucumber.io/</a><br></li>
<li><a href="https://en.wikipedia.org/wiki/Acceptance_testing" target="_blank">https://en.wikipedia.org/wiki/Acceptance_testing</a><br></li>
<li><a href="https://en.wikipedia.org/wiki/Unit_testing" target="_blank">https://en.wikipedia.org/wiki/Unit_testing</a><br></li>
<li><a href="https://en.wikipedia.org/wiki/Top-down_and_bottom-up_design" target="_blank">https://en.wikipedia.org/wiki/Top-down_and_bottom-up_design</a></li>
</ul>
<p><!-- /wp:shortcode --></p>								</div>
				</div>
					</div>
		</div>
					</div>
		</section>
				</div>
		<p>The post <a href="https://softwareevolutivo.com.ec/iniciando-con-las-pruebas-de-aceptacion/">Pruebas de Aceptación con BDD y Cucumber</a> appeared first on <a href="https://softwareevolutivo.com.ec">Software Evolutivo</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://softwareevolutivo.com.ec/iniciando-con-las-pruebas-de-aceptacion/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
