{"id":1110,"date":"2023-09-15T00:00:00","date_gmt":"2023-09-14T22:00:00","guid":{"rendered":"https:\/\/programaraciegas.net\/?p=1110"},"modified":"2023-09-03T06:48:10","modified_gmt":"2023-09-03T04:48:10","slug":"tests-dentro-de-la-ingenieria-del-software","status":"publish","type":"post","link":"https:\/\/programaraciegas.net\/?p=1110","title":{"rendered":"Tests dentro de la ingenier\u00eda del software"},"content":{"rendered":"<p>Dentro de la mayor\u00eda de metodolog\u00edas de dise\u00f1o y desarrollo de software existe un apartado enfocado a las comprobaciones de las funciones, aspecto y comportamiento de una aplicaci\u00f3n. Es lo que se conoce como <strong>testing<\/strong> dentro del proyecto.<\/p>\n<h2>Beneficios del testing<\/h2>\n<p>Dentro de la multitud beneficios que aporta realizar testing en nuestro proyecto se encuentran los siguientes.<\/p>\n<ul>\n<li>Se pueden realizar pruebas espec\u00edficas y generales del comportamiento de clases y funciones de nuestro proyecto. De esta forma podemos validar que las funciones y clases que desarrollamos dentro de nuestro proyecto cumplen los requisitos definidos por el documento de an\u00e1lisis.<\/li>\n<li>Se pueden realizar pruebas completas de una experiencia de usuario. De esta forma podemos verificar que nada se ha roto cuando a\u00f1adimos alg\u00fan elemento nuevo a nuestro proyecto.<\/li>\n<li>Las pruebas de uso de la aplicaci\u00f3n se pueden automatizar para que nuestro ordenador compruebe que la aplicaci\u00f3n funciona como se espera.<\/li>\n<li>Adem\u00e1s permite automatizar otros procesos que pueden resultar laboriosos o tediosos como la toma de capturas de pantalla, validaci\u00f3n del aspecto visual de cada pantalla de la aplicaci\u00f3n e incluso se pueden crear comprobaciones de accesibilidad en algunas plataformas para la detecci\u00f3n temprana de barreras de accesibilidad.<\/li>\n<\/ul>\n<h2>Problemas del testing<\/h2>\n<p>Incluir testing en nuestro proyecto implica la aparici\u00f3n de los siguientes problemas, sobre todo si el equipo de desarrollo no est\u00e1 acostumbrado al uso de testing:<\/p>\n<ul>\n<li>Incremento en los costes de organizaci\u00f3n y tiempo. Las pruebas o tests no se planifican ni se escriben solas. Es necesario organizar el plan de trabajo para que el testing sea correctamente incluido en la metodolog\u00eda de trabajo utilizada por el equipo dentro del proyecto.<\/li>\n<li>Prevenci\u00f3n de falsos errores. Cuando se realizan cambios visuales o funcionales dentro de una ventana o una secci\u00f3n de nuestra aplicaci\u00f3n todos los tests relacionados con dicha pantalla fallar\u00e1n. Es necesario que alg\u00fan miembro del equipo actualice esos tests para que acepten los nuevos cambios y validar cuales son los nuevos comportamientos y aspectos v\u00e1lidos para el proyecto.<\/li>\n<li>No existe la fiabilidad al completo. Aunque podamos pensar que un proyecto software siempre se comportar\u00e1 igual en cualquier situaci\u00f3n cuando el proyecto es complejo tambi\u00e9n aumenta la complejidad para cubrir todos los posibles casos de uso con los tests. Incluso as\u00ed es posible que nuestro conjunto de tests no detecte alg\u00fan posible error o problema de funcionamiento de nuestra aplicaci\u00f3n. Cuando esto sucede es necesario ampliar el n\u00famero de tests para verificar que el error detectado no vuelva a ocurrir.<\/li>\n<\/ul>\n<h2>Tipos de testing<\/h2>\n<p>Dentro de la creaci\u00f3n y mantenimiento de un proyecto de software existen distintas necesidades de comprobaci\u00f3n por esta raz\u00f3n existen diversos tipos de testing.<\/p>\n<p>Cada tipo de testing tiene un objetivo claro que ayuda a detectar y solucionar un tipo de problema espec\u00edfico del proyecto.<\/p>\n<h3>Tests funcionales<\/h3>\n<p>Este tipo de test comprueba si la funcionalidad de un m\u00e9todo o funci\u00f3n se adapta al comportamiento esperado. De esta forma podemos comprobar si una funci\u00f3n de conversi\u00f3n de divisas funciona como se espera o si el c\u00e1lculo de el total del precio de un pedido no comete errores.<\/p>\n<p>Dentro de este tipo de tests encontramos los tests unitarios, tests de aceptaci\u00f3n, tests de integraci\u00f3n y tests de regresi\u00f3n.<\/p>\n<h3>Tests no funcionales<\/h3>\n<p>Este tipo de test representa \u00a0las pruebas que se realizan en la aplicaci\u00f3n o producto y que no est\u00e1n relacionadas con el c\u00f3digo del proyecto.<\/p>\n<p>Algunas de estas pruebas son las pruebas de rendimiento, las pruebas de carga y las pruebas de estr\u00e9s.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Dentro de la mayor\u00eda de metodolog\u00edas de dise\u00f1o y desarrollo de software existe un apartado enfocado a las comprobaciones de las funciones, aspecto y comportamiento de una aplicaci\u00f3n. Es lo que se conoce como testing dentro del proyecto. Beneficios del testing Dentro de la multitud beneficios que aporta realizar testing en nuestro proyecto se encuentran &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/programaraciegas.net\/?p=1110\" class=\"more-link\">Continuar leyendo<span class=\"screen-reader-text\"> \u00abTests dentro de la ingenier\u00eda del software\u00bb<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8,6],"tags":[454,87,452,453],"class_list":["post-1110","post","type-post","status-publish","format-standard","hentry","category-metodologiafilosofia","category-programacion","tag-ingenieria","tag-programacion-2","tag-test","tag-tests"],"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts\/1110","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1110"}],"version-history":[{"count":0,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=\/wp\/v2\/posts\/1110\/revisions"}],"wp:attachment":[{"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1110"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1110"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/programaraciegas.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1110"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}