SlideShare una empresa de Scribd logo
1 de 14
• Se trata de probar módulos sueltos
• Fase informal previa
– Ejecutar pequeños ejemplos
– Hay herramientas que analizan automáticamente la sintaxis
de los programas
• Fase de prueba sistemática
– Pruebas de caja negra: Se prueba la funcionalidad del
módulo sin atender a su contenido
– Pruebas de caja blanca (o transparente): Se mira con lupa la
estructura del código escrito
Caja blanca

• También llamadas:
– Pruebas estructurales
– Pruebas de caja transparente
• Su objetivo es probar exhaustivamente la
estructura del código
• Cobertura: es una medida del porcentaje de
código que ha sido probado o “cubierto” con
las pruebas. Hay varios tipos:
– Cobertura de segmentos
– Cobertura de ramas
– Cobertura de condición/decisión
– Cobertura de bucles
Caja blanca


• Cobertura de segmentos (o de sentencias)
– Segmento: secuencia de sentencias sin puntos de decisión
– El nº de sentencias es finito. Hay que ser precavido a la hora de elegir
cuándo parar
– No se suele pasar por todas las sentencias sino por una mayoría elegida
adecuadamente


• Cobertura de ramas
– ¿Qué ocurre con los segmentos opcionales? if (condición) {EjecutaEsto}
– Hay que probar cuándo la condición se cumple y cuñando falla
– Refinamiento: hay que recorrer todas las posibles salidas de los puntos de
decisión (y excepciones)
Caja blanca

• Cobertura de condición/decisión
if (condición1 || condición2) {HazEsto}
– Sólo 2 ramas, pero 4 posibles combinaciones
– Hay que definir un criterio de cobertura sobre las combinaciones
Cobertura de bucles
– Los bucles son una fuente inagotable de errores.
– Pruebas para un bucle WHILE:
1. 0 ejecuciones
2. 1 ejecución
3. Más de 1 ejecución
– Pruebas para un bucle DO/WHILE:
1. 1 ejecución
2. Más de 1 ejecución
– Pruebas para un bucle FOR:
• Son muy seguros: basta ejecutarlos una vez
• Conviene examinarlos por si acaso.
– Las pruebas de caja blanca comprueban la estructura no la funcionalidad.
– Un programa puede estar bien, y sin embargo no servir a la función que
pretende (lo que hace, lo hace bien, pero no hace lo que queríamos que
hiciese)
– Necesitamos comprobar la funcionalidad con pruebas de caja negra.
Caja negra


• También llamadas:
– Pruebas de caja opaca
– Pruebas funcionales
– Pruebas de entrada/salida
– Pruebas inducidas por los datos
• Su objetivo es probar la funcionalidad del código
• Intentan encontrar casos en los que el módulo no atiende a su especificación.
• Especialmente indicadas en los módulos que van a ser interfaz con el usuario.
Caja negra




• Cobertura de especificación: nº de requisitos que se han probado.
• El problema: el conjunto de datos suele ser muy amplio
• Solución: “Clases de equivalencia”
• Recetas para identificarlas:
– Por debajo, en y por encima del rango
– Por debajo, en y por encima del valor concreto
– En el conjunto o fuera de él
– Verdadero o falso
– Los mismos criterios para las salidas
– Las pruebas de caja negra comprueban la funcionalidad.
– No comprueban si el programa hace además cosas que no debería (ej:
un virus)
– No es suficiente con sólo pruebas de caja negra
• Involucran varios módulos
• Pueden ser estructurales o funcionales
– Estructurales: como las de caja blanca, pero analizando llamadas entre
módulos
– Funcionales: como las de caja negra, pero comprobando funcionalidades
conjuntas
– Se siguen utilizando clases de equivalencia y análisis de valores frontera
• Las pruebas finales consideran todo el sistema, cubriendo plenamente la
especificación de requisitos del usuario.
Diseño descendente: se comienza probando los módulos más generales
• Ventaja: Piensa en términos de funcionalidad global
• Inconveniente: No dispongo de los módulos inferiores
– Diseño ascendente: se comienza probando los módulos de base
• Ventaja: No hay que construir módulos ficticios
• Inconveniente: Se centra más en el desarrollo que en las
expectativas del cliente
– Codificación incremental: se codifican sólo las partes de cada módulo
necesarias para cada funcionalidad; una vez probada, se van añadiendo
funcionalidades
• Ventaja: Cuando hay mucha interacción con el usuario
• Inconveniente: No tenemos módulos completos hasta el final.
• Pruebas funcionales que realiza el cliente antes de poner la aplicación
en producción
• Hay errores que sólo el cliente puede detectar...“El cliente siempre
tiene razón”.
• Técnicas:
– Pruebas alfa: Se invita al cliente al entorno de desarrollo, trabajando
sobre un entorno controlado
– Pruebas beta: Se desarrollan en el entorno del cliente, que se queda
sólo con el producto en un entorno sin controlar
– Ambas pruebas son habituales cuando se va a distribuir el programa a
muchos clientes.
Estrategias de aplicación de pruebas

