Pruebas de software
Las pruebas de software (en inglés software testing) 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. Es una actividad más en el
proceso de control de calidad.
Las pruebas son básicamente un conjunto de actividades dentro del desarrollo de
software. Dependiendo del tipo de pruebas, estas actividades podrán ser implementadas
en cualquier momento de dicho proceso de desarrollo. Existen distintos modelos de
desarrollo de software, así como modelos de pruebas. A cada uno corresponde un nivel
distinto de involucramiento en las actividades de desarrollo.
Índice
1 Historia
2 Pruebas estáticas
3 Pruebas dinámicas
4 Tipos de pruebas
5 Pruebas de Compatibilidad
6 Pruebas de Regresión
7 Pruebas de Integración
8 Tipos de pruebas por su ejecución
9 Enfoques de pruebas
10 Niveles de pruebas
11 Pruebas funcionales
12 Pruebas no funcionales
13 Véase también
14 Referencias
15 Enlaces externos
Historia
El objetivo de las pruebas es presentar información sobre la calidad del producto a las
personas responsables de éste.
Teniendo esta afirmación en mente, la información que puede ser requerida es de lo más
variada. Esto hace que el proceso de testing sea completamente dependiente del
contexto1 en el que se desarrolla.
A pesar de lo que muchos promueven, no existen las "mejores prácticas" como tal. Toda
práctica puede ser ideal para una situación pero completamente inútil o incluso
perjudicial en otra.
Por esto, las actividades, técnicas, documentación, enfoques y demás elementos que
condicionarán las pruebas a realizar, deben ser seleccionadas y utilizadas de la manera
más eficiente según contexto del proyecto.
Pruebas estáticas
Son el tipo de pruebas que se realizan sin ejecutar el código de la aplicación.
Puede referirse a la revisión de documentos, ya que no se hace una ejecución de código.
Esto se debe a que se pueden realizar "pruebas de escritorio" con el objetivo de seguir
los flujos de la aplicación.
Pruebas dinámicas
Todas aquellas pruebas que para su ejecución requieren la ejecución de la aplicación.
Las pruebas dinámicas permiten el uso de técnicas de caja negra y caja blanca con
mayor amplitud. Debido a la naturaleza dinámica de la ejecución de pruebas es posible
medir con mayor precisión el comportamiento de la aplicación desarrollada.
Tipos de pruebas
Hay todo tipo de pruebas, pero nos centraremos en tres de ellas:
Pruebas de Compatibilidad
Se comprueba el funcionamiento del software desarrollado en muchas plataformas:
sistemas operativos, navegadores, redes, hardware...entre otros
Pruebas de Regresión
Se evalúa el correcto funcionamiento del software desarrollado frente a evoluciones o
cambios funcionales. El propósito de éstas es asegurar que los casos de prueba que ya
habían sido probados y fueron exitosos permanezcan así. Se recomienda que este tipo de
pruebas sean automatizadas para reducir el tiempo y esfuerzo en su ejecución.
Pruebas de Integración
Es el nivel de pruebas posterior a las pruebas modulares de los componentes de un
sistema. Se centra principalmente en probar la comunicación entre los componentes de
un mismo sistema, comunicación entre sistemas o entre hardware y software.
Tipos de pruebas por su ejecución
Pruebas manuales
Pruebas automáticas
Enfoques de pruebas
Pruebas de Caja blanca
Pruebas de Caja negra
Testing aleatorio2
Niveles de pruebas
Pruebas unitarias
Pruebas modulares
Pruebas de integración
Pruebas de sistema
Pruebas de aceptación de usuario UAT
Pruebas funcionales
Pruebas funcionales
Pruebas de humo
Pruebas de regresión
Pruebas de aceptación
Alpha testing
Beta testing
Pruebas no funcionales
Pruebas no funcionales
Pruebas de seguridad
Pruebas de usabilidad
Pruebas de rendimiento
Pruebas de internacionalización y localización
Pruebas de escalabilidad
Pruebas de mantenibilidad
Pruebas de instalabilidad
Pruebas de portabilidad
Véase también
Casos de prueba
Desarrollo guiado por pruebas
Oráculo
Referencias
1.
http://context-driven-testing.com/
2. Barrientos, Pablo Andrés (25 de abril de 2014). Enfoque para pruebas de
unidad basado en la generación aleatoria de objetos. p. 101. Consultado el 28
de abril de 2014.
Enlaces externos
Context-driven Testing
www.testingeducation.org
ISO/IEC/IEEE 29119 Pruebas de Software (Grupo de Trabajo de AENOR
AEN/CTN71/SC7/GT26)
MÉTRICA v3 en el CSAE
Categorías:
Pruebas de software
Gestión de la calidad
Análisis de software