{"id":9653,"date":"2021-02-05T10:25:44","date_gmt":"2021-02-05T09:25:44","guid":{"rendered":"https:\/\/www.makingscience.com\/blog\/test-automatizados-la-clave-para-la-excelencia\/"},"modified":"2021-02-05T10:25:44","modified_gmt":"2021-02-05T09:25:44","slug":"test-automatizados-la-clave-para-la-excelencia","status":"publish","type":"post","link":"https:\/\/www.makingscience.com\/es\/blog\/test-automatizados-la-clave-para-la-excelencia\/","title":{"rendered":"Test automatizados: la clave para la excelencia"},"content":{"rendered":"<div>Test automatizados: la clave para la excelencia<\/div>\n<div>Hoy en d\u00eda cuando hablamos de desarrollo de software nos resulta inevitable pensar en los <strong>test automatizados.<\/strong>  <strong>Los test automatizados son una de las etapas m\u00e1s importante de desarrollo de software<\/strong> y que aporta importantes beneficios a nuestro negocio ya que tienen como objetivo garantizar el correcto funcionamiento de nuestro producto, detectando errores en nuestra aplicaci\u00f3n antes de que sucedan en producci\u00f3n.  Como sabemos, el desarrollo de software se trata de un proceso largo y exhaustivo que requiere la m\u00e1xima implicaci\u00f3n de diferentes perfiles (desarrolladores, dise\u00f1adores, maquetadores, Sistemas\u2026). Se experimentan diferentes procesos para llevar a cabo todo lo que involucra la creaci\u00f3n de dicho software, desde la toma de requisitos por parte del cliente hasta cada parte de la aplicaci\u00f3n, desde el dise\u00f1o de la interfaz hasta toda la programaci\u00f3n, bases de datos&#8230; todos ellos se unen y se entregan en los servidores de producci\u00f3n.  En este art\u00edculo nos basaremos en hablar sobre<strong> la importancia de los test automatizados.<\/strong>  Existen diferentes tipos de test autom\u00e1ticos. Por ejemplo, los test de integraci\u00f3n son ejecutados despu\u00e9s de los test unitarios y tienen como objetivo garantizar que cada componente o parte de nuestra aplicaci\u00f3n funciona correctamente de forma conjunta al ser integrado con el resto, mientras que los test unitarios s\u00f3lo comprueban cada m\u00f3dulo de manera individual. Es nuestra labor identificar cu\u00e1l puede ser m\u00e1s adecuado dependiendo de nuestro proyecto.  &nbsp; <\/p>\n<h2>\u00bfPor qu\u00e9 es importante que los test sean parte del ciclo de desarrollo?<\/h2>\n<p> Imaginemos que estamos construyendo una aplicaci\u00f3n desde cero. Si trabajamos de forma \u00e1gil, nuestro primer objetivo ser\u00e1 construir un MVP \u00f3 M\u00ednimo Producto Viable y a partir de ah\u00ed seguiremos evolucionando el producto. Durante todo este ciclo de desarrollo se van dise\u00f1ando y programando diferentes m\u00f3dulos individuales que ser\u00e1n reutilizados en diferentes parte de la misma aplicaci\u00f3n. Estas partes pueden ser desde elementos visuales como botones, banners, elementos de un formulario, o bien partes de c\u00f3digo que se ejecuta en el lado del servidor reutilizables para optimizar el tiempo de desarrollo.  Los test automatizados van creando nuevos elementos, a\u00f1adiendo nuevas funcionalidades, arreglando fallos encontrados, es decir,<strong> hacen evolucionar el producto.<\/strong>  Por cada uno de estos cambios, ya sea una nueva mejora o una correcci\u00f3n de un error conocido, significa que existe un nuevo caso de uso dentro de nuestra aplicaci\u00f3n, algo que el usuario puede hacer que antes no pod\u00eda, esto significa que debemos comprobar que una vez puesto en producci\u00f3n los nuevos cambios, la aplicaci\u00f3n funciona, nuestros cambios funcionan, hacen y se visualizan de la forma que esper\u00e1bamos.  Pero esto no queda ah\u00ed, porque no sabemos si con esos nuevos cambios, hay otra parte de nuestro producto que ha dejado de funcionar o ahora tiene un comportamiento inesperado, si recordamos, antes comentamos que durante el desarrollo de software, se van creando peque\u00f1os m\u00f3dulos con la intenci\u00f3n de ser reutilizado en varios puntos de nuestra aplicaci\u00f3n, por lo que s\u00ed hemos tocado uno de esos m\u00f3dulos que se est\u00e1n utilizando en varias partes del programa, no solo debemos probar que la nueva funcionalidad que acabamos de subir funciona, sino que debemos ir a cada una de las p\u00e1ginas o secciones de nuestro producto que use el mismo m\u00f3dulo que hemos modificado para volver a comprobar que siguen funcionando.  Si este proceso fuese manual, costar\u00eda mucho hacerlo y no habr\u00eda una garant\u00eda de que se han realizado todas las pruebas correspondientes, ya que es f\u00e1cil que se nos olvide volver a probar un caso muy en concreto, no saber qu\u00e9 m\u00f3dulos afectan a qu\u00e9 parte del software, o simplemente no tener la capacidad de probar nuestro software en cada dispositivo m\u00f3vil, desktop, tablet&#8230;  Es aqu\u00ed donde la automatizaci\u00f3n de test se convierte en protagonista y, como parte del flujo de desarrollo, a\u00f1adimos una etapa donde para cada evoluci\u00f3n del producto definiremos una serie de pruebas que se ejecutar\u00e1n de forma autom\u00e1tica y que comprobar\u00e1n que dicha evoluci\u00f3n funciona. De esta forma, siempre que hacemos una modificaci\u00f3n en el c\u00f3digo, independientemente si es para arreglar un fallo o a\u00f1adir mejoras, se ejecutar\u00e1n todas las pruebas que ir\u00e1n probando cada una de las partes y casos de uso de nuestra aplicaci\u00f3n asegur\u00e1ndose que todo funciona correctamente antes de ser puesto en producci\u00f3n.  El trabajar con test nos permite tener los procesos, herramientas y m\u00e9todos de trabajo necesarios para garantizar la calidad de cada entrega o desarrollo.  <strong>En resumen los test automatizados nos aportan importantes beneficios:<\/strong> <\/p>\n<ul>\n<li><strong>Ahorran tiempo y dinero:<\/strong> Los test automatizados multiplican la capacidad de probar la aplicaci\u00f3n, minimizan significativamente las pruebas manuales permitiendo que las personas se enfoquen en realizar otro tipo de tareas. Tambi\u00e9n permite realizar m\u00e1s cantidad de pruebas, sin la necesidad de contratar m\u00e1s personas.<\/li>\n<li><strong>M\u00e1s precisi\u00f3n:<\/strong> Proporcionan herramientas de reporting y diferentes tipos de entornos para probar nuestro software, diferentes dispositivos, sistemas operativos, etc. Por lo que nos permite tener mayor precisi\u00f3n a la hora de encontrar fallos.<\/li>\n<li><strong>Estabilidad:<\/strong> Al a\u00f1adir los test autom\u00e1ticos dentro del flujo de desarrollo se permite que el producto pueda evolucionar de una forma m\u00e1s r\u00e1pida y estable ya que la mayor\u00eda de errores los encontrar\u00e1n antes de subirlo a producci\u00f3n.<\/li>\n<\/ul>\n<p> Espero que con este art\u00edculo haya quedado claro la importancia de los test automatizados y los beneficios que aporta a nuestro negocio. As\u00ed que es hora de dejar de ver esta fase como una \u201cp\u00e9rdida de tiempo\u201d y empezar a verla como lo que realmente es, una inversi\u00f3n a futuro.<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Test automatizados: la clave para la excelencia Hoy en d\u00eda cuando hablamos de desarrollo de software nos resulta inevitable pensar en los test automatizados. Los test automatizados son una de las etapas m\u00e1s importante de desarrollo de software y que aporta importantes beneficios a nuestro negocio ya que tienen como objetivo garantizar el correcto funcionamiento [&hellip;]<\/p>\n","protected":false},"author":21,"featured_media":9654,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[34],"tags":[68],"class_list":["post-9653","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology-ai","tag-web-development"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/posts\/9653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/users\/21"}],"replies":[{"embeddable":true,"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/comments?post=9653"}],"version-history":[{"count":0,"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/posts\/9653\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/media\/9654"}],"wp:attachment":[{"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/media?parent=9653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/categories?post=9653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.makingscience.com\/es\/wp-json\/wp\/v2\/tags?post=9653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}