Introducción al Testing: ¿Qué son las pruebas?

Prueba, por definición según la RAE es: Acción de probar a alguien o algo para conocer sus cualidades, verificar su eficacia, saber cómo funciona o reacciona, o qué resultado produce.
 

En el mundo del software, una prueba, es una manera de proporcionar información objetiva sobre la calidad del proyecto, producto o módulos que se esté validando o realizando.

Existen una gran cantidad de tipos de pruebas y estas, según si son funcionales o no, se ejecutan mediante casos de prueba que a su vez se agrupan en un plan de pruebas. Las pruebas son el pilar central de un proceso de control de calidad y del aseguramiento de calidad dentro de un proyecto.
Algunos tipos de pruebas funcionales, son:
 
  • Pruebas de compatibilidad: Son pruebas que se realizan en una aplicación determinada comprobando su compatibilidad con todos los navegadores de Internet y sistemas operativos del mercado.
  • Pruebas de sistemas: Son las investigaciones empíricas y técnicas cuyo objetivo es proporcionar información objetiva e independiente sobre la calidad del producto a la parte interesada o stakeholder.
  • Pruebas de humo: Las pruebas de humo (smoke testing en inglés) son una revisión rápida de un producto de software para comprobar que funciona y no tiene defectos evidentes que interrumpan la operación básica del mismo.
  • Pruebas de regresión: Las pruebas de regresión son cualquier tipo de pruebas de software con el objeto de descubrir errores, carencias de funcionalidad, o divergencias funcionales con respecto al comportamiento esperado del software, causados por la realización de un cambio en el programa. 
  • Pruebas de UAT o de aceptación: Las pruebas de aceptación (User Acceptance Testing, UAT) pertenecen a las últimas etapas previas a la liberación en firme de versiones nuevas a fin de determinar si cumplen con las necesidades y/o requerimientos de las empresas y sus usuarios.
 
Dentro del grupo de pruebas no funcionales, algunos ejemplos son:
 
  • Pruebas de seguridad: Permiten detectar los riesgos a los que está expuesto tu negocio con activos digitales. Riesgos que se convierten en graves vulnerabilidades que permiten a los atacantes robar datos confidenciales, realizar transacciones fraudulentas o tomar el control de la infraestructura operativa del negocio.
  • Pruebas de carga: Las pruebas de carga son la práctica de simular el uso del mundo real, o cargar, en cualquier software, sitio web, aplicación web, API o sistema para analizar e identificar factores como la capacidad de respuesta, degradación y escalabilidad.
  • Pruebas de rendimiento: Son las pruebas que se realizan, desde una perspectiva, para determinar lo rápido que realiza una tarea un sistema en condiciones particulares de trabajo.
  • Pruebas de mantenibilidad: Prueban la capacidad del producto software para ser modificado efectiva y eficientemente, debido a necesidades evolutivas, correctivas o perfectivas.
  • Pruebas de stress: Verifican el proceso en el cual se eligen las actividades a probar en un sitio para codificarlas y ejecutarlas en un tiempo determinado desde una ubicación remota. Nos permiten identificar y planear ante la posibilidad de errores en el funcionamiento de la plataforma, preferiblemente de manera preventiva.
  • Pruebas de portabilidad: Son el proceso de determinar el grado de facilidad o dificultad con el que un componente de software o una aplicación puede transferirse de manera eficaz y eficiente de un hardware, software u otro entorno operativo o de uso a otro.
 
Tanto dentro del grupo de las pruebas funcionales, como de las pruebas no funcionales, existen más tipos, que iremos viendo en posteriores artículos y las detallaremos completamente, junto con los ejemplos descritos anteriormente.
 
También, en base al tipo de prueba que se realice, existen tres tipos:
 
  • Pruebas de caja negra: Son una técnica de pruebas de software en la cual la funcionalidad se verifica sin tomar en cuenta la estructura interna de código, detalles de implementación o escenarios de ejecución internos en el software.
  • Pruebas de caja blanca:
    Las pruebas de caja blanca se centran en los detalles procedimentales del software, por lo que su diseño está fuertemente ligado al código fuente.
  • Pruebas de caja gris:
    son una combinación de pruebas de caja blanca y pruebas de caja negra. El objetivo de este tipo de pruebas es buscar defectos debidos a una estructura incorrecta o al uso incorrecto de aplicaciones.
 
Existe alguna variante más (incluso también, podría añadir las pruebas de caja gris) que investigaremos, pero no entran dentro de la teoria que suelo manejar y serán tratadas como puntos experimentales y que considero como "no oficiales".

0 Comentarios