Más contenido relacionado

La actualidad más candente

Mpolo pruebas
Mpolo pruebasMpolo pruebas
Mpolo pruebas
luisbasbe
 

La actualidad más candente (7)

Prueba software orientado a objetos
Prueba software orientado a objetosPrueba software orientado a objetos
Prueba software orientado a objetos
 
Meetup TestingUy 2017 - Lo que aprendí de Rapid Software Testing con Michael ...
Meetup TestingUy 2017 - Lo que aprendí de Rapid Software Testing con Michael ...Meetup TestingUy 2017 - Lo que aprendí de Rapid Software Testing con Michael ...
Meetup TestingUy 2017 - Lo que aprendí de Rapid Software Testing con Michael ...
 
Practicas tecnicas
Practicas tecnicasPracticas tecnicas
Practicas tecnicas
 
Mantenimiento de sistemas
Mantenimiento de sistemasMantenimiento de sistemas
Mantenimiento de sistemas
 
Mpolo pruebas
Mpolo pruebasMpolo pruebas
Mpolo pruebas
 
Qualitytest
QualitytestQualitytest
Qualitytest
 
No debuggearás - Introducción al Unit Testing y TDD
No debuggearás - Introducción al Unit Testing y TDDNo debuggearás - Introducción al Unit Testing y TDD
No debuggearás - Introducción al Unit Testing y TDD
 

Destacado

BibliotecaDigital
BibliotecaDigitalBibliotecaDigital
BibliotecaDigital
Cristi Coba
 
Prueba, caso de prueba, defecto, falla, error, verificación, validación
Prueba, caso de prueba, defecto, falla, error, verificación, validaciónPrueba, caso de prueba, defecto, falla, error, verificación, validación
Prueba, caso de prueba, defecto, falla, error, verificación, validación
Cristi Coba
 

Destacado (7)

BibliotecaDigital
BibliotecaDigitalBibliotecaDigital
BibliotecaDigital
 
Prueba, caso de prueba, defecto, falla, error, verificación, validación
Prueba, caso de prueba, defecto, falla, error, verificación, validaciónPrueba, caso de prueba, defecto, falla, error, verificación, validación
Prueba, caso de prueba, defecto, falla, error, verificación, validación
 
pruebas de cajas blanca
 pruebas de cajas blanca pruebas de cajas blanca
pruebas de cajas blanca
 
What's Next in Growth? 2016
What's Next in Growth? 2016What's Next in Growth? 2016
What's Next in Growth? 2016
 
The Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post FormatsThe Six Highest Performing B2B Blog Post Formats
The Six Highest Performing B2B Blog Post Formats
 
The Outcome Economy
The Outcome EconomyThe Outcome Economy
The Outcome Economy
 
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business32 Ways a Digital Marketing Consultant Can Help Grow Your Business
32 Ways a Digital Marketing Consultant Can Help Grow Your Business
 

Similar a Estrategias de aplicación de pruebas

20180313 Keep Calm And Test Your Code RiojaDotNet
20180313 Keep Calm And Test Your Code RiojaDotNet20180313 Keep Calm And Test Your Code RiojaDotNet
20180313 Keep Calm And Test Your Code RiojaDotNet
albertortizcape
 
Gestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo softwareGestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo software
Laura M. Castro
 
