Upload
miguelangelapolayo
View
216
Download
0
Embed Size (px)
Citation preview
8/18/2019 Curso Software Testing
1/26
Pruebas
1
8/18/2019 Curso Software Testing
2/26
1. Descripción y objetivos
Las pruebas son prácticas a realizar en diversosmomentos de la vida del sistema de información para
El correcto funcionamiento de los componentes del sistema.
El correcto ensamblaje entre los distintos componentes. El funcionamiento correcto de las interfaces entre los
distintos subsistemas que lo componen y con el resto desistemas de información con los que se comunica.
unc onam en o correc o e s s ema n egra o ehardware y software en el entorno de operación.
Que el sistema cumple con el funcionamiento esperado y
aceptación, desde el punto de vista de su funcionalidad y rendimiento.
ue los cambios sobre un com onente de un sistema deinformación, no introducen un comportamiento no deseado oerrores adicionales en otros componentes no modificados.
2
8/18/2019 Curso Software Testing
3/26
1. Descripción y objetivos
El diseño de casos de prueba para la
esfuerzo considerable (cerca del 40% del
Verificación y Validación
er cac n:⌂ ¿estamos construyendo el producto correctamente?
⌂ ¿estamos construyendo el producto correcto?
http://www.aptest.com/resources.html
3
8/18/2019 Curso Software Testing
4/26
2. Tipologías.
Pruebas Unitarias.
Pruebas de Integración.
Pruebas de Implantación.
Pruebas de Aceptación. .
4
8/18/2019 Curso Software Testing
5/26
2. Tipologías. Unitarias
Las pruebas unitarias constituyen la pruebainicial de un sistema y las demás pruebasdeben apoyarse sobre ellas.
Tipologías: n oque estructura o e ca a anca. e ver ca
la estructura interna del componente conindependencia de la funcionalidad establecida para
el mismo. Por tanto, no se comprueba lacorrección de los resultados si éstos seproducen.
Enfoque funcional o de caja negra. Se compruebael correcto funcionamiento de los componentes del
,salidas y verificando que el resultado es elesperado.
5
8/18/2019 Curso Software Testing
6/26
2. Tipologías. Integración
El objetivo de las pruebas de integración
entre los distintos componentes una
unitariamente con el fin de comprobar
través de sus interfaces, tanto internas,
establecida y se ajustan a los requisitos
verificaciones correspondientes.
6
8/18/2019 Curso Software Testing
7/26
2. Tipologías. Del Sistema.
Las pruebas del sistema tienen como
sistema comprobando la integracióndel sistema de informaciónlobalmente, verificando el
funcionamiento correcto de las
subsistemas que lo componen y con el
los que se comunica.
7
8/18/2019 Curso Software Testing
8/26
2. Tipologías. Del Sistema.
Pruebas funcionales. Dirigidas a asegurar que el SI realiza correctamente todas lasfunciones que se han detallado en las especificaciones dadas por el usuario del sistema.
Pruebas de comunicaciones. Determinan que las interfaces entre los componentes delsistema funcionan adecuadamente tanto a través de dis ositivos remotos como locales.Asimismo, se han de probar las interfaces hombre/máquina.
Pruebas de rendimiento. Determinar que los tiempos de respuesta están dentro de losintervalos establecidos en las especificaciones del sistema.
Pruebas de volumen. E xaminar el funcionamiento del sistema cuando está trabajando con, .
Pruebas de sobrecarga. Comprobar el funcionamiento del sistema en el umbral límite de losrecursos, sometiéndole a cargas masivas. El objetivo es establecer los puntos extremos enlos cuales el sistema empieza a operar por debajo de los requisitos establecidos.
Pruebas de dis onibilidad de datos. Consisten en demostrar ue el sistema uederecuperarse ante fallos, tanto de equipo físico como lógico, sin comprometer la integridad delos datos.
Pruebas de facilidad de uso. Consisten en comprobar la adaptabilidad del sistema a lasnecesidades de los usuarios, tanto para asegurar que se acomoda a su modo habitual de
,obtener los resultados.
Pruebas de operación. Consisten en comprobar la correcta implementación de losprocedimientos de operación, incluyendo la planificación y control de trabajos, arranque y
rearranque del sistema, etc.rue as e en orno. er car as nteracc ones e s stema con otros s stemas entro e
mismo entorno.
Pruebas de seguridad. Consisten en verificar los mecanismos de control de acceso alsistema para evitar alteraciones indebidas en los datos.
8
8/18/2019 Curso Software Testing
9/26
2. Tipologías. De Implantación.
El objetivo es comprobar el
integrado de hardware y software en elentorno de operación, y permitir alusuario ue, desde el unto de vista de
operación, revise el sistema en base al
funcionales especificados.
9
8/18/2019 Curso Software Testing
10/26
2. Tipologías. De Aceptación.
El objetivo de las pruebas de aceptación
el funcionamiento esperado y permitiral usuario de dicho sistema que
determine su ace tación, desde el
punto de vista de su funcionalidad y .
10
8/18/2019 Curso Software Testing
11/26
2. Tipologías. De Regresión.
El objetivo de las pruebas de regresión
, ,
comprobar que los cambios sobre uncomponente de un sistema de
información, no introducen un
comportamiento no deseado o errores
modificados
epet c n e casos e prue a
11
8/18/2019 Curso Software Testing
12/26
3. Pruebas de Caja Blanca
Objetivo : Probar el funcionamiento de la
programación.
menos todos los caminos independientes de
.Prueban todas las decisiones lógicas en sus
vert entes ver a era y a sa.
Ejecutan todos los bucles.
Ejecutan todas las estructuras internas.
12
8/18/2019 Curso Software Testing
13/26
3. Pruebas de Caja Blanca
Pruebas Caja Blanca:
rue a e am no s co
Prueba de la Estructura de Control.⌂Prueba de condición
⌂Prueba de flujo de datos
⌂Prueba de bucles
13
8/18/2019 Curso Software Testing
14/26
3. Pruebas de Caja Blanca. Camino Básico
Propuesta por Tom McCabe (1976)
ejecución.
Pasos :
A partir del diseño o del código fuente, dibujar el
grafo de flujo asociado
Se calcula la complejidad ciclomática del grafo Se determina un con unto básico de caminos
independientes
Se preparan los casos de prueba que obliguen a laejecución de cada camino del conjunto básico
14
8/18/2019 Curso Software Testing
15/26
8/18/2019 Curso Software Testing
16/26
3. Pruebas de Caja Blanca. Camino Básico
Complejidad ciclomática de un grafo de
caminos independientes
ue e ca cu arse e res ormasalternativas:
El número de regiones del grafo de flujoV(G) = A - N + 2,
⌂donde A es el número de aristas y N es elnúmero de nodos
= + ,⌂donde P es el número de nodos predicado
16
8/18/2019 Curso Software Testing
17/26
3. Pruebas de Caja Blanca. Camino Básico
11 V(G) = 4
2, 3
66 4, 54, 5 tiene cuatro regiones.
8877ar s as - no os += 4
99 3 nodos predicado + 1 =
11
17
8/18/2019 Curso Software Testing
18/26
3. Pruebas de Caja Blanca. Camino Básico
1
34
6
7
8 Camino 1: 1-9
Camino 2: 1-2-3-8-1-9
9Camino 3: 1-2-4-5-7-8-1-9
Camino 4: 1-2-4-6-7-8-1-9
18
8/18/2019 Curso Software Testing
19/26
3. Pruebas de Caja Blanca. Estructuras de Control
Bucles
anidados
Buclessimples
Buclesconcatenados
Bucles no
19
8/18/2019 Curso Software Testing
20/26
3. Pruebas de Caja Blanca. Estructuras de Control
Prueba de Bucles. Objetivo : Validar las construcciones de bucles.
Tipos :
⌂ Simples. – licar siendo n el número máximo de asos ermitidos:
1. Saltarse el bucle.
2. Ejecutarlo sólo una vez.
3. Pasar dos veces.
. , .
5. Hacer n-1 y n+1 pasos en el bucle.
⌂ Concatenados1.Comenzar por el bucle más interno.
2. Probarlo como un bucle simple.
3. Progresar hacia fuera, manteniendo los bucles internos en sus valores típicos.
4. Continuar hasta probarlos todos.
– Si el contador del primer bucle no se utiliza como valor inicial del segundo
bucle, pueden probarse como bucles simples.
– Si no es así deberá aplicarse el enfoque de anidados.
20
8/18/2019 Curso Software Testing
21/26
4. Pruebas de Caja Negra.
Las pruebas de caja negra se centran en los requisitosfuncionales del software
Comprobar que la funcionalidad del programa o
sistema es completamente operativa.ue a en ra a se acep a e orma a ecua a y a
salida es correcta.
se mantiene. Errores típicos encontrados:
Funciones incorrectas o ausentes
Errores de interfase
Errores de rendimiento
Errores de inicialización y de terminación
21
8/18/2019 Curso Software Testing
22/26
4. Pruebas de Caja Negra.
Algunas técnicas que se basan en la
Partición EquivalenteAnálisis de Valores Límite
-
Pruebas de Comparación
22
8/18/2019 Curso Software Testing
23/26
4. Pruebas de Caja Negra. Partición Equivalente
Método que divide el campo de entrada de un
Una condición de entrada es un valor, ,miembro de un conjunto de valores o lógica
Una c ase e equiva encia representa unconjunto de estados válidos y no válidos parauna con c n e entra a
La prueba de partición equivalente se basa enevaluar las clases de equivalencia para una
condición de entrada
23
8/18/2019 Curso Software Testing
24/26
4. Pruebas de Caja Negra. Partición equivalente.
Condiciónde Entrada
Tipo Clase EquivalenciaVálida
Clase EquivalenciaNo Válida
go anco g ca pue e
estar o no) Si está
es Rango
: n anco
2: 100
8/18/2019 Curso Software Testing
25/26
8/18/2019 Curso Software Testing
26/26
26