<script data-pm-proxy="intercept"></script><?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[CarPerDev]]></title><description><![CDATA[Herramientas de IA para Testers y Programadores]]></description><link>https://carperdev.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!1kRw!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c997fd-be4d-4d1f-a8d1-8bc7662fbf77_500x500.png</url><title>CarPerDev</title><link>https://carperdev.substack.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 04 Sep 2026 23:27:42 GMT</lastBuildDate><atom:link href="/__u/carperdev.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[CarPerDev]]></copyright><language><![CDATA[es]]></language><webMaster><![CDATA[carperdev@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[carperdev@substack.com]]></itunes:email><itunes:name><![CDATA[CarPerDev]]></itunes:name></itunes:owner><itunes:author><![CDATA[CarPerDev]]></itunes:author><googleplay:owner><![CDATA[carperdev@substack.com]]></googleplay:owner><googleplay:email><![CDATA[carperdev@substack.com]]></googleplay:email><googleplay:author><![CDATA[CarPerDev]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Testing y ciclo de vida del software]]></title><description><![CDATA[&#191;Cu&#225;ndo empieza realmente el testing?]]></description><link>https://carperdev.substack.com/p/testing-y-ciclo-de-vida-del-software</link><guid isPermaLink="false">https://carperdev.substack.com/p/testing-y-ciclo-de-vida-del-software</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 21 Aug 2026 13:03:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3ufs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb702395a-5853-4aa3-b3a3-1439e980378a_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Cuando pensamos en testing, muchas veces imaginamos un momento concreto del proyecto:</p><blockquote><p>&#8220;Ya terminaron de desarrollar. Ahora pasemos a QA.&#8221;</p></blockquote><p>Pero&#8230; &#191;realmente deber&#237;a funcionar as&#237;?</p><p>Si venimos siguiendo esta serie sobre <strong>ISTQB Foundation Level</strong>, hasta ahora hablamos de qu&#233; es el testing, por qu&#233; es necesario, sus principios, las actividades, el testware, los roles y las habilidades necesarias para trabajar en testing.</p><p>Ahora damos un paso m&#225;s.</p><p>Entramos en el <strong>Cap&#237;tulo 2: Testing Throughout the Software Development Lifecycle</strong> y comenzamos por un concepto fundamental:</p><p><strong>el testing debe adaptarse al ciclo de vida del desarrollo de software.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!3ufs!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb702395a-5853-4aa3-b3a3-1439e980378a_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!3ufs!, /__u/carperdev.substack.com/w_424, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb702395a-5853-4aa3-b3a3-1439e980378a_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!3ufs!, /__u/carperdev.substack.com/w_848, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb702395a-5853-4aa3-b3a3-1439e980378a_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!3ufs!, /__u/carperdev.substack.com/w_1272, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb702395a-5853-4aa3-b3a3-1439e980378a_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!3ufs!, /__u/carperdev.substack.com/w_1456, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb702395a-5853-4aa3-b3a3-1439e980378a_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!3ufs!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb702395a-5853-4aa3-b3a3-1439e980378a_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b702395a-5853-4aa3-b3a3-1439e980378a_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1713509,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://carperdev.substack.com/i/211755419?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb702395a-5853-4aa3-b3a3-1439e980378a_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!3ufs!, /__u/carperdev.substack.com/w_424, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb702395a-5853-4aa3-b3a3-1439e980378a_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!3ufs!, /__u/carperdev.substack.com/w_848, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb702395a-5853-4aa3-b3a3-1439e980378a_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!3ufs!, /__u/carperdev.substack.com/w_1272, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb702395a-5853-4aa3-b3a3-1439e980378a_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!3ufs!, /__u/carperdev.substack.com/w_1456, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb702395a-5853-4aa3-b3a3-1439e980378a_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div><hr></div><h2>&#191;Qu&#233; es un SDLC?</h2><p>SDLC significa <strong>Software Development Life Cycle</strong>, o ciclo de vida del desarrollo de software.</p><p>Es una representaci&#243;n de c&#243;mo se organizan y relacionan las diferentes actividades necesarias para construir un producto de software.</p><p>Existen diferentes modelos de SDLC.</p><p>Entre ellos encontramos:</p><ul><li><p>Modelos secuenciales, como Waterfall o V-Model.</p></li><li><p>Modelos iterativos.</p></li><li><p>Modelos incrementales.</p></li><li><p>Enfoques y pr&#225;cticas Agile.</p></li></ul><p>Y esto es importante porque <strong>la forma en que desarrollamos software influye directamente en c&#243;mo hacemos testing</strong>.</p><div><hr></div><h2>&#191;Testing al final o testing durante todo el proceso?</h2><p>Esta es una de las ideas que m&#225;s me interesa destacar.</p><p>Si trabajamos con un modelo secuencial, algunas actividades de testing pueden concentrarse m&#225;s adelante en el proceso.</p><p>Pero eso no significa que el tester deba esperar hasta que exista c&#243;digo ejecutable para comenzar a trabajar.</p><p>Podemos participar mucho antes.</p><p>Por ejemplo:</p><ul><li><p>Revisando requisitos.</p></li><li><p>Analizando historias de usuario.</p></li><li><p>Identificando riesgos.</p></li><li><p>Dise&#241;ando condiciones de prueba.</p></li><li><p>Participando en revisiones.</p></li></ul><p>Esto nos lleva a una idea que seguramente ya escuchaste:</p><h3>&#8220;Shift Left&#8221;</h3><p>La idea de <strong>shift left</strong> consiste, de manera general, en llevar las actividades de testing hacia etapas m&#225;s tempranas del desarrollo.</p><p>&#191;Por qu&#233;?</p><p>Porque encontrar un problema temprano suele ser mucho m&#225;s conveniente que descubrirlo cuando el producto est&#225; a punto de salir a producci&#243;n.</p><div><hr></div><h2>No existe un &#250;nico modelo de desarrollo</h2><p>Una de las cosas que destaca ISTQB es que el testing debe <strong>adaptarse al contexto</strong>.</p><p>No podemos aplicar exactamente la misma estrategia a todos los proyectos.</p><p>Imaginemos dos situaciones.</p><h3>Proyecto A</h3><p>Una aplicaci&#243;n bancaria con requisitos muy definidos, fuertes regulaciones y procesos formales.</p><p>Probablemente necesitemos:</p><ul><li><p>Mucha documentaci&#243;n.</p></li><li><p>Trazabilidad.</p></li><li><p>Revisiones formales.</p></li><li><p>Evidencias de prueba.</p></li><li><p>Controles espec&#237;ficos.</p></li></ul><h3>Proyecto B</h3><p>Una aplicaci&#243;n web que evoluciona r&#225;pidamente y recibe cambios todas las semanas.</p><p>En este contexto probablemente tengamos:</p><ul><li><p>Iteraciones cortas.</p></li><li><p>Feedback frecuente.</p></li><li><p>Automatizaci&#243;n.</p></li><li><p>Pruebas de regresi&#243;n.</p></li><li><p>Documentaci&#243;n m&#225;s liviana.</p></li></ul><p>El testing sigue siendo necesario en ambos casos.</p><p>Pero <strong>la estrategia puede ser muy diferente</strong>.</p><div><hr></div><h2>&#191;Qu&#233; cambia seg&#250;n el SDLC?</h2><p>El modelo de desarrollo elegido puede afectar diferentes aspectos del testing.</p><p>Seg&#250;n ISTQB, entre ellos encontramos:</p><h3>&#128204; El alcance y momento de las actividades de prueba</h3><p>&#191;Cu&#225;ndo probamos?</p><p>&#191;Qu&#233; niveles y tipos de prueba necesitamos?</p><h3>&#128204; La documentaci&#243;n</h3><p>&#191;Cu&#225;nto necesitamos documentar?</p><p>&#191;Necesitamos documentos formales o podemos utilizar artefactos m&#225;s livianos?</p><h3>&#128204; Las t&#233;cnicas de prueba</h3><p>Las t&#233;cnicas utilizadas tambi&#233;n pueden variar seg&#250;n el contexto.</p><h3>&#128204; La automatizaci&#243;n</h3><p>En entornos donde tenemos entregas frecuentes, la automatizaci&#243;n puede resultar especialmente importante para facilitar las pruebas de regresi&#243;n.</p><h3>&#128204; El rol del tester</h3><p>Y algo que me parece especialmente interesante:</p><p><strong>el rol y las responsabilidades del tester tambi&#233;n pueden cambiar.</strong></p><p>El tester no trabaja de la misma manera en todos los equipos.</p><div><hr></div><h2>&#191;Y qu&#233; pasa en Agile?</h2><p>Cuando hablamos de Agile, muchas veces aparece la idea de que:</p><p><em>&#8220;Como trabajamos con Scrum, hacemos testing al final del sprint.&#8221;</em></p><p>Pero eso contradice bastante la idea de un enfoque colaborativo.</p><p>En un entorno Agile, el testing deber&#237;a integrarse dentro de la iteraci&#243;n.</p><p>Los testers pueden participar desde el refinamiento de historias y colaborar con desarrolladores y otros miembros del equipo para detectar problemas lo antes posible.</p><p>Adem&#225;s, las entregas frecuentes generan una necesidad importante:</p><h3>regresi&#243;n.</h3><p>Si cada iteraci&#243;n incorpora nuevos cambios, necesitamos asegurarnos de que esos cambios no rompan funcionalidades existentes.</p><p>Por eso la automatizaci&#243;n puede adquirir un papel muy importante.</p><div><hr></div><h2>Una pr&#225;ctica importante: para cada actividad de desarrollo, una actividad de testing</h2><p>Este es uno de los conceptos del syllabus que m&#225;s me gusta porque cambia nuestra forma de pensar el testing.</p><p>No deber&#237;amos imaginar algo as&#237;:</p><p><strong>Desarrollo &#8594; Desarrollo &#8594; Desarrollo &#8594; Testing</strong></p><p>Sino algo m&#225;s parecido a:</p><p><strong>Desarrollo &#8596; Testing</strong></p><p>Cada actividad de desarrollo deber&#237;a tener su correspondiente actividad de calidad.</p><p>Por ejemplo:</p><p><strong>Requisitos &#8594; revisi&#243;n de requisitos</strong></p><p><strong>Dise&#241;o &#8594; revisi&#243;n del dise&#241;o</strong></p><p><strong>Implementaci&#243;n &#8594; pruebas de c&#243;digo y pruebas din&#225;micas</strong></p><p><strong>Integraci&#243;n &#8594; pruebas de integraci&#243;n</strong></p><p>De esta manera, el testing deja de ser una etapa que aparece al final y pasa a formar parte del proceso completo.</p><div><hr></div><h2>&#191;Qu&#233; podemos aprender como testers?</h2><p>Creo que uno de los aprendizajes m&#225;s importantes de este cap&#237;tulo es que <strong>no existe una receta universal para hacer testing</strong>.</p><p>El contexto importa.</p><p>No es lo mismo probar:</p><ul><li><p>una aplicaci&#243;n bancaria,</p></li><li><p>un videojuego,</p></li><li><p>una aplicaci&#243;n m&#233;dica,</p></li><li><p>una tienda online,</p></li><li><p>un sistema interno de una empresa.</p></li></ul><p>Tampoco es lo mismo trabajar en Waterfall, en un entorno Agile o en un equipo que realiza entregas continuas.</p><p>Por eso un buen tester necesita entender no solamente <strong>qu&#233; probar</strong>, sino tambi&#233;n:</p><blockquote><p><strong>&#191;En qu&#233; contexto estoy trabajando y cu&#225;l es la mejor estrategia para este producto?</strong></p></blockquote><div><hr></div><h2>Testing no es una etapa</h2><p>Si tuviera que resumir todo este art&#237;culo en una sola idea, ser&#237;a esta:</p><h3>El testing no deber&#237;a ser una etapa aislada del desarrollo.</h3><p>Debe integrarse con las actividades de desarrollo y adaptarse al contexto del proyecto.</p><p>Y esto tambi&#233;n cambia nuestra forma de entender el rol del tester.</p><p>No estamos esperando al final para encontrar errores.</p><p>Estamos participando durante todo el proceso para aportar informaci&#243;n sobre la calidad y ayudar a reducir riesgos.</p><div><hr></div><h2>Para reflexionar</h2><p>Te dejo una pregunta para cerrar:</p><p><strong>En el proyecto en el que est&#225;s trabajando actualmente, &#191;el testing est&#225; integrado durante todo el desarrollo o todav&#237;a aparece principalmente al final?</strong></p><p>Me interesa mucho conocer diferentes experiencias, porque probablemente la respuesta sea muy distinta dependiendo del equipo y del producto.</p><p>Nos seguimos leyendo en la pr&#243;xima entrega de esta serie sobre <strong>ISTQB Foundation Level</strong>.</p><div><hr></div><p>Si te interesan estos temas, suscr&#237;bete!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/carperdev.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><h3>Para seguir estudiando</h3><p>Este art&#237;culo est&#225; basado en el apartado <strong>2.1 &#8211; Testing in the Context of a Software Development Lifecycle</strong> del <strong>ISTQB Certified Tester Foundation Level v4.0.1</strong>. El syllabus oficial incluye modelos secuenciales, iterativos e incrementales, adem&#225;s de pr&#225;cticas Agile, y explica c&#243;mo la elecci&#243;n del SDLC afecta el alcance, momento, documentaci&#243;n, t&#233;cnicas, automatizaci&#243;n y responsabilidades del testing.</p><p><a href="https://istqb.org/sdm_downloads/istqb-certified-tester-foundation-level-syllabus-v4-0/?utm_source=chatgpt.com">Consultar el syllabus oficial ISTQB CTFL v4.0.1</a></p>]]></content:encoded></item><item><title><![CDATA[Analizamos Tomation]]></title><description><![CDATA[Una extensi&#243;n del navegador para la automatizaci&#243;n de pruebas de UI]]></description><link>https://carperdev.substack.com/p/analizamos-tomation</link><guid isPermaLink="false">https://carperdev.substack.com/p/analizamos-tomation</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 14 Aug 2026 13:03:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/bCecxD_BIjE" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>En esta ocasi&#243;n conversamos con <a href="https://www.linkedin.com/in/fcrego/">Facundo Crego</a> sobre el framework que ha desarrollado para la automatizaci&#243;n de pruebas en el navegador.</p><h2>Primera impresi&#243;n: &#191;qu&#233; es Tomation?</h2><p>Tomation se presenta como un <strong>framework de automatizaci&#243;n de pruebas de UI basado en TypeScript</strong>, pero con una particularidad interesante: separa la definici&#243;n de los elementos y la l&#243;gica de las pruebas de la ejecuci&#243;n.</p><p>La idea general es:</p><p><strong>TypeScript &#8594; DSL &#8594; compilaci&#243;n &#8594; </strong><code>.tomation.json</code><strong> &#8594; extensi&#243;n del navegador &#8594; ejecuci&#243;n</strong></p><p>El proyecto utiliza una <strong>DSL declarativa</strong> para que los tests puedan escribirse de una manera relativamente cercana al lenguaje natural. Por ejemplo:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;379a6b85-b5c0-4d11-9926-cc78410256d0&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">Test('Login with valid credentials', () =&gt; {
  Login.fillCredentials({
    username: 'admin',
    password: 'secret'
  })

  Login.submit()

  AssertHasText(
    Login.message,
    'Login successful'
  )
})</code></pre></div><div class="callout-block" data-callout="true"><h3>Antes de empezar: &#191;qu&#233; significa DSL?</h3><p>Tomation utiliza una DSL (Domain-Specific Language), es decir, un conjunto de construcciones dise&#241;adas espec&#237;ficamente para expresar acciones de automatizaci&#243;n de pruebas. En lugar de trabajar directamente con todos los detalles de la interacci&#243;n con el navegador, podemos describir elementos, acciones y validaciones utilizando una sintaxis orientada al testing.</p></div><p>Esto me parece uno de los puntos m&#225;s interesantes para analizar: <strong>&#191;hasta qu&#233; punto una DSL puede hacer que los tests sean m&#225;s legibles y mantenibles?</strong></p><div><hr></div><h2>Lo que hace diferente a Tomation</h2><h3>1. TypeScript como lenguaje de definici&#243;n</h3><p>Los tests se escriben en TypeScript y utilizan paquetes como:</p><pre><code>@tomationjs/compiler
@tomationjs/dsl</code></pre><p>El compilador transforma el c&#243;digo en un archivo <code>.tomation.json</code>, que posteriormente consume la extensi&#243;n del navegador.</p><p>Esto crea una arquitectura bastante diferente de un framework tradicional.</p><div><hr></div><h3>2. Page Object Model integrado</h3><p>El repositorio utiliza POM para definir los elementos:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;typescript&quot;,&quot;nodeId&quot;:&quot;1a256ba8-a1f8-4405-acda-e87f27d146da&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-typescript">const usernameInput =
  is.INPUT
    .where(idIs('username'))
    .as('Username')</code></pre></div><p>Y despu&#233;s el test trabaja con ese objeto en lugar de preocuparse directamente por el selector.</p><p>Adem&#225;s, Tomation ofrece diferentes matchers:</p><ul><li><p><code>idIs</code></p></li><li><p><code>innerTextIs</code></p></li><li><p><code>classIncludes</code></p></li><li><p><code>placeholderIs</code></p></li><li><p><code>nameIs</code></p></li><li><p><code>typeIs</code></p></li><li><p><code>ariaLabel</code></p></li><li><p><code>roleIs</code></p></li><li><p><code>dataAttr</code></p></li><li><p>etc.</p></li></ul><p>Tambi&#233;n permite <code>childOf()</code>, navegaci&#243;n relativa del DOM y XPath.</p><div><hr></div><h1>3. Tasks reutilizables</h1><p>Otra caracter&#237;stica que merece atenci&#243;n son las <strong>Tasks</strong>.</p><p>Por ejemplo:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;typescript&quot;,&quot;nodeId&quot;:&quot;284bacd9-6284-413a-a22c-8dfdff5daa7a&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-typescript">const fillCredentials = Task((params) =&gt; {
  const { username, password } = params

  Type(username).in(usernameInput)
  TypePassword(password).in(passwordInput)
}).as('Fill Credentials')</code></pre></div><p>Despu&#233;s:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;typescript&quot;,&quot;nodeId&quot;:&quot;362a6295-28b2-4de0-8c73-67ec407c3042&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-typescript">Login.fillCredentials({
  username: 'admin',
  password: 'secret'
})</code></pre></div><p>La idea es encapsular acciones complejas y reutilizarlas en distintos tests.</p><p>Para alguien que trabaja en automatizaci&#243;n, esto es interesante porque ataca uno de los problemas cl&#225;sicos: <strong>tests que terminan llenos de pasos repetidos.</strong></p><div><hr></div><h1>4. Algo que me parece especialmente interesante: Automations</h1><p>Aqu&#237; creo que hay una caracter&#237;stica que podr&#237;a convertirse en uno de los puntos fuertes de tu art&#237;culo.</p><p>Tomation distingue entre:</p><div class="callout-block" data-callout="true"><p><strong>Tests</strong></p><p>y</p><p><strong>Automations</strong></p></div><p>Los tests tienen los valores definidos en el c&#243;digo.</p><p>Las automations reciben par&#225;metros <strong>en tiempo de ejecuci&#243;n mediante un formulario de la extensi&#243;n</strong>.</p><p>Por ejemplo:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;typescript&quot;,&quot;nodeId&quot;:&quot;675bba64-b225-4799-b5fc-6943ffb72d63&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-typescript">Automation(
  'Create Account',
  (params: {
    email: string
    environment?: string
  }) =&gt; {

    // pasos de la automatizaci&#243;n
  }
)</code></pre></div><p>La extensi&#243;n puede generar los campos correspondientes para que el usuario introduzca los valores.</p><p>Incluso soporta:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;typescript&quot;,&quot;nodeId&quot;:&quot;29c36133-5101-4752-a416-0181d0db83b8&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-typescript">role: 'admin' | 'user' | 'viewer'</code></pre></div><p>que se convierte en un selector.</p><p>Esto abre una posibilidad interesante:</p><blockquote><p>Tomation no solamente puede utilizarse para <strong>regression testing</strong>, sino tambi&#233;n para crear procedimientos automatizados que una persona pueda ejecutar manualmente proporcionando determinados par&#225;metros.</p></blockquote><div><hr></div><h1>5. Contexto y datos din&#225;micos</h1><p>Tambi&#233;n permite guardar valores obtenidos durante la ejecuci&#243;n.</p><p>Por ejemplo:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;ab3befdf-7a59-4e5e-80ac-75f17c1a5389&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">SaveText(confirmationCode).as('code')</code></pre></div><p>y posteriormente:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;0ef4bdf3-c213-408a-b60f-a2b182a9c2a4&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">Type('{{ctx.code}}').in(verificationInput)</code></pre></div><p>Esto permite construir flujos donde un dato generado en un paso se utiliza posteriormente.</p><p>Para automatizaci&#243;n de aplicaciones con datos variables, esto puede ser bastante &#250;til.</p><div><hr></div><h2>Demo</h2><p>Facundo nos muestra c&#243;mo usar el framework y c&#243;mo instalarlo en local:</p><div id="youtube2-bCecxD_BIjE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;bCecxD_BIjE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/bCecxD_BIjE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h2>Conclusi&#243;n</h2><p>Probar una herramienta nueva de automatizaci&#243;n siempre implica un poco de curiosidad y otro poco de escepticismo. Y creo que esa es precisamente la mejor manera de acercarse a <strong>Tomation</strong>.</p><p>En esta primera experiencia encontr&#233; una propuesta interesante: una herramienta que intenta simplificar la automatizaci&#243;n de pruebas mediante TypeScript, una DSL orientada al testing, Page Object Model y componentes reutilizables como las Tasks. La posibilidad de trabajar tambi&#233;n con Automations abre, adem&#225;s, una perspectiva diferente a la de un framework pensado exclusivamente para ejecutar suites de regresi&#243;n.</p><p>Pero Tomation todav&#237;a tiene camino por recorrer. Al ser un proyecto relativamente reciente, todav&#237;a quedan muchas preguntas por responder antes de pensar en utilizarlo como herramienta principal en un proyecto de automatizaci&#243;n grande: estabilidad, funcionalidades disponibles, debugging, reporting, integraci&#243;n con CI/CD y, sobre todo, c&#243;mo se comporta cuando los escenarios se vuelven realmente complejos.</p><p>Y quiz&#225;s ese sea precisamente su atractivo.</p><p>Creo que es mucho m&#225;s interesante preguntarnos <strong>qu&#233; problemas intenta resolver, qu&#233; tan bien lo hace y c&#243;mo evolucionar&#225; el proyecto</strong>.</p><p>Mi experiencia hasta ahora me deja con ganas de seguir explor&#225;ndolo. Y, para una herramienta nueva, eso ya es una buena se&#241;al.</p><p><strong>Tomation todav&#237;a est&#225; dando sus primeros pasos, pero definitivamente es un proyecto al que vale la pena seguirle la pista.</strong></p><div><hr></div><p>Si te interesa probar esta herramienta open source, te dejo el repositorio aqu&#237;.</p><div><hr></div><p>Si te gustar&#237;a compartir alguna soluci&#243;n para testing con la comunidad,  no dudes en contactarme!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/carperdev.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[La psicología del testing: por qué las habilidades humanas también importan]]></title><description><![CDATA[QUINTO EPISODIO]]></description><link>https://carperdev.substack.com/p/la-psicologia-del-testing-por-que</link><guid isPermaLink="false">https://carperdev.substack.com/p/la-psicologia-del-testing-por-que</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 24 Jul 2026 13:00:13 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/208099955/fee5b6de9f706bb75c8c8d0349e80419.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>Hoy quiero hablar de un tema que, cuando estudi&#233; para la certificaci&#243;n ISTQB Foundation Level, me sorprendi&#243; encontrar dentro del syllabus.</p><p>Entre conceptos t&#233;cnicos, estrategias de prueba y procesos, aparece un cap&#237;tulo dedicado a algo completamente diferente:</p><p><strong>La psicolog&#237;a del testing.</strong></p><p>Al principio me pregunt&#233; qu&#233; ten&#237;a que ver la psicolog&#237;a con encontrar defectos.</p><p>Con el tiempo entend&#237; que tiene much&#237;simo que ver.</p><p>Porque nuestro trabajo no consiste solamente en probar software.</p><p>Trabajamos con personas.</p><p>Y muchas veces, la forma en que nos comunicamos tiene tanto impacto como la calidad de nuestras pruebas.</p><div><hr></div><p>Me gustar&#237;a hacerte una pregunta.</p><p>&#128073; &#191;Qu&#233; habilidad consideras m&#225;s importante para un tester adem&#225;s de los conocimientos t&#233;cnicos?</p><p>&#191;La comunicaci&#243;n?</p><p>&#191;El pensamiento cr&#237;tico?</p><p>&#191;La curiosidad?</p><p>&#191;La empat&#237;a?</p><p>Puedes dejarme tu opini&#243;n en los comentarios &#128521;</p><div><hr></div>]]></content:encoded></item><item><title><![CDATA[La psicología del testing]]></title><description><![CDATA[una habilidad t&#233;cnica&#8230; y tambi&#233;n humana]]></description><link>https://carperdev.substack.com/p/la-psicologia-del-testing</link><guid isPermaLink="false">https://carperdev.substack.com/p/la-psicologia-del-testing</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 17 Jul 2026 13:01:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4dqt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03f9ec37-8f61-43d9-b5ac-c4d5cf46ed86_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Cuando pensamos en testing, solemos hablar de herramientas, casos de prueba, automatizaci&#243;n o metodolog&#237;as. Sin embargo, uno de los temas que m&#225;s me llam&#243; la atenci&#243;n cuando estudi&#233; ISTQB Foundation Level fue que dedica un espacio a algo completamente distinto: <strong>la psicolog&#237;a del testing</strong>.</p><p>&#191;La raz&#243;n? Porque el testing no solo consiste en encontrar defectos. Tambi&#233;n implica trabajar con personas.</p><p>Y muchas veces, esa es la parte m&#225;s dif&#237;cil.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!4dqt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03f9ec37-8f61-43d9-b5ac-c4d5cf46ed86_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!4dqt!, /__u/carperdev.substack.com/w_424, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03f9ec37-8f61-43d9-b5ac-c4d5cf46ed86_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!4dqt!, /__u/carperdev.substack.com/w_848, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03f9ec37-8f61-43d9-b5ac-c4d5cf46ed86_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!4dqt!, /__u/carperdev.substack.com/w_1272, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03f9ec37-8f61-43d9-b5ac-c4d5cf46ed86_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4dqt!, /__u/carperdev.substack.com/w_1456, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03f9ec37-8f61-43d9-b5ac-c4d5cf46ed86_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!4dqt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03f9ec37-8f61-43d9-b5ac-c4d5cf46ed86_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/03f9ec37-8f61-43d9-b5ac-c4d5cf46ed86_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2072809,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://carperdev.substack.com/i/207162143?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03f9ec37-8f61-43d9-b5ac-c4d5cf46ed86_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!4dqt!, /__u/carperdev.substack.com/w_424, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03f9ec37-8f61-43d9-b5ac-c4d5cf46ed86_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!4dqt!, /__u/carperdev.substack.com/w_848, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03f9ec37-8f61-43d9-b5ac-c4d5cf46ed86_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!4dqt!, /__u/carperdev.substack.com/w_1272, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03f9ec37-8f61-43d9-b5ac-c4d5cf46ed86_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!4dqt!, /__u/carperdev.substack.com/w_1456, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F03f9ec37-8f61-43d9-b5ac-c4d5cf46ed86_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h2>Encontrar defectos no significa buscar culpables</h2><p>Imaginemos esta situaci&#243;n.</p><p>Despu&#233;s de varios d&#237;as de trabajo, un desarrollador termina una nueva funcionalidad. El equipo est&#225; conforme y llega el momento de probarla.</p><p>Durante las pruebas encontramos varios defectos.</p><p>&#191;C&#243;mo comunicamos ese resultado?</p><p>Si decimos:</p><p><em>&#8220;Tu c&#243;digo tiene muchos errores.&#8221;</em></p><p>Es probable que la otra persona se sienta atacada.</p><p>En cambio, si decimos:</p><p><em>&#8220;Durante las pruebas encontramos algunos comportamientos que no coinciden con lo esperado. Revis&#233;moslos juntos.&#8221;</em></p><p>La conversaci&#243;n cambia completamente.</p><p>El objetivo del testing nunca es demostrar que alguien hizo mal su trabajo.</p><p>Nuestro objetivo es ayudar a mejorar la calidad del producto.</p><h2>El producto es el que tiene defectos, no las personas</h2><p>Este es uno de los cambios de mentalidad m&#225;s importantes.</p><p>Los defectos aparecen por muchas razones:</p><ul><li><p>Requisitos poco claros.</p></li><li><p>Cambios de &#250;ltimo momento.</p></li><li><p>Restricciones de tiempo.</p></li><li><p>Complejidad t&#233;cnica.</p></li><li><p>Errores humanos, que son completamente normales.</p></li></ul><p>En la mayor&#237;a de los casos no existe un &#250;nico responsable.</p><p>La calidad es una responsabilidad compartida por todo el equipo.</p><h2>La importancia de la comunicaci&#243;n</h2><p>Gran parte del trabajo de un tester consiste en comunicar.</p><p>Comunicar qu&#233; se prob&#243;.</p><p>Comunicar qu&#233; riesgos encontramos.</p><p>Comunicar c&#243;mo reproducir un defecto.</p><p>Comunicar el impacto que puede tener un problema para el usuario.</p><p>Un reporte t&#233;cnicamente correcto puede perder efectividad si est&#225; escrito de forma poco clara o genera confrontaci&#243;n.</p><p>Por eso, una buena comunicaci&#243;n es tan importante como una buena t&#233;cnica de testing.</p><h2>La independencia del tester</h2><p>Otro concepto interesante que introduce ISTQB es el de la <strong>independencia de las pruebas</strong>.</p><p>&#191;Por qu&#233; muchas organizaciones prefieren que otra persona pruebe el software?</p><p>Porque todos tenemos sesgos.</p><p>Quien desarrolla una funcionalidad conoce tan bien su soluci&#243;n que, muchas veces, inconscientemente evita pensar en escenarios alternativos.</p><p>Un tester aporta una mirada diferente.</p><p>Hace preguntas distintas.</p><p>Explora caminos que quiz&#225; nadie hab&#237;a considerado.</p><p>Eso no significa que un desarrollador no pueda probar su propio c&#243;digo.</p><p>De hecho, deber&#237;a hacerlo.</p><p>Pero incorporar una mirada independiente suele aumentar las probabilidades de encontrar defectos.</p><h2>Independencia no significa trabajar separados</h2><p>A veces se interpreta la independencia como una separaci&#243;n entre desarrollo y testing.</p><p>Hoy sabemos que ocurre exactamente lo contrario.</p><p>Los equipos m&#225;s efectivos colaboran desde el inicio.</p><p>Los testers participan en el an&#225;lisis de requisitos.</p><p>Los desarrolladores revisan casos de prueba.</p><p>Todos comparten el mismo objetivo: entregar un producto de calidad.</p><p>La independencia aporta una perspectiva diferente, pero la colaboraci&#243;n sigue siendo esencial.</p><h2>&#191;Qu&#233; hace realmente un buen tester?</h2><p>Con el tiempo descubr&#237; que un buen tester no es quien encuentra m&#225;s defectos.</p><p>Es quien ayuda al equipo a construir un mejor producto.</p><p>Eso implica:</p><ul><li><p>Pensar de forma cr&#237;tica.</p></li><li><p>Hacer buenas preguntas.</p></li><li><p>Comunicar con respeto.</p></li><li><p>Colaborar con el resto del equipo.</p></li><li><p>Mantener siempre el foco en el usuario.</p></li></ul><p>Las habilidades t&#233;cnicas son fundamentales.</p><p>Pero las habilidades interpersonales marcan una enorme diferencia en el impacto que puede tener un profesional de testing.</p><h2>Reflexi&#243;n final</h2><p>Uno de los aprendizajes m&#225;s valiosos de ISTQB es que el testing no trata solamente de herramientas o metodolog&#237;as.</p><p>Tambi&#233;n trata de personas.</p><p>Cada defecto que reportamos es una oportunidad para mejorar el producto, aprender como equipo y fortalecer la colaboraci&#243;n.</p><p>Y quiz&#225;s esa sea una de las lecciones m&#225;s importantes para cualquier tester, independientemente de su experiencia.</p><div><hr></div><h3>&#191;Y t&#250; qu&#233; opinas?</h3><p>&#191;Crees que la comunicaci&#243;n y la colaboraci&#243;n son tan importantes como las habilidades t&#233;cnicas en testing?</p><p>Me encantar&#237;a conocer tu experiencia en los comentarios.</p><div><hr></div><p>Suscr&#237;bete para recibir todas las novedades en tu bandeja de entrada!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/carperdev.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Cómo un sistema de agentes de IA puede potenciar el trabajo de QA]]></title><description><![CDATA[En la entrevista de este mes habl&#233; con Leticia Gainza que comparti&#243; c&#243;mo est&#225; utilizando un sistema de agentes de IA especializados para agilizar el an&#225;lisis de requisitos y la planificaci&#243;n de pruebas.]]></description><link>https://carperdev.substack.com/p/como-un-sistema-de-agentes-de-ia</link><guid isPermaLink="false">https://carperdev.substack.com/p/como-un-sistema-de-agentes-de-ia</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 10 Jul 2026 13:02:00 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/TYmXqaPnAMQ" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>En la entrevista de este mes habl&#233; con <a href="https://www.linkedin.com/in/leticia-gainza-b73733251/">Leticia Gainza</a> que comparti&#243; c&#243;mo est&#225; utilizando un sistema de agentes de IA especializados para agilizar el an&#225;lisis de requisitos y la planificaci&#243;n de pruebas.</p><p>Lo que m&#225;s me llam&#243; la atenci&#243;n fue que, en lugar de depender de un &#250;nico agente que haga todo, el proceso se divide entre varios agentes con responsabilidades bien definidas.</p><p>El flujo funciona aproximadamente as&#237;:</p><p><strong>1. El usuario ingresa el requerimiento</strong></p><p>El punto de partida es un requisito (por ejemplo, una User Story o un requisito IEEE). Un agente orquestador recibe la informaci&#243;n y coordina todo el proceso.</p><p><strong>2. Un agente analiza el requisito</strong></p><p>El siguiente agente interpreta el requerimiento y genera:</p><ul><li><p>Criterios de aceptaci&#243;n.</p></li><li><p>Validaciones necesarias.</p></li><li><p>Requisitos no funcionales (NFRs).</p></li><li><p>Reglas de negocio que pueden haberse omitido.</p></li></ul><p>Este paso ayuda a detectar inconsistencias desde el inicio.</p><p><strong>3. Otro agente eval&#250;a riesgos</strong></p><p>Con la informaci&#243;n anterior, un segundo agente especializado:</p><ul><li><p>Construye una matriz de riesgos.</p></li><li><p>Identifica qu&#233; funcionalidades tienen mayor impacto.</p></li><li><p>Sugiere una estrategia de QA basada en esos riesgos.</p></li></ul><p>De esta manera, el esfuerzo de testing se concentra donde realmente aporta m&#225;s valor.</p><p><strong>4. El orquestador valida los resultados</strong></p><p>El agente principal recopila toda la informaci&#243;n generada.</p><p>Si detecta informaci&#243;n incompleta o inconsistente, vuelve a solicitar contexto a los agentes especializados, creando un ciclo de validaci&#243;n hasta obtener un resultado suficientemente confiable.</p><p><strong>5. Se generan los entregables</strong></p><p>Finalmente, el sistema produce documentaci&#243;n lista para utilizar, como por ejemplo:</p><ul><li><p>Un reporte en Markdown.</p></li><li><p>Un archivo JSON con toda la informaci&#243;n estructurada.</p></li></ul><p>Esto facilita integrar el resultado con otras herramientas o pipelines.</p><h3>Lo que me pareci&#243; m&#225;s interesante</h3><p>M&#225;s que &#8220;hacer testing con IA&#8221;, este enfoque utiliza la IA para automatizar las tareas de an&#225;lisis que suelen consumir mucho tiempo.</p><p>El tester sigue siendo quien toma las decisiones importantes, pero cuenta con asistentes especializados que ayudan a:</p><ul><li><p>comprender mejor los requisitos;</p></li><li><p>detectar riesgos antes de empezar a probar;</p></li><li><p>generar documentaci&#243;n consistente;</p></li><li><p>reducir el trabajo repetitivo;</p></li><li><p>mantener un proceso m&#225;s estructurado.</p></li></ul><p>En otras palabras, la IA no reemplaza la experiencia del profesional de QA, sino que act&#250;a como un equipo de asistentes que permite dedicar m&#225;s tiempo al an&#225;lisis cr&#237;tico y menos a las tareas mec&#225;nicas.</p><p>Te dejo el video con la demo de Leticia a continuaci&#243;n:</p><div id="youtube2-TYmXqaPnAMQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;TYmXqaPnAMQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/TYmXqaPnAMQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><p>Creo que este tipo de arquitectura de agentes es una muestra de hacia d&#243;nde est&#225; evolucionando el trabajo en QA: no se trata solo de usar ChatGPT para escribir casos de prueba, sino de dise&#241;ar flujos donde distintos agentes colaboran entre s&#237; y con el tester para mejorar la calidad del proceso de principio a fin.</p><p>&#191;Qu&#233; opinas sobre esta estructura de agentes? Te leo en comentarios &#128521;</p><div><hr></div><p>Si tienes un proyecto similar para compartir con la comunidad o conoces a alguien que lo tenga, dejame un mensaje y lo vemos!</p><p>Si te interesan estos temas, suscr&#237;bete para no perderte de nada!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/carperdev.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Episodio 4]]></title><description><![CDATA[&#191;Por qu&#233; seguimos encontrando defectos en producci&#243;n?]]></description><link>https://carperdev.substack.com/p/episodio-4</link><guid isPermaLink="false">https://carperdev.substack.com/p/episodio-4</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 19 Jun 2026 13:02:59 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/202568561/4981594ba46194117b6a6cd4f71b7337.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p><span>Hoy quiero hablar de una situaci&#243;n que seguramente todos hemos vivido alguna vez.</span></p><p><span>Termina el ciclo de pruebas.</span></p><p><span>Los casos de prueba pasan.</span></p><p><span>El equipo aprueba el despliegue.</span></p><p><span>La funcionalidad llega a producci&#243;n.</span></p><p><span>Y pocas horas despu&#233;s aparece un mensaje que nadie quiere recibir:</span></p><p><em><span>&#8220;Encontramos un error en producci&#243;n.&#8221;</span></em></p><p><span>La pregunta es inevitable:</span></p><p><span>&#191;C&#243;mo pudo pasar?</span></p><p><span>&#191;Fall&#243; el testing?</span></p><p><span>&#191;No probamos lo suficiente?</span></p><p><span>&#191;O simplemente es imposible encontrar todos los defectos?</span></p><p><span>Hoy quiero compartir algunas reflexiones sobre este tema y relacionarlo con uno de los principios m&#225;s importantes de ISTQB.</span></p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/carperdev.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[El proceso de testing: mucho más que ejecutar casos de prueba]]></title><description><![CDATA[&#191;Por qu&#233; necesitamos un proceso?]]></description><link>https://carperdev.substack.com/p/el-proceso-de-testing-mucho-mas-que</link><guid isPermaLink="false">https://carperdev.substack.com/p/el-proceso-de-testing-mucho-mas-que</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 12 Jun 2026 13:02:59 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/DJKWwENBdp4" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Cuando las personas comienzan en testing, suelen asociar nuestro trabajo con ejecutar casos de prueba y reportar defectos. Sin embargo, quienes llevamos tiempo en esta profesi&#243;n sabemos que la ejecuci&#243;n es solo una parte de un proceso mucho m&#225;s amplio.</p><p>Uno de los conceptos fundamentales que presenta ISTQB Foundation Level es precisamente el <strong>proceso de testing</strong>, una estructura que nos ayuda a planificar, organizar y controlar las actividades de prueba para que aporten valor al proyecto.</p><p>Pero &#191;por qu&#233; necesitamos un proceso? &#129300;</p><p>Te lo cuento en el siguiente video&#8230;</p><div id="youtube2-DJKWwENBdp4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;DJKWwENBdp4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/DJKWwENBdp4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Si te interesan estos temas, suscr&#237;bete para recibir todas las novedades en tu bandeja de entrada &#128521;</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/carperdev.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div>]]></content:encoded></item><item><title><![CDATA[Cuando el testing deja de verse aburrido]]></title><description><![CDATA[Proyectos de C&#243;digo Abierto para QA Automation]]></description><link>https://carperdev.substack.com/p/cuando-el-testing-deja-de-verse-aburrido</link><guid isPermaLink="false">https://carperdev.substack.com/p/cuando-el-testing-deja-de-verse-aburrido</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 05 Jun 2026 13:00:11 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!uuVo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096faba5-d4ab-43be-9111-f04bf6314cf5_1847x736.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hace poco estuve explorando los proyectos y demos compartidos por <strong>Douglas</strong> <strong>Urrea Ocampo</strong>, y me encontr&#233; pensando en algo que probablemente muchos testers conocemos bien: el testing suele tener un problema de percepci&#243;n.</p><p>Aunque es una de las &#225;reas m&#225;s importantes dentro del desarrollo de software, muchas veces se comunica de forma extremadamente t&#233;cnica, abstracta o incluso poco visual. Documentaci&#243;n, frameworks, pipelines, reportes, scripts. Mucha teor&#237;a y poca demostraci&#243;n real del impacto.</p><p>Y justamente por eso me llam&#243; tanto la atenci&#243;n el enfoque de Douglas.</p><p>En lugar de explicar conceptos de testing de manera tradicional, gran parte de su contenido muestra herramientas funcionando, automatizaciones reales y flujos visuales que permiten entender r&#225;pidamente qu&#233; problema resuelven y por qu&#233; son &#250;tiles.</p><p>Eso cambia completamente la experiencia.</p><p>En sus propias palabras dijo: &#8220;<em>La verdad quiero que la comunidad de QA aproveche estas herramientas que hoy en d&#237;a nos ayudan a todos a trabajar de forma mas &#225;gil y profesional</em><strong>&#8221;.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!uuVo!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096faba5-d4ab-43be-9111-f04bf6314cf5_1847x736.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!uuVo!, /__u/carperdev.substack.com/w_424, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096faba5-d4ab-43be-9111-f04bf6314cf5_1847x736.png 424w, /__u/substackcdn.com/image/fetch/$s_!uuVo!, /__u/carperdev.substack.com/w_848, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096faba5-d4ab-43be-9111-f04bf6314cf5_1847x736.png 848w, /__u/substackcdn.com/image/fetch/$s_!uuVo!, /__u/carperdev.substack.com/w_1272, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096faba5-d4ab-43be-9111-f04bf6314cf5_1847x736.png 1272w, /__u/substackcdn.com/image/fetch/$s_!uuVo!, /__u/carperdev.substack.com/w_1456, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096faba5-d4ab-43be-9111-f04bf6314cf5_1847x736.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!uuVo!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096faba5-d4ab-43be-9111-f04bf6314cf5_1847x736.png" width="1456" height="580" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/096faba5-d4ab-43be-9111-f04bf6314cf5_1847x736.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:580,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:335963,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://carperdev.substack.com/i/200366158?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096faba5-d4ab-43be-9111-f04bf6314cf5_1847x736.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!uuVo!, /__u/carperdev.substack.com/w_424, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096faba5-d4ab-43be-9111-f04bf6314cf5_1847x736.png 424w, /__u/substackcdn.com/image/fetch/$s_!uuVo!, /__u/carperdev.substack.com/w_848, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096faba5-d4ab-43be-9111-f04bf6314cf5_1847x736.png 848w, /__u/substackcdn.com/image/fetch/$s_!uuVo!, /__u/carperdev.substack.com/w_1272, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096faba5-d4ab-43be-9111-f04bf6314cf5_1847x736.png 1272w, /__u/substackcdn.com/image/fetch/$s_!uuVo!, /__u/carperdev.substack.com/w_1456, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F096faba5-d4ab-43be-9111-f04bf6314cf5_1847x736.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h2>Mostrar herramientas reales genera otro nivel de aprendizaje</h2><p>Algo que noto cada vez m&#225;s en el mundo IT es que las demos reales ense&#241;an mucho m&#225;s r&#225;pido que los tutoriales excesivamente te&#243;ricos.</p><p>Cuando vemos:</p><ul><li><p>una herramienta ejecut&#225;ndose,</p></li><li><p>un agente resolviendo tareas,</p></li><li><p>una automatizaci&#243;n funcionando,</p></li><li><p>o un flujo completo de testing,</p></li></ul><p>el aprendizaje se vuelve tangible.</p><p>No tenemos que imaginar c&#243;mo podr&#237;a verse en la pr&#225;ctica. Ya lo estamos viendo.</p><p>Y eso es justamente lo interesante de muchos de los proyectos compartidos por Douglas: convierten procesos complejos en algo visualmente entendible.</p><p>Especialmente en QA y automatizaci&#243;n, donde muchas veces el valor del trabajo ocurre &#8220;detr&#225;s de escena&#8221;.</p><h2>El testing moderno ya no es solamente testing</h2><p>Otra cosa que me result&#243; interesante es c&#243;mo varios de sus proyectos mezclan:</p><ul><li><p>automatizaci&#243;n,</p></li><li><p>inteligencia artificial,</p></li><li><p>productividad,</p></li><li><p>workflows,</p></li><li><p>agentes,</p></li><li><p>y experiencia de desarrollador.</p></li></ul><p>Creo que esto refleja bastante bien hacia d&#243;nde est&#225; evolucionando el QA moderno.</p><p>Durante muchos a&#241;os, el testing estaba asociado principalmente a:</p><ul><li><p>ejecutar casos de prueba,</p></li><li><p>validar funcionalidades,</p></li><li><p>encontrar bugs.</p></li></ul><p>Pero hoy el rol est&#225; cambiando.</p><p>Cada vez m&#225;s testers trabajan creando:</p><ul><li><p>herramientas internas,</p></li><li><p>sistemas de automatizaci&#243;n,</p></li><li><p>asistentes inteligentes,</p></li><li><p>pipelines,</p></li><li><p>soluciones que aceleran procesos completos.</p></li></ul><p>Y ah&#237; aparece una idea que me parece importante:</p><blockquote><p>El futuro del testing probablemente no sea reemplazar testers, sino potenciar testers que sepan trabajar con herramientas inteligentes.</p></blockquote><h2>El valor de construir en p&#250;blico</h2><p>Tambi&#233;n hay algo muy potente en mostrar proyectos reales p&#250;blicamente.</p><p>En tecnolog&#237;a solemos consumir much&#237;simo contenido educativo, pero muchas veces queda en:</p><ul><li><p>teor&#237;a,</p></li><li><p>explicaciones gen&#233;ricas,</p></li><li><p>o tutoriales b&#225;sicos.</p></li></ul><p>Mostrar herramientas propias funcionando transmite otra cosa.</p><p>Demuestra:</p><ul><li><p>capacidad pr&#225;ctica,</p></li><li><p>resoluci&#243;n de problemas reales,</p></li><li><p>creatividad t&#233;cnica,</p></li><li><p>y forma de pensar.</p></li></ul><p>Adem&#225;s, inspira.</p><p>Porque ver a otras personas creando herramientas hace que uno tambi&#233;n empiece a pensar:<br>&#8220;&#191;Qu&#233; podr&#237;a construir yo para resolver problemas que veo todos los d&#237;as?&#8221;</p><h2>El testing tambi&#233;n necesita storytelling</h2><p>Y quiz&#225;s esta sea la parte m&#225;s interesante de todas.</p><p>Muchas veces creemos que el storytelling pertenece solamente al marketing o al dise&#241;o. Pero en realidad tambi&#233;n existe storytelling t&#233;cnico.</p><p>La forma en la que mostramos:</p><ul><li><p>una automatizaci&#243;n,</p></li><li><p>una herramienta,</p></li><li><p>un flujo,</p></li><li><p>una demo,</p></li><li><p>o incluso un bug,</p></li></ul><p>puede hacer que algo extremadamente t&#233;cnico se vuelva interesante y f&#225;cil de entender.</p><p>Y creo que ah&#237; hay una gran oportunidad para quienes trabajamos en QA.</p><p>Porque el testing no tiene por qu&#233; verse aburrido.</p><p>Cuando se comunica bien, puede mostrar:</p><ul><li><p>ingenier&#237;a,</p></li><li><p>creatividad,</p></li><li><p>estrategia,</p></li><li><p>an&#225;lisis,</p></li><li><p>productividad,</p></li><li><p>y hasta dise&#241;o de experiencia.</p></li></ul><h2>De escribir prompts a construir un ecosistema para QA</h2><p>Uno de los proyectos que m&#225;s me llam&#243; la atenci&#243;n fue <em>Test Automation AI Agents &amp; Skills</em>, una librer&#237;a dise&#241;ada espec&#237;ficamente para QA Automation Engineers. Su objetivo no es generar casos de prueba de forma m&#225;gica, sino proporcionar agentes, instrucciones y habilidades reutilizables que permitan a asistentes de IA trabajar de forma m&#225;s efectiva dentro de proyectos reales de testing.</p><p>Lo interesante es que no se trata de una herramienta ligada a una plataforma espec&#237;fica. El proyecto fue dise&#241;ado para funcionar con distintos asistentes como GitHub Copilot, Claude, Cursor o Windsurf, permitiendo reutilizar los mismos conocimientos y flujos de trabajo independientemente de la herramienta elegida.</p><p>La estructura del repositorio est&#225; organizada alrededor de tres conceptos:</p><ul><li><p><strong>Agents:</strong> especialistas para tareas concretas como generaci&#243;n de pruebas, investigaci&#243;n de tests inestables o planificaci&#243;n de estrategias de testing.</p></li><li><p><strong>Instructions:</strong> reglas y est&#225;ndares para mantener consistencia t&#233;cnica.</p></li><li><p><strong>Skills:</strong> playbooks reutilizables para tareas frecuentes como testing E2E, accesibilidad, APIs o planificaci&#243;n de pruebas.</p></li></ul><p>Lo que m&#225;s me hizo reflexionar no fue la tecnolog&#237;a en s&#237;, sino el enfoque.</p><p>Durante mucho tiempo, cuando habl&#225;bamos de automatizaci&#243;n, pens&#225;bamos principalmente en frameworks, scripts y pipelines. Ahora empieza a aparecer una nueva capa: sistemas que ayudan a los ingenieros de QA a tomar decisiones, organizar conocimiento y ejecutar tareas complejas con asistencia de IA.</p><p>En lugar de preguntarle a un asistente gen&#233;rico:</p><blockquote><p>&#8220;Genera una prueba para esta funcionalidad&#8221;</p></blockquote><p>la idea es proporcionarle contexto, reglas, est&#225;ndares y especializaciones previamente definidas.</p><p>Es un cambio de paradigma importante.</p><p>No estamos simplemente automatizando pruebas.</p><p>Estamos empezando a automatizar partes del conocimiento y de los procesos que utilizan los equipos de QA todos los d&#237;as.</p><h2>Reflexi&#243;n final</h2><p>Despu&#233;s de recorrer varios de estos proyectos, me qued&#243; una sensaci&#243;n clara:</p><p>El QA moderno se est&#225; pareciendo cada vez m&#225;s a ingenier&#237;a de productividad.</p><p>No se trata solamente de encontrar errores.<br>Se trata de construir sistemas que ayuden a desarrollar software mejor, m&#225;s r&#225;pido y con menos fricci&#243;n.</p><p>Y quiz&#225;s una de las habilidades m&#225;s importantes en los pr&#243;ximos a&#241;os no sea solamente saber testear&#8230;</p><p>sino tambi&#233;n saber mostrar lo que construimos.</p><p>Si est&#225;s usando o construyendo este tipo de herramientas para tu trabajo diario en testing y te interesa compartir tu experiencia con la comunidad, escribime!</p><p>Puedes acceder a los proyectos de Douglas <a href="https://douglasfugazi.co/projects/">aqu&#237;</a>.</p><div><hr></div><p>Si te interesan estos temas, suscribite para recibir cada publicaci&#243;n en tu bandeja de entrada!</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/carperdev.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[¿La IA va a cambiar la forma en que escribimos tests? ]]></title><description><![CDATA[Tercer Episodio]]></description><link>https://carperdev.substack.com/p/la-ia-va-a-cambiar-la-forma-en-que</link><guid isPermaLink="false">https://carperdev.substack.com/p/la-ia-va-a-cambiar-la-forma-en-que</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 22 May 2026 13:02:16 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/198245691/dfcb2c8d60c30d88f80bd66dbae2eab3.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>En el episodio de  hoy quiero hablar de un tema que est&#225; apareciendo cada vez m&#225;s en conversaciones de testing:</p><p>&#128073; el uso de inteligencia artificial en automatizaci&#243;n.</p><p>M&#225;s espec&#237;ficamente:</p><p>&#191;La IA realmente puede ayudarnos a escribir mejores tests?</p><p>&#191;O estamos entrando en una etapa de mucho entusiasmo&#8230; pero pocas soluciones reales?</p><p>Te leo en comentarios!</p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[🎯 Los 7 principios del testing que TODO tester debería conocer]]></title><description><![CDATA[Si est&#225;s estudiando para el ISTQB Foundation Level, hay un tema que aparece constantemente en preguntas de examen y tambi&#233;n en el trabajo real:]]></description><link>https://carperdev.substack.com/p/los-7-principios-del-testing-que</link><guid isPermaLink="false">https://carperdev.substack.com/p/los-7-principios-del-testing-que</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 15 May 2026 13:03:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/64Fgf5G_57c" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Si est&#225;s estudiando para el <strong>ISTQB Foundation Level</strong>, hay un tema que aparece constantemente en preguntas de examen y tambi&#233;n en el trabajo real:</p><p>&#128073; Los principios del testing.</p><p>Y aunque al principio parecen &#8220;teor&#237;a para memorizar&#8221;, en realidad explican algo mucho m&#225;s importante:</p><p>&#128161; c&#243;mo funciona el testing en la vida real.</p><div><hr></div><h2>&#129504; &#191;Qu&#233; son los principios del testing?</h2><p>Son ideas fundamentales que surgieron a partir de a&#241;os de experiencia en proyectos reales.</p><p>En otras palabras:</p><p>&#128073; son patrones que se repiten una y otra vez cuando trabajamos con software.</p><p>Conocerlos no solo ayuda para aprobar el examen, sino tambi&#233;n para pensar como tester.</p><div><hr></div><h1>1&#65039;&#8419; Las pruebas muestran la presencia de defectos, no su ausencia</h1><p>El testing puede demostrar que existen bugs.</p><p>Pero nunca puede demostrar que el software est&#225; 100% libre de errores.</p><p>&#128161; Siempre existe la posibilidad de que haya defectos que no fueron encontrados.</p><p>Por eso:</p><ul><li><p>probar mucho no garantiza perfecci&#243;n</p></li><li><p>probar poco aumenta el riesgo</p></li></ul><p>&#128073; El objetivo real es reducir riesgos.</p><div id="youtube2-64Fgf5G_57c" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;64Fgf5G_57c&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/64Fgf5G_57c?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h1>2&#65039;&#8419; Las pruebas exhaustivas son imposibles</h1><p>No podemos probar absolutamente todo.</p><p>Imaginate una app con:</p><ul><li><p>distintos usuarios</p></li><li><p>navegadores</p></li><li><p>dispositivos</p></li><li><p>combinaciones de datos</p></li><li><p>idiomas</p></li><li><p>permisos</p></li></ul><p>La cantidad de pruebas posibles ser&#237;a infinita.</p><p>Por eso el testing se basa en:</p><ul><li><p>priorizar</p></li><li><p>analizar riesgos</p></li><li><p>elegir qu&#233; probar primero</p></li></ul><p>&#128161; Un buen tester sabe qu&#233; NO probar tambi&#233;n.</p><div id="youtube2-wCZvvYnoEWQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;wCZvvYnoEWQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/wCZvvYnoEWQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h1>3&#65039;&#8419; Probar temprano ahorra tiempo y dinero</h1><p>Cuanto antes se detecta un problema:</p><p>&#10004;&#65039; m&#225;s barato es arreglarlo<br>&#10004;&#65039; menos impacto genera<br>&#10004;&#65039; menos retrabajo produce</p><p>Encontrar un error en un requisito es much&#237;simo m&#225;s simple que descubrirlo cuando el sistema ya est&#225; en producci&#243;n.</p><p>&#128073; Por eso hoy se habla tanto de &#8220;shift left testing&#8221;.</p><div id="youtube2-8ySqyPg_-zo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;8ySqyPg_-zo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/8ySqyPg_-zo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h1>4&#65039;&#8419; Los defectos tienden a agruparse</h1><p>La mayor&#237;a de los bugs suelen aparecer en pocas &#225;reas del sistema.</p><p>&#128161; Algunas partes del software son naturalmente m&#225;s problem&#225;ticas.</p><p>Por ejemplo:</p><ul><li><p>m&#243;dulos complejos</p></li><li><p>funcionalidades nuevas</p></li><li><p>c&#243;digo modificado muchas veces</p></li><li><p>integraciones externas</p></li></ul><p>Esto se relaciona con el principio de Pareto:</p><p>&#128073; pocos m&#243;dulos concentran muchos defectos.</p><div id="youtube2-BF4mjyy_Ek4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;BF4mjyy_Ek4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/BF4mjyy_Ek4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h1>5&#65039;&#8419; Las pruebas se desgastan</h1><p>Si ejecutamos siempre las mismas pruebas:</p><ul><li><p>dejan de encontrar defectos nuevos</p></li><li><p>pierden efectividad</p></li></ul><p>Por eso los casos de prueba deben:</p><ul><li><p>actualizarse</p></li><li><p>mejorarse</p></li><li><p>variar escenarios</p></li></ul><p>&#128161; Un set de pruebas viejo puede dar una falsa sensaci&#243;n de seguridad.</p><div id="youtube2-OuKyQN9pCFc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;OuKyQN9pCFc&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/OuKyQN9pCFc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h1>6&#65039;&#8419; El testing depende del contexto</h1><p>No se prueba igual:</p><ul><li><p>una app bancaria</p></li><li><p>un videojuego</p></li><li><p>un e-commerce</p></li><li><p>un sistema m&#233;dico</p></li></ul><p>Cada proyecto tiene:</p><ul><li><p>riesgos distintos</p></li><li><p>prioridades distintas</p></li><li><p>usuarios distintos</p></li></ul><p>&#128073; No existe una &#250;nica forma correcta de testear.</p><div id="youtube2-Oxbe7qfXgs4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Oxbe7qfXgs4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Oxbe7qfXgs4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h1>7&#65039;&#8419; La falacia de la ausencia de defectos</h1><p>Un software puede no tener bugs&#8230;</p><p>y aun as&#237; ser un fracaso.</p><p>&#128161; Si no resuelve las necesidades del usuario, el producto falla igual.</p><p>Ejemplo:</p><ul><li><p>una app dif&#237;cil de usar</p></li><li><p>un sistema lento</p></li><li><p>una funcionalidad que nadie necesita</p></li></ul><p>&#128073; Calidad no significa solamente &#8220;sin errores&#8221;.</p><div id="youtube2-LHs6dixJqSw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;LHs6dixJqSw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/LHs6dixJqSw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><h1>&#129514; Tip para el examen ISTQB</h1><p>En el examen suelen aparecer preguntas donde:</p><ul><li><p>te describen una situaci&#243;n</p></li><li><p>y ten&#233;s que identificar qu&#233; principio se aplica</p></li></ul><p>Mi recomendaci&#243;n:</p><p>&#10060; No memorices frases<br>&#9989; Entend&#233; situaciones reales</p><p>Porque ah&#237; es donde realmente se vuelven m&#225;s f&#225;ciles de entender.</p><div><hr></div><h1>&#128640; Para cerrar</h1><p>Los principios del testing son importantes porque cambian la forma en la que vemos el software.</p><p>Testing no se trata de &#8220;probar todo&#8221;.</p><p>Se trata de:</p><ul><li><p>entender riesgos</p></li><li><p>tomar decisiones inteligentes</p></li><li><p>y ayudar a construir productos confiables.</p></li></ul><p>&#128172; &#191;Cu&#225;l de estos principios te parece m&#225;s real en proyectos de verdad?</p><div><hr></div><p>Si te interesan estos temas, no olvides suscribirte para recibir mis publicaciones directamente en tu bandeja de entrada &#128521;</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/carperdev.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p>]]></content:encoded></item><item><title><![CDATA[Analizamos Playwright AI Matchers]]></title><description><![CDATA[Un nuevo enfoque de validaci&#243;n para pruebas de chatbots]]></description><link>https://carperdev.substack.com/p/analizamos-playwright-ai-matchers</link><guid isPermaLink="false">https://carperdev.substack.com/p/analizamos-playwright-ai-matchers</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 08 May 2026 13:01:28 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/D-zkBwfjjhA" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Continuando con las herramientas de IA open source para Testing, en esta oportunidad conversamos con <em>Germ&#225;n Gord&#243;n</em> quien desarroll&#243; <strong>Playwright AI Matchers, una herramienta creada de un tester para testers</strong>.</p><p>En sus propias palabras nos explica de qu&#233; se trata:</p><p>&#8220;El problema principal al testear integraciones de IA o Chatbots es la variabilidad. Como las respuestas son generadas, casi nunca recib&#237;s el mismo string exacto dos veces. Si us&#225;s un <em>assertEquals</em> o un <em>.toContainText()</em> tradicional, el test se vuelve 'flaky' y falla por cosas como un sin&#243;nimo o un cambio de tono.<br>Lo que hice con <strong>playwright-ai-matchers</strong> fue cambiar el enfoque de validaci&#243;n:<br><strong>1.</strong> <strong>Validaci&#243;n por Intenci&#243;n:</strong> En lugar de buscar texto r&#237;gido, el matcher le env&#237;a el contenido de la respuesta a un modelo de lenguaje (LLM) con una instrucci&#243;n sem&#225;ntica.<br><strong>2. Abstracci&#243;n del DOM:</strong> No importa si la respuesta del bot est&#225; en un &lt;span&gt;, un &lt;div&gt; o si el texto est&#225; fragmentado. El matcher entiende el contexto visual y funcional.<br><strong>3. Ejemplo pr&#225;ctico: </strong>Si teste&#225;s un bot que debe dar recomendaciones de inversi&#243;n, pod&#233;s validar:<br>&#8226;expect(botResponse).toConfirm('que el bot mencione los riesgos de mercado sin dar consejos financieros directos').<br>&#8226; No importa si el bot usa 50 o 100 palabras; si cumple con esa regla de negocio, el test pasa.<br>Est&#225; pensado para facilitar la vida cuando el 'Expected Result' no es una cadena de texto, sino un comportamiento o un concepto.&#8221;</p><p>En el siguiente video nos muestra c&#243;mo usarlo:</p><div id="youtube2-D-zkBwfjjhA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;D-zkBwfjjhA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/D-zkBwfjjhA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Link al repositorio &#8594; <a href="https://libraries.io/npm/playwright-ai-matchers">aqu&#237; </a></p><p>LinkedIn de Germ&#225;n &#8594; <a href="https://www.linkedin.com/in/german-gordon/">aqu&#237;</a></p><div><hr></div><p>En mi opini&#243;n, es muy buena herramienta a la hora de probar las respuestas de un chatbot. Ahora qu&#233; tal si la usamos para probar una web com&#250;n &#129300;</p><p>&#191;Qu&#233; te parece esta herramienta, la usar&#237;as? Te leo en comentarios.</p><p>Si te interesan estos temas y quer&#233;s que analicemos una herramienta para Testing en particular, dejame un comentario y con gusto la veo.</p><p>No olvides suscribirte para recibir todas las novedades en tu bandeja de correo &#128521;</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/carperdev.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[¿Qué cambia en el testing cuando el desarrollo es agent-first?]]></title><description><![CDATA[Segundo episodio]]></description><link>https://carperdev.substack.com/p/que-cambia-en-el-testing-cuando-el</link><guid isPermaLink="false">https://carperdev.substack.com/p/que-cambia-en-el-testing-cuando-el</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 24 Apr 2026 13:01:25 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/193675459/2888f992dbe357461db68047659a53c8.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>En este episodio hablamos de un cambio que ya est&#225; empezando a impactar en c&#243;mo desarrollamos y probamos software: el desarrollo <em>agent-first</em>.</p><p>Herramientas que no solo sugieren c&#243;digo, sino que ejecutan tareas completas, generan pruebas y validan resultados.</p><p>Pero, &#191;qu&#233; significa esto para el testing?</p><p>A lo largo del episodio exploro c&#243;mo este nuevo enfoque cambia el rol del tester: menos ejecuci&#243;n, m&#225;s evaluaci&#243;n. Menos scripts, m&#225;s criterio.</p><p>Porque cuando la IA empieza a tomar decisiones, el valor ya no est&#225; solo en automatizar&#8230; sino en entender qu&#233; vale la pena probar.</p><p>Si est&#225;s trabajando con herramientas de IA en desarrollo o testing, este episodio te invita a parar un momento y pensar qu&#233; est&#225; cambiando realmente.</p><p>&#127911; Dale play y seguimos la conversaci&#243;n.</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/carperdev.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[🎯 ¿Qué es probar y por qué es tan importante?]]></title><description><![CDATA[Cap&#237;tulo 1]]></description><link>https://carperdev.substack.com/p/que-es-probar-y-por-que-es-tan-importante</link><guid isPermaLink="false">https://carperdev.substack.com/p/que-es-probar-y-por-que-es-tan-importante</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 17 Apr 2026 13:01:22 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/UgL_jM_-_n0" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>En esta secci&#243;n empiezo a recorrer los fundamentos del ISTQB Foundation Level, y hay dos ideas clave que ten&#233;s que tener claras desde el inicio:</p><p>&#128073; Qu&#233; significa realmente &#8220;probar&#8221;<br>&#128073; Por qu&#233; el testing es esencial en cualquier desarrollo</p><p>El testing no es solo ejecutar pruebas, sino una actividad que busca <strong>evaluar la calidad, detectar defectos y reducir riesgos</strong>, ayudando a construir software confiable.</p><p>Tambi&#233;n vas a ver conceptos fundamentales que aparecen siempre en el examen, como:</p><ul><li><p>Verificaci&#243;n vs Validaci&#243;n</p></li><li><p>Testing vs Debugging</p></li><li><p>La cadena: Error &#8594; Defecto &#8594; Fallo</p></li></ul><p>Y algo muy importante:<br>&#128161; Un sistema sin errores no necesariamente es un buen producto.</p><div><hr></div><p>&#127909; En el video te explico todo esto con ejemplos y preguntas reales de examen para que lo entiendas de forma pr&#225;ctica.</p><div><hr></div><p>&#128640; Si est&#225;s preparando el ISTQB, esta es la base de todo lo dem&#225;s.</p><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/carperdev.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><div id="youtube2-UgL_jM_-_n0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;UgL_jM_-_n0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/UgL_jM_-_n0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><p><strong>NotebookLM</strong> con material de ISTQB &#8594; <a href="https://notebooklm.google.com/notebook/ec8ce1a7-49c3-4719-87fe-78366e009e30?original_referer=https:%2F%2Fnotebooklm.google%23&amp;original_referer=https:%2F%2Fnotebooklm.google%23&amp;original_referer=https:%2F%2Fnotebooklm.google%23&amp;original_referer=https:%2F%2Fnotebooklm.google%23&amp;original_referer=https:%2F%2Fnotebooklm.google%23&amp;pli=1">AQU&#205;</a></p><p>Video resumen del material de ISTQB generado por <strong>NotebookLM</strong>:</p><div id="youtube2-iK9Mb_Duut8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;iK9Mb_Duut8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/iK9Mb_Duut8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>&#127908; Audio estilo podcast generado por <strong>NotebookLM</strong> sobre el mismo material:</p><div id="youtube2-p-l3R4Blyz8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;p-l3R4Blyz8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/p-l3R4Blyz8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><p>Si llegaste hasta ac&#225;, en la pr&#243;xima entrega hablaremos de los principios de testing!</p><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">Thanks for reading! Subscribe for free to receive new posts and support my work.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Analizamos Tero de Abstracta]]></title><description><![CDATA[Una herramienta de IA que puede cambiar c&#243;mo hacemos testing]]></description><link>https://carperdev.substack.com/p/analizamos-tero-de-abstracta</link><guid isPermaLink="false">https://carperdev.substack.com/p/analizamos-tero-de-abstracta</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 10 Apr 2026 13:03:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/yTirhYLAJ4Q" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>En el post anterior te habl&#233; de <em>Antigravity</em> y de c&#243;mo la inteligencia artificial empieza a integrarse cada vez m&#225;s en el mundo del testing.</p><p>&#128073; Hoy te presento <strong>Tero</strong>, un framework open-source creado por <em><strong>Abstracta</strong></em>.</p><p>Si Antigravity nos mostraba el potencial de la IA aplicada al testing, Tero baja esa idea a algo mucho m&#225;s concreto:</p><p><strong>la posibilidad de crear agentes de IA que trabajen con nosotros en el d&#237;a a d&#237;a.</strong></p><p>Pero vamos por partes.</p><div><hr></div><p>&#128313; <strong>&#191;Qu&#233; es Tero?</strong></p><p>En simple: es una base para crear agentes de inteligencia artificial que pueden integrarse con tu entorno de trabajo.</p><p>No es solo una herramienta que &#8220;te sugiere cosas&#8221;, sino algo m&#225;s potente:<br>estos agentes pueden conectarse a tu c&#243;digo, logs o pipelines y ayudarte a:</p><p>&#10004; generar tests<br>&#10004; analizar errores<br>&#10004; entender qu&#233; est&#225; pasando en el sistema<br>&#10004; validar releases</p><div><hr></div><p>&#128313; <strong>&#191;Qu&#233; lo hace diferente?</strong></p><p>Una de las ideas clave era que la IA no viene solo a automatizar tareas, sino a <strong>entender contexto</strong>.</p><p>Y eso es justamente lo que intenta resolver Tero.</p><p>No es automatizaci&#243;n tradicional.<br>No es solo scripts m&#225;s r&#225;pidos.</p><p>&#128073; Es un cambio de enfoque: pasar de ejecutar a <em>interpretar</em>.</p><div><hr></div><p>&#128313; <strong>Open-source y adaptable</strong></p><p>Otro punto interesante es que Tero es open-source.</p><p>Esto significa que no est&#225;s limitado a lo que una herramienta comercial decide hacer, sino que pod&#233;s adaptarlo a tu realidad como tester o equipo.</p><p>En un momento donde est&#225;n apareciendo muchas soluciones cerradas de IA, esto no es menor.</p><div><hr></div><p>&#128313; <strong>&#191;Por qu&#233; importa esto como testers?</strong></p><p>Porque estamos viendo un cambio claro:</p><p>Antes:</p><ul><li><p>escrib&#237;amos tests</p></li><li><p>ejecut&#225;bamos</p></li><li><p>analiz&#225;bamos resultados</p></li></ul><p>Ahora:</p><ul><li><p>empezamos a apoyarnos en IA para <strong>pensar mejor</strong>, no solo para ejecutar</p></li></ul><p>Y herramientas como Tero van en esa direcci&#243;n.</p><div><hr></div><p>&#128161; <strong>Mi reflexi&#243;n</strong></p><p>Aunque todav&#237;a estamos en una etapa temprana, todo indica que este tipo de herramientas van a formar parte de nuestro d&#237;a a d&#237;a m&#225;s pronto de lo que pensamos.</p><div><hr></div><p>&#127909; Ver Tero en acci&#243;n</p><p>Para que todo esto no quede solo en lo conceptual, grab&#233; dos videos donde pod&#233;s ver c&#243;mo funciona Tero en la pr&#225;ctica.</p><div><hr></div><p>&#128313; <strong>Video 1: Primeros pasos con Tero</strong></p><p>En este video te muestro:</p><p>&#10004; c&#243;mo instalar Tero en local<br>&#10004; sus pantallas b&#225;sicas<br>&#10004; un primer recorrido para entender c&#243;mo est&#225; estructurada la herramienta</p><p>La idea es que puedas tener un primer contacto sin complicarte.</p><div><hr></div><p>&#128313; <strong>Video 2: Experiencia real + uso de agentes</strong></p><p>En este segundo video conversamos con Lucas del Reguero Mart&#237;nez, quien viene usando Tero desde que se liber&#243; el a&#241;o pasado en la Quality Sense Conf.</p><p>Adem&#225;s de usarla desde el inicio, ha hecho aportes muy interesantes como usuario, ayudando a mejorar la herramienta desde una mirada pr&#225;ctica (y esto me parece s&#250;per valioso, porque no es parte de Abstracta).</p><p>En el video vas a ver:</p><p>&#10004; c&#243;mo empezar a trabajar con agentes<br>&#10004; ejemplos de uso reales<br>&#10004; insights desde la experiencia</p><div><hr></div><p>&#128161; Si te interesa explorar IA aplicada al testing, te recomiendo ver ambos:</p><ul><li><p>el primero para entender la base</p></li><li><p>el segundo para ver el potencial real en acci&#243;n</p></li></ul><p>Y despu&#233;s contame: &#191;c&#243;mo imagin&#225;s que te puede ayudar algo as&#237; en tu d&#237;a a d&#237;a? &#129300;</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer! Suscr&#237;bete gratis para recibir nuevos posts y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div><div><hr></div><p>&#128313; <strong>Video 1: Primeros pasos con Tero</strong></p><div id="youtube2-yTirhYLAJ4Q" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;yTirhYLAJ4Q&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/yTirhYLAJ4Q?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>&#128313; <strong>Video 2: Experiencia real + uso de agentes</strong></p><div id="youtube2-o9eAVBYC3rs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;o9eAVBYC3rs&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/o9eAVBYC3rs?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><strong>&#128279;Links importantes</strong></p><p>&#128073;&#127995; Accede al repositorio de Tero <a href="https://github.com/abstracta/tero">aqu&#237;</a>.</p><p>&#128073;&#127995; Accede al repositorio de Agentes <a href="https://github.com/abstracta/tero-agents.git">aqu&#237;</a>.</p><p>&#128073;&#127995; Accede a la POC de Testing Exploratorio con agente Wally Explorer de Lucas <a href="https://www.linkedin.com/pulse/de-testers-para-explorando-agentes-ia-con-tero-del-reguero-mart%C3%ADnez-ldv7f/?trackingId=Unq6DuXORcOtjkwmULlREw%3D%3D">aqu&#237;</a>.</p><p>&#128073;&#127995; Si te interesa conectar con Lucas podes encontrar su LinkedIn <a href="https://www.linkedin.com/in/lucas-del-reguero-martinez/">aqu&#237;</a>.</p><div><hr></div><h3>Actividades de Abril</h3><p>&#191;Nos vemos en la <a href="https://testinguy.org/">TestingUY</a>?</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!rD-B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8205d1ae-5e8e-40a5-a4f9-b65f2448fda5_1810x612.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!rD-B!, /__u/carperdev.substack.com/w_424, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8205d1ae-5e8e-40a5-a4f9-b65f2448fda5_1810x612.png 424w, /__u/substackcdn.com/image/fetch/$s_!rD-B!, /__u/carperdev.substack.com/w_848, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8205d1ae-5e8e-40a5-a4f9-b65f2448fda5_1810x612.png 848w, /__u/substackcdn.com/image/fetch/$s_!rD-B!, /__u/carperdev.substack.com/w_1272, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8205d1ae-5e8e-40a5-a4f9-b65f2448fda5_1810x612.png 1272w, /__u/substackcdn.com/image/fetch/$s_!rD-B!, /__u/carperdev.substack.com/w_1456, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8205d1ae-5e8e-40a5-a4f9-b65f2448fda5_1810x612.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!rD-B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8205d1ae-5e8e-40a5-a4f9-b65f2448fda5_1810x612.png" width="1456" height="492" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8205d1ae-5e8e-40a5-a4f9-b65f2448fda5_1810x612.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:492,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:841094,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://carperdev.substack.com/i/192907231?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8205d1ae-5e8e-40a5-a4f9-b65f2448fda5_1810x612.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!rD-B!, /__u/carperdev.substack.com/w_424, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8205d1ae-5e8e-40a5-a4f9-b65f2448fda5_1810x612.png 424w, /__u/substackcdn.com/image/fetch/$s_!rD-B!, /__u/carperdev.substack.com/w_848, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8205d1ae-5e8e-40a5-a4f9-b65f2448fda5_1810x612.png 848w, /__u/substackcdn.com/image/fetch/$s_!rD-B!, /__u/carperdev.substack.com/w_1272, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8205d1ae-5e8e-40a5-a4f9-b65f2448fda5_1810x612.png 1272w, /__u/substackcdn.com/image/fetch/$s_!rD-B!, /__u/carperdev.substack.com/w_1456, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8205d1ae-5e8e-40a5-a4f9-b65f2448fda5_1810x612.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/carperdev.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Abril viene con novedades ✨]]></title><description><![CDATA[Quiero contarte qu&#233; se viene este mes en el blog y hacer un peque&#241;o aviso importante: el post que normalmente publico el primer viernes se va a mover al viernes 10 de abril debido al feriado.]]></description><link>https://carperdev.substack.com/p/abril-viene-con-novedades</link><guid isPermaLink="false">https://carperdev.substack.com/p/abril-viene-con-novedades</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Wed, 01 Apr 2026 18:52:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!1kRw!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd7c997fd-be4d-4d1f-a8d1-8bc7662fbf77_500x500.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Quiero contarte qu&#233; se viene este mes en el blog y hacer un peque&#241;o aviso importante: el post que normalmente publico el primer viernes se va a mover al <strong>viernes 10 de abril</strong> debido al feriado.</p><p>Ahora s&#237;, te adelanto lo que vas a encontrar en las pr&#243;ximas semanas &#128071;</p><p>&#128313; <strong>Viernes 10 de abril</strong><br>Voy a estar compartiendo un post sobre una herramienta de IA que me resulta muy interesante: <em>Tero, de Abstracta</em>. Si te interesa el testing y c&#243;mo la inteligencia artificial puede potenciarlo, este contenido es para vos.</p><p>&#128313; <strong>Viernes 17 de abril</strong><br>Se viene un nuevo cap&#237;tulo sobre <strong>ISTQB Foundation Level</strong>, ideal si est&#225;s estudiando o quer&#233;s reforzar conceptos clave de testing.</p><p>&#128313; <strong>Viernes 24 de abril</strong><br>Publico el <strong>segundo episodio del podcast &#8220;Testing con criterio&#8221;</strong>, donde sigo profundizando en temas pr&#225;cticos y reflexiones del d&#237;a a d&#237;a en testing.</p><p>Me entusiasma mucho lo que se viene este mes y espero que estos contenidos te aporten valor, ya sea que est&#233;s empezando en IT o quieras seguir creciendo profesionalmente.</p><p>&#161;Nos leemos pronto! &#128640;</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/carperdev.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Fundamentos vs herramientas: por qué el testing no empieza con la IA]]></title><description><![CDATA[Primer Episodio]]></description><link>https://carperdev.substack.com/p/fundamentos-vs-herramientas-por-que</link><guid isPermaLink="false">https://carperdev.substack.com/p/fundamentos-vs-herramientas-por-que</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 27 Mar 2026 13:03:12 GMT</pubDate><enclosure url="https://api.substack.com/feed/podcast/187753407/b1c07547a071469eb628e6849f63054f.mp3" length="0" type="audio/mpeg"/><content:encoded><![CDATA[<p>El testing no es solo ejecutar casos de prueba.<br>Tampoco es solo automatizar.</p><p>En este primer episodio te comparto por qu&#233; nace <em>Testing con Criterio</em> y qu&#233; significa realmente desarrollar una mirada profesional m&#225;s profunda.</p><p>Vamos a hablar de fundamentos, certificaciones, herramientas con IA y, sobre todo, de pensamiento cr&#237;tico aplicado al testing.</p><p>Este es el comienzo de una conversaci&#243;n que reci&#233;n empieza.</p><p>&#127911; Dale play y empezamos.</p><div><hr></div><blockquote><p>Si este episodio te reson&#243;, pod&#233;s suscribirte para recibir los pr&#243;ximos y sumarte a la conversaci&#243;n.<br>Me interesa leer tu opini&#243;n: &#191;qu&#233; significa para vos tener criterio en testing?</p></blockquote><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/carperdev.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Nueva Sección]]></title><description><![CDATA[Fundamentos de Testing - Camino al ISTQB Foundation]]></description><link>https://carperdev.substack.com/p/nueva-seccion</link><guid isPermaLink="false">https://carperdev.substack.com/p/nueva-seccion</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 13 Mar 2026 13:02:26 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ZmkP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb72504f4-a5b2-424d-8639-da59764ad722_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Este a&#241;o sumo una nueva secci&#243;n al Substack:<br><strong>Fundamentos de Testing - Camino al ISTQB Foundation</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ZmkP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb72504f4-a5b2-424d-8639-da59764ad722_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ZmkP!, /__u/carperdev.substack.com/w_424, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb72504f4-a5b2-424d-8639-da59764ad722_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!ZmkP!, /__u/carperdev.substack.com/w_848, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb72504f4-a5b2-424d-8639-da59764ad722_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!ZmkP!, /__u/carperdev.substack.com/w_1272, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb72504f4-a5b2-424d-8639-da59764ad722_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ZmkP!, /__u/carperdev.substack.com/w_1456, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb72504f4-a5b2-424d-8639-da59764ad722_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ZmkP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb72504f4-a5b2-424d-8639-da59764ad722_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b72504f4-a5b2-424d-8639-da59764ad722_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2942560,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://carperdev.substack.com/i/187660421?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb72504f4-a5b2-424d-8639-da59764ad722_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!ZmkP!, /__u/carperdev.substack.com/w_424, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb72504f4-a5b2-424d-8639-da59764ad722_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!ZmkP!, /__u/carperdev.substack.com/w_848, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb72504f4-a5b2-424d-8639-da59764ad722_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!ZmkP!, /__u/carperdev.substack.com/w_1272, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb72504f4-a5b2-424d-8639-da59764ad722_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ZmkP!, /__u/carperdev.substack.com/w_1456, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb72504f4-a5b2-424d-8639-da59764ad722_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>&#10060; No es un curso.<br>&#10060; No es un resumen del syllabus.<br>&#10060; Y no es contenido para memorizar definiciones.</p><p>La idea de esta secci&#243;n es algo mucho m&#225;s simple (y m&#225;s necesario): <strong>entender los fundamentos del testing y conectarlos con la pr&#225;ctica real</strong>, incluso &#8212;y especialmente&#8212; en un contexto donde la IA parece hacerlo todo m&#225;s r&#225;pido.</p><p>&#191;Por qu&#233; ISTQB ahora?</p><p>Porque en los &#250;ltimos a&#241;os vi un patr&#243;n repetirse:</p><ul><li><p>automatizaci&#243;n sin criterio,</p></li><li><p>tests generados que nadie entiende,</p></li><li><p>herramientas potentes usadas sin base conceptual.</p></li></ul><p>El Foundation Level, con todas sus limitaciones, sigue ofreciendo algo valioso: un <strong>lenguaje com&#250;n</strong> y una <strong>forma de pensar el testing</strong>. El problema no es la certificaci&#243;n en s&#237;, sino c&#243;mo se estudia y c&#243;mo se aplica.</p><p>En esta secci&#243;n voy a hablar de:</p><ul><li><p>conceptos del syllabus llevados a ejemplos reales,</p></li><li><p>errores comunes al estudiar y rendir el examen,</p></li><li><p>qu&#233; partes siguen siendo &#250;tiles hoy,</p></li><li><p>y cu&#225;les quedan cortas frente a la realidad actual.</p></li></ul><p>La frecuencia va a ser <strong>un post el segundo viernes de cada mes</strong>.<br>Tranquilo, claro y aplicable.</p><p>Si est&#225;s estudiando para el ISTQB FL, o si alguna vez lo rendiste y sent&#237;s que qued&#243; desconectado de tu d&#237;a a d&#237;a, esta secci&#243;n es para vos &#128521;</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/carperdev.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><p></p>]]></content:encoded></item><item><title><![CDATA[Antigravity y el desarrollo “agent-first”]]></title><description><![CDATA[&#191;qu&#233; significa esto para el testing?]]></description><link>https://carperdev.substack.com/p/antigravity-y-el-desarrollo-agent</link><guid isPermaLink="false">https://carperdev.substack.com/p/antigravity-y-el-desarrollo-agent</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 06 Mar 2026 13:02:32 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!SCbt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f8d13f-0b5f-4a90-8041-e84bbd4043be_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>En las &#250;ltimas semanas empez&#243; a circular con m&#225;s fuerza el concepto de desarrollo <em>agent-first</em>.<br>Y una de las herramientas que est&#225; impulsando esta conversaci&#243;n es <strong>Google Antigravity</strong>.</p><p>M&#225;s all&#225; del ruido inicial, vale la pena detenerse y mirar con criterio qu&#233; est&#225; cambiando realmente.</p><p>Porque no se trata solo de que la IA escriba c&#243;digo m&#225;s r&#225;pido.</p><p>Se trata de algo m&#225;s profundo.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!SCbt!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f8d13f-0b5f-4a90-8041-e84bbd4043be_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!SCbt!, /__u/carperdev.substack.com/w_424, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f8d13f-0b5f-4a90-8041-e84bbd4043be_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!SCbt!, /__u/carperdev.substack.com/w_848, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f8d13f-0b5f-4a90-8041-e84bbd4043be_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!SCbt!, /__u/carperdev.substack.com/w_1272, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f8d13f-0b5f-4a90-8041-e84bbd4043be_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!SCbt!, /__u/carperdev.substack.com/w_1456, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f8d13f-0b5f-4a90-8041-e84bbd4043be_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!SCbt!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f8d13f-0b5f-4a90-8041-e84bbd4043be_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88f8d13f-0b5f-4a90-8041-e84bbd4043be_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:3038974,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://carperdev.substack.com/i/189246334?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f8d13f-0b5f-4a90-8041-e84bbd4043be_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!SCbt!, /__u/carperdev.substack.com/w_424, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f8d13f-0b5f-4a90-8041-e84bbd4043be_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!SCbt!, /__u/carperdev.substack.com/w_848, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f8d13f-0b5f-4a90-8041-e84bbd4043be_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!SCbt!, /__u/carperdev.substack.com/w_1272, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f8d13f-0b5f-4a90-8041-e84bbd4043be_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!SCbt!, /__u/carperdev.substack.com/w_1456, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88f8d13f-0b5f-4a90-8041-e84bbd4043be_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div><hr></div><h2>&#129302; &#191;Qu&#233; es Antigravity?</h2><p>Antigravity es una plataforma experimental impulsada por Google que propone un enfoque diferente: en lugar de asistentes que sugieren fragmentos de c&#243;digo, trabaja con <strong>agentes aut&#243;nomos</strong> capaces de:</p><ul><li><p>planificar tareas</p></li><li><p>ejecutar cambios</p></li><li><p>interactuar con el entorno (editor, terminal, navegador)</p></li><li><p>validar resultados</p></li></ul><p>Todo esto apoyado en modelos como <strong>Gemini</strong>, que permiten mayor comprensi&#243;n de contexto y ejecuci&#243;n m&#225;s compleja.</p><p>La promesa es clara: pasar de &#8220;copilotos&#8221; a sistemas que orquestan partes del flujo de desarrollo.</p><p>Y ac&#225; es donde el testing empieza a volverse interesante.</p><div><hr></div><h1>&#129514; &#191;Qu&#233; cambia para el testing?</h1><p>Si el desarrollo empieza a ser <em>agent-first</em>, el testing no puede seguir siendo simplemente <em>script-first</em>.</p><p>Veamos algunos puntos clave.</p><div><hr></div><h2>1&#65039;&#8419; Generaci&#243;n autom&#225;tica de pruebas</h2><p>Si un agente puede:</p><ul><li><p>implementar una funcionalidad</p></li><li><p>ejecutar flujos en el navegador</p></li><li><p>validar respuestas</p></li></ul><p>Entonces tambi&#233;n puede:</p><ul><li><p>generar casos de prueba</p></li><li><p>crear scripts automatizados</p></li><li><p>ejecutar validaciones b&#225;sicas</p></li></ul><p>Esto puede acelerar much&#237;simo el arranque de una suite automatizada.</p><p>Pero aparece la pregunta esencial:</p><p>&#128073; &#191;Qui&#233;n valida que esas pruebas cubren realmente el riesgo?</p><p>La IA puede ejecutar.<br>El tester debe evaluar.</p><div><hr></div><h2>2&#65039;&#8419; El rol del tester como auditor de agentes</h2><p>Cuando el desarrollo es asistido o incluso ejecutado por agentes aut&#243;nomos, el tester ya no solo prueba c&#243;digo humano.</p><p>Empieza a auditar decisiones tomadas por un sistema inteligente.</p><p>Eso implica:</p><ul><li><p>analizar c&#243;mo se interpretaron los requerimientos</p></li><li><p>revisar si los criterios de aceptaci&#243;n fueron comprendidos correctamente</p></li><li><p>detectar supuestos impl&#237;citos que la IA no cuestion&#243;</p></li></ul><p>En este escenario, el valor diferencial no est&#225; en escribir m&#225;s scripts.</p><p>Est&#225; en pensar mejor.</p><div><hr></div><h2>3&#65039;&#8419; El riesgo de la falsa confianza</h2><p>Cuando un sistema genera:</p><ul><li><p>c&#243;digo</p></li><li><p>pruebas</p></li><li><p>validaciones</p></li><li><p>evidencia autom&#225;tica</p></li></ul><p>Puede dar la sensaci&#243;n de que &#8220;todo est&#225; cubierto&#8221;.</p><p>Pero cobertura no es calidad.<br>Ejecuci&#243;n no es criterio.</p><p>Y este punto es clave.</p><p>Porque mientras m&#225;s sofisticadas sean las herramientas, m&#225;s importante se vuelve la capacidad humana de cuestionar.</p><div><hr></div><h2>4&#65039;&#8419; Una oportunidad real para testers t&#233;cnicos</h2><p>Para perfiles m&#225;s t&#233;cnicos, herramientas como Antigravity pueden ser aliadas potentes:</p><ul><li><p>acelerar generaci&#243;n de escenarios</p></li><li><p>proponer estructuras de automatizaci&#243;n</p></li><li><p>crear datos de prueba</p></li><li><p>sugerir validaciones iniciales</p></li></ul><p>Pero el diferencial estar&#225; en:</p><ul><li><p>refinar</p></li><li><p>ampliar</p></li><li><p>desafiar</p></li><li><p>detectar lo que el agente no vio</p></li></ul><p>No en aceptar autom&#225;ticamente lo que produce.</p><div><hr></div><h1>&#129504; Una reflexi&#243;n necesaria</h1><p>Estamos entrando en una etapa donde el desarrollo puede ser cada vez m&#225;s automatizado.</p><p>Pero eso no elimina la necesidad de pensamiento cr&#237;tico.</p><p>Al contrario.</p><p>Si el desarrollo empieza a ser <em>agent-first</em>, el testing no puede ser autom&#225;tico por defecto.</p><p>Necesitamos testers capaces de:</p><ul><li><p>entender el contexto</p></li><li><p>evaluar riesgos</p></li><li><p>cuestionar decisiones</p></li><li><p>supervisar sistemas inteligentes</p></li></ul><p>Porque la automatizaci&#243;n ejecuta.</p><p>Pero el criterio eval&#250;a.</p><div><hr></div><h2>&#128225; Radar de marzo &#8211; IA y testing</h2><p>Si quer&#233;s profundizar en estos temas, durante marzo hay varios eventos y webinars online sobre IA aplicada al desarrollo y testing. Vale la pena seguirlos para entender hacia d&#243;nde evoluciona el ecosistema.</p><ul><li><p><strong>11/03/26 Inteligencia Artificial para el bien - Teatro Solis - Montevideo</strong></p></li></ul><p>Microsoft invita a socios de la CUTI a sumarse a esta invitaci&#243;n del <em>AI for Good Lab</em> el Mi&#233;rcoles 11 de Marzo en el Teatro Solis. Podes reservar tu lugar gratis <a href="https://cuti.org.uy/events/inteligencia-artificial-para-el-bien/">aqu&#237;</a>.</p><ul><li><p><strong>20/03/26 AI Testing Talks (Webinar online en ingl&#233;s)</strong></p></li></ul><p><em><strong>Why QA teams are adopting Playwright and how AI makes it smarter</strong></em></p><p>Un webinar enfocado en <em>IA aplicada al testing</em> con temas como Playwright y c&#243;mo la IA mejora flujos de pruebas modernas. Podes ver m&#225;s informaci&#243;n del evento <a href="https://exactpro.com/events/ai-testing-talks-webinar-20-march-2026">aqu&#237;</a>.</p><p>&#128161; Si particip&#225;s en alguno, contame tu experiencia. Me interesa sumar miradas reales desde la pr&#225;ctica.</p><div><hr></div><div class="subscription-widget-wrap-editor" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscribirse&quot;,&quot;language&quot;:&quot;es&quot;}" data-component-name="SubscribeWidgetToDOM"><div class="subscription-widget show-subscribe"><div class="preamble"><p class="cta-caption">&#161;Gracias por leer! Suscr&#237;bete gratis para recibir nuevos posts y apoyar mi trabajo.</p></div><form class="subscription-widget-subscribe"><input type="email" class="email-input" name="email" placeholder="Escribe tu correo electr&#243;nico..." tabindex="-1"><input type="submit" class="button primary" value="Suscribirse"><div class="fake-input-wrapper"><div class="fake-input"></div><div class="fake-button"></div></div></form></div></div>]]></content:encoded></item><item><title><![CDATA[Volver luego de la pausa ]]></title><description><![CDATA[C&#243;mo encaro este nuevo a&#241;o en Substack]]></description><link>https://carperdev.substack.com/p/volver-luego-de-la-pausa</link><guid isPermaLink="false">https://carperdev.substack.com/p/volver-luego-de-la-pausa</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Mon, 02 Mar 2026 13:03:09 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WWEu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc93ebc-af05-4a7e-9409-a6dc6dec661e_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Despu&#233;s de tomarme un par de meses de pausa consciente, vuelvo a este espacio con m&#225;s claridad que urgencia.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!WWEu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc93ebc-af05-4a7e-9409-a6dc6dec661e_1536x1024.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!WWEu!, /__u/carperdev.substack.com/w_424, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc93ebc-af05-4a7e-9409-a6dc6dec661e_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!WWEu!, /__u/carperdev.substack.com/w_848, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc93ebc-af05-4a7e-9409-a6dc6dec661e_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!WWEu!, /__u/carperdev.substack.com/w_1272, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc93ebc-af05-4a7e-9409-a6dc6dec661e_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!WWEu!, /__u/carperdev.substack.com/w_1456, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc93ebc-af05-4a7e-9409-a6dc6dec661e_1536x1024.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!WWEu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc93ebc-af05-4a7e-9409-a6dc6dec661e_1536x1024.png" width="1456" height="971" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9bc93ebc-af05-4a7e-9409-a6dc6dec661e_1536x1024.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:971,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2618519,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://carperdev.substack.com/i/187656131?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc93ebc-af05-4a7e-9409-a6dc6dec661e_1536x1024.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!WWEu!, /__u/carperdev.substack.com/w_424, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc93ebc-af05-4a7e-9409-a6dc6dec661e_1536x1024.png 424w, /__u/substackcdn.com/image/fetch/$s_!WWEu!, /__u/carperdev.substack.com/w_848, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc93ebc-af05-4a7e-9409-a6dc6dec661e_1536x1024.png 848w, /__u/substackcdn.com/image/fetch/$s_!WWEu!, /__u/carperdev.substack.com/w_1272, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc93ebc-af05-4a7e-9409-a6dc6dec661e_1536x1024.png 1272w, /__u/substackcdn.com/image/fetch/$s_!WWEu!, /__u/carperdev.substack.com/w_1456, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9bc93ebc-af05-4a7e-9409-a6dc6dec661e_1536x1024.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p>No fue una pausa para desconectarme del todo, sino para frenar el ritmo, revisar lo que escrib&#237;, lo que aprend&#237; y, sobre todo, decidir <strong>c&#243;mo</strong> quiero seguir. El a&#241;o pasado publiqu&#233; 35 posts, prob&#233; herramientas, explor&#233; IA aplicada al testing y confirm&#233; algo importante: no quiero escribir para seguir el ritmo del hype, sino para pensar mejor mi trabajo.</p><p>Este a&#241;o quiero un Substack m&#225;s organizado, m&#225;s intencional y m&#225;s sostenible. Menos novedad, m&#225;s criterio.</p><p>Por eso, a partir de ahora:</p><ul><li><p>voy a publicar ac&#225; <strong>el primer viernes de cada mes</strong>,</p></li><li><p>algunos posts estar&#225;n enfocados en <strong>IA y automatizaci&#243;n</strong>,</p></li><li><p>otros en <strong>fundamentos de testing </strong>en una nueva secci&#243;n para tratar temas del<strong> ISTQB</strong>, que saldr&#225;n <strong>el tercer viernes de cada mes</strong>,</p></li><li><p>y tambi&#233;n habr&#225; espacio para <strong>reflexi&#243;n profesional</strong>.</p></li></ul><p>Adem&#225;s, sumo algo nuevo: un <strong>podcast</strong>. No como un proyecto aparte, sino como otro formato para pensar en voz alta. Un espacio m&#225;s libre para conectar herramientas actuales, fundamentos cl&#225;sicos (como ISTQB) y experiencia real. <strong>Los episodios saldr&#225;n el &#250;ltimo viernes de cada mes.</strong></p><p>En s&#237;ntesis, vuelvo con una intenci&#243;n clara: escribir y hablar sobre <strong>testing con criterio</strong>, en un contexto que cambia todo el tiempo.</p><p>Gracias por estar del otro lado.<br>Arrancamos marzo &#128521;</p><div><hr></div><p class="button-wrapper" data-attrs="{&quot;url&quot;:&quot;https://carperdev.substack.com/subscribe?&quot;,&quot;text&quot;:&quot;Suscr&#237;bete ahora&quot;,&quot;action&quot;:null,&quot;class&quot;:null}" data-component-name="ButtonCreateButton"><a class="button primary" href="/__u/carperdev.substack.com/subscribe"><span>Suscr&#237;bete ahora</span></a></p><div><hr></div><h3></h3>]]></content:encoded></item><item><title><![CDATA[Cierre de año: una pausa consciente]]></title><description><![CDATA[El &#250;ltimo viernes del a&#241;o lleg&#243;!]]></description><link>https://carperdev.substack.com/p/cierre-de-ano-una-pausa-consciente</link><guid isPermaLink="false">https://carperdev.substack.com/p/cierre-de-ano-una-pausa-consciente</guid><dc:creator><![CDATA[CarPerDev]]></dc:creator><pubDate>Fri, 26 Dec 2025 13:02:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!lDYz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9cd22c-c227-4199-8b39-a751804b5478_1024x1536.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>El &#250;ltimo viernes del a&#241;o lleg&#243;!</p><p>Y lleg&#243; casi sin avisar.<br>No s&#233; si a vos te pas&#243; lo mismo, pero este a&#241;o se me fue volando. Cuando quise darme cuenta, ya estaba mirando hacia atr&#225;s, haciendo balance y pregunt&#225;ndome en qu&#233; momento escrib&#237; tanto. &#128561;</p><p>Durante este a&#241;o publiqu&#233; <strong>35 posts</strong>. Algunos nacieron de ideas muy claras, otros de preguntas, pruebas, dudas o momentos personales. Todos, sin excepci&#243;n, fueron escritos con la intenci&#243;n de compartir, reflexionar y explorar c&#243;mo la tecnolog&#237;a &#8212;y en especial la IA&#8212; est&#225; transformando nuestra forma de trabajar. &#128269;</p><p>Mirando el recorrido, hay algo que me sorprendi&#243; y me alegr&#243; mucho: varios contenidos tuvieron una recepci&#243;n enorme. Estos son algunos de los posts que superaron las <strong>300 vistas</strong>, lo que me confirm&#243; que hay una curiosidad real y creciente por estos temas:</p><ul><li><p><em>Healenium: La herramienta que automatiza la curaci&#243;n de tus tests</em></p></li><li><p><em>Testsigma: Automatizaci&#243;n de pruebas no-code</em></p></li><li><p><em>&#191;Pueden las IA generar buenos casos de prueba? Las compar&#233; con una misma historia de usuario</em></p></li><li><p><em>Probando APIs con ayuda de la IA de Postman: generaci&#243;n autom&#225;tica de tests en JavaScript</em></p></li><li><p><em>Qodex.ai: API testing inteligente con generaci&#243;n autom&#225;tica de pruebas y plan gratuito</em></p></li><li><p><em>TestCraft API Agent: Generando pruebas autom&#225;ticas desde OpenAPI con IA</em></p></li><li><p><em>&#191;Qu&#233; son los MCP Servers y por qu&#233; est&#225;n cambiando la forma de probar aplicaciones con IA?</em></p></li><li><p><em>Explorando Playwright MCP Server: automatizaci&#243;n UI controlada por LLMs</em></p></li><li><p><em>MCP Servers para testing: los m&#225;s &#250;tiles hoy</em></p></li><li><p><em>Coding Fleet: La herramienta de IA que convierte tu c&#243;digo entre frameworks y lenguajes</em></p></li></ul><p>Ver este inter&#233;s fue un gran empuj&#243;n para seguir escribiendo, investigando y probando herramientas, incluso cuando el tiempo escaseaba.</p><p>Por eso quiero agradecerte si estuviste del otro lado: leyendo, comentando, compartiendo o simplemente guardando alg&#250;n post para m&#225;s adelante. Y un gracias especial a quienes se suscribieron y acompa&#241;aron el proyecto durante el a&#241;o. Substack no es solo una plataforma; es una peque&#241;a comunidad que se construye palabra a palabra. &#128591;&#127995;</p><p>Ahora siento que es momento de algo distinto.<br>Voy a tomarme <strong>un par de meses de pausa consciente</strong>.</p><p>No es un descanso para desaparecer, sino un tiempo para <strong>pensar con calma</strong>, revisar lo recorrido y decidir <strong>qu&#233; quiero hacer y crear el pr&#243;ximo a&#241;o</strong>. Qu&#233; temas profundizar, cu&#225;les reformular, y qu&#233; forma darle a este espacio para que siga teniendo sentido, tanto para m&#237; como para quienes lo leen.</p><p>A veces, frenar tambi&#233;n es una forma de avanzar.</p><p>Gracias por acompa&#241;ar este a&#241;o de escritura, pruebas, ideas y aprendizaje compartido. Nos volveremos a encontrar con energ&#237;a renovada, m&#225;s claridad y nuevas preguntas que valga la pena explorar. &#129303;</p><p>Que el cierre de este a&#241;o tambi&#233;n te regale un momento de pausa &#129293;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!lDYz!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9cd22c-c227-4199-8b39-a751804b5478_1024x1536.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!lDYz!, /__u/carperdev.substack.com/w_424, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9cd22c-c227-4199-8b39-a751804b5478_1024x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!lDYz!, /__u/carperdev.substack.com/w_848, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9cd22c-c227-4199-8b39-a751804b5478_1024x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!lDYz!, /__u/carperdev.substack.com/w_1272, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9cd22c-c227-4199-8b39-a751804b5478_1024x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!lDYz!, /__u/carperdev.substack.com/w_1456, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_webp, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9cd22c-c227-4199-8b39-a751804b5478_1024x1536.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!lDYz!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9cd22c-c227-4199-8b39-a751804b5478_1024x1536.png" width="1024" height="1536" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/0f9cd22c-c227-4199-8b39-a751804b5478_1024x1536.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1536,&quot;width&quot;:1024,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2691244,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://carperdev.substack.com/i/182619519?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9cd22c-c227-4199-8b39-a751804b5478_1024x1536.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!lDYz!, /__u/carperdev.substack.com/w_424, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9cd22c-c227-4199-8b39-a751804b5478_1024x1536.png 424w, /__u/substackcdn.com/image/fetch/$s_!lDYz!, /__u/carperdev.substack.com/w_848, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9cd22c-c227-4199-8b39-a751804b5478_1024x1536.png 848w, /__u/substackcdn.com/image/fetch/$s_!lDYz!, /__u/carperdev.substack.com/w_1272, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9cd22c-c227-4199-8b39-a751804b5478_1024x1536.png 1272w, /__u/substackcdn.com/image/fetch/$s_!lDYz!, /__u/carperdev.substack.com/w_1456, /__u/carperdev.substack.com/c_limit, /__u/carperdev.substack.com/f_auto, /__u/carperdev.substack.com/q_auto:good, /__u/carperdev.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F0f9cd22c-c227-4199-8b39-a751804b5478_1024x1536.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p>]]></content:encoded></item></channel></rss>