SlideShare una empresa de Scribd logo
Técnicas de Prueba
•
Técnicas de caja blanca o estructurales, que se basan en un
minucioso examen de los detalles procedimentales del código a
evaluar, por lo que es necesario conocer la lógica del Programa.
•
•
Técnicas de caja negra o funcionales, que realizan pruebas sobre la
interfaz del programa a probar, entendiendo por interfaz las entradas y
salidas de dicho programa. No es necesario conocer la lógica del
programa, únicamente la funcionalidad que debe realizar.
Técnicas de Prueba
En realidad estos dos tipos de técnicas son técnicas complementarias que han de
aplicarse al realizar una prueba dinámica, ya que pueden ayudar a identificar distintos
tipos de fallas en un programa.
Pruebas de caja blanca o estructurales
●
A este tipo de técnicas se le conoce también como Técnicas de
Caja Transparente o de Cristal
●
Este método se centra en cómo diseñar los casos de prueba
atendiendo al comportamiento interno y la estructura del
programa. Se examina así la lógica interna del programa sin
considerar los aspectos de rendimiento.
●
El objetivo de la técnica es diseñar casos de prueba para que
se ejecuten, al menos una vez, todas las sentencias del
programa, y todas las condiciones tanto en su vertiente
verdadera como falsa.
Pruebas de caja blanca o estructurales
●
Como se ha indicado ya, puede ser impracticable realizar una prueba
exhaustiva de todos los caminos de un programa. Por ello se han definido
distintos criterios de cobertura lógica, que permiten decidir qué sentencias
o caminos se deben examinar con los casos de prueba.
●
●
El criterio que se va a estudiar es Cobertura de Caminos.
Criterio: Cobertura de caminos
●
La aplicación de este criterio de cobertura asegura que los casos de
prueba diseñados permiten que todas las sentencias del programa
sean ejecutadas al menos una vez y que las condiciones sean
probadas tanto para su valor verdadero como falso.
●
●
Una de las técnicas empleadas para aplicar este criterio de
cobertura es la Prueba del Camino Básico. Esta técnica se basa en
obtener una medida de la complejidad del diseño procedimental de
un programa (o de la lógica del programa).
●
●
Esta medida es la complejidad ciclomática de McCabe, y
representa un límite superior para el número de casos de prueba que
se deben realizar para asegurar que se ejecuta cada camino del
programa.
Técnica: Prueba del camino básico
●
Los pasos a realizar para aplicar esta técnica son:
–Representar el programa en un grafo de flujo
–Calcular la complejidad ciclomática
–Determinar el conjunto básico de caminos independientes
–Derivar los casos de prueba que fuerzan la ejecución de cada camino.
Paso 1: Representar el programa en un
grafo de flujo
●
El grafo de flujo se utiliza para representar flujo de control lógico de un
programa. Para ello se utilizan los tres elementos siguientes:
–Nodos: representan cero, una o varias sentencias en secuencia. Cada
nodo comprende como máximo una sentencia de decisión (bifurcación).
–Aristas: líneas que unen dos nodos.
–Regiones: áreas delimitadas por aristas y nodos. Cuando se contabilizan
las regiones de un programa debe incluirse el área externa como una
región más.
–Nodos predicado: cuando en una condición aparecen uno o más
operadores lógicos (AND,OR, XOR, ...) se crea un nodo distinto por cada
una de las condiciones simples. Cada nodo generado de esta forma se
denomina nodo predicado.
Tecnias de pruebas
Paso 1: Representar el programa en un grafo de flujo
●
Representación de condición múltiple
●
●
●
Paso 1: Representar el programa en un
grafo de flujo
●
A continuación se muestra un grafo de flujo del diagrama de módulos
correspondiente. Nótese cómo la estructura principal corresponde a un
while, y dentro del bucle se encuentran anidados dos constructores if
Paso 1: Representar el programa en un grafo de flujo
●
Así, cada construcción lógica de un programa tiene una
representación:
●
Paso 2: Calcular la complejidad ciclomática
●
La complejidad ciclomática es una métrica del software que proporciona
una medida cuantitativa de la complejidad lógica de un programa.
●
●
En el contexto del método de prueba del camino básico, el valor de la
complejidad ciclomática define el número de caminos independientes de
dicho programa, y por lo tanto, el número de casos de prueba a realizar.
●
●
Posteriormente veremos cómo se identifican esos caminos, pero primero
veamos cómo se puede calcular la complejidad ciclomática a partir de un
grafo de flujo, para obtener el número de caminos a identificar.
Paso 2: Calcular la complejidad ciclomática
●
Existen varias formas de calcular la complejidad ciclomática de un
programa a partir de un grafo de flujo:
–El número de regiones del grafo coincide con la complejidad
ciclomática, V(G).
–La complejidad ciclomática, V(G), de un grafo de flujo G se define
como
●
V(G) = Aristas – Nodos + 2
–La complejidad ciclomática, V(G), de un grafo de flujo G se define
como
●
V(G) = Nodos Predicado + 1
Paso 2: Calcular la complejidad ciclomática
●
La figura representa las cuatro regiones obteniéndose así la complejidad
ciclomática de 4.
Paso 2: Calcular la complejidad ciclomática
●
Análogamente se puede calcular el número de aristas y nodos predicados
para confirmar la complejidad ciclomática. Así:
●
V(G) = Número de regiones = 4
●
V(G) = Aristas – Nodos + 2 = 11-9 + 2 = 4
●
V(G) = Nodos Predicado + 1 = 3 +1 = 4
Paso 3: Determinar el conjunto básico de caminos
independientes
●
Un camino independiente es cualquier camino del programa que introduce,
por lo menos, un nuevo conjunto de sentencias de proceso o una condición,
respecto a los caminos existentes.
●
●
En términos del diagrama de flujo, un camino independiente está constituido
por lo menos por una arista que no haya sido recorrida anteriormente a la
definición del camino.
●
●
En la identificación de los distintos caminos de un programa para probar se
debe tener en cuenta que cada nuevo camino debe tener el mínimo número de
sentencias nuevas o condiciones nuevas respecto a los que ya existen. De esta
manera se intenta que el proceso de depuración sea más sencillo.
Paso 3: Determinar el conjunto básico de caminos
independientes
●
Así por ejemplo, para la el grafo anterior, los cuatro posibles caminos
independientes generados serían:
–Camino 1: 1-9
–Camino 2: 1-2-4-8-1-9
–Camino 3: 1-2-3-5-7-8-1-9
–Camino 4: 1-2-5-6-7-8-1-9
●
Estos cuatro caminos constituyen el camino básico para el grafo de flujo
correspondiente.
Paso 4: Derivar los casos de prueba que
fuerzan la ejecución de cada camino
●
El último paso es construir los casos de prueba que fuerzan la ejecución
de cada camino.
●
●
Una forma de representar el conjunto de casos de prueba es como se
muestra en la siguiente Tabla:
Ejemplo

