Escolar Documentos
Profissional Documentos
Cultura Documentos
Nivel Básico
Formación para el “Probador Certificado – Nivel Básico”
de acuerdo al programa de estudios 2010 del ISTQB
0. Generalidades
01. Introducción
Formador
Jaime.Padilla@claro.com.co
Cel: 300-5564220
Probador Certificado – Nivel Básico
0. Generalidades
02. Contenido
El presente curso se ha desarrollado de acuerdo con el programa de estudios del año 2010
de Probador Certificado – Nivel Básico (“Certified Tester Foundation Level”).
I. Fundamentos de pruebas
Contenido
I. Fundamentos de pruebas
Contenido
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
Calidad software
- Cada vez más, la calidad software se ha convertido en un factor determinante del éxito
de sistemas técnicos o comerciales y productos
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
El software del Ariane 5 reutilizó las especificaciones del Ariane 4, pero la trayectoria de vuelo del
Ariane 5 era considerablemente distinta y superaba el rango para el cual el código reutilizado había
sido diseñado. En particular, la mayor aceleración del Ariane 5 provocó un fallo en los ordenadores
de respaldo (“back-up”) y navegación inercial primarios, tras lo cual las toberas de la lanzadera
fueron dirigidas por datos espurios. Las pruebas previas al vuelo nunca fueron ejecutadas sobre el
código reajustado bajo condiciones de vuelo simuladas del Ariane 5, por lo tanto el error no fue
descubierto antes del lanzamiento.
Fuente: Wikipedia.com
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
Fuente: Wikipedia.com
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
- Condiciones ambientales
- Cambios en las condiciones ambientales
Causas de condiciones ambientales negativas/adversas
Radiación, magnetismo, campos electromagnéticos,
polución, manchas solares, fallo de discos duros,
fluctuaciones en el suministro de energía eléctrica
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
- Defecto (“Defect”):
- Desperfecto en un componente o sistema que puede causar que el componente o sistema falle
en desempeñar las funciones requeridas, por ejemplo, una sentencia o una definición de datos
incorrectas. Si se localiza un defecto durante una ejecución puede causar un fallo en el
componente o sistema
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
- Fallo (“Failure”):
- Manifestación física o funcional de un defecto. Si un defecto es encontrado durante la
ejecución de una aplicación puede producir un fallo
- Desviación de un componente o sistema respecto de la prestación, servicio o resultado
esperados. [Según Fenton]
El icono del libro en el ángulo superior derecho de la diapositiva significa que las definiciones han sido extraídas del glosario del
ISTQB
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
- La detección de defectos en
etapas tempranas permite
la corrección de los mismos
a costes reducidos
• Especificación $5
• Diseño $4
• Construcción $3
• Pruebas $7
• Aceptación $5
• Operación $3
$ 315
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
Pruebas y la Calidad
- Definición: Software (según IEEE 610):
- Programas de ordenador, procedimientos y posiblemente documentación y datos
pertenecientes a la operación de un sistema basado en un ordenador. [IEEE 610]
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
Pruebas y la Calidad
De acuerdo a la norma ISO/IEC 9126 la calidad software consiste en:
- Funcionalidad Atributos funcionales de calidad
- Fiabilidad
- Usabilidad
- Eficiencia Atributos no-funcionales de calidad
- Mantenibilidad
- Portabilidad
- Actividades analíticas con el objeto de detectar defectos, por ejemplo a través de pruebas
conducentes a la corrección de defectos y prevención de fallos, incrementando así la calidad del
software
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
Guías Consigna
Estándares
- Los defectos evitados no
Organización
Listas de comprobación
Reglas de proceso y normas requieren ser reparados
Requisitos legales
QA Constructivo
Lenguajes
Listas / plantillas
Entorno de Desarrollo Integrado (IDE)
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
proceso
Técnicas basadas en la experiencia
QA Analítico
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
Usabilidad (“usability”):
- Comprensibilidad (“understandability”), aprendibilidad (“learnability”), operabilidad (“operability”),
atractivo (“attractiveness”), cumplimiento de usabilidad(“usability compliance”)
- Características : Fácil de usar, fácil de aprender, conforme a normas, uso intuitivo
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
Mantenibilidad (“maintainability”):
- Analizabilidad (“analysability”), modificabilidad (“changeability”), estabilidad (“stability”),
testabilidad (testability”), cumplimiento de mantenibilidad (“maintainability compliance”)
- Características: Medida del esfuerzo requerido para realizar cambios en los componentes de un
sistema
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
Atributos de la calidad
- Algunos atributos de la calidad de un producto software se influyen mutuamente. Debido a esta
interdependencia y, en función del objeto de prueba, los atributos deberán ser caracterizados por
una prioridad. Por ejemplo eficiencia versus portabilidad
- Se realizarán distintos tipos de pruebas con el objeto de medir distintos tipos de atributo
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
- Depuración (“debugging”):
- Localización y corrección de defectos en el código fuente
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
I. Fundamentos de pruebas
01. ¿Porqué son necesarias las pruebas?
Resumen
- Los fallos del software pueden causar importantes daños
- La calidad del software es la suma de los atributos que se refieren a la capacidad del
software de satisfacer un conjunto de requisitos dados
- El aseguramiento de la calidad constructivo se ocupa de la prevención de defectos
- El aseguramiento de la calidad analítico se ocupa de la detección y corrección de
defectos
- Los atributos funcionales y no funcionales de la calidad definen la calidad total del
sistema
- Cada prueba debe contar con criterios de salida (“exit criteria”). Al alcanzar los criterios
de salida concluirán las actividades de prueba
- Los probadores (“testers”) buscan fallos en el sistema e informan sobre los mismos
(proceso de prueba – “testing”). Los desarrolladores buscan defectos y los corrigen
(depuración – “debugging”)
Probador Certificado – Nivel Básico
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
Contenido
I. Fundamentos de pruebas
02. ¿Qué son las pruebas?
I. Fundamentos de pruebas
02. ¿Qué son las pruebas?
I. Fundamentos de pruebas
02. ¿Qué son las pruebas?
- Requisito (“requirement”):
- Condición o capacidad necesaria para un usuario con el objeto de solucionar un problema o
lograr un objetivo que debe ser alcanzado o poseído por un sistema o componente de un
sistema, para satisfacer un contrato, estándar, especificación u otro documento impuesto
formalmente. [Según IEEE 610]
- Revisión (“review”):
- Evaluación de un producto o del estado de un proyecto para detectar discrepancias con los
resultados planificados y para recomendar mejoras. Algunos ejemplos incluyen la revisión de
gestión, revisión informal, revisión técnica, inspección y revisión guiada. [Según IEEE 1028]
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
02. ¿Qué son las pruebas?
Detección - Repetición de
Corrección de
Prueba identificación de pruebas
defectos (re-test)
defectos
I. Fundamentos de pruebas
02. ¿Qué son las pruebas?
Resumen
El proceso básico de prueba incluye
- Planificación y control
- Selección de condiciones de prueba
- Diseño y ejecución de casos de prueba
- Comprobación de resultados
- Generación de informes respecto del proceso de prueba y el sistema sujeto a prueba
- Finalización y completar actividades de cierre
- Los objetivos de las pruebas pueden ser: la detección de defectos, el nivel de calidad, la
información para la toma de decisiones, prevención de defectos
- El proceso mental y las actividades involucradas en el diseño de prueba de forma
temprana en el ciclo de vida
- Las pruebas dinámicas significan la ejecución del software, las pruebas estáticas
significan la revisión de documentos
- Las pruebas dinámicas muestran fallos que han sido causados por defectos, la
depuración detecta, analiza y elimina la causa del fallo
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
Contenido
I. Fundamentos de pruebas
03. Siete principios del proceso de prueba
I. Fundamentos de pruebas
03. Siete principios del proceso de prueba
I. Fundamentos de pruebas
03. Siete principios del proceso de prueba
I. Fundamentos de pruebas
03. Siete principios del proceso de prueba
I. Fundamentos de pruebas
03. Siete principios del proceso de prueba
- Las pruebas deben ser revisadas/modificadas regularmente para los distintos módulos
de código
- Es necesario repetir una prueba tras una modificación del código (corrección de
defectos, nueva funcionalidad)
- La automatización de pruebas puede resultar conveniente si un conjunto de casos de
prueba se debe ejecutar con frecuencia
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
03. Siete principios del proceso de prueba
I. Fundamentos de pruebas
03. Siete principios del proceso de prueba
I. Fundamentos de pruebas
03. Siete principios del proceso de prueba
Resumen
- Las pruebas pueden ayudar a detectar defectos en el software, sin embargo las mismas
no pueden demostrar la ausencia de defectos
- Para casos no triviales las pruebas exhaustivas son imposibles, la prueba de muestras
son necesarias
- Las pruebas tempranas ayudan a reducir costes dado que los defectos descubiertos en
fases tempranas del proceso software son corregidos con menor esfuerzo
- Los defectos se presentan agrupados. El encontrar un defecto en una ubicación
determinada significa que probablemente se encontrará otro defecto a su alrededor
- La repetición de pruebas idénticas no genera nueva información
- Cada entorno particular determina la forma en la cual se ejecutarán/desarrollarán las
pruebas.
- Un software libre de errores no implica su adecuación al uso
Probador Certificado – Nivel Básico
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
Contenido
I. Fundamentos de pruebas
04. Proceso de prueba básico
I. Fundamentos de pruebas
04. Proceso de prueba básico
- Incluye superposición y
Análisis de pruebas
vuelta atrás (“backtracking”) y Diseño de pruebas
Control de pruebas
- Cada fase del proceso de
Implementación de pruebas
pruebas tiene lugar de forma y Ejecución de pruebas
concurrente con las fases del
proceso de desarrollo software
Evaluación del criterio de salida
y Generación de informes
Actividades de cierre
de pruebas
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
04. Proceso de prueba básico
Control de pruebas
Implementación de pruebas
- El estado del proceso de prueba se determina y Ejecución de pruebas
comparando el progreso logrado con respecto
al plan de pruebas. Se iniciarán aquellas Evaluación del criterio de salida
y Generación de informes
actividades que se consideraran necesarias
consecuentemente
Actividades de cierre
- Se miden y analizan resultados de pruebas
- La evolución de las pruebas, la cobertura de las pruebas y el cumplimiento de los criterios de salida (“exit
criteria”) de pruebas son objeto de seguimiento y son documentados
- Se inician medidas correctivas
- Se preparan y toman decisiones
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
04. Proceso de prueba básico
Control de pruebas
- Determinar el enfoque: técnicas de pruebas, Implementación de pruebas
y Ejecución de pruebas
cobertura de pruebas, equipo de pruebas
- Implementar el método de prueba/estrategia Evaluación del criterio de salida
y Generación de informes
a seguir
- Adquirir/obtener y programar recursos requeridos por las pruebas: personal, entorno de
prueba, presupuesto de prueba
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
04. Proceso de prueba básico
I. Fundamentos de pruebas
04. Proceso de prueba básico
- Conjunto de condiciones genéricas y específicas, acordadas con los involucrados, para que un
proceso sea considerado formalmente concluido. El propósito de los criterios de salida es evitar
que una tarea se considere concluida habiendo partes destacadas de la misma sin completar. Los
criterios de salida son utilizados como referencia para la elaboración de informes y para
planificar cuando se deben finalizar las pruebas. Lo anterior debe ser realizado para cada nivel
de pruebas.
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
04. Proceso de prueba básico
Control de pruebas
Análisis de la arquitectura del sistema,
diseño del sistema incluyendo las interfaces Implementación de pruebas
y Ejecución de pruebas
entre los objetos de prueba
- Analizar la testabilidad Evaluación del criterio de salida
y Generación de informes
I. Fundamentos de pruebas
04. Proceso de prueba básico
Control de pruebas
- Los casos de prueba positivos dan muestra Implementación de pruebas
y Ejecución de pruebas
de la funcionalidad, los casos de prueba
negativos comprueban situaciones en las Evaluación del criterio de salida
y Generación de informes
que hay tratamiento de errores
Actividades de cierre
de pruebas
I. Fundamentos de pruebas
04. Proceso de prueba básico
(“test environment”)
[cama de prueba – (“test bed”)] Análisis de pruebas
y Diseño de pruebas
Control de pruebas
prueba, ventanas temporales Implementación de pruebas
y Ejecución de pruebas
(“time window”), etc.
- Definir la operación del entorno de Evaluación del criterio de salida
y Generación de informes
I. Fundamentos de pruebas
04. Proceso de prueba básico
Control de pruebas
- Seleccionar, proveer, instalar y operar Implementación de pruebas
y Ejecución de pruebas
herramientas de prueba
- Crear trazabilidad bidireccional
Evaluación del criterio de salida
y Generación de informes
I. Fundamentos de pruebas
04. Proceso de prueba básico
I. Fundamentos de pruebas
04. Proceso de prueba básico
I. Fundamentos de pruebas
04. Proceso de prueba básico
prueba
- Identificar datos de prueba Análisis de pruebas
y Diseño de pruebas
Control de pruebas
Implementación de pruebas
prueba y Ejecución de pruebas
I. Fundamentos de pruebas
04. Proceso de prueba básico
Control de pruebas
automática)
Implementación de pruebas
- Seguir la secuencia de prueba establecida en el plan de prueba
y Ejecución de pruebas
I. Fundamentos de pruebas
04. Proceso de prueba básico
Control de pruebas
sus causas Implementación de pruebas
- Código/datos de prueba/documento/ejecución
y Ejecución de pruebas
I. Fundamentos de pruebas
04. Proceso de prueba básico
I. Fundamentos de pruebas
04. Proceso de prueba básico
I. Fundamentos de pruebas
04. Proceso de prueba básico
Control de pruebas
resultados de prueba, comunicar criterio Implementación de pruebas
y Ejecución de pruebas
de salida)
- Proporcionar información con el objeto Evaluación del criterio de salida
de dar lugar a la decisión de llevar a y Generación de informes
I. Fundamentos de pruebas
04. Proceso de prueba básico
Control de pruebas
de prueba ("testware"), hechos y números Implementación de pruebas
y Ejecución de pruebas
I. Fundamentos de pruebas
04. Proceso de prueba básico
Control de pruebas
de prueba para un uso posterior, Implementación de pruebas
y Ejecución de pruebas
transferencia/traspaso a operaciones
- Analizar las lecciones aprendidas para futuros Evaluación del criterio de salida
y Generación de informes
proyectos
- Utilizar la información recopilada para mejorar la Actividades de cierre
de pruebas
I. Fundamentos de pruebas
04. Proceso de prueba básico
Resumen
El proceso de prueba se puede dividir en diferentes fases.
- Planificación de pruebas (“test planning”) abarca actividades como la definición del enfoque de
pruebas para todas las fases así como la planificación de los recursos (tiempo, personal, máquinas)
- Diseño de pruebas (especificación) abarca el diseño de casos de prueba y sus resultados esperados
- Ejecución de pruebas abarca la definición de datos de prueba, la ejecución de pruebas y la
comparación de resultados
- Evaluación de pruebas y generación de informes abarca la evaluación del criterio de salida y el
registro de los resultados de pruebas en forma escrita
- Control de prueba consiste en el control de las actividades que cubren todas las fases del proceso
de prueba
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
Contenido
I. Fundamentos de pruebas
05. Psicología en el proceso de prueba
Roles y responsabilidades
Rol: Desarrollador Rol: Probador (“Tester”)
- Implementa requisitos - Planifica las actividades de
- Desarrolla estructuras pruebas.
- Diseña y programa el software - Diseña casos de prueba
- Su éxito consiste en la creación - Su única preocupación es
de un producto encontrar defectos
- Encontrar errores producidos por
un desarrollador es su éxito
Percepción:
¡La actividad del desarrollador es ¡La actividad del probador
constructiva! (“tester”) es destructiva!
¡Error!
¡Las pruebas también constituyen una actividad constructiva,
su propósito es la eliminación de defectos de un producto!
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
05. Psicología en el proceso de prueba
I. Fundamentos de pruebas
05. Psicología en el proceso de prueba
I. Fundamentos de pruebas
05. Psicología en el proceso de prueba
I. Fundamentos de pruebas
05. Psicología en el proceso de prueba
Pruebas independientes
- La separación de las responsabilidades en el proceso de prueba apoya/promueve la
evaluación independiente de los resultados de las pruebas
- En el siguiente diagrama se representa el grado de independencia a través de un gráfico
de barras
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
05. Psicología en el proceso de prueba
I. Fundamentos de pruebas
05. Psicología en el proceso de prueba
I. Fundamentos de pruebas
05. Psicología en el proceso de prueba
I. Fundamentos de pruebas
05. Psicología en el proceso de prueba
I. Fundamentos de pruebas
05. Psicología en el proceso de prueba
Dificultades (1)
- Incapacidad de comprensión mutua
- Los desarrolladores deberían contar con un conocimiento básico de las pruebas
- Los probadores (“testers”) deberían contar con un conocimiento básico de desarrollo software
- Especialmente en situaciones de tensión, la detección de errores cometidos por
alguien, frecuentemente, conduce a conflictos
- La forma de documentar los defectos y la forma en la cual el defecto es descrito determinará
cómo se desarrollará la situación
- Las personas no deberían ser criticadas, los defectos deben ser descritos en términos objetivos
- La descripción de los defectos debería ayudar al desarrollador a encontrar el error
- Los objetivos comunes siempre deben ser la cuestión principal
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
05. Psicología en el proceso de prueba
Dificultades (2)
- La comunicación entre probadores (“testers”) y desarrolladores es insuficiente o
inexistente. Este hecho puede hacer imposible el trabajo conjunto
- Los probadores (“testers”) son vistos únicamente como “portadores de malas noticias”
- Mejora: intente ponerse en el lugar (rol) de la otra persona. ¿Mi mensaje ha sido transmitido?
¿Me ha llegado la respuesta?
- Un proceso de prueba sólido requiere la distancia apropiada con respecto al objeto de
prueba
- Se adquiere un punto de vista independiente e imparcial a través de la distancia con respecto al
desarrollo
- Sin embargo, una distancia muy grande con respecto al objeto de prueba y el equipo de
desarrollo conducirá a mayores esfuerzos y tiempo para las pruebas
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
05. Psicología en el proceso de prueba
Resumen
- Las personas cometen errores, toda implementación tiene defectos
- La naturaleza humana dificulta la posibilidad de hacer frente a los defectos propios
(ceguera a los errores)
- Desarrollador y probador (“tester”) implican el encuentro de dos mundos distintos
- El desarrollo es constructivo - algo que no estaba ahí previamente es creado
- El proceso de prueba resulta destructivo a primera vista - ¡Se detectarán defectos!
- Juntos, el desarrollo y las pruebas son constructivas en su objetivo de obtener un producto
software con la menor cantidad de defectos posible
- Las pruebas independientes aumentan la calidad del proceso de prueba:
En lugar de equipos de desarrolladores utilice equipos de prueba (probadores – “testers”) o
equipos con personal externo para pruebas
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
Contenido
I. Fundamentos de pruebas
06. Código ético
- Cliente y empleador – Los probadores software certificados deben actuar conforme con el interés
de su cliente y empleador, conforme con el interés público. Por ejemplo, no filtrando a Internet
información interna o privada del cliente o empleador
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
06. Código ético
I. Fundamentos de pruebas
06. Código ético
- Compañeros de profesión – Los probadores software serán justos y solidarios con sus compañeros
de profesión, y promoverán la cooperación con los desarrolladores de software
Probador Certificado – Nivel Básico
I. Fundamentos de pruebas
06. Código ético