Download - Capacitación de Estudio ISTQB
-
7/24/2019 Capacitacin de Estudio ISTQB
1/338
1
-
7/24/2019 Capacitacin de Estudio ISTQB
2/338
2
Seminarios y Formacin
Tester CertificadoNivel Bsico
Formacin para el Tester Certificado NivelBsico de acuerdo al programa de estudiosdel ISTQB
-
7/24/2019 Capacitacin de Estudio ISTQB
3/338
3
ontrol Documentos
ontrol Documentos
Ubicacin Documento SQASA\SGC\Procesos de Soporte\Gestionar el TalentoHumano-TH\Documentos \Capactacin ISTQB\ Capacitacin deestudio ISTQBHRIS-01
Fecha Versin Naturaleza del
Cambio
Elabora Valida Aprueba Distribuir a
Creacindocumento
Scorrea TodosEarango
Lzapata
2008/06/14 1.0 Lcerro
-
7/24/2019 Capacitacin de Estudio ISTQB
4/338
4
0 Introduccin02 Tabla de Contenidos
El presente curso se ha desarrollado de acuerdo con el programa
de estudios del Certificado de Tester Nivel Bsico, que constade siete captulos:
Captulo 0 Introduccin.
Captulo I Fundamentos de Pruebas. Captulo II Pruebas a travs del Ciclo de Vida del Software.
Captulo III Tcnicas Estticas.
Captulo IV Tcnicas de Diseo de Pruebas. Captulo V Gestin de Pruebas.
Captulo VI Herramientas de Pruebas.
-
7/24/2019 Capacitacin de Estudio ISTQB
5/338
5
0 Introduccin03 Organizaciones Internacionales
Programa de Capacitacin del ISTQB
En 1998, se desarrolla en Gran Bretaa un programa de capacitacin de mltiplesniveles, Los fundamentos del proceso de pruebas de software son formulados en el programa
de estudios para el nivel bsico (Syllabus for Foundation Level), edicin actual: Abrilde 2007.
Desde 2004 tambin se cuenta con certificaciones para el Nivel Avanzado (AdvancedLevel):
Jefe de Pruebas (Test Manager), Tester Tcnico (Technical Tester), TesterFuncional (Functional Tester)
Se encuentra preparacin de Nivel Experto. Los Consejos/Comits de Pruebas (Testing Boards) (locales) de cada pas
conforman la estructura de la organizacin del International Software TestingQualification Board (www.istqb.org)
Por ejemplo en Espaa: Spanish Software Testing Board (SSTQB), en Alemania: TheGerman Testing Board (GTB)
* ISTQB = International Software Testing Qualification Board
http://www.istqb.org/http://www.istqb.org/http://www.istqb.org/ -
7/24/2019 Capacitacin de Estudio ISTQB
6/338
6
0 Introduccin04 Programa de Estudios y Evaluacin
El conjunto de diapositivas est basado en el Programa deEstudios de Tester Certificado Nivel Bsico del ISTQB
A continuacin del curso de formacin se puede tomar el examen para obtener elcertificado de Tester Certificado, Nivel Bsico (Certified Tester,
Foundation Level) La evaluacin es realizada por un examinador perteneciente a una organizacin
independiente (por ejemplo ISQI* o GASQ**) Los temas de la evaluacin estn extrados de las secciones correspondientes
a las dadas en el curso de formacin. El examen es de tipo seleccin mltiple,con una duracin de 60 minutos.
Cada pregunta tiene una (de cuatro) nica respuesta correcta. Hay una ponderacin de preguntas por crditos (de acuerdo a su clasificacin
de dificultad) y son 40 preguntas en total. El 60% de crditos deben serrespondidos en forma correcta con el objeto de aprobar el examen.
*ISQI = International Software Quality Institute**GASQ = Global Asociation for Software Quality
-
7/24/2019 Capacitacin de Estudio ISTQB
7/338
7
0 Introduccin05 Objetivos
Objetivos principales para la formacin de TesterCertificado. Aprender las tcnicas bsicas para planificar las pruebas. Aplicar las tcnicas de prueba de software en proyectos. Seleccionar las tcnicas y objetivos de pruebas apropiados.
Aprender una terminologa comn. Audiencia El curso est dirigido a testers de software, desarrolladores y jefes
de proyecto en un entorno de produccin de software, as como enun entorno de produccin industrial que deseen dar a su
conocimiento un fundamento de mayor solidez. Documentos
Conjunto de diapositivas propias de la presentacin Ejercicios y sus soluciones
-
7/24/2019 Capacitacin de Estudio ISTQB
8/338
8
I Fundamentos de Pruebas de SoftwareAgenda
Captulo I Fundamentos de Pruebas de Software
I/01 Comprendiendo el proceso de pruebas de software.
I/02 Los Siete Principios Generales del Proceso de Pruebas de Software.
I/03 Proceso de Pruebas Bsico.
I/04 Psicologa en el Proceso de Pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
9/338
9
I Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
La Importancia Econmica del Software El funcionamiento de maquinaria y equipamiento depende en una gran
medida al software. No es posible imaginar grandes sistemas, en el mbito de las finanzas ni en
el control de trfico, funcionando sin software.
Calidad del Software Cada vez ms, la calidad del software se ha convertido en un factor
determinante del xito tcnico o comercial de sistemas y productos.
Pruebas para la Mejora de la Calidad Las pruebas y revisiones aseguran la mejora de la calidad de productos de
software as como de la calidad del proceso de desarrollo en s.
-
7/24/2019 Capacitacin de Estudio ISTQB
10/338
10
I Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Ejemplo de fallo 1: Lanzamiento del Ariane 5
El 4 de Junio de 1996, el vuelo inaugural de la lanzadera Ariane-5 result fallido. Tanslo 40 segundos aproximadamente despus de la iniciacin de la secuencia de vuelo,a una altitud de aproximadamente 3700 m, la lanzadera se desvi de su ruta, se partiy explot.
El software del Ariane 5 reutiliz las especificaciones del Ariane 4, pero la trayectoriade vuelo del Ariane 5 era considerablemente distinta y superaba el rango para el cualel cdigo reutilizado haba sido diseado. En particular, la mayor aceleracin del Ariane5 provoc un fallo en los ordenadores de respaldo (back up) y navegacin inercialprimarios, tras lo cual toberas de la lanzadera fueron dirigidas por datos ilegtimos. Laspruebas previas al vuelo nunca fueron ejecutadas sobre el cdigo reajustado bajocondiciones de vuelo simuladas del Ariane 5, por lo tanto el error no fue descubiertoantes del lanzamiento.
Fuente: Wikipedia.com
-
7/24/2019 Capacitacin de Estudio ISTQB
11/338
11
I Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Ejemplo de fallo 2: Rayos X Letales
Un gran nmero de pacientes recibieron una dosis letal de rayos gamma debido a unfallo de software.
El Therac-285 era una mquina para radiacin teraputica producida por la empresaAtomic Energy of Canada Limited.Estuvo involucrada con, al menos, seis accidentes conocidos entre 1985 y 1987, en loscuales los pacientes fueron objeto de una sobredosis masiva de radiacin, que enalgunos casos fueron del orden de centenas de gray. Al menos cinco pacientesmurieron por la sobredosis. Estos accidentes destacan los riesgos del control desoftware de sistemas crticos en trminos de seguridad (Safety Critical Systems).
Fuente: Wikipedia.com
-
7/24/2019 Capacitacin de Estudio ISTQB
12/338
12
I Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Error (Error), Defecto (Defect), Fallo (Failure)
Error (Error) (IEEE 610): Accin humana que produce un resultado incorrecto, por ejemplo un error de
programacin.
Defecto (Defect) Desperfecto en un componente o sistema que pueda ser la causa por la cual el
sistema o componente no logre llevar a cabo su funcin especfica, por ejemplo;sentencia o definicin de datos incorrectas.
Fallo (Failure) Manifestacin fsica o funcional de un defecto. Si un defecto es encontrado
durante la ejecucin de una aplicacin puede producir un fallo. Desviacin de un componente o sistema respecto de la prestacin, el servicio o
resultado esperados. (Fenton).
Un error introduce un defecto, un defecto causa un fallo
-
7/24/2019 Capacitacin de Estudio ISTQB
13/338
13
I Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Causas de los Fallos (Failures) de Software
Error Humano Un defecto es introducido en el cdigo de software, en los datos o en los
parmetros de configuracin. Causas del error humano
Plazos, demandas excesivas debidas a la complejidad, distracciones.
Condiciones Ambientales Cambios en las condiciones ambientales.
Causas de condiciones ambientales negativas/adversas.
Radiacin, magnetismo, campos electromagnticos, polucin, manchassolares, fallo de disco duros, fluctuaciones en el suministro de energa.
-
7/24/2019 Capacitacin de Estudio ISTQB
14/338
14
I Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Proceso de Pruebas durante el proceso de desarrollo,mantenimiento y Operaciones
Mejora de la Calidad de un Producto de Software: El proceso de pruebas ayuda a proveer al software de los atributos deseados,
i.e. retirar defectos que conducen a fallos.
Reduccin del Riesgo de Detectar Errores: Actividades de Pruebas de Software adecuadas reducirn el riesgo de encontrar
errores durante la fase de operaciones de software.
Satisfacer Compromisos La ejecucin de pruebas puede ser un requisito obligatorio por parte del cliente o
debido a normas legales as como el cumplimiento de estndares propios de laindustria especfica.
-
7/24/2019 Capacitacin de Estudio ISTQB
15/338
15
I Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Calidad en el Software
Definicin: Calidad en el Software (segn ISO/IEC9126)
La totalidad de las funcionalidades y caractersticas de un producto desoftware que contribuyen a su habilidad de satisfacer necesidadesespecificadas o implcitas.
Definicin: Calidad en el Software (segn IEEE 610) Grado en el cual un componente, sistema o proceso satisface los requisitos
especificados y/o necesidades del usuario/cliente y sus expectativas.
-
7/24/2019 Capacitacin de Estudio ISTQB
16/338
16
I Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Calidad en el Software
De acuerdo a la norma ISO/IEC 9126 la calidad de software est constituida por: Funcionalidad Atributos funcionales de calidad
Fiabilidad
Usabilidad
Eficiencia Atributos no funcionales de calidad
Mantenibilidad
Portabilidad
Tipos de Aseguramiento de Calidad (QA): Actividades constructivas con el objeto de prevenir defectos, por ejemplo a travs de la
aplicacin de mtodos apropiados de ingeniera de software.
Actividades analticas con el objeto de detectar defectos, por ejemplo a travs de pruebasconducentes a la correccin de defectos y prevencin de fallos, incrementando as la calidad
del software.
-
7/24/2019 Capacitacin de Estudio ISTQB
17/338
17
I Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Aseguramiento de la Calidad Constructivo Proceso de Calidad Gestin de la Calidad
Consigna
Los defectos evitados no
requieren ser reparados.
Los errores cometidos en elpasado no deben ser
repetidos.
Prevenir defectos.
QA
Constructivo
Guas
Estndares
Listas de ComprobacinReglas de Proceso y Normas
Requisitos Legales
Mtodos
Herramientas
Lenguajes
Listas / Plantillas
Entorno de Desarrollo, Integrado (IDE)Tcnico
Organiz
acin
-
7/24/2019 Capacitacin de Estudio ISTQB
18/338
18
I Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Aseguramiento de la Calidad Analtico Calidad del Producto Procedimientos de Verificacin y Pruebas
QAAnaltico
Consigna:
Los defectos deben ser
detectados tan temprano en elproceso como sea posible.
Pruebas Estticas
Examen sin la ejecucin del
programaPruebas Dinmicas
Incluye la ejecucin delprograma.E
sttico
CajaNegra
Dinmic
o
Ca
jaBlanca
Tcnicas Basadas en la Experiencia
Clases de Equivalencia
Anlisis de Valores de lmite
Pruebas de Transicin de estado
Tablas de decisin
Algoritmo Pairwise (En parejas)
Cobertura de sentencia
Cobertura de rama
Cobertura de condicin
Cobertura de camino
Revisiones / ensayos
Anlisis del flujo de control
Anlisis del flujo de datos
Mtricas del compilador / analizador.
-
7/24/2019 Capacitacin de Estudio ISTQB
19/338
19
I Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
El costo de los defectos
El costo de eliminar defectos seincrementa con el tiempo durante elcual el defecto permanece en elsistema.
La deteccin de errores en etapastempranas permite la correccin delos mismos a costos reducidos.
-
7/24/2019 Capacitacin de Estudio ISTQB
20/338
20
I Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Calidad Software Atributos funcionales de Calidad
Funcionalidad significa:1. Correctitud: La funcionalidad satisface los atributos/capacidades requeridos.
2. Completitud: La funcionalidad satisface todos los requisitos.
Funcionalidad incluye (ISO/IEC 9126):1. Idoneidad
2. Precisin
3. Conformidad
4. Interoperabilidad
5. Seguridad
-
7/24/2019 Capacitacin de Estudio ISTQB
21/338
21
I Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Calidad Software Atributos no funcionales de Calidad
Fiabilidad: Caractersticas: Bajo ciertas condiciones el software mantiene su capacidad
por un tiempo determinado.
Fiabilidad= Calidad/tiempo
Usabilidad: Caractersticas: intuitivo, fcil de usar y de aprender.
-
7/24/2019 Capacitacin de Estudio ISTQB
22/338
22
I Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Calidad Software Atributos no funcionales de Calidad
Eficiencia: Caractersticas: el sistema requiere la utilizacin de un mnimo de
recursos para ejecutar una tarea determinada.
Mantenibilidad: Caractersticas: Medida del esfuerzo requerido para realizar cambios
en un sistema.
Portabilidad: Caractersticas: Fcil de instalar y desinstalar. Parametrizable.
-
7/24/2019 Capacitacin de Estudio ISTQB
23/338
23
I - Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Atributos de la calidad
Algunos atributos se influyen entre s. Debido a esta interdependencia ydependiendo del objeto de la prueba, los atributos deben ser priorizados.
Para medir cada tipo de atributo se requieren tipos diferentes de pruebas.
-
7/24/2019 Capacitacin de Estudio ISTQB
24/338
24
I - Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Objetivos de las pruebas
Adquirir conocimiento sobre los defectos en un objeto de prueba
Comprobar la funcionalidad
Generar informacin de riesgos
Generar confianza
-
7/24/2019 Capacitacin de Estudio ISTQB
25/338
25
I - Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Cuntas pruebas son suficientes?
Criterio para finalizacin de las pruebas
Pruebas basadas en riesgo: responsabilidad y probabilidad de fallos
Pruebas basadas en plazos y presupuestos: disponibilidad de recursos.
-
7/24/2019 Capacitacin de Estudio ISTQB
26/338
26
I - Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Caso de prueba (test case), base de una prueba (test basis)
Caso de prueba: Precondiciones.
Conjunto de valores de entrada.
Conjunto de resultados esperados.
Forma en la cual se debe ejecutar el caso de prueba y verificar los resultados. Poscondiciones esperadas.
Base de la prueba: Conjunto de documentos que definen los requisitos de un componente o
sistema. Utilizado como el fundamento para el desarrollo de casos de prueba.
-
7/24/2019 Capacitacin de Estudio ISTQB
27/338
27
I - Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Desarrollo software y revisiones Cdigo (code), cdigo fuente (source code):
programa de computadora escrito en un lenguaje de programacin que puedeser ledo por una persona.
Depuracin (debugging):
localizacin y correccin de defectos en el cdigo fuente.
Desarrollo software (software development):es un proceso cuyo objetivo es desarrollar un sistema basado en uncomputador, normalmente sigue un modelo de desarrollo software.
Requisito (requirement):
un requisito describe un atributo funcional o no funcional deseado oconsiderado obligatorio.
Revisin (review):evaluacin de un proyecto con el fin de detectar discrepancias con respecto alos resultados esperados y para recomendar mejoras.
-
7/24/2019 Capacitacin de Estudio ISTQB
28/338
28
I - Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Pruebas y depuracin (debugging)
Probar y volver a probar (re-test) son actividades propias delproceso de prueba.
La depuracin y la correccin de defectos son actividades propiasdel desarrollo.
Deteccin-identificacinde defectos
Correccinde
defectos
Volver aprobar
(re-test)Prueba
Depuracin
-
7/24/2019 Capacitacin de Estudio ISTQB
29/338
29
I - Fundamentos de Pruebas de Software01 Comprendiendo el Proceso de Pruebas del Software
Resumen: Los fallos software pueden causar importantes perjuicios.
La calidad software es la suma de los atributos que se refieren a la capacidaddel software de satisfacer un conjunto de requisitos dados.
El aseguramiento de la calidad constructivo se ocupa de la prevencin dedefectos.
El aseguramiento de la calidad analtico se ocupa de detectar y corregir
defectos. Los atributos de la calidad funcionales y no funcionales definen la calidad
total del sistema.
Cada prueba debe contar con un criterio para la finalizacin de pruebas.Al
alcanzar el criterio de finalizacin de pruebas finalizan las actividades delproceso de pruebas.
Los testers buscan fallos en el sistema e informan sobre los mismos. Losdesarrolladores buscan defectos y los corrigen.
-
7/24/2019 Capacitacin de Estudio ISTQB
30/338
30
I - Fundamentos de Pruebas de Software02 Principios del proceso de pruebas software
Principio 1: El proceso de pruebas demuestra la presencia dedefectos.
El proceso de pruebas puede probar la presencia de defectos.
El proceso de pruebas no puede demostrar la ausencia de defectos.
-
7/24/2019 Capacitacin de Estudio ISTQB
31/338
31
I - Fundamentos de Pruebas de Software02 Principios del proceso de pruebas software
Principio 2: No es posible realizar pruebas exhaustivas
Pruebas exhaustivas
Explosin de casos de prueba
Prueba de muestra
-
7/24/2019 Capacitacin de Estudio ISTQB
32/338
32
I - Fundamentos de Pruebas de Software02 Principios del proceso de pruebas software
Principio 3: pruebas tempranas (early testing)
La correccin de un defecto es menos costosa en la medida en la cual sudeteccin se realiza en fases mas tempranas del proceso de software.
La preparacin de una prueba tambin consume tiempo.
-
7/24/2019 Capacitacin de Estudio ISTQB
33/338
33
I - Fundamentos de Pruebas de Software02 Principios del proceso de pruebas software
Principio 4: Agrupamiento de defectos (defect clustering)
Encuentre un defecto y encontrara mas defectos cerca!
Los testers deben ser flexibles
-
7/24/2019 Capacitacin de Estudio ISTQB
34/338
34
I - Fundamentos de Pruebas de Software02 Principios del proceso de pruebas software
Principio 5: Paradoja del pesticida
Repetir pruebas en las mismas condiciones no es efectivo
Las pruebas deben ser revisadas/modificadas regularmente para losdistintos mdulos (cdigo).
-
7/24/2019 Capacitacin de Estudio ISTQB
35/338
35
I - Fundamentos de Pruebas de Software02 Principios del proceso de pruebas software
Principio 6: Las pruebas dependen del contexto
Las pruebas se desarrollan de forma diferente en diferentes contextos.
Objetos de prueba diferentes son probados de forma diferente.
Entorno de pruebas (test bed) vs. Entorno de produccin.
-
7/24/2019 Capacitacin de Estudio ISTQB
36/338
36
I - Fundamentos de Pruebas de Software02 Principios del proceso de pruebas software
Principio 7: La falacia de la ausencia de errores
Un proceso de pruebas adecuado detectara los fallos mas importantes.
Esto en si no prueba la calidad del sistema software.
-
7/24/2019 Capacitacin de Estudio ISTQB
37/338
37
I - Fundamentos de Pruebas de Software02 Principios del proceso de pruebas softwareResumen: Las pruebas pueden ayudar a detectar defectos en el software, sin embargo
las mismas no pueden demostrar la ausencia de defectos.
Salvo en casos triviales las pruebas exhaustivas son imposibles, las pruebasde muestra son necesarias.
Las pruebas tempranas ayudan a reducir costos dado que los defectosdescubiertos en fases tempranas del proceso software son corregidas con
menor esfuerzo. Los defectos se presentan agrupados,. El encontrar un defecto en una
ubicacin determinada significa que probablemente se encontrara otro defecto asu alrededor.
Repetir pruebas idnticas no genera nueva informacin.
Cada entorno partculardetermina la forma en la cual seejecutarn/desarrollarn las pruebas.
Un software libre de errores no implica que sea adecuado para el uso.
-
7/24/2019 Capacitacin de Estudio ISTQB
38/338
38
I - Fundamentos de Pruebas de Software03 Proceso de pruebas bsico.El proceso de pruebas como proceso dentro del proceso de
desarrollo software
Dependiendo del enfoque seleccionado, el proceso de pruebas tendr lugar endiferentes puntos del proceso de desarrollo.
Las pruebas constituyen un proceso en si mismas.
-
7/24/2019 Capacitacin de Estudio ISTQB
39/338
39
I - Fundamentos de Pruebas de Software03 Proceso de pruebas bsico.El proceso de pruebas a lo largo del proceso de desarrollo
software
Incluye superposicin y vuelta atrs
(backtracking).
Cada fase del proceso de pruebastiene lugar de forma concurrente
con las fases del proceso de
desarrollo software.
Plan de pruebas
Anlisis y diseo de
pruebas
Implementacin yejecucin de pruebas
Evaluacin del criterio desalida y generacin deinformes
Actividades de cierrede pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
40/338
40
I - Fundamentos de Pruebas de Software03 Proceso de pruebas bsico.
Control de pruebas tareas principales
El control de pruebas es una actividad continua queinfluye en la planificacin de las pruebas.
El estado del proceso de pruebas se determina
comparando el progreso logrado con respecto al
plan de pruebas.Se miden y analizan resultados.
Elprogreso
de las pruebas, lacobertura
de las pruebas y el cumplimiento delcriterio de finalizacin de pruebas son objeto de seguimiento y sondocumentados.
Se inician medidas correctivas.
Preparary tomardecisiones.
-
7/24/2019 Capacitacin de Estudio ISTQB
41/338
41
I - Fundamentos de Pruebas de Software03 Proceso de pruebas bsico.
Planificacin de pruebas tareas
Principales Determinar el alcance y los riesgos. Identificar los objetivos de las pruebas y el criterio
de finalizacin de pruebas.
Determinar el enfoque: tcnicas de pruebas,
cobertura de pruebas, equipo de pruebas. Implementar el mtodo/estrategia de pruebas,
planificacin del tiempo disponible para las
actividades a seguir.
Adquirir/obtener y programar recursos requeridos para las pruebas: personal,entorno de pruebas, presupuesto de pruebas.
-
7/24/2019 Capacitacin de Estudio ISTQB
42/338
42
I - Fundamentos de Pruebas de Software03 Proceso de pruebas bsico. Estrategia de pruebas:
(1) Descripcin a alto nivel de los niveles de prueba a llevar a cabo y laspruebas asociadas a ellos para una organizacin o programa (uno o mas
proyectos). (2) De acuerdo con el enfoque global, los esfuerzos aplicados a las pruebas
se reparten entre los objetos de prueba y los diferentes objetivos de laspruebas: la eleccin del mtodo de prueba, como y cuando las actividades
asociadas a las pruebas debern ser ejecutadas y cuando se debe detenerel proceso de pruebas (criterio de finalizacin).
Criterio de salida (segn Gilb and Graham):
Conjunto de condiciones genricas y especificas, acordadas con los
implicados, para permitir que un proceso sea considerado formalmentefinalizado. El propsito de los criterios de salida es evitar que una tarea seconsidere finalizada habiendo partes destacadas de la misma sincompletar. Los criterios de salida son utilizados como fuente para elaborarinformes y planificar la suspensin de las pruebas.
-
7/24/2019 Capacitacin de Estudio ISTQB
43/338
43
I - Fundamentos de Pruebas de Software03 Proceso de pruebas bsico.
Anlisis y diseo de pruebas tareas
principales Revisin de las bases de las pruebas (requisitos,
arquitectura del sistema, diseo, interfaces).
Identificar condiciones de prueba especificas y los
datos de prueba necesarios.
Diseos de pruebas / casos de prueba. Positivos y negativos
Anlisis de la testabilidad.
-
7/24/2019 Capacitacin de Estudio ISTQB
44/338
44
I - Fundamentos de Pruebas de Software03 Proceso de pruebas bsico.
Anlisis y diseo de pruebas tareas
Principales
Organizacin del entorno de pruebas (test bed).
Infraestructura de pruebas y herramientas de
pruebas (si fuera necesario).
Procesos, procedimientos y responsabilidades.
Eleccin, suministro, instalacin y operacin de herramientas de pruebas.
-
7/24/2019 Capacitacin de Estudio ISTQB
45/338
45
I - Fundamentos de Pruebas de Software03 Proceso de pruebas bsico. Plan de pruebas (test plan):
Documento que describe el alcance, enfoque, recursos y planificacin (temporal), delas actividades previstas del proceso de pruebas. Este documento incluye, pero no
esta limitado a, los objetos de prueba, las caractersticas a verificar (a probar), losrecurso y un plan de contingencias.
Datos de prueba (test data): Datos que existen en el sistema antes de que una prueba sea ejecutada, y que afecta
o es afectado por el componente o sistema sujeto a pruebas.
Datos de entrada (input data): Variable que es leda por un componente (tanto almacenada dentro del sistema como
fuera del mismo).
Cobertura de pruebas (test coverage): Grado en el cual un elemento especifico ha sido ejecutado por conjunto de pruebas,
utilizado con mayor frecuencia en pruebas de caja blanca con el objeto de determinarla cobertura del cdigo.
Orculo de pruebas (test oracle): Fuente que permite determinar los resultados esperados de un software sujeto a
pruebas: comparativas (benchmarks)(tambin resultado de pruebas previas),
manuales de usuario o conocimiento especializado. No debe ser el cdigo.
-
7/24/2019 Capacitacin de Estudio ISTQB
46/338
46
I - Fundamentos de Pruebas de Software03 Proceso de pruebas bsico.
Ejecucin de pruebas tareas principales
Desarrollo y asignacin de un orden de
prioridad a los casos de prueba.
Creacin de guiones de automatizacin de
pruebas, si fuera necesario.
Configuracin del entorno de pruebas (test bed).
Ejecucin de pruebas (de forma manual o
automtica).
Registro y anlisis de los resultados de pruebas.
Reiteracin de pruebas (retest) / pruebas de regresin (regression testing).
-
7/24/2019 Capacitacin de Estudio ISTQB
47/338
47
I - Fundamentos de Pruebas de Software03 Proceso de pruebas bsico. Juego de pruebas (test suit) / secuencia de pruebas (test sequence):
Conjunto de casos prueba para un componente o sistema, donde la postcondicion de un caso deprueba es utilizada como precondicin para el caso siguiente.
Especificacin de procedimiento de pruebas (escenario de pruebas): Documento en el cual se especifica una secuencia de acciones para la ejecucin de una prueba.Tambin es conocido como guion de pruebas o guion de pruebas manuales.
Ejecucin de pruebas: Es el proceso de llevar a cabo una prueba aportando/generando los resultados reales.
Registro de pruebas (informe de pruebas): Relacin cronolgica de los detalles relevantes relativa a la ejecucin de pruebas; cuando se
desarrollaron las pruebas, que resultados fueron generados
Pruebas de regresin: Pruebas, tras la modificacin de un programa previamente probado, con el objeto de asegurar que
no se han introducido o descubierto defectos en reas que no hubieran sido objeto de modificacincomo resultado de los cambios realizados. Se realizan cuando el software o su entorno a sidomodificado.
Pruebas de confirmacin, reiteracin de pruebas (retest): Repeticin de una prueba tras la correccin de un defecto con el objeto de confirmar que el defecto
ha sido eliminado con xito.
-
7/24/2019 Capacitacin de Estudio ISTQB
48/338
48
I - Fundamentos de Pruebas de Software03 Proceso de pruebas bsico.
Evaluacin del criterio de salida tareas
principales
Evaluacin de la ejecucin de pruebas conrespecto a objetivos definidos.
Evaluacin de los registros de pruebas
(resumen de las actividades de pruebas,resultado de prueba, comunicar criterio de salida).
Proporcionar informacin con el objeto de permitir
la decisin con respecto a si tendrn lugar pruebas adicionales.
-
7/24/2019 Capacitacin de Estudio ISTQB
49/338
49
I - Fundamentos de Pruebas de Software03 Proceso de pruebas bsico.
Actividades de cierre de pruebas
tareas principales
Recopilar datos de las actividades Cierre de informes de incidencias o generacin de
solicitudes de cambio para cualquier punto que
permaneciera abierto.
Comprobar que entregables planificados han sidoentregados.
Documentar la aceptacin del sistema.
Finalizar y archivar los utensilios de pruebas
Analizar las lecciones aprendidas para futuros proyectos.
-
7/24/2019 Capacitacin de Estudio ISTQB
50/338
50
I - Fundamentos de Pruebas de Software03 Proceso de pruebas bsico.Resumen:El proceso de pruebas se puede dividir en diferentes fases.
Planificacin de pruebas: abarca las actividades como la definicin de laestrategia de pruebas para todas las fases, as como la planificacin de losrecursos (tiempo, personal, maquinas).
Diseo de pruebas ( especificacin): abarca el diseo de casos de prueba ysus resultados esperados.
Ejecucin de pruebas: abarca la definicin de datos de pruebas, la ejecucinde pruebas y la comparacin de resultados.
Informes de pruebas(logging): registro de los resultados de prueba, en formade tabulada, en base de datos o de forma escrita.
Evaluacin de pruebas: abarca el anlisis de defectos y la evaluacin delcriterio de salida.
Control de pruebas: consiste en las actividades de control que abarcan todaslas fases anteriores.
I F d t d P b d S ft
-
7/24/2019 Capacitacin de Estudio ISTQB
51/338
51
I - Fundamentos de Pruebas de Software04 Psicologa en el proceso de pruebasRoles y responsabilidadesRol: Desarrollador Rol: Tester
- Implementa requisitos - Planifica actividades de pruebas
- Desarrolla estructuras - Disea casos de prueba
- Desarrolla el software - Su nica preocupacin es encontrar
- Crea un producto defectos
- encontrar errores producidos por undesarrollador es su xito
Percepcin
la actividad del desarrollador es la actividad del tester es destructiva!
Constructiva!
Error!
Las pruebas tambin constituyen una actividad constructiva,
su propsito es la eliminacin de defectos en un producto!
I F d t d P b d S ft
-
7/24/2019 Capacitacin de Estudio ISTQB
52/338
52
I - Fundamentos de Pruebas de Software04 Psicologa en el proceso de pruebasCaractersticas personales de un buen tester /1
Curioso, perceptivo, atento a los detalles.
Con el objeto de comprender los escenarios prcticos del cliente. Con el objeto de poder analizar la estructura de una prueba.
Con el objeto de descubrir donde se pueden manifestar fallos.
Escptico y con actitud critica. Los objetos de prueba contienen defectos. Usted solo debe
encontrarlos.
No se debe tener temor al hecho de que pueden ser descubiertosdefectos serios que tengan un impacto sobre la evolucin delproyecto.
I F d t d P b d S ft
-
7/24/2019 Capacitacin de Estudio ISTQB
53/338
53
I - Fundamentos de Pruebas de Software04 Psicologa en el proceso de pruebasCaractersticas personales de un buen tester /2
Aptitudes para la comunicacin.
Necesarias para llevar malas noticias a los desarrolladores. Necesarias para vencer estados de frustracin.
Tanto cuestiones tcnicas como prcticas. Relativas al uso delsistema. Deben ser entendidas y comunicadas.
Una comunicacin positiva puede ayudar a evitar situacionesdifciles.
Facilitan establecer una relacin de trabajo con los desarrolladoresa corto plazo.
Experiencia. Factores personales influyen en la ocurrencia de errores.
La experiencia ayuda a identificar donde se pueden acumularerrores.
I F d t d P b d S ft
-
7/24/2019 Capacitacin de Estudio ISTQB
54/338
54
I - Fundamentos de Pruebas de Software04 Psicologa en el proceso de pruebas
Diferencias: disear desarrollar probar
Las pruebas requieren una perspectiva distinta a la del diseo y desarrollo desistemas de software.
En principio, una persona puede asumir los tres roles en su trabajo.
I Fundamentos de Pruebas de Software
-
7/24/2019 Capacitacin de Estudio ISTQB
55/338
55
I - Fundamentos de Pruebas de Software04 Psicologa en el proceso de pruebas
Pruebas independientes
La separacin de las responsabilidades en el proceso depruebas apoya/promueve la evaluacin independiente de losresultados de las pruebas.
I Fundamentos de Pruebas de Software
-
7/24/2019 Capacitacin de Estudio ISTQB
56/338
56
I - Fundamentos de Pruebas de Software
04 Psicologa en el proceso de pruebasOrganizacin de pruebas tipos /1
Pruebas del desarrollador
El desarrollador nunca analizara su creacin de forma
imparcial (apego afectivo).
Las personas tienden a pasar por alto sus propios defectos.
Errores cometidos como consecuencia de una mala interpretacin de losrequisitos se mantendrn sin ser detectados.
I Fundamentos de Pruebas de Software
-
7/24/2019 Capacitacin de Estudio ISTQB
57/338
57
I - Fundamentos de Pruebas de Software
04 Psicologa en el proceso de pruebasOrganizacin de pruebas tipos /2
Equipos de desarrollo
Los desarrolladores hablan el mismo lenguaje.
Los costos de formacin/informacin en lo relativo a
objetos de prueba se mantienen a un nivel moderado.
Peligro de generacin de conflictos entre equipos de desarrollo.
Mezcla de actividades de desarrollo y pruebas.
I Fundamentos de Pruebas de Software
-
7/24/2019 Capacitacin de Estudio ISTQB
58/338
58
I - Fundamentos de Pruebas de Software
04 Psicologa en el proceso de pruebasOrganizacin de pruebas tipos /3
Equipos de pruebas
La creacin de equipos de pruebas que den
servicio a diferentes reas del proyecto mejora la calidad de las pruebas.
Es importante que los equipos de pruebas de diferentes reas del proyectotrabajen de forma independiente
I - Fundamentos de Pruebas de Software
-
7/24/2019 Capacitacin de Estudio ISTQB
59/338
59
I - Fundamentos de Pruebas de Software
04 Psicologa en el proceso de pruebasOrganizacin de pruebas tipos /4
Subcontratacin (externalizacin) de pruebas
La separacin de las actividades de pruebas y desarrollo
aportan la mxima independencia entre los objetos de
prueba y el tester.
Las actividades de pruebas subcontratadas son ejecutadas por personalcon conocimiento relativamente pequeo de los objetos de prueba y de losantecedentes del proyecto.
Los expertos externos cuentan con un alto nivel de conocimiento (knowhow), del proceso de pruebas.
I - Fundamentos de Pruebas de Software
-
7/24/2019 Capacitacin de Estudio ISTQB
60/338
60
I - Fundamentos de Pruebas de Software
04 Psicologa en el proceso de pruebasPruebas dirigidas por objetivos
Los testers fijan sus actividades a los efectos de alcanzar losobjetivos establecidos para ellos.
Los objetivos de pruebas deberan ser establecidos de forma
clara, de lo contrario podran influir negativamente en el cursodel proyecto.
I - Fundamentos de Pruebas de Software
-
7/24/2019 Capacitacin de Estudio ISTQB
61/338
61
I - Fundamentos de Pruebas de Software
04 Psicologa en el proceso de pruebasDificultades /1
Incapacidad de comprensin mutua.
Especialmente en situaciones de tensin, la deteccin deerrores cometidos por alguien frecuentemente conduce a
conflictos.
I - Fundamentos de Pruebas de Software
-
7/24/2019 Capacitacin de Estudio ISTQB
62/338
62
I Fundamentos de Pruebas de Software
04 Psicologa en el proceso de pruebasDificultades /2
La comunicacin entre testers y desarrolladores esinsuficiente o inexistente. Este hecho puede hacer imposible eltrabajo conjunto.
Un proceso de pruebas slido requiere la distancia apropiadacon respecto al objeto de prueba.
I - Fundamentos de Pruebas de Software
-
7/24/2019 Capacitacin de Estudio ISTQB
63/338
63
I Fundamentos de Pruebas de Software
04 Psicologa en el proceso de pruebasResumen Las personas cometen errores, toda implementacin tiene defectos.
La naturaleza humana dificulta la posibilidad de hacer frente a losdefectos propios (ceguera a los errores).
Desarrollador y tester implican el encuentro de dos mundos distintos. El desarrollador constructivo algo que no estaba ah previamente es
creado.
El proceso de pruebas resulta destructivo a primera vista - se detectarandefectos!
Juntos, el desarrollo y las pruebas son constructivas en su objetivo deobtener un producto software con la menor cantidad de defectos posible.
Las pruebas independientes aumenta la calidad del proceso depruebas. En lugar de equipos de desarrolladores utilice equipos de prueba (testers),
o equipos de prueba con testers externos.
II Pruebas a lo largo del ciclo de vida software
-
7/24/2019 Capacitacin de Estudio ISTQB
64/338
64
g
AgendaCapitulo II Pruebas a lo largo del ciclo de vida software
II/01 Modelos de desarrollo software. II/02 Niveles de prueba del modelo V.
II/03 Tipos de prueba objetivos de las pruebas.
II Pruebas a lo largo del ciclo de vida software
-
7/24/2019 Capacitacin de Estudio ISTQB
65/338
65
II Pruebas a lo largo del ciclo de vida software
01 Modelos de desarrollo softwarePruebas a lo largo del modelo-V general El modelo-V general es el modelo de desarrollo software mas utilizado.
Desarrollo y pruebas son dos ramas iguales
Las pruebas (rama derecha), se disean en paralelo al desarrollo software (ramaizquierda).
Definicin de
requisitos
Diseo funcionaldel sistema
Diseo tcnico
del sistema
Especificacinde componentes
Programacin
Prueba decomponente
Prueba de
Integracin
Pruebas desistema
Pruebas de
aceptacin
II Pruebas a lo largo del ciclo de vida software
-
7/24/2019 Capacitacin de Estudio ISTQB
66/338
66
g
01 Modelos de desarrollo softwarePruebas a lo largo del modelo-V general
Rama: desarrollo software.
Definicin de requisitos. Documentos de especificacin.
Diseo funcional del sistema. Diseo del flujo funcional del programa.
Diseo tcnico del sistema. Definicin de arquitectura / interfaces.
Especificacin de los componentes. Estructura de los componentes.
Programacin. Creacin de cdigo ejecutable
Definicin derequisitos
Diseo funcionaldel sistema
Diseo tcnicodel sistema
Especificacinde componentes
Programacin
II Pruebas a lo largo del ciclo de vida software
-
7/24/2019 Capacitacin de Estudio ISTQB
67/338
67
g
01 Modelos de desarrollo softwarePruebas a lo largo del modelo-V general
Rama: pruebas de software.
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.
Programacin
Prueba decomponente
Prueba deIntegracin
Pruebas desistema
Pruebas deaceptacin
II Pruebas a lo largo del ciclo de vida software
-
7/24/2019 Capacitacin de Estudio ISTQB
68/338
68
g
01 Modelos de desarrollo software
Verificacin vs. Validacin
Verificacin Comprobacin de la conformidad con los requisitos establecidos (definicin
segn ISO 9000).
Cuestin clave: se ha procedido correctamente en la construccin delsistema?
Validacin Comprobacin de la idoneidad para el uso esperado (definicin segn ISO
9000).
Cuestin clave: Hemos construido el sistema software correcto?
II Pruebas a lo largo del ciclo de vida software
-
7/24/2019 Capacitacin de Estudio ISTQB
69/338
69
g
01 Modelos de desarrollo softwareVerificacin dentro del modelo-V general Cada nivel de desarrollo se verifica respecto de los contenidos del nivel que le
precede.
Verificar significa comprobar si los requisitos y definiciones de niveles previos hansido implementados correctamente.
Definicin derequisitos
Diseo funcional delsistema
Diseo tcnico delsistema
Especificacin decomponentes
Programacin
Prueba decomponente
Prueba de Integracin
Pruebas de sistema
Pruebas deaceptacin
Verificacin
Desarrollo eintegracin
II Pruebas a lo largo del ciclo de vida software
-
7/24/2019 Capacitacin de Estudio ISTQB
70/338
70
01 Modelos de desarrollo softwareValidacin dentro del modelo-V general La validacin se refiere a la correctitud de cada nivel de desarrollo.
Validar significa comprobar lo adecuado de los resultados de un nivel dedesarrollo.
Definicin derequisitos
Diseo funcional delsistema
Diseo tcnico delsistema
Especificacin decomponentes
Programacin
Prueba decomponente
Prueba de Integracin
Pruebas de sistema
Pruebas deaceptacin
Verificacin
Desarrollo e
integracinValidacin
II Pruebas a lo largo del ciclo de vida software
-
7/24/2019 Capacitacin de Estudio ISTQB
71/338
71
01 Modelos de desarrollo softwareTesting within the W-model The W-model can be see as an extension to the general V-model.
The W-model makes it clear, that certain quality assurance activities shall be
performed in parallel with the development process.
Programming
Planningcomponent
test
Execution ofcomponent
test
Debugging anderror correction
Componentspecification
Func.technicaldesign
Planningintegration test
Planningsystems test
Func. systemdesign
Functional
requirements
Planning test
activities
Execution ofintegration test
Debugging anderror correction
Debugging anderror correction
Execution ofsystems test
Execution ofacceptance
test
Debugging anderror correction
II Pruebas a lo largo del ciclo de vida software
-
7/24/2019 Capacitacin de Estudio ISTQB
72/338
72
01 Modelos de desarrollo softwareOtros modelos de prueba: modelos iterativos /1 Desarrollo software iterativo.
Las actividades: definicin de requisitos, diseo, desarrollo y pruebas se segmentan en
pasos reducidos y se ejecutan de forma continua. Se debe alcanzar el consentimiento con el cliente tras cada iteracin con el objeto de
modificar el rumbo del proyecto si fuera necesario.
Ejemplos de modelos iterativos: Modelo prototipado: desarrollo rpido de una representacin del sistema que pudiera
ser objeto de uso, seguida de modificaciones sucesivas hasta que el sistema seafinalizado.
Desarrollo rpido de aplicaciones (rapid aplication developmen - RAD): la interfaz deusuario se implementa utilizando una funcionalidad hecha (out of the box), simulando lafuncionalidad que posteriormente ser desarrollada.
Proceso unificado (rational unified process RUP): modelo orientado a objeto yproducto de la compaa rational / IBM. Principalmente aporta el lenguaje de modelo UMLy soporte al proceso unificado.
Programacin extrema (extreme programming XP): el desarrollo y las pruebastienen lugar sin una especificacin de requisitos formalizada.
II Pruebas a lo largo del ciclo de vida software
-
7/24/2019 Capacitacin de Estudio ISTQB
73/338
73
01 Modelos de desarrollo softwareOtros modelos de prueba: modelos iterativos /2 Caractersticas de los modelos iterativos:
Cada iteracin contribuye con una caracterstica adicional del sistema bajodesarrollo.
Cada iteracin puede ser probada por separado.
Las pruebas de regresin son de gran relevancia.
En cada iteracin, la verificacin (relacin con el nivel precedente), y lavalidacin (grado de correccin del producto dentro del nivel actual), se
pueden efectuar por separado.
II Pruebas a lo largo del ciclo de vida Software
-
7/24/2019 Capacitacin de Estudio ISTQB
74/338
74
01 Modelos de Desarrollo de Software
Principios de todos los modelos
Cada actividad de desarrollo debe ser probada.
Cada nivel de pruebas debera ser probado de formaespecfica.
El proceso de pruebas comienza con mucha antelacin a la
ejecucin de pruebas.
II Pruebas a lo largo del ciclo de vida Software
-
7/24/2019 Capacitacin de Estudio ISTQB
75/338
75
01 Modelos de Desarrollo de SoftwareResumen
El desarrollo de software utiliza modelos tanto para el propiodesarrollo de software como para las actividades del proceso depruebas.
El modelo ms conocido es el modelo-V, el cual describe los nivelesde desarrollo y niveles de prueba como dos ramas relacionadas.
Los modelos iterativos ms relevantes son RUP y XP.
Las actividades de pruebas estn recomendadas en todos losniveles de desarrollo.
II Pruebas a lo largo del ciclo de vida Software
-
7/24/2019 Capacitacin de Estudio ISTQB
76/338
76
02 Niveles en el Proceso de Pruebas
Definicin Pruebas de componente
Pruebas de cada componente tras su realizacin
Dadas las convenciones de cada lenguaje deprogramacin para la asignacin de nombres asus respectivas componentes, se podr hacerreferencia a un componente como: Pruebas de mdulo (module test) (por ejemplo en
C)
Prueba de clase (por ejemplo en Java o C++) Prueba de unidad (por ejemplo en Pascal)
Programacin
Pruebas deComponentes
Pruebas deIntegracin
Pruebas deSistema
Pruebas deAceptacin
II Pruebas a lo largo del ciclo de vida Software
-
7/24/2019 Capacitacin de Estudio ISTQB
77/338
77
02 Niveles en el Proceso de Pruebas
Pruebas de Componente: Alcance Slo se prueban componentes individuales.
Un componente puede estar constituido por un conjunto de unidades mspequeas
Los objetos de prueba no siempre pueden ser probados en solitario (deforma autnoma).
Cada componente es probado de forma independiente Describiendo defectos internos.
Los efectos cruzados entre componentes quedan fuera del alcance deestas pruebas
II Pruebas a lo largo del ciclo de vida Software
-
7/24/2019 Capacitacin de Estudio ISTQB
78/338
78
02 Niveles en el Proceso de Pruebas
Pruebas de Componente: Motivacin
Probar la funcionalidad. Toda funcionalidad debe ser probada, por lo menos., con un caso deprueba.
Defectos descubiertos habitualmente:
Probar la robustez (testing robustness)(resistencia a datos de entrada invlidos) Los casos de prueba que comprueban datos de entrada invlidos se
denominan pruebas negativas.
Un sistema robusto aporta un tratamiento apropiado para datos deentrada errneos.
II Pruebas a lo largo del ciclo de vida Software
-
7/24/2019 Capacitacin de Estudio ISTQB
79/338
79
02 Niveles en el Proceso de Pruebas
Pruebas de Componente: Arns de Pruebas La ejecucin de pruebas de componente requiere,
frecuentemente, de drivers y stubs. Un driver procesa la interfaz de un componente.
Un stub reemplaza o simula un componente que an no
se encuentra disponible.
Driver Componente Datosde
Prueba
Stub
II Pruebas a lo largo del ciclo de vida Software
-
7/24/2019 Capacitacin de Estudio ISTQB
80/338
80
02 Niveles en el Proceso de Pruebas
Pruebas de Componente: Mtodos
El cdigo fuente se encuentra disponible para eltester
Tester = desarrollador
Se podr aplicar al diseo de casos de prueba el conocimiento de lafuncionalidad, estructura de componentes y variables.
Las pruebas funcionales sern pertinentes (con frecuencia).
Adicionalmente, el uso de depuradores (debuggers) y otras herramientas
de desarrollo permitirn acceso directo a las variables del programa.
II Pruebas a lo largo del ciclo de vida Software
-
7/24/2019 Capacitacin de Estudio ISTQB
81/338
81
02 Niveles en el Proceso de Pruebas
Resumen: Pruebas de Componente
Un componente es la unidad ms pequea especificada de un sistema.
Prueba de mdulo, de clase, de unidad y de desarrolladorson los utilizadoscomo sinnimos.
Los drivers ejecutarn las funciones de un componente y las funcionesadyacentes que son reemplazadas por stubs.
Las pruebas de componente podrn comprobar caractersticas funcionales yno funcionales de un sistema.
II Pruebas a lo largo del ciclo de vida Software
-
7/24/2019 Capacitacin de Estudio ISTQB
82/338
82
02 Niveles en el Proceso de Pruebas
Definicin Pruebas de Integracin (tambin: Pruebas
de Interfaz) Comprueba la interaccin entre elementos
de software (componentes) tras laintegracin del sistema.
La integracin es la actividad en la cual secombinan componentes de softwareindividuales en subsistemas ms amplios.
La integracin adicional de subsistemastambin es parte del proceso de integracindel sistema
Programacin
Pruebas deComponentes
Pruebas deIntegracin
Pruebas deSistema
Pruebas deAceptacin
II Pruebas a lo largo del ciclo de vida Software
-
7/24/2019 Capacitacin de Estudio ISTQB
83/338
83
02 Niveles en el Proceso de Pruebas Pruebas de Integracin: Alcance /1
Las pruebas de integracin asumen que los componentes ya hansido probados.
Las pruebas de integracin comprueban la interaccin mutuaentre componentes (subsistemas) software:
Las pruebas de integracin comprueban las interfaces con elentorno del sistema.
II Pruebas a lo largo del ciclo de vida Software
-
7/24/2019 Capacitacin de Estudio ISTQB
84/338
84
02 Niveles en el Proceso de Pruebas Pruebas de Integracin: Alcance /2
Ser probado un (subsistema) sistema compuesto de componentesindividuales.
Son necesario drivers de prueba (los cuales aportan el entorno alproceso del sistema o subsistema)
Los drivers de prueba propios de las pruebas de componente pueden serreutilizadas aqu.
II Pruebas a lo largo del ciclo de vida Software
-
7/24/2019 Capacitacin de Estudio ISTQB
85/338
85
02 Niveles en el Proceso de Pruebas Pruebas de Integracin: Alcance /3
Herramientas de control (monitoring tools) pueden apoyar lasactividades de pruebas registrando datos y controlando las mismaspruebas.
Un stub reemplaza un componente faltante. Un stub programado reemplazar datos o funcionalidad de un
componente que an no ha sido integrado
Un stub asumir las tareas elementales de un componente faltante.
II Pruebas a lo largo del ciclo de vida Software
-
7/24/2019 Capacitacin de Estudio ISTQB
86/338
86
02 Niveles en el Proceso de Pruebas
Pruebas de Integracin: Enfoque
El propsito de las pruebas de integracin es detectar defectos enlas interfaces. Las pruebas de integracin comprueban la correctainteraccin entre componentes.
Al reemplazar drivers y stubs de prueba por componentesreales se pueden generar nuevos defectos tales como:
Prdida de datos, manipulacin errnea de datos o entradaserrneas.
El componente involucrado interpreta los datos de entrada deuna manera distinta. Los datos son transferidos en un momento incorrecto: antes
de tiempo, despus de tiempo, a una frecuencia distinta de larequerida.
II Pruebas a lo largo del ciclo de vida Software
-
7/24/2019 Capacitacin de Estudio ISTQB
87/338
87
02 Niveles en el Proceso de Pruebas Pruebas de Integracin: Estrategias /1
Hay diferentes estrategias para las pruebas de integracin Enfoque incremental es un elemento comn a la mayora de las
estrategias (excepcin: estrategia Big Bang). Las estrategias ascendente (bottom - up) y descendente (top-
down) son las utilizadas con mayor frecuencia.
La eleccin de la estrategia debe considerar tambin aquellos
aspectos relativos a la eficiencia de las pruebas.
En cada proyecto especfico se debe considerar el compromisoentre la reduccin de tiempo y la reduccin esfuerzo en pruebas
II Pruebas a lo largo del ciclo de vida Software
-
7/24/2019 Capacitacin de Estudio ISTQB
88/338
88
02 Niveles en el Proceso de Pruebas Pruebas de Integracin: Estrategias /2
Pruebas
Integracin
Ascendente (bottom-up)
Pruebas
Integracin
Descendente (top-down)
Pruebas
Integracin
Big Bang
II Pruebas a lo largo del ciclo de vida Software02 Niveles en el Proceso de Pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
89/338
89
Resumen: Pruebas de Integracin
Integracin significa construir grupos de componentes.
Las pruebas de integracin comprueban la interaccin entre componentesrespecto de la especificacin de interfaces.
La integracin ocurre de forma ascendente (bottom-up), descendente(top-down) o en forma de Big Bang.
Integracin de subsistemas (estn constituidos por componentes integrados)
tambin es una forma de integracin.
Cualquier estrategia de integracin distinta a las anteriores es integracin adhoc.
II Pruebas a lo largo del ciclo de vida Software02 Niveles en el Proceso de Pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
90/338
90
Definicin Pruebas de Sistema
Pruebas del sistema de software integrado.
Las pruebas de sistema se refieren a (segn ISO 9126): Requisitos Funcionales.
Funcionalidad. Requisitos no funcionales.
Fiabilidad.
Usabilidad.
Eficiencia. Modificabilidad.
Portabilidad.
Programacin
Pruebas deComponentes
Pruebas deIntegracin
Pruebas deSistema
Pruebas deAceptacin
II Pruebas a lo largo del ciclo de vida Software02 Niveles en el Proceso de Pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
91/338
91
Pruebas de Sistema: Alcance
Prueba de un sistema integrado desde el punto de vista del usuario. Implementacin completa y correcta de los requisitos.
Despliegue en el entorno real del sistema con datos recientes.
El entorno de pruebas debera coincidir con el entorno real. No son necesarios stubs o drivers.
Todas las interfaces externas son probadas en condiciones reales.
Emulacin prxima al futuro entorno real del sistema.
II Pruebas a lo largo del ciclo de vida Software02 Niveles en el Proceso de Pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
92/338
92
Pruebas de Sistema: Requisitos Funcionales/1
Objetivo: comprobar que la funcionalidad implementada expone las
caractersticas requeridas. Las caractersticas a ser probadas incluyen (segn ISO 9126):
Adecuacin/idoneidad (suitability) Las funciones implementadas son adecuadas para su uso esperado?
Exactitud (accuracy) Las funciones presentan los resultados correctos (acordados)?
Interoperatibilidad (interoperability) Las interacciones con el entorno del sistema presentan algn problema?
Conformidad (compliance) El sistema cumple con normas y reglamentos aplicables?
Seguridad (security) Estn protegidos los datos/programas contra acceso no deseado o prdida?
II Pruebas a lo largo del ciclo de vida Software02 Niveles en el Proceso de Pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
93/338
93
Pruebas de Sistema: Requisitos Funcionales/2 Tres enfoques para probar requisitos funcionales:
Pruebas basadas en requisitos. Los casos de prueba se derivan de la especificacin de requisitos.
El nmero de casos de prueba variar en funcin del tipo/profundidad de laspruebas basadas en la especificacin de requisitos.
Pruebas basadas en procesos de negocio Cada proceso de negocio sirve como fuente para derivar/generar pruebas.
El orden de relevancia de los procesos de negocio pueden ser aplicados paraasignar prioridades a los casos de prueba.
Pruebas basadas en casos de uso: Los casos de prueba se derivan/generan a partir de las secuencias de usos
esperados o razonables.
Las secuencias utilizadas con mayor frecuencia reciben una prioridad ms alta.
II Pruebas a lo largo del ciclo de vida Software02 Niveles en el Proceso de Pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
94/338
94
Pruebas de Sistema: Requisitos NoFuncionales
La conformidad con requisitos no funcionales es difcil delograr:
Ejemplo: Prueba de mantenibilidad Los programadores han cumplido con los estndares de
codificacin respectivos?
El sistema ha sido diseado de una forma estructurada ymodular?
II Pruebas a lo largo del ciclo de vida Software02 Niveles en el Proceso de Pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
95/338
95
Resumen: Pruebas de Sistema
Las pruebas de sistema se desarrollan utilizando casos de prueba funcionalesy no funcionales.
Las pruebas de sistema funcionales confirman que los requisitos para un usoespecfico previsto han sido satisfechos (validacin).
Las pruebas de sistema no funcionales verifican los atributos de calidad nofuncionales, por ejemplo usabilidad, eficiencia, portabilidad, etc.
Con frecuencia, los atributos de calidad no funcionales son una parte implcitade los requisitos, esto hace difcil validarlos.
II Pruebas a lo largo del ciclo de vida Software02 Niveles en el Proceso de Pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
96/338
96
DefinicinPruebas de Aceptacin. Las pruebas de aceptacin son pruebas formales
llevadas a cabo con el objeto de verificar laconformidad del sistema con los requisitos. Elobjetivo es aportar justificacin a la confianza en
el sistema para que pueda ser aceptado por elcliente (ver IEEE610).
Es habitual que sean las primeras pruebas en lascuales se vea involucrado el cliente (es
recomendable involucrar al cliente durante elmismo proceso de desarrollo, por ejemplo darsoporte al desarrollo de prototipos). Programacin
Pruebas deComponentes
Pruebas deIntegracin
Pruebas deSistema
Pruebas de
Aceptacin
II Pruebas a lo largo del ciclo de vida Software02 Niveles en el Proceso de Pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
97/338
97
Pruebas de Aceptacin: Aceptacin Contractual
El software satisface todos los requisitos contractuales? Con la aceptacin formal se cumplen hitos legales: comienzo de fase
de garanta, hitos de abono (pago), acuerdos de mantenimiento, etc.
Criterios de aceptacin verificables definidos en el momento delacuerdo contractual constituyen una garanta para ambas partes
Normalmente el cliente selecciona casos de prueba para las pruebasde aceptacin. Es posible que surjan malas interpretaciones con respecto a los
requisitos y pueden ser discutidos, El cliente conoce su negocio.
Las pruebas se realizan utilizado el entorno del cliente.
II Pruebas a lo largo del ciclo de vida Software02 Niveles en el Proceso de Pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
98/338
98
Pruebas de Aceptacin: Pruebas de aceptacinoperativas
Requiere que el software sea adecuado para su uso en un entornooperativo. Integracin del software en la infraestructura TI del cliente (copias de
seguridad/restauracin de sistemas, reinicio, instalacin, capacidad de serdesinstalado, recuperacin en caso de desastres, etc.).
Gestin de usuarios, interaccin con ficheros y estructuras de directorios enuso.
Compatibilidad con otros sistemas (otros ordenadores, servidores de basesde datos, etc.).
Con frecuencia, las pruebas de aceptacin operativas son realizadaspor el administrador de sistemas del cliente.
II Pruebas a lo largo del ciclo de vida Software02 Niveles en el Proceso de Pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
99/338
99
Pruebas de Aceptacin: Pruebas Alpha y PruebasBeta
Una versin preliminar y estable del software (versin beta) seentrega a un conjunto especfico (seleccionado) de clientes. El cliente ejecuta las pruebas en dependencias propias (pruebas beta,
tambin denominadas pruebas de campo), los problemas son registrados einformados a los desarrolladores para su correccin.
Previo a las pruebas beta el cliente pueden probar el nuevosoftware en las dependencias del desarrollo. Las pruebas alpha se desarrollan en las dependencias de la organizacin
que desarrolla.
II Pruebas a lo largo del ciclo de vida Software02 Niveles en el Proceso de Pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
100/338
100
Resumen: Pruebas de Aceptacin
Las pruebas de aceptacin son las pruebas de sistema por parte del cliente.
La prueba de aceptacin es una actividad de carcter contractual, se verificarentonces que el software satisface los requisitos del cliente.
Las pruebas alpha y beta son pruebas ejecutadas por clientes reales opotenciales, en las dependencias del desarrollador (alpha) o en lasdependencias del cliente (beta).
II Pruebas a lo largo del ciclo de vida Software03 Tipos de Pruebas: Objetivos del Proceso de Pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
101/338
101
Tipos de pruebas y niveles de pruebas Niveles en el proceso de pruebas.
En la seccin previa se han explicado los distintos niveles de pruebas,
es decir, pruebas de componente, pruebas de integracin, etc. En cada nivel de prueba los objetivos de las pruebas tienen un foco
diferente! Por lo tanto, se aplican distintos tipos de pruebas durante los distintos
niveles de pruebas.
Tipos de pruebas Pruebas funcionales (Objetivo: probar la funcin). Pruebas no funcionales (Objetivo: probar las caractersticas del
producto).
Pruebas estructurales (Objetivo: probar la estructura/arquitecturasoftware). Pruebas de confirmacin/regresin (Objetivo: probar despus de
cambios.)
II Pruebas a lo largo del ciclo de vida Software03 Tipos de Pruebas: Objetivos del Proceso de Pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
102/338
102
Pruebas Funcionales
Objetivo: la funcin del objeto de prueba. La funcionalidad puede ser vinculada a los datos de entrada y salida de un
objeto de prueba. Los mtodos de caja negra (black box) se utilizan en el diseo de caso de
prueba relevantes.
Las pruebas se desarrollan teniendo en cuenta los requisitos funcionales (establecidos en las especificaciones, conceptos, casos de estudio, reglas de
negocio o documentos relacionados). mbito de Aplicacin
Las pruebas funcionales se pueden llevar a cabo en todos los niveles de prueba.
Ejecucin. El objeto de prueba es ejecutado utilizando combinaciones de datos de prueba
derivados/generados a partir de los casos de prueba.
Los resultados de la ejecucin de la prueba son comparados con los resultadosesperados.
II Pruebas a lo largo del ciclo de vida Software03 Tipos de Pruebas: Objetivos del Proceso de Pruebas
P b N F i l
-
7/24/2019 Capacitacin de Estudio ISTQB
103/338
103
Pruebas No Funcionales
Objetivo: la funcin del objeto de prueba. De qu forma el software lleva a cabo la funcin? Las caractersticas de calidad no funcionales (ISO 9126: fiabilidad, usabilidad, eficiencia,
mantenibilidad, portabilidad) a menudo son vagas, incompletas o inexistentes, dificultandolas pruebas asociadas a las mismas.
mbito de Aplicacin Las pruebas no funcionales se pueden llevar a cabo en todos los niveles Pruebas no funcionales tpicas:
Pruebas de carga (load testing) / Pruebas de rendimiento (Performance Testing) / Pruebasde volumen (Volumen Testing) / Pruebas de Estrs (Stress Testing).
Pruebas de las caractersticas de seguridad para el software (Testing of Security Features) /Pruebas de las caractersticas de seguridad de software (Testing of Safety Features)
Pruebas de estabilidad y robustez (Stability and Robustness Testing) / Pruebas deCompatibilidad (Compatibility Testing).
Pruebas de usabilidad (Usability Testing) / Pruebas de Configuracin (ConfigurationTesting).
Ejecucin La conformidad con los requisitos no funcionales se miden utilizando requisitos
funcionales (seleccionados).
II Pruebas a lo largo del ciclo de vida Software03 Tipos de Pruebas: Objetivos del Proceso de Pruebas
P b N F i l (P b d Si t )
-
7/24/2019 Capacitacin de Estudio ISTQB
104/338
104
Pruebas No Funcionales (Pruebas de Sistema)
Prueba de Carga (Load Test) Sistema bajo carga (carga mnima, ms usuarios/transacciones).
Prueba de Rendimiento (Performance Test) Rapidez con la cual un sistema ejecuta una determinada funcin.
Prueba de Volumen (Volume Test) Procesamiento de grandes cantidades de datos / ficheros.
Prueba de estrs (stress test) Reaccin a la sobrecarga / recuperacin tras el retorno a una carga normal.
Prueba de estabilidad (stability test) Rendimiento en modo de operacin continua
Prueba de Robustez (test for robustness) Reaccin a entradas errneas o datos no especificados.
Reaccin a fallos hardware / recuperacin ante situaciones de desastre.
II Pruebas a lo largo del ciclo de vida Software03 Tipos de Pruebas: Objetivos del Proceso de Pruebas
Pruebas No Funcionales
-
7/24/2019 Capacitacin de Estudio ISTQB
105/338
105
Pruebas No Funcionales Pruebas de Seguridad para el Software (de datos) (test for (data)
security) Proteccin contra accesos no autorizados. Proteccin contra el robo y dao de datos.
Pruebas de compatibilidad (conversin de datos) (compatibility test (dataconversion)). Cumplimiento de normas y reglamentos (internos / externos). Reaccin a distintos entornos (H/W, O/S, etc.)
Pruebas de usabilidad (test for usability) Estructurado, comprensible, fcil de aprender para el usuario. Otros aspectos no funcionales de la calidad:
Portabilidad (portability): capacidad de reemplazar (replaceability), capacidadde ser instalado (installability), conformidad/cumplimiento(conformance/compliance), adaptabilidad (adaptability).
Mantenibilidad (maintainability): verificabilidad (verifiability), estabilidad(stability), analizabilidad (analyzability); capacidad de ser modificado(changeability).
Fiabilidad (Reliability): madurez (matury), robustez (robustness), capacidadde ser recuperado (recoverability).
II Pruebas a lo largo del ciclo de vida Software03 Tipos de Pruebas: Objetivos del Proceso de Pruebas
P b E t t l
-
7/24/2019 Capacitacin de Estudio ISTQB
106/338
106
Pruebas Estructurales
Objetivo: cobertura Anlisis de la estructura de un objeto de prueba (enfoque: caja blanca).
La finalidad de las pruebas es medir el grado en el cual la estructura del objetode prueba ha sido cubierto por los casos de prueba.
mbito de aplicacin. Las pruebas estructurales son posibles en todos los niveles de pruebas, se
realizan de forma conjunta a las pruebas de componente y de integracin
mediante el uso de herramientas. El diseo de pruebas estructurales se finaliza tras haber sido diseados las
pruebas funcionales, con el propsito de obtener un alto grado de cobertura.
Ejecucin.
Se probar la estructura interna de un objeto de prueba (por ejemplo el controlde flujo en el interior de un componente, el flujo a travs de la estructura de unmen).
Objetivo: todos los elementos estructurales identificados debern estar cubiertospor casos de prueba.
II Pruebas a lo largo del ciclo de vida Software03 Tipos de Pruebas: Objetivos del Proceso de Pruebas
Pruebas de confirmacin/regresin/1
-
7/24/2019 Capacitacin de Estudio ISTQB
107/338
107
Pruebas de confirmacin/regresin/1 Objetivo: objeto de pruebas despus de cambios.
Despus de que un objeto de pruebas o el entorno de sus sistema ha sidoobjeto de modificacin todos los resultados de pruebas resultan invlidos, por loque las pruebas deben ser repetidas. Repetir una prueba de funcionalidad queha sido verificada previamente se denomina prueba de regresin.
Es necesario volver a probar (retest) zonas adyacentes debido a efectoscolaterales no deseados de una funcionalidad extendida o nueva.
El alcance de las pruebas de regresin depende del riesgo que la nueva
funcionalidad implementada (extensin o correccin de errores) impone alsistema.
mbito de aplicacin. Las pruebas de confirmacin/regresin pueden ser realizadas en todos los
niveles.
Las pruebas tpicas tras una modificacin son las siguientes: Pruebas de confirmacin (retest) (= pruebas despus de la correccin de
errores). Pruebas de regresin (= pruebas para descubrir nuevos defectos
introducidos en funcionalidad previamente sin fallos).
II Pruebas a lo largo del ciclo de vida Software03 Tipos de Pruebas: Objetivos del Proceso de Pruebas
Pruebas de confirmacin/regresin/2
-
7/24/2019 Capacitacin de Estudio ISTQB
108/338
108
Pruebas de confirmacin/regresin/2 Ejecucin
Bsicamente la ejecucin tiene lugar de la misma forma en la cual se hanejecutado las pruebas en iteraciones previas.
En la mayora de los casos, una prueba de regresin completa no es viabledado sus altos costos y duracin.
Un alto grado de modularidad en el software permite reducirlas pruebas deregresin.
Criterios para la seleccin de casos de prueba de regresin: Casos de prueba de prioridad alta. Probar solamente la funcionalidad estndar, saltarse casos y variaciones
especiales Probar solamente la configuracin utilizada con mayor frecuencia. Probar solamente subsistemas / zonas seleccionadas del objeto de
pruebas. Si durante fases tempranas del proyecto resulta evidente que ciertas pruebas
son adecuadas para las pruebas de regresin, se deber considerar laautomatizacin de estas pruebas.
II Pruebas a lo largo del ciclo de vida Software03 Tipos de Pruebas: Objetivos del Proceso de Pruebas
Resumen
-
7/24/2019 Capacitacin de Estudio ISTQB
109/338
109
Resumen En niveles de pruebas distintos se utilizan tipos de pruebas distintos. Los tipos de pruebas son: funcionales, no funcionales,
estructurales y pruebas relacionadas a cambios. Las pruebas funcionales comprueban el comportamiento entrada /
salida de un objeto de pruebas. Las pruebas no funcionales comprueban las caractersticas de un
producto. Las pruebas no funcionales incluyen, pero no estn limitadas a,pruebas de carga, pruebas de estrs, pruebas de rendimiento,pruebas de robustez.
Las pruebas estructurales habituales son pruebas que comprueban
el flujo de control y datos midiendo la cobertura en el objeto de prueba. Pruebas importantes despus de un cambio: pruebas de
confirmacin (confirmation tests or retests) y pruebas deregresin (regression tests).
II Pruebas a lo largo del ciclo de vida Software04 Pruebas de Mantenimiento
Pruebas tras aceptacin del producto/1
-
7/24/2019 Capacitacin de Estudio ISTQB
110/338
110
Pruebas tras aceptacin del producto/1 El cliente ha aprobado el producto y es puesto en produccin.
El ciclo de desarrollo inicial, incluidas las pruebas asociadas, ha sido
completado. El mismo software se encuentra al comienzo del ciclo de vida:
Ser utilizado por muchos aos, ser ampliado.
Es muy probable que an contenga defectos, por lo tanto ser
modificado y corregido. Necesitar adaptarse a nuevas condiciones y deber integrarse a
nuevos entornos.
Cualquier nueva versin del producto, cada nueva actualizacin ycada nueva actualizacin y cada cambio del software requiere pruebasadicionales!
II Pruebas a lo largo del ciclo de vida Software04 Pruebas de Mantenimiento
Pruebas tras aceptacin del producto/2
-
7/24/2019 Capacitacin de Estudio ISTQB
111/338
111
Pruebas tras aceptacin del producto/2 Pruebas de software modificado.
Pruebas de regresin (regression testing) Las pruebas de regresin consisten en la repeticin de pruebas
despus de una modificacin (por ejemplo la correccin de un defecto)con el objeto de comprobar que no se han introducido o descubierto
defectos enmascarados como resultado de la modificacin.
Nota: Las pruebas de regresin son necesarias y realizadas tambin antes
de que tenga lugar la aceptacin del producto. Las pruebas de regresin se realizan siempre que el software o su
entorno haya sido modificados.
II Pruebas a lo largo del ciclo de vida Software04 Pruebas de Mantenimiento
Pruebas tras aceptacin del producto/3
-
7/24/2019 Capacitacin de Estudio ISTQB
112/338
112
Pruebas tras aceptacin del producto/3 El alcance de las pruebas de regresin puede variar en funcin de las
circunstancias (condiciones de entorno):
Prueba de confirmacin (retest): Repeticin de los casos de prueba que han detectado un defecto con
el objeto de comprobar que ha sido corregido.
Prueba de una funcionalidad modificada: Prueba de todas la partes del software que han sido objeto del cambio.
Prueba de nueva funcionalidad: Se prueba solamente el nuevo componente del sistema. El nuevo
componente ha sido probado durante las pruebas de componente. Prueba completa de regresin:
Se ejecuta/repite una prueba completa del sistema.
III Tcnicas estticas00 Agenda
Captulo III Tcnicas estticas de pruebas
-
7/24/2019 Capacitacin de Estudio ISTQB
113/338
113
Captulo III Tcnicas estticas de pruebas
III/01 Revisiones y el proceso de pruebas.
III/02 Anlisis esttico basado en herramientas.
III Tcnicas estticas01 Revisiones y el proceso de pruebas
Enfoque bsico
-
7/24/2019 Capacitacin de Estudio ISTQB
114/338
114
Enfoque bsico Las tcnicas estticas de pruebas comprenden varios mtodos que no ejecutan
el componente o sistema objeto de la prueba.
Las pruebas estticas incluyen:
Revisiones (reviews) (actividad manual)
Anlisis Esttico (static analysis) (actividad basada en herramientas).
Las tcnicas estticas complementan las mtodos dinmicos.
Documentos de alta calidad no conducen necesariamente a productos de alta
calidad.
III Tcnicas estticas01 Revisiones y el proceso de pruebas
Objetivos de las revisiones
-
7/24/2019 Capacitacin de Estudio ISTQB
115/338
115
Objetivos de las revisiones
Las revisiones se realizan con el objeto de mejorar la calidad del producto.
La deteccin temprana de errores ahorra costos.
En el transcurso de las revisiones se podran detectar los siguientes defectos:
Defectos en las especificaciones.
Defectos en el diseo y arquitectura del software.
Desviaciones con respecto a estndares acordados (por ejemplo guas deprogramacin).
Defectos en las especificaciones de interfaces.
Mantenibilidad insuficiente.
III Tcnicas estticas01 Revisiones y el proceso de pruebas
Ventajas y desventajas de las revisiones /1
-
7/24/2019 Capacitacin de Estudio ISTQB
116/338
116
Ventajas y desventajas de las revisiones /1 Ventajas:
Costos bajos y un potencial de ahorro relativamente alto.
Defectos en la documentacin son detectados y corregidos temprano Los documentos de alta calidad mejoran el proceso de desarrollo.
Mejora el ndice de comunicacin / intercambio de conocimiento (know - how)
Desventajas:
Se podran presentar situaciones de tensin en el caso de enfrentamientosdirectos con el autor.
Los expertos involucrados en las revisiones deben adquirir conocimientosespecficos del producto, es necesario una buena preparacin.
Inversin considerable de tiempo (del 10% - 15% del presupuesto total). Moderador y participantes influyen directamente en la calidad de la revisin
III Tcnicas estticas01 Revisiones y el proceso de pruebas
Fases de una revisin
-
7/24/2019 Capacitacin de Estudio ISTQB
117/338
117
ases de u a e s
Fase de planificacin.
Preparacin de la organizacin e inicio (kick off).
Preparacin individual.
Reunin de revisin.
Reprocesos
Seguimiento (follow up)
III Tcnicas estticas01 Revisiones y el proceso de pruebas
Roles y responsabilidades
-
7/24/2019 Capacitacin de Estudio ISTQB
118/338
118
y p
Director Responsable Jefe de Proyectos
Inicia la revisin, decide respecto de los participantes y asigna recursos.
Moderador
Dirige la reunin / discucin, hace de mediador, concluye resultados.
Autor.
Expone su trabajo a la crtica, lleva a cabo los cambios recomendados. Evaluador (Tambin: Inspector o revisor).
Detecta defectos, desviaciones, reas problemticas, etc.
Secretario (Tambin: Escriba-Escribano)
Documenta todos los asuntos, problemas y puntos que hubieran sidoidentificados.
III Tcnicas estticas01 Revisiones y el proceso de pruebas
Tipos de revisiones (IEEE 1028) /1
-
7/24/2019 Capacitacin de Estudio ISTQB
119/338
119
p ( )
El proceso bsico de una revisin como se esquematiza aqu se aplica a las
siguientes variaciones de las revisiones Inspeccin, Walkthrough, revisin tcnica, revisin informal
Una diferencia adicional de las revisiones se presenta dependiendo de la
naturaleza del objeto de la revisin.1. Proceso de desarrollo de sw o proceso del proyecto
2. Documentos / productos del proceso de desarrollo.
III Tcnicas estticas01 Revisiones y el proceso de pruebas
Tipos de revisiones (IEEE 1028) /2
-
7/24/2019 Capacitacin de Estudio ISTQB
120/338
120
Inspeccin: caracteristicas relevantes
Proceso formal basado en reglas, uso de roles definidos Los evaluadores inspeccionan el objeto de revisin utilizando listas decomprobacin y mtricas.
Un moderador capacitado (formacin especfica) e independiente dirige la
revisin. La viabilidad de la revisin del objeto es valorada de forma previa a la revisin.
Proceso formal para las actividades de preparacin, ejecucin, documentaciny seguimiento.
III Tcnicas estticas01 Revisiones y el proceso de pruebas
Tipos de revisiones (IEEE 1028) /3
-
7/24/2019 Capacitacin de Estudio ISTQB
121/338
121
Inspeccin: ventajas y desventajas
Sesiones formales y organizadas con roles claramente definidos.
Requiere actividades instensivas de preparacin y seguimiento.
Son necesarios el moderador y el secretario (alguien que toma nota).
Propsito principal: deteccin de defectos utilizando un mtodo estructurado.
III Tcnicas estticas01 Revisiones y el proceso de pruebas
Tipos de revisiones (IEEE 1028) /4
-
7/24/2019 Capacitacin de Estudio ISTQB
122/338
122
( )
Walkthrough: caractersticas relevantes.
Opcionalmente puede haber una preparacin de los evaluadores previa a lareunin.
La reunin es dirigida por el autor, que explica el objeto en revisin.
No es necesario un moderador distinto (el autor modera). A lo largo de la presentacin por parte del autor, los evaluadores tratan delocalizar desviaciones y/o reas que representen un problema.
III Tcnicas estticas01 Revisiones y el proceso de pruebas
Tipos de revisiones (IEEE 1028) /5
-
7/24/2019 Capacitacin de Estudio ISTQB
123/338
123
Walkthrough: ventajas y desventajas.
Esfuerzo reducido en la preparacin de la sesin de revisin, pero es unasesin cuyo resultado queda abierto.
Una sesin puede ser iniciada a travs de notificaciones relizadas con poca
antelacin. El autor tiene una gran influencia sobre el resultado: dado que l mismomodera la revisin, hay un riesgo de dominacin por su parte (puntos crticos noabordados en profundidad).
Posibilidad limitada de control, dado que el autor tambin se encuentra a cargode calquier actividad de seguimiento.
III Tcnicas estticas01 Revisiones y el proceso de pruebas
Tipos de revisiones (IEEE 1028) /6
-
7/24/2019 Capacitacin de Estudio ISTQB
124/338
124
Revisin tcnica: caractersticas relevantes.
La meta del exmen es un aspecto tcnico del objeto de revisin: es apto parael uso?.
Son necesarios expertos, preferiblemente externos.
La reunin puede tener lugar sin la presencia del autor. La revisin se realiza utilizando especifiaciones tcnicas y otros documentos.
El panel de expertos presenta sus recomendaciones con carcter unnime.
Son necesarios preparativos intensivos.
III Tcnicas estticas01 Revisiones y el proceso de pruebas
Tipos de revisiones (IEEE 1028) /7
-
7/24/2019 Capacitacin de Estudio ISTQB
125/338
125
Revisiones informales: caracatersticas relevantes
Es la forma de revisin ms simple.
Frecuentemente iniciada por el autor.
Solamente estarn involucrados evaluadores (uno o ms).
No es necesaria ninguna reunin.
Los resultados pueden o no ser registrados.
Frecuentemente desarrolladas a travs de la solicitud de revisin de undocumento a un compaero de trabajo.
III Tcnicas estticas01 Revisiones y el proceso de pruebas
Tipos de revisiones (IEEE 1028) /8
-
7/24/2019 Capacitacin de Estudio ISTQB
126/338
126
Revisiones informales: ventajas y desventajas
Fcil de ejectuar, incluso en los casos de notificaciones relizadas con pocaantelacin.
Barata
No requiere protocolo.
III Tcnicas estticas01 Revisiones y el proceso de pruebas
Factores de xito de una revisin
-
7/24/2019 Capacitacin de Estudio ISTQB
127/338
127
Las revisiones se deben desarrollarorientadas al logro de los objetivos, es
decir, las desviaciones en el objeto revisado deben ser establecidas de formaimparcial.
El autor del objeto revisado deber ser motivado de una forma positiva por larevisin (Su documento ser an mejor en lugar de su documento es de bajacalidad).
Uso sistemtico (entre otras) de las tcnicas y plantillas implantadas.
Para la ejecucin apropiada de las revisiones ser necesario un presupuestosuficiente (10% al 15% del costo total del desarrollo).
Hacer uso del efecto de las lecciones aprendidas, utilizar la retroalimentacin para
implementar un proceso de mejora continua. Duracin de una reunin de revisin: 2 horas mximo.
III Tcnicas estticas01 Revisiones y el proceso de pruebas
Resumen
-
7/24/2019 Capacitacin de Estudio ISTQB
128/338
128
En el transcurso de las pruebas estticas no se ejecuta el objeto de prueba.
Las revsiones pueden tener lugar en fases tempranas del proceso de desarrollo,ellas complementan / extienden los mtodos de pruebas dinmicas.
Fases de una Revisin:
Planificacin Preparacin (Preparacin Individual) Reunin de revisin
Reprocesos - Seguimiento. Roles y Tareas para una Revisin:
Director Moderador Autor Evaluador Secretario (Toma Nota)
Tipos de Revisiones:
Inspeccin - Walkthrough - Revisin Tcnica Revisin Informal.
III Tcnicas estticas02 Anlisis esttico mediante herramientas.
Terminologa y definiciones
-
7/24/2019 Capacitacin de Estudio ISTQB
129/338
129
Anlisis esttico (definicin):
Es aquella actividad que consiste en el anlisis de un objeto de prueba (porejemplo cdigo fuente o script), llevado a cabo sin ejecutar el producto software.
Posibles aspectos a ser comprobados con anlisis esttico:
Reglas y estndares de programacin. Diseo de un programa (analisis del flujo de control).
Uso de datos (anlisis del flujo de datos)
Complejidad de la estructura de un programa.
Mtricas, (por ejemplo nmero ciclomtico).
III Tcnicas estticas02 Anlisis esttico mediante herramientas.
Aspectos generales /1
-
7/24/2019 Capacitacin de Estudio ISTQB
130/338
130
Todos