03. Conociendo los diferentes tipos de pruebas
En esta nota continuaremos conociendo más sobre Testing de Software. Tras comprender sus conceptos esenciales, y cuáles son los servicios de testing, te contaremos para qué sirve cada uno de ellos.
Como hemos mencionado con anterioridad, existen diferentes tipos de pruebas que debería transitar un producto en su ciclo de desarrollo, e incluso posteriormente. Enumeraremos algunos tipos de pruebas que pueden ejecutarse, dependiendo de dónde quiera ponerse el foco y la etapa en la se encuentre.
Tipos de pruebas
Testing funcional: este tipo de pruebas permite determinar si se ha construido el software deseado y brinda información para determinar si es oportuno liberar la versión testeada del producto al mercado. O si se prevé la compra de un nuevo software, mediante pruebas funcionales se asesora para la adquisición del mejor software de acuerdo a las necesidades y requerimientos.
Automatización del testing funcional: en este caso se diseñan e implementan pruebas automatizadas, se evalúan herramientas y construye una plataforma que facilita la implementación mediante la aplicación de buenas prácticas y metodologías.
El testing automatizado permite ahorrar tiempo (que llevaría hacer pruebas manuales) y obtener información sobre la calidad del software ante nuevas versiones y/o cambios del producto (ej. que no se introduzcan errores). Pero no siempre hay que automatizar, no se trata de automatizar el 100% de los casos de prueba. En próximas notas profundizaremos sobre qué y cuándo.
Testing de rendimiento (performance): existen varios tipos de pruebas de rendimiento según lo que se desee medir en un determinado contexto (cantidad de recursos y cantidad de usuarios concurrentes, etc).
Las pruebas de rendimiento pueden usarse para detectar problemas de desempeño tales como lentitud en el software, problemas a la hora de consultar la bases de datos o para determinar en qué punto se cae el sistema.
Testing de conformidad: lo que se busca con las pruebas de conformidad es evaluar el cumplimiento o no a estándares o normas técnicas. A través del testing de conformidad se analiza además si el producto es capaz de interactuar con otras aplicaciones.
Testing de seguridad: mediante las pruebas de seguridad se busca evaluar la resistencia y robustez de un sistema ante posibles amenazas y vulnerabilidades. Se busca, por ejemplo, proteger la confidencialidad, integridad de los datos, disponibilidad de la información, prevenir y mitigar riesgos de ataques malintencionados.
A modo de ejemplo, se llevan adelante pruebas de intrusión, “Pentest” (Penetration Testing) o “Ethical Hacking”, donde expertos emulan un atacante real, identifican vulnerabilidades, las clasifican según criticidad y proveen recomendaciones para corregir o mitigar los riesgos encontrados.
Testing de accesibilidad: este tipo de pruebas se ejecutan para verificar y certificar la accesibilidad de determinada versión de un sitio web bajo los estándares de la w3 WCAG 2.1. Un diseño accesible permite que una mayor cantidad de personas puedan percibir, entender, navegar e interactuar de forma efectiva con una página web, así como crear y aportar contenido.
Testing de usabilidad: uno de los factores principales para evaluar la calidad y el éxito de un proyecto es que el producto sea usable. En el testing de usabilidad se verifica, por ejemplo, la estética de la interfaz de usuario, que el producto sea intuitivo y amigable. Para este tipo de pruebas podemos guiarnos por la Norma ISO 9241–11:2018 “Guidance on usability”.
En la próxima nota, hablaremos sobre los roles en las pruebas. No olvides que esperamos tus comentarios aquí o en nuestras redes sobre temas que te gustaría que abordemos a futuro. ¡Hasta la próxima!