Verificacion --validacion
Verificacion --validacionVerificacion --validacion
Verificacion --validacion
eduardoao2
 

Similar a Estrategias de aplicación de pruebas (20)

Pruebas-OCW.pdf
Pruebas-OCW.pdfPruebas-OCW.pdf
Pruebas-OCW.pdf
 
U2T4 - Pruebas del Software
U2T4 - Pruebas del SoftwareU2T4 - Pruebas del Software
U2T4 - Pruebas del Software
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blanca
 
Prueba de-caja-negra-y-caja-blanca pwp
Prueba de-caja-negra-y-caja-blanca pwpPrueba de-caja-negra-y-caja-blanca pwp
Prueba de-caja-negra-y-caja-blanca pwp
 
Pruebas automaticas
Pruebas automaticasPruebas automaticas
Pruebas automaticas
 
15_pruebaSW.ppt
15_pruebaSW.ppt15_pruebaSW.ppt
15_pruebaSW.ppt
 
Calidad del software cap2
Calidad del software   cap2Calidad del software   cap2
Calidad del software cap2
 
20180313 Keep Calm And Test Your Code RiojaDotNet
20180313 Keep Calm And Test Your Code RiojaDotNet20180313 Keep Calm And Test Your Code RiojaDotNet
20180313 Keep Calm And Test Your Code RiojaDotNet
 
Clean code 9
Clean code 9Clean code 9
Clean code 9
 
Codigo Escalable WDT
Codigo Escalable WDTCodigo Escalable WDT
Codigo Escalable WDT
 
Gestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo softwareGestión de pruebas en desarrollo software
Gestión de pruebas en desarrollo software
 
Doble o nada
Doble o nadaDoble o nada
Doble o nada
 
Modelo pruebas
Modelo pruebasModelo pruebas
Modelo pruebas
 
Pruebas
PruebasPruebas
Pruebas
 
Taller definición bugs
Taller definición bugsTaller definición bugs
Taller definición bugs
 
Vuelta_a_los_origines_Testing.pdf
Vuelta_a_los_origines_Testing.pdfVuelta_a_los_origines_Testing.pdf
Vuelta_a_los_origines_Testing.pdf
 
To mock or not to mock
To mock or not to mockTo mock or not to mock
To mock or not to mock
 
S5-CDSQA.pptx
S5-CDSQA.pptxS5-CDSQA.pptx
S5-CDSQA.pptx
 
Verificacion --validacion
Verificacion --validacionVerificacion --validacion
Verificacion --validacion
 
Prueba
PruebaPrueba
Prueba
 

Último

Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
patriciaines1993
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
jlorentemartos
 

Último (20)

Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
semana 4 9NO Estudios sociales.pptxnnnn
semana 4  9NO Estudios sociales.pptxnnnnsemana 4  9NO Estudios sociales.pptxnnnn
semana 4 9NO Estudios sociales.pptxnnnn
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
Tema 11. Dinámica de la hidrosfera 2024
Tema 11.  Dinámica de la hidrosfera 2024Tema 11.  Dinámica de la hidrosfera 2024
Tema 11. Dinámica de la hidrosfera 2024
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
Biografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdfBiografía de Charles Coulomb física .pdf
Biografía de Charles Coulomb física .pdf
 
Diapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundariaDiapositivas de animales reptiles secundaria
Diapositivas de animales reptiles secundaria
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 

