Qué es Testing de Software
El Testing de Software es la realización de pruebas sobre el mismo, con el fin de obtener información acerca de su calidad.
Este proceso tiene varios objetivos bien definidos, como son:
- Encontrar defectos o bugs con el finde ser subsanados.
- Eso nos va a permitir aumentar la confianza en el nivel de calidad del software. Aunque por muchas pruebas que realicemos no vamos a poder afirmar al 100% que ese software no contiene errores, a base de hacer pruebas y subsanar errores, aumentamos nuestra confianza en el mismo.
- Esta calidad nos va a facilitar la toma de decisiones. Por ejemplo, si tenemos una entrega que debe pasar a producción, si tiene muchos defectos y la calidad no es buena, a lo mejor debemos posponerlo y subsanar primero los errores, pero si la calidad es buena y no tiene errores, lo pasamos a producción.
- Evitar la aparición de nuevos efectos, ya que si aumento la calidad de mi software y hacemos las cosas bien, es menos probable que aparezcan nuevos defectos que si hago las cosas de cualquier forma y con una calidad baja.
Optimiza el proceso de pruebas en tus desarrollos de software
Formaciones para aprender a diseñar y ejecutar pruebas automatizadas utilizando las últimas herramientas y frameworks, como Testcontainers, JMeter y LoadRunner.
Comenzar gratis ahora
Tipos de pruebas
En cuanto a los tipos de pruebas que se pueden realizar, pueden ser:
2.1.· Según si ejecutamos o no el código, tenemos pruebas estáticas y dinámicas.
Las estáticas son aquellas que se hacen sin necesidad de ejecutar el código. Un ejemplo de este tipo de pruebas puede ser la revisión estática de código, es decir, analizar el código fuente de una aplicación en busca de defectos, de algún tipo de patrones incorrectos y demás.
Las pruebas dinámicas, en cambio, son aquellas en las cuales tengo que ejecutar el software para poder probarlo. Por ejemplo, unas pruebas funcionales, en las que tenemos la aplicación en marcha y accedemos a la misma para realizar una serie de pruebas.
2.2.· Según el uso de herramientas, tenemos las pruebas manuales o automáticas.
Las pruebas manuales son aquellas en las que se prueba una navegación normal, por ejemplo, o se realiza una prueba funcional, como por ejemplo, acceder a la aplicación y pulsar los botones para comprobar si funciona o no.
En las pruebas automáticas se usa una herramienta para realizar estas pruebas, por ejemplo una prueba automatizada, en la que grabo una navegación y luego ejecuto esa prueba de forma automática desde la herramienta.
2.3.· Según lo que verifican, existen varios tipos.
- Las pruebas funcionales, que a su vez existen varios tipos, de las que las más importantes son las unitarias, de integración, de aceptación y de regresión.
- Las unitarias son pruebas para trozos de código concretos para ver que funciona y que no tiene errores.
- Las de integración, que son pruebas a todos los componentes juntos, para ver cómo interactúan entre ellos y comprobar que todo vaya bien.
- Las de aceptación, que las suele hacer el usuario. Puede que un software no contenga errores, que funcione bien, pero tal vez no hace lo que debería hacer, no está haciendo lo que el usuario quería que hiciese.
- Las pruebas de regresión, que se realizan cuando hemos introducido cambios, y hay alguna parte que no me ha tocado pero no sabemos si al realizar los cambios hemos introducido algún defecto en alguna parte que ya funcionaba. Este tipo de pruebas suele ser muy común que se automaticen.
- Las pruebas no funcionales, que por el contrario son aquellas que no se basan en aspecto funciona. Hay varios tipos:
- De seguridad, el famoso hacking ético, en las que se buscan vulnerabilidades de seguridad.
- De rendimiento, que permiten conocer el comportamiento del software ante una carga determinada, cómo responde y cómo se recupera ante fallos.
- De usabilidad, que se emplean para saber cómo de usable es la aplicación, pero sin entrar en aspectos funcionales. Por ejemplo, si tiene un menú que hace que la navegación sea intuitiva, si tiene una ayuda que explica el funcionamiento de la aplicación, etc.
- De accesibilidad, que van más orientadas a que se visualicen bien los elementos, a que si hay sonido tenga también alguna alternativa para personas con alguna discapacidad visual o auditiva, etc.
Aumenta la productividad de tu equipo de desarrollo
Enseñamos a tu equipo las mejores prácticas para diseñar y ejecutar pruebas automatizadas utilizando herramientas y frameworks líderes en la industria.
Solicitar más información