Significado de Testing de software
Sustantivo masculino. Del inglés testing, «prueba», gerundio de to test; en español se usa también «pruebas de software».
El testing de software es el proceso sistemático de ejecutar un programa con el fin de detectar errores, verificar que cumple sus requisitos y comprobar que funciona como se espera antes de su uso.
Forma parte del ciclo de desarrollo y se practica con distintos niveles de automatización, desde pruebas manuales hasta suites que se ejecutan sin intervención humana.
Qué es el testing de software
El testing de software no es solo buscar errores al final de un proyecto: incluye también verificar que el programa hace lo que debía hacer, detectar comportamientos inesperados y comprobar que un cambio reciente no ha roto algo que antes funcionaba.
Se distingue entre pruebas manuales, en las que una persona ejecuta el programa y observa el resultado, y pruebas automatizadas, en las que un código aparte ejecuta el programa y compara el resultado obtenido con el esperado, sin intervención humana en cada repetición.
Lo practican los equipos de desarrollo y, de forma independiente, especialistas en aseguramiento de la calidad, que diseñan los casos de prueba y deciden qué partes del programa necesitan más atención.
Origen de la palabra testing
Del inglés testing, «prueba, ensayo», gerundio de to test, y este del francés antiguo test, «recipiente para ensayar metales», voz emparentada en última instancia con el latín testum, «vasija de barro».
El vocablo inglés se incorporó a la informática junto con las prácticas de desarrollo de software que llegaron de Estados Unidos, y en español convive con la traducción «pruebas de software», más frecuente en contextos formales o académicos, mientras que «testing» predomina en el lenguaje de la industria.
Tipos de testing de software
| Tipo | En qué consiste |
|---|---|
| Pruebas unitarias | Comprueban el correcto funcionamiento de una función o un componente aislado del resto del sistema. |
| Pruebas de integración | Verifican que distintos módulos, ya probados por separado, funcionan correctamente al combinarse. |
| Pruebas de sistema | Evalúan el programa completo, ya integrado, frente a los requisitos definidos para el proyecto. |
| Pruebas de aceptación | Comprueban, a menudo junto con quien encargó el software, que este cumple lo esperado antes de entregarlo. |
Ejemplos de uso de testing de software
El equipo automatizó las pruebas unitarias para detectar errores cada vez que alguien modificaba el código.
Antes de publicar la actualización, el departamento de testing de software revisó que ninguna función anterior hubiera dejado de funcionar.
Las pruebas de integración revelaron que dos módulos, correctos por separado, fallaban al combinarse.
El cliente participó en las pruebas de aceptación para confirmar que la aplicación cumplía sus requisitos.
Contrataron a un especialista en testing de software para diseñar los casos de prueba del nuevo sistema de pagos.
Sinónimos y palabras relacionadas
Sinónimos: pruebas de software, verificación de software.
Antónimos: no tiene antónimo propio; por contraste, «código sin probar» describe la ausencia de esta práctica.
No es lo mismo que:
- Depuración: corrige un error ya localizado; el testing lo busca y lo confirma, pero no necesariamente lo soluciona. Ver significado de depuración.
- Control de calidad: es un concepto más amplio, que incluye el testing junto con normas y procesos de revisión; el testing es una de sus herramientas.
- Integración continua: es la práctica de combinar e implementar cambios de código con frecuencia; suele apoyarse en pruebas automatizadas, pero no consiste únicamente en probar el software. Ver significado de integración continua.
Preguntas frecuentes sobre el testing de software
¿Qué diferencia hay entre testing y depuración?
El testing busca y confirma la existencia de un error mediante pruebas sistemáticas; la depuración es el paso posterior en el que se localiza la causa exacta del error dentro del código y se corrige.
¿Qué es una prueba unitaria?
Es una prueba que verifica el funcionamiento de una función o un componente pequeño de forma aislada, sin depender del resto del sistema, lo que facilita detectar en qué parte del código está el problema.
¿Se puede automatizar todo el testing de software?
No siempre: las pruebas repetitivas, como las unitarias, se automatizan con facilidad, pero algunas pruebas de usabilidad o de aceptación siguen requiriendo la valoración de una persona.