Estrategias de aplicación de pruebas

  • 1.
  • 2.
  • 3. • Se trata de probar módulos sueltos • Fase informal previa – Ejecutar pequeños ejemplos – Hay herramientas que analizan automáticamente la sintaxis de los programas • Fase de prueba sistemática – Pruebas de caja negra: Se prueba la funcionalidad del módulo sin atender a su contenido – Pruebas de caja blanca (o transparente): Se mira con lupa la estructura del código escrito
  • 4. Caja blanca • También llamadas: – Pruebas estructurales – Pruebas de caja transparente • Su objetivo es probar exhaustivamente la estructura del código • Cobertura: es una medida del porcentaje de código que ha sido probado o “cubierto” con las pruebas. Hay varios tipos: – Cobertura de segmentos – Cobertura de ramas – Cobertura de condición/decisión – Cobertura de bucles
  • 5. Caja blanca • Cobertura de segmentos (o de sentencias) – Segmento: secuencia de sentencias sin puntos de decisión – El nº de sentencias es finito. Hay que ser precavido a la hora de elegir cuándo parar – No se suele pasar por todas las sentencias sino por una mayoría elegida adecuadamente • Cobertura de ramas – ¿Qué ocurre con los segmentos opcionales? if (condición) {EjecutaEsto} – Hay que probar cuándo la condición se cumple y cuñando falla – Refinamiento: hay que recorrer todas las posibles salidas de los puntos de decisión (y excepciones)
  • 6. Caja blanca • Cobertura de condición/decisión if (condición1 || condición2) {HazEsto} – Sólo 2 ramas, pero 4 posibles combinaciones – Hay que definir un criterio de cobertura sobre las combinaciones Cobertura de bucles – Los bucles son una fuente inagotable de errores. – Pruebas para un bucle WHILE: 1. 0 ejecuciones 2. 1 ejecución 3. Más de 1 ejecución – Pruebas para un bucle DO/WHILE: 1. 1 ejecución 2. Más de 1 ejecución – Pruebas para un bucle FOR: • Son muy seguros: basta ejecutarlos una vez • Conviene examinarlos por si acaso.
  • 7. – Las pruebas de caja blanca comprueban la estructura no la funcionalidad. – Un programa puede estar bien, y sin embargo no servir a la función que pretende (lo que hace, lo hace bien, pero no hace lo que queríamos que hiciese) – Necesitamos comprobar la funcionalidad con pruebas de caja negra.
  • 8. Caja negra • También llamadas: – Pruebas de caja opaca – Pruebas funcionales – Pruebas de entrada/salida – Pruebas inducidas por los datos • Su objetivo es probar la funcionalidad del código • Intentan encontrar casos en los que el módulo no atiende a su especificación. • Especialmente indicadas en los módulos que van a ser interfaz con el usuario.
  • 9. Caja negra • Cobertura de especificación: nº de requisitos que se han probado. • El problema: el conjunto de datos suele ser muy amplio • Solución: “Clases de equivalencia” • Recetas para identificarlas: – Por debajo, en y por encima del rango – Por debajo, en y por encima del valor concreto – En el conjunto o fuera de él – Verdadero o falso – Los mismos criterios para las salidas
  • 10. – Las pruebas de caja negra comprueban la funcionalidad. – No comprueban si el programa hace además cosas que no debería (ej: un virus) – No es suficiente con sólo pruebas de caja negra
  • 11. • Involucran varios módulos • Pueden ser estructurales o funcionales – Estructurales: como las de caja blanca, pero analizando llamadas entre módulos – Funcionales: como las de caja negra, pero comprobando funcionalidades conjuntas – Se siguen utilizando clases de equivalencia y análisis de valores frontera • Las pruebas finales consideran todo el sistema, cubriendo plenamente la especificación de requisitos del usuario.
  • 12. Diseño descendente: se comienza probando los módulos más generales • Ventaja: Piensa en términos de funcionalidad global • Inconveniente: No dispongo de los módulos inferiores – Diseño ascendente: se comienza probando los módulos de base • Ventaja: No hay que construir módulos ficticios • Inconveniente: Se centra más en el desarrollo que en las expectativas del cliente – Codificación incremental: se codifican sólo las partes de cada módulo necesarias para cada funcionalidad; una vez probada, se van añadiendo funcionalidades • Ventaja: Cuando hay mucha interacción con el usuario • Inconveniente: No tenemos módulos completos hasta el final.
  • 13. • Pruebas funcionales que realiza el cliente antes de poner la aplicación en producción • Hay errores que sólo el cliente puede detectar...“El cliente siempre tiene razón”. • Técnicas: – Pruebas alfa: Se invita al cliente al entorno de desarrollo, trabajando sobre un entorno controlado – Pruebas beta: Se desarrollan en el entorno del cliente, que se queda sólo con el producto en un entorno sin controlar – Ambas pruebas son habituales cuando se va a distribuir el programa a muchos clientes.