Más contenido relacionado

PPTX
Software testing
PPTX
How to report bugs
PPT
Software Engineering (Metrics for Process and Projects)
PPTX
Presentation On Software Testing Bug Life Cycle
PPTX
Métricas de Proceso y proyecto de software
PDF
Paradigmas de programacion
PPTX
Planificación de un proyecto de ingeniería de software
PPTX
Software project estimation
Software testing
How to report bugs
Software Engineering (Metrics for Process and Projects)
Presentation On Software Testing Bug Life Cycle
Métricas de Proceso y proyecto de software
Paradigmas de programacion
Planificación de un proyecto de ingeniería de software
Software project estimation

La actualidad más candente (20)

PPTX
Software testing principles
PPTX
White Box Testing
PPT
PPT
Software Reliability
PPT
Software Quality Metrics
PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
PPTX
Design concept -Software Engineering
PPTX
Prueba De La Estructura De Control
PPT
Black Box Testing
PPTX
Phases of software development
PDF
Pruebas unitarias
PPT
acceptance testing
PPT
Pressman ch-25-risk-management
PPTX
Intro to Manual Testing
PPT
Evaluacion de arquitecturas
PPTX
Unit 1 OOSE
PPT
Modelos de Estimacion
PPTX
Bug reporting and tracking
PDF
Severity and Priority
PPTX
Software Risk Management
Software testing principles
White Box Testing
Software Reliability
Software Quality Metrics
UNIT-4design-concepts-se-pressman-ppt.PPT
Design concept -Software Engineering
Prueba De La Estructura De Control
Black Box Testing
Phases of software development
Pruebas unitarias
acceptance testing
Pressman ch-25-risk-management
Intro to Manual Testing
Evaluacion de arquitecturas
Unit 1 OOSE
Modelos de Estimacion
Bug reporting and tracking
Severity and Priority
Software Risk Management
Publicidad

