Los tipos de pruebas de software se usan para mejorar la calidad de lo que hacemos mientras estamos desarrollando software. Esto nos ayuda a que el usuario se lleve la mejor experiencia y que evite pasar por malos ratos al momento de usar un producto, una página o realizando algún tipo de transacción.
Para que tengas claridad sobre este tema exploramos qué son las pruebas de software (software testing) y cuáles son sus tipos.
Las pruebas de software son un proceso que nos ayuda a explorar, conocer y entender el producto que estamos desarrollando de una manera en la cual podamos reducir la cantidad de errores y así evitar que estos sean mostrados al usuario.
Para esto podemos realizar diferentes tipos de pruebas.
Existen diferentes tipos de pruebas de calidad de software que nos ayudan a mejorar lo que estamos desarrollando y pueden ser manuales o automáticas. Algunos de los tipos pruebas son:
No, no significa que solo vamos a testear una función en nuestro código.
Con este tipo de pruebas testeamos la funcionalidad de nuestro sistema o software, podemos hacernos preguntas sobre cómo funciona, qué debe estar haciendo, cómo están interactuando los usuarios. También conocidas como pruebas de caja negra.
Estas pruebas nos ayudan a revisar todas las funciones del sistema y componentes con los que el usuario tiene una interacción directa.
Las pruebas funcionales se dividen en:
Puede que tengamos un sistema funcionando, pero el usuario está experimentando otro tipo de problemas que no son detectados por las pruebas anteriores.
Factores como lentitud, problemas en la combinación de colores provocando poca legibilidad o claridad, usabilidad, seguridad, son las que testeamos en con este tipo de pruebas.
Así que las pruebas no funcionales se enfocan en elementos de experiencia de usuario, diseño, seguridad y, en general, de calidad del sistema.
Algunas pruebas no funcionales existen son:
Mejor conocidas como pruebas de caja blanca porque conocemos todo nuestro stack de tecnología.
Acá estamos interesados en conocer cómo funciona nuestro sistema, no con la perspectiva del usuario sino como desarrollador, por eso con este tipo de pruebas es necesario conocer cómo está internamente implementado nuestro código, cómo funciona “por dentro”.
En esta parte probamos nuevamente un componente o un módulo para verificar que no haya sido afectado por actualizaciones realizadas en otras partes de nuestro software y así evitamos que los usuarios puedan percatarse del error.
Es probar lo ya probado en cada actualización lanzada.
Las pruebas de software se realizan de acuerdo a ciertas circunstancias y dependiendo del objetivo o alcance de la prueba que necesitemos realizar, nos enfocaremos más en unas que en otras.
Así que son importantes si quieres asegurarte que los cambios de tu codigo y todo lo que desarrolles funciona tal y como lo esperas. Realizar pruebas para entender el comportamiento del sistema te será siempre de utilidad.
Descubre más sobre el Modelo TCP/IP
Este tipo de pruebas también pueden variar dependiendo de sus niveles tanto integración, componente, sistema y aceptación. También podemos aplicar TDD(Test Driven Development) en nuestro desarrollo, para probar nuestro código en pedacitos pequeños funcionales.
Puedes aprender más sobre pruebas de software y sus tipos en el Curso de Fundamentos de Pruebas de Software. Entra y lleva tu conocimiento a otro nivel.
Cuando habra una actualizacion de los cursos de Manual Testing?
Buen pantallaso del testing!
Las funcionales vendrian a ser las pruebas de caja negra?
Es correcto, ya que estamos analizando que es lo que hace el software sin conocer su estructura a detalle.
Las pruebas de estrés que vendrían siendo?
Son pruebas donde se pueden manejar un flujo en aumento de usuarios que usan la aplicacion a la vez (normalmente simulado por automation testing) o un aumento subito o repentino de usuarios conectados a la vez y del mismo modo que aparecen se van.
La idea es probar la capacidad de respuesta de los servidores que contienen la applicacion y del codigo mismo si esta optimizado o no para que responda las situaciones extremas.
En contexto:
Prueba con flujo en aumento seria
1 usuario
luego + 10 usuarios
Prueba con aumento y decremento repentino
10 usuarios usando la app
150 usuarios adicionales
luego solo 50 usando la app
luego 1 usuario.
Se asemeja a una montaña rusa en sus cambios repentinos.
Desde mi opinion, creo que estan enfocadas a como responde la aplicacion, eso incluye el tema de seguridad, compatibilidad, estres y rendimiento.