Beruflich Dokumente
Kultur Dokumente
Contenido
Captulo II - Pruebas a travs del ciclo de vida del software
Las actividades de prueba estn relacionadas con las actividades de desarrollo de software
Un modelo involucra principalmente el orden en el cual las actividades son llevadas a cabo, y las
guas para hacer la transicin entre etapas
Modelo V (Modelo en V)
Modelo Iterativo-Incremental
Para seguir el modelo en cascada, se avanza de una fase a la siguiente en una forma
puramente secuencial
www.luismercadal.com.ar | info@luismercadal.com.ar
Modelo V (Modelo en V)
El modelo V se desarroll para terminar con algunos de los problemas que se vieron
utilizando el enfoque de cascada tradicional
Los defectos estaban siendo encontrados demasiado tarde en el ciclo de vida, ya que
las pruebas no se introducan hasta el final del proyecto
Modelo Iterativo-Incremental
Modelo V
Los productos de trabajo generados por los desarrolladores y analistas de negocio durante
el desarrollo son las bases de las pruebas en uno o ms niveles.
www.luismercadal.com.ar | info@luismercadal.com.ar
Las pruebas (rama derecha) son diseadas en paralelo al desarrollo del software (rama
izquierda)
Las pruebas necesitan empezarse lo ms pronto posible y tienen lugar a travs de todo el ciclo
de vida
Definicin de Requisitos
- Especificaciones de requisitos
Especificacin de Componentes
- Estructura de los componentes
- Diseos detallados
Programacin
Pruebas de Aceptacin
- Pruebas formales de los requisitos del cliente
Pruebas de Sistema
- Sistema integrado, especificaciones
Pruebas de Integracin
Interfaces de componentes
Pruebas de Componente
- Funcionalidad del componente
www.luismercadal.com.ar | info@luismercadal.com.ar
Verificacin
Validacin
Verificacin
Cada nivel de desarrollo se verifica respecto de los contenidos del nivel que le precede
www.luismercadal.com.ar | info@luismercadal.com.ar
Validacin
La validacin tiene como objetivo asegurar que el sistema satisface las expectativas del cliente
No solo comprobar que el sistema satisface su especificacin sino que adems demostrar que el
software hace lo que el cliente espera que haga
Cada iteracin contribuye con una caracterstica adicional del sistema a desarrollar
Cada iteracin puede ser probada por separado
www.luismercadal.com.ar | info@luismercadal.com.ar
Desarrollo gil
SCRUM
-
Proceso gil que se puede usar para gestionar y controlar desarrollos complejos de software y
productos usando prcticas iterativas e incrementales.
Un proyecto se ejecuta en bloques temporales cortos y fijos (iteraciones de un mes natural y hasta
de dos semanas, si as se necesita)
Cada iteracin tiene que proporcionar un resultado completo, un incremento de producto final
que sea susceptible de ser entregado con el mnimo esfuerzo al cliente cuando lo solicite.
Responsabilidades
Tcnica de desarrollo de software que usa iteraciones de desarrollo cortas basadas en casos de
prueba escritos previamente que definen las mejoras deseadas o nuevas funcionalidades
www.luismercadal.com.ar | info@luismercadal.com.ar
NUnit
MbUnit
xUnit.net
csUnit
JUnit
JsUnit
ASPUnit
Generar pruebas mal diseadas que no sirvan para determinar si los objetos tienen el
comportamiento esperado
Se puede invertir mucho tiempo en hacer pruebas y dejar corta la fase de construccin
(codificacin)
Disear pruebas poco representativas que no cumplan con una cobertura de cdigo y que en algn
momento dejen de usarse
Invertir mucho tiempo en hacer las pruebas y no darles mantenimiento, lo cual representa un gasto
intil de tiempo
Cada nivel de prueba tiene objetivos de prueba especficos para dicho nivel
Los procesos de anlisis y diseo de las pruebas para un nivel de prueba dado deben iniciarse
durante la actividad de desarrollo correspondiente
Los probadores deben iniciar su participacin en la revisin de los documentos en cuanto haya
borradores disponibles en el ciclo de vida de desarrollo
www.luismercadal.com.ar | info@luismercadal.com.ar
Pruebas de Componente
Objetivo
Pruebas de Mdulo
Pruebas de Clase
Pruebas de Desarrollador
Bases de prueba
www.luismercadal.com.ar | info@luismercadal.com.ar
Crea las entradas (Inputs) necesarias para el componente a probar y despus lo invoca
Pruebas de Integracin
Prueban interfaces entre componentes, e interacciones con distintas partes de un mismo sistema
Bases de prueba
Subsistemas
Implementacin de base de datos
Infraestructura
Interfaces
Configuracin de sistema y de datos
www.luismercadal.com.ar | info@luismercadal.com.ar
10
Estrategias de Integracin
Ad hoc
Incremental
Ascendente (Bottom-Up)
Descendente (Top-Down)
Big Bang
Ad hoc
Objetivo
Ventajas
Desventajas
Ascendente (Bottom-Up)
Objetivo
Ventajas
www.luismercadal.com.ar | info@luismercadal.com.ar
11
Desventajas
Descendente (Top-Down)
Objetivo
Ventajas
Desventajas
Big Bang
Objetivo
Ventajas
www.luismercadal.com.ar | info@luismercadal.com.ar
12
Desventajas
Pruebas de Sistema
Bases de prueba
Especificacin de requisitos
Casos de uso y procesos de negocio
Especificaciones funcionales
Informes de anlisis de riesgos
Las caractersticas de la calidad de los datos son la base para las pruebas
www.luismercadal.com.ar | info@luismercadal.com.ar
13
Pruebas de Aceptacin
El objetivo es proporcionar la confianza de que el sistema entregado cumple con los requisitos de
negocio
Bases de prueba
www.luismercadal.com.ar | info@luismercadal.com.ar
14
Tareas de mantenimiento
Con frecuencia, las pruebas de aceptacin operativa son realizadas por el administrador de
sistemas del cliente
Pruebas Alfa
Pruebas Beta
Se realizan despus de las pruebas alfa, como pruebas de aceptacin externa de software de
distribucin masiva, para adquirir retroalimentacin del mercado
Pruebas realizadas por usuarios / clientes actuales o potenciales en una instalacin externa, sin la
actuacin de desarrollo
www.luismercadal.com.ar | info@luismercadal.com.ar
15
Tipos de Prueba
Tipos de prueba
Pruebas funcionales
Pruebas no funcionales
Pruebas estructurales
Pruebas asociadas al cambio
Pruebas funcionales
Objetivo
Las pruebas funcionales se pueden llevar a cabo en todos los niveles de prueba
Pruebas de seguridad
www.luismercadal.com.ar | info@luismercadal.com.ar
16
Pruebas no funcionales
Objetivo
Prueba de rendimiento
Prueba de carga
Prueba de estrs
Prueba de volumen
Prueba de robustez
www.luismercadal.com.ar | info@luismercadal.com.ar
17
Pruebas de cumplimiento
Pruebas de usabilidad
Portabilidad
Mantenibilidad
Pruebas estructurales
Objetivo
La finalidad de las pruebas es medir el grado en el cual la estructura del objeto de prueba ha
sido cubierto por los casos de prueba
El diseo de pruebas estructurales se finaliza tras haber sido diseadas las pruebas funcionales,
con el propsito de obtener un alto grado de cobertura
www.luismercadal.com.ar | info@luismercadal.com.ar
18
Objetivo
Es muy probable que an contenga defectos, por lo tanto ser modificado y corregido
Cualquier nueva versin del producto, cada nueva actualizacin y cada cambio del software
requiere pruebas adicionales!
www.luismercadal.com.ar | info@luismercadal.com.ar
19
El anlisis de impacto se utiliza para determinar las reas afectadas con el objeto de
decidir la cantidad de pruebas de regresin
www.luismercadal.com.ar | info@luismercadal.com.ar
20
Contenido
Captulo III - Tcnicas estticas
Tcnicas estticas
No se ejecuta el cdigo
Manuales - Revisiones
Las pruebas estticas pueden descubrir defectos que no son detectables en las pruebas
dinmicas
www.luismercadal.com.ar | info@luismercadal.com.ar
21
Defectos tpicos:
Ventajas
Desventajas
Los expertos involucrados en las revisiones deben adquirir conocimientos especficos del
producto, es necesaria una buena preparacin
www.luismercadal.com.ar | info@luismercadal.com.ar
22
Informales
Formales
* Planificacin
* Definir los criterios de la revisin
* Seleccionar el personal
* Asignar los roles
* Definir los criterios de entrada y de salida
* Seleccionar las partes del documento a revisar
* Controlar los criterios de entrada
* Inicio (Kick-off)
* Distribuir documentos
* Explicar los objetivos, procesos y documentos a los participantes
* Preparacin individual
* Revisar los documentos antes de la reunin de revisin
* Anotar potenciales defectos, preguntas y comentarios
www.luismercadal.com.ar | info@luismercadal.com.ar
23
* Reunin de revisin
* Discutir o registrar, con resultados documentados o minutas
* Anotar defectos, dar recomendaciones sobre el manejo de los defectos,
realizar decisiones sobre los defectos
* Examinar, evaluar y registrar los temas durante reuniones fsicas o
realizar el seguimiento de comunicaciones electrnicas de grupo
Moderador
www.luismercadal.com.ar | info@luismercadal.com.ar
24
Autor
Documenta todos los asuntos, problemas y puntos abiertos que fueron identificados
durante la reunin
Tipos de Revisiones
IEEE STD 1028-2008 - IEEE Standard for Software Reviews and Audits
www.luismercadal.com.ar | info@luismercadal.com.ar
25
1. Revisin Informal
2. Revisin Guiada
Escriba(Opcional)
3. Revisin Tcnica
www.luismercadal.com.ar | info@luismercadal.com.ar
26
4. Inspeccin
Los probadores son revisores valorados que contribuyen a la revisin y tambin aprenden sobre el
producto
www.luismercadal.com.ar | info@luismercadal.com.ar
27
Anlisis Esttico
Con el uso de herramientas, se requiere menos esfuerzo que en una revisin para revisar un
programa
Compiladores
Analizadores
www.luismercadal.com.ar | info@luismercadal.com.ar
28
Las mtricas
Es difcil comparar dos mtricas diferentes, incluso cuando ambas abordan el mismo
atributo del programa!
v (G ) = e n + 2 p
Testeabilidad y Mantenibilidad
Hasta 10 es aceptable
www.luismercadal.com.ar | info@luismercadal.com.ar
29
v(G ) = e n + 2 p
1 partes independientes: p = 1
9 nodos:
n=9
10 aristas:
e = 10
IF P = T
CARRY OUT THIS
IF X = 10
CARRY OUT THE OTHER
ELSE
CARRY OUT THAT
ENDIF
ENDIF
* Grfico de Flujo de Control / Control Flow Graph (CFG)
N de Regiones + 1
N de Aristas - N de Nodos + 2
CC = 3
www.luismercadal.com.ar | info@luismercadal.com.ar
30
Los grficos de flujo de control no deben mostrar ninguna instruccin, pero para facilitar la comprensin,
pueden mostrarse instrucciones, tal como se muestra en el grfico de la derecha:
1 IF P = T
2 CARRY OUT THIS
3 IF X = 10
4
CARRY OUT THE OTHER
ELSE
5
CARRY OUT THAT
6 ENDIF
7 ENDIF
N de Regiones + 1
N de Aristas - N de Nodos + 2
CC = 3
Nmero ciclomtico
1 partes independientes: p = 1
6 nodos:
n=6
7 aristas:
e=7
Nmero de Decisiones + 1
www.luismercadal.com.ar | info@luismercadal.com.ar
31
www.luismercadal.com.ar | info@luismercadal.com.ar
32