Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INPUT OUTPUT
Black Box
White Box Testing
Testing
2. Siete principios del proceso de prueba
❑ Principio 1: El proceso de prueba demuestra la presencia de
defectos, no su ausencia
✓ Las desviaciones identificadas a lo largo del proceso de prueba
demuestran la presencia de un fallo.
✓ La causa de un fallo puede no ser obvia.
✓ El proceso de prueba no puede demostrar la ausencia de defectos.
✓ Las pruebas reducen la probabilidad de la presencia de defectos
que permanezcan sin ser detectados.
✓ La ausencia de fallos no demuestran la corrección de un producto
software.
✓ El mismo proceso de prueba puede contener equivocaciones.
✓ Las condiciones de prueba pueden ser inapropiadas para detectar
los errores cometidos por el desarrollador.
2. Siete principios del proceso de prueba
❑ Principio 2: No es posible realizar pruebas exhaustivas.
✓ Pruebas exhaustivas (exhaustive testing)
▪ Es donde el conjunto de pruebas abarca todas las combinaciones de valores
de entrada y precondiciones.
✓ Explosión de casos de prueba (test case explosion)
▪ Define el incremento factorial del esfuerzo y costo en el caso de
pruebas exhaustivas.
✓ Pruebas de Muestra (sample test)
▪ Se realiza la prueba tomando un subconjunto de todos lo posibles
valores de entrada,
▪ Para elegir este subconjunto de valores se puede realizar en forma
sistemática o aleatoria.
▪ Probar todas las combinaciones posibles de entrada y precondiciones
sólo es económicamente viables en casos triviales.
2. Siete principios del proceso de prueba
❑ Principio 3: Pruebas temprana (early testing).
✓ Cuanto mas temprana es la detección de un defecto, menos costosa es
su corrección.
✓ Los defectos detectados en la fase de concepción (fase temprana) son
corregidos con menor esfuerzo y costo.
✓ Se obtiene una máxima rentabilidad cuando los defectos son corregidos
antes de la implementación.
✓ Los conceptos y especificaciones también pueden ser probados.
✓ La preparación de una prueba también consume costo.
✓ El proceso de prueba implica mas que sólo la ejecución de la prueba.
✓ Las actividades de prueba pueden ser preparadas antes de que el
desarrollo se haya completado.
✓ Las actividades de prueba deben ser ejecutadas en paralelo a la
especificación y diseño de software.
2. Siete principios del proceso de prueba
❑ Principio 4: Agrupamiento de defectos (defect clustering).
✓ Encuentre un defecto y encontrarás más defectos “cerca”, así
que si un defecto es encontrado es muy probable que haya
más defectos alrededor de este último
✓ Los defectos aparecen agrupados como hongos y cucarachas.
✓ Vale la pena investigar un mismo módulo donde se ha
detectado un defecto.
✓ Los probadores de software deben ser flexibles
✓ Habiendo detectado un defecto, es conveniente volver a
considerar el rumbo de las pruebas posteriores.
✓ La identificación de un defecto puede ser investigada con un
mayor grado de detalle, realizando pruebas adicionales o
modificando las existente.
2. Siete principios del proceso de prueba
❑ Principio 5: Paradoja del pesticida (paradoja de las plagas)
✓ Repetir las pruebas en las mismas condiciones no es efectivo es decir si
las pruebas se repiten una y otra vez, pierden efectividad.
✓ Cada caso de prueba debe contar con una combinación única de
parámetros de entrada para un objetivo de prueba particular, de lo
contrario no se podrá obtener información adicional.
✓ Si se ejecutan las mismas pruebas en forma reiterada no se podrán
encontrar nuevos defectos.
✓ Las pruebas deben ser revisadas/modificadas regularmente para los
distintos módulos de código.
✓ Es necesario repetir una prueba tras una modificación de código
(corrección de defectos, nueva funcionalidad).
✓ La automatización de pruebas es conveniente si un conjunto de casos de
prueba se ejecuta con frecuencia.
2. Siete principios del proceso de prueba
❑ Principio 6: Las pruebas dependen del contexto.
✓ Las pruebas deben adaptarse a los riesgos inherentes de su uso y al entorno de
la aplicación, por eso, dos sistemas nunca deben de ser probados de la misma
manera.
✓ Repetir las pruebas en las mismas condiciones no es efectivo es decir si las
pruebas se repiten una y otra vez bajo las mismas condiciones, pierden
efectividad.
✓ Objetivos de pruebas diferentes son probados de forma diferente.
✓ Entorno de prueba (test environment, cama de prueba – test bed) vs entorno
de producción (productión environment)
✓ Las pruebas tiene lugar en un entorno distinto del entorno de producción, por lo
que el entorno de pruebas debe ser muy similar al entorno de producción.
✓ Siempre habrá desviaciones entre el entorno de prueba y el entorno de
producción.
✓ Estas desviaciones ponen en tela de juicio las conclusiones que se obtuvieran
tras las pruebas.
2. Siete principios del proceso de prueba
❑ Principio 7: La falacia de la ausencia de errores.
✓ Un proceso de prueba adecuado detectará los fallos más importantes
✓ En la mayoría de los casos el proceso de prueba no detectará todos los
defectos del sistema (Principio 2), pero los defectos mas importantes
deberían ser detectados.
✓ La ausencia de errores, por si solo, no prueba la calidad del software.
✓ Encontrar “fallas” y reparar defectos no quiere decir que el sistema
cumple las expectativas y necesidades del usuario.
✓ La funcionalidad del software puede no satisfacer las necesidades y
expectativas de los usuarios.
✓ No se puede introducir calidad a través de las pruebas, la calidad tiene
que construirse desde el principio.
✓ La temprana participación del usuario en el proceso de desarrollo y el
uso de prototipos son medidas para evitar problemas.
2. Siete principios del proceso de prueba
❑ Las pruebas pueden ayudar a detectar defectos en el software, sin
embargo la mismas no pueden demostrar la ausencia de defectos.
❑ Para casos no triviales las pruebas exhaustivas son imposibles, la
prueba de muestra son necesarias.
❑ Las pruebas tempranas ayudan a reducir costes dado que los
defectos descubiertos en fases tempranas del proceso de
software son corregidas con menor esfuerzo.
❑ Los defectos se presentan agrupados.
❑ La repetición de pruebas idénticas no genera nueva información.
❑ Las pruebas dependen del contexto, es decir el entorno particular
determina la forma en la cual se ejecutarán la pruebas.
❑ Un software libre de fallos no implica su adecuación al uso.
2. Siete principios del proceso de prueba
Un equipo de prueba encuentra constantemente entre el 90% y el 95% de
los defectos presentes en el sistema bajo prueba. Mientras que el director de
pruebas entiende que se trata de un buen porcentaje de detección de
defectos para su equipo de pruebas y la industria, la alta dirección y los
ejecutivos siguen siendo decepcionado en el grupo de prueba, diciendo que
el equipo de pruebas no detecta, pierde, demasiados errores. Dado que los
usuarios de Internet están generalmente satisfechos con el sistema y que los
fallos que se han producido han sido en general de bajo impacto, cuál de los
siguientes principios de prueba que es más probable que ayude al director
de pruebas a explicar a estos gerentes y ejecutivos por qué algunos defectos
puedan no ser detectados?
a) Testing Exaustivo es imposible,
b) Los defectos tienden a agruparse. (Defect clustering )
c) Paradoja del pesticida (o de las plagas)
d) Falacia de la ausencia de errores.
1/06_06. Reflexión sobre el testing
https://www.youtube.com/wat?v=EwmI5NDKLBo
3.Tipos de Testing
- Unidad
- Integración
- Funcionalidad
- Usabilidad
- Sistema
- Performance
- Seguridad
REQS TESTS
Tipos de TestingValida que las unidades individuales de código
fuente están funcionando apropiadamente.
Una unidad es la parte mas pequeña testeable de
una aplicación. El objetivo de las pruebas de
unidad es aislar cada parte del programa y
Pruebas de Unidad mostrar que cada parte individual es correcto.
Tipos de Testing
Las pruebas de integración es un tipo de
pruebas en el cual diferentes módulos del
software se combinan y testean como un grupo.
El objetivo de este tipo de pruebas es verificar
funcionalidades, la performance y la
Pruebas de Integración confiabilidad de un producto.
Tipos de Testing
Planificación
Definición
Automatización
Ejecución
Reporte
Análisis
4. Conclusión
3. https://www.youtube.com/wat?v=EwmI5NDKLBo
4. https://slideplayer.es/slide/1053403/
5. http://oa.upm.es/40012/1/PFC_JOSE_MANUEL_SANCHEZ_PENO_3.
pdf
Preguntas?
Gracias
por su atención