Destacado (6)

PPTX
Diseño caso de pruebas
PPTX
EstructurasDatos - Complejidad Ciclomática
PDF
tipos de pruebas.
PDF
Presentacion Pruebas
PPTX
8.realizacion de pruebas
PPTX
Software caja negra y caja blanca
Diseño caso de pruebas
EstructurasDatos - Complejidad Ciclomática
tipos de pruebas.
Presentacion Pruebas
8.realizacion de pruebas
Software caja negra y caja blanca
Publicidad

Similar a Tecnias de pruebas (20)

PPTX
PRUEBAS DE FUNCIÓN2021aaaaaaaaaaaaa.pptx
PPTX
Diseño caso de pruebas
PDF
Prueba
PDF
03 gestión de pruebas de software diseño de casos de pruebas
PPTX
prueba de aplicaciones convencionales
PPTX
Software testing 1
PDF
pruebas caja negra y blanca.pdf
PDF
Caja negra
PPTX
Software testing 2
PPTX
Pruebas de caja blanca y caja negra.pptx
PPTX
Tecnica de Prueba de Software
PPS
Calidad del software cap2
PPTX
Pruebas software (1)
PDF
U7.resumen.ANALISIS DE LOS ALGORITMOS
PPT
Pruebas De Software
PPT
15_pruebaSW.ppt
PPTX
Algoritmos, dfd, pseudocodigo
PDF
Algoritmo diagrama de_flujo
PDF
Secuencial
PPT
Fpr Tema 1 www.fresymetal.com
PRUEBAS DE FUNCIÓN2021aaaaaaaaaaaaa.pptx
Diseño caso de pruebas
Prueba
03 gestión de pruebas de software diseño de casos de pruebas
prueba de aplicaciones convencionales
Software testing 1
pruebas caja negra y blanca.pdf
Caja negra
Software testing 2
Pruebas de caja blanca y caja negra.pptx
Tecnica de Prueba de Software
Calidad del software cap2
Pruebas software (1)
U7.resumen.ANALISIS DE LOS ALGORITMOS
Pruebas De Software
15_pruebaSW.ppt
Algoritmos, dfd, pseudocodigo
Algoritmo diagrama de_flujo
Secuencial
Fpr Tema 1 www.fresymetal.com

Último (20)

PDF
Diapositiva proyecto de vida, materia catedra
DOCX
Guía 5. Test de orientación Vocacional 2.docx
PDF
MANUAL de recursos humanos para ODOO.pdf
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PPTX
Mecanismos-de-Propagacion de ondas electromagneticas
DOCX
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
PDF
Distribucion de frecuencia exel (1).pdf
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PDF
Documental Beyond the Code (Dossier Presentación - 2.0)
PPTX
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
PDF
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
PPT
Protocolos de seguridad y mecanismos encriptación
PPTX
Uso responsable de la tecnología - EEST N°1
PDF
Teoría de estadística descriptiva y aplicaciones .pdf
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
DOCX
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
PPTX
modulo seguimiento 1 para iniciantes del
DOCX
Trabajo informatica joel torres 10-.....................
PDF
capacitación de aire acondicionado Bgh r 410
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
Diapositiva proyecto de vida, materia catedra
Guía 5. Test de orientación Vocacional 2.docx
MANUAL de recursos humanos para ODOO.pdf
TRABAJO DE TECNOLOGIA.pdf...........................
Mecanismos-de-Propagacion de ondas electromagneticas
TRABAJO GRUPAL (5) (1).docxjsjsjskskksksk
Distribucion de frecuencia exel (1).pdf
informe_fichas1y2_corregido.docx (2) (1).pdf
Documental Beyond the Code (Dossier Presentación - 2.0)
Tema 1 Taller de tecnologia y proceso tecnologico.pptx
0007_PPT_DefinicionesDeDataMining_201_v1-0.pdf
Protocolos de seguridad y mecanismos encriptación
Uso responsable de la tecnología - EEST N°1
Teoría de estadística descriptiva y aplicaciones .pdf
Historia Inteligencia Artificial Ana Romero.pptx
TRABAJO GRUPAL (5) (1).docxsjsjskskksksksks
modulo seguimiento 1 para iniciantes del
Trabajo informatica joel torres 10-.....................
capacitación de aire acondicionado Bgh r 410
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN

Tecnias de pruebas

  • 1. Técnicas de Prueba • Técnicas de caja blanca o estructurales, que se basan en un minucioso examen de los detalles procedimentales del código a evaluar, por lo que es necesario conocer la lógica del Programa. • • Técnicas de caja negra o funcionales, que realizan pruebas sobre la interfaz del programa a probar, entendiendo por interfaz las entradas y salidas de dicho programa. No es necesario conocer la lógica del programa, únicamente la funcionalidad que debe realizar.
  • 2. Técnicas de Prueba En realidad estos dos tipos de técnicas son técnicas complementarias que han de aplicarse al realizar una prueba dinámica, ya que pueden ayudar a identificar distintos tipos de fallas en un programa.
  • 3. Pruebas de caja blanca o estructurales ● A este tipo de técnicas se le conoce también como Técnicas de Caja Transparente o de Cristal ● Este método se centra en cómo diseñar los casos de prueba atendiendo al comportamiento interno y la estructura del programa. Se examina así la lógica interna del programa sin considerar los aspectos de rendimiento. ● El objetivo de la técnica es diseñar casos de prueba para que se ejecuten, al menos una vez, todas las sentencias del programa, y todas las condiciones tanto en su vertiente verdadera como falsa.
  • 4. Pruebas de caja blanca o estructurales ● Como se ha indicado ya, puede ser impracticable realizar una prueba exhaustiva de todos los caminos de un programa. Por ello se han definido distintos criterios de cobertura lógica, que permiten decidir qué sentencias o caminos se deben examinar con los casos de prueba. ● ● El criterio que se va a estudiar es Cobertura de Caminos.
  • 5. Criterio: Cobertura de caminos ● La aplicación de este criterio de cobertura asegura que los casos de prueba diseñados permiten que todas las sentencias del programa sean ejecutadas al menos una vez y que las condiciones sean probadas tanto para su valor verdadero como falso. ● ● Una de las técnicas empleadas para aplicar este criterio de cobertura es la Prueba del Camino Básico. Esta técnica se basa en obtener una medida de la complejidad del diseño procedimental de un programa (o de la lógica del programa). ● ● Esta medida es la complejidad ciclomática de McCabe, y representa un límite superior para el número de casos de prueba que se deben realizar para asegurar que se ejecuta cada camino del programa.
  • 6. Técnica: Prueba del camino básico ● Los pasos a realizar para aplicar esta técnica son: –Representar el programa en un grafo de flujo –Calcular la complejidad ciclomática –Determinar el conjunto básico de caminos independientes –Derivar los casos de prueba que fuerzan la ejecución de cada camino.
  • 7. Paso 1: Representar el programa en un grafo de flujo ● El grafo de flujo se utiliza para representar flujo de control lógico de un programa. Para ello se utilizan los tres elementos siguientes: –Nodos: representan cero, una o varias sentencias en secuencia. Cada nodo comprende como máximo una sentencia de decisión (bifurcación). –Aristas: líneas que unen dos nodos. –Regiones: áreas delimitadas por aristas y nodos. Cuando se contabilizan las regiones de un programa debe incluirse el área externa como una región más. –Nodos predicado: cuando en una condición aparecen uno o más operadores lógicos (AND,OR, XOR, ...) se crea un nodo distinto por cada una de las condiciones simples. Cada nodo generado de esta forma se denomina nodo predicado.
  • 9. Paso 1: Representar el programa en un grafo de flujo ● Representación de condición múltiple ● ● ●
  • 10. Paso 1: Representar el programa en un grafo de flujo ● A continuación se muestra un grafo de flujo del diagrama de módulos correspondiente. Nótese cómo la estructura principal corresponde a un while, y dentro del bucle se encuentran anidados dos constructores if
  • 11. Paso 1: Representar el programa en un grafo de flujo ● Así, cada construcción lógica de un programa tiene una representación: ●
  • 12. Paso 2: Calcular la complejidad ciclomática ● La complejidad ciclomática es una métrica del software que proporciona una medida cuantitativa de la complejidad lógica de un programa. ● ● En el contexto del método de prueba del camino básico, el valor de la complejidad ciclomática define el número de caminos independientes de dicho programa, y por lo tanto, el número de casos de prueba a realizar. ● ● Posteriormente veremos cómo se identifican esos caminos, pero primero veamos cómo se puede calcular la complejidad ciclomática a partir de un grafo de flujo, para obtener el número de caminos a identificar.
  • 13. Paso 2: Calcular la complejidad ciclomática ● Existen varias formas de calcular la complejidad ciclomática de un programa a partir de un grafo de flujo: –El número de regiones del grafo coincide con la complejidad ciclomática, V(G). –La complejidad ciclomática, V(G), de un grafo de flujo G se define como ● V(G) = Aristas – Nodos + 2 –La complejidad ciclomática, V(G), de un grafo de flujo G se define como ● V(G) = Nodos Predicado + 1
  • 14. Paso 2: Calcular la complejidad ciclomática ● La figura representa las cuatro regiones obteniéndose así la complejidad ciclomática de 4.
  • 15. Paso 2: Calcular la complejidad ciclomática ● Análogamente se puede calcular el número de aristas y nodos predicados para confirmar la complejidad ciclomática. Así: ● V(G) = Número de regiones = 4 ● V(G) = Aristas – Nodos + 2 = 11-9 + 2 = 4 ● V(G) = Nodos Predicado + 1 = 3 +1 = 4
  • 16. Paso 3: Determinar el conjunto básico de caminos independientes ● Un camino independiente es cualquier camino del programa que introduce, por lo menos, un nuevo conjunto de sentencias de proceso o una condición, respecto a los caminos existentes. ● ● En términos del diagrama de flujo, un camino independiente está constituido por lo menos por una arista que no haya sido recorrida anteriormente a la definición del camino. ● ● En la identificación de los distintos caminos de un programa para probar se debe tener en cuenta que cada nuevo camino debe tener el mínimo número de sentencias nuevas o condiciones nuevas respecto a los que ya existen. De esta manera se intenta que el proceso de depuración sea más sencillo.
  • 17. Paso 3: Determinar el conjunto básico de caminos independientes ● Así por ejemplo, para la el grafo anterior, los cuatro posibles caminos independientes generados serían: –Camino 1: 1-9 –Camino 2: 1-2-4-8-1-9 –Camino 3: 1-2-3-5-7-8-1-9 –Camino 4: 1-2-5-6-7-8-1-9 ● Estos cuatro caminos constituyen el camino básico para el grafo de flujo correspondiente.
  • 18. Paso 4: Derivar los casos de prueba que fuerzan la ejecución de cada camino ● El último paso es construir los casos de prueba que fuerzan la ejecución de cada camino. ● ● Una forma de representar el conjunto de casos de prueba es como se muestra en la siguiente Tabla: