• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/87

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

87 Cards in this Set

  • Front
  • Back
  • 3rd side (hint)

Pruebas para la mejora de calidad

Las pruebas y revisiones aseguran la mejora de la calidad de productos software así como de la calidad del proceso de desarrollo en sí

Causas de fallos en el software

1. Errores humanos


2. Condiciones ambientales

ISTQB define dos causas de fallos en el software

Fallo por Error humano

Se introdujo un defecto en el código, los datos o en los parámetros de configuración

Fallo por Condiciones ambientales

Se presentaron cambios adversos en las condiciones ambientales

Radiación, fallas eléctrica psicología, y similares

Equivalente en inglés de Fallo

Failure

Definición de Error

Acción humana que produce un resultado incorrecto (IEEE 610)



Por ejemplo: una variable mal declarada

Una variable mal declarada por el desarrollador es un error

Definición de Defecto

Desperfecto que puede causar una falla en las funciones requeridas

Definición de Falla

Manifestación de un defecto.



Desviación del resultado esperado (Fenton)

Relación Error-Defecto-Falla

Error produce un defecto; El defecto puede producir una falla;



La falla es el resultado de un defecto; El defecto es el resultado de un error.

¿Qué aporta el proceso de pruebas al desarrollo, mantenimiento y operación del software?

1. Mejora la calidad del producto


2. Disminuye el riesgo de fallos durante la operación


3. Permite satisfacer compromisos, tales como regulaciones

¿Qué se puede asegurar del Costo de los Defectos?

Aumenta a medida que avanza el tiempo y el proceso de desarrollo del producto.



Entre más temprano se encuentre ¡Mejor!

Definición de Software según IEEE 610

Programas de ordenador, procedimientos, documentación y datos pertenecientes a la operación de un sistema basado en un ordenador

Definición de Calidad según IEEE 610

Grado en el cual un componente, sistema o proceso satisface requisitos especificados y/o necesidades y expectativas del usuario/cliente

Definición de Calidad no IEEE 610

Cumplimiento de los requerimientos y expectativas del cliente

Definición de Calidad de Software según ISO/IEC 9126

La totalidad de la funcionalidad y prestaciones de un producto software que contribuyen con su capacidad de satisfacer necesidades explícitas o implícitas

Atributos de la Calidad de Software según ISO/IEC 9126

Funcionales


- Funcionalidad



No Funcionales


- Fiabilidad


- Usabilidad


- Eficiencia


- Mantenibilidad


- Portabilidad

Tipos de Aseguramiento de Calidad

ISTQB define dos tipos de actividades para el aseguramiento de calidad



1. Actividades constructivas


2. Actividades analíticas

Hay dos tipos: uno basado en prevenir y el otro en detectar

Enfoques de las Actividades Constructivas para QA

1. ¡Prevenir defectos!


2. Los defectos no se deben repetir


3. Los defectos evitados no deben ser reparados

Enfoque Actividades Analíticas para QA

¡Detectar defectos pronto!

Actividades Constructivas para QA

1. Técnicas: Métodos, Herramientas, Lenguajes, Listas y Plantillas, IDE, etc


2. Organizacionales: Guías, estándares, listas de comprobación, reglas y normas, requisitos legales

Actividades Analíticas para QA

1. Estáticas: Revisiones guiadas, análisis del flujo de datos, análisis del flujo de control y métricas de código


2. Dinámicas: Caja negra, caja blanca y basadas en la experiencia

Característica principal de las Actividades Analíticas Estáticas

Se desarrollan sin ejecutar el programa

Característica principal de las Actividades Analíticas Dinámicas

Se ejecuta el programa para su desarrollo

Según ISO/IEC 9126 la Funcionalidad incluye

1. Adecuación "Suitability"


2. Exactitud "Accuracy"


3. Interoperabilidad "Interoperability"


4. Seguridad "Security"


5. Cumplimiento de la funcionalidad " Functionality compliance"

Funcionalidad significa

- Corrección: La funcionalidad satisface los atributos/capacidades requeridos


- Completitud: La funcionalidad satisface todos los requisitos funcionales

El término en inglés para Fiabilidad

Reliability

Características de Fiabilidad

Bajo ciertas condiciones el software/sistema mantiene su capacidad/ funcionalidad por un período de tiempo

Medida de Fiabilidad

La fiabilidad se puede medir como Calidad / Tiempo

La Fiabilidad incluye

- Madurez ("Maturity")


- Tolerancia a fallos ("Fault Tolerance")


- Recuperabilidad ("Recoverability")


- Cumplimiento de la fiabilidad ("Reliability compliance")

Características de la Usabilidad

Un producto es usable cuando:



- Es fácil de usar


- Es fácil de aprender


- Es intuitivo


- Sigue modelos mentales

La Usabilidad incluye

- Comprensibilidad


- Aprendibilidad


- Operabilidad


- Atractivo


- Cumplimiento de Usabilidad

Qué es la Mantenibilidad

Medida del esfuerzo requerido para realizar cambios

La Mantenibilidad incluye

- Analizabilidad


- Modificabilidad


- Estabilidad


- Testabilidad


- Cumplimiento de mantenibilidad

A que hace referencia la Eficiencia

A la forma en que el sistema o producto software hace uso de sus recursos

Qué es la Base de Prueba

Es un conjunto de documentos en que se especifican y definen los requerimientos

Para qué se usa la Base de Prueba

Se usa para el desarrollo de los casos de prueba

Qué incluye la definición de un Caso de Prueba según IEEE 610

- Precondiciones


- Valores de entrada


- Resultados esperados


- Poscondiciones esperadas


- Identificador único


- Dependencia de otros casos de prueba


- Referencia al requisito que será probado


- (Opcional) Forma de ejecutarlo y verificar los resultados


- (Opcional) Prioridad

Definición de Código

Programa de ordenador escrito en un lenguaje de programación que puede ser leído por una persona

Definición de Depuración

Localización y corrección de defectos en el código

Definición de Desarrollo de software

Proceso para desarrollar un sistema basado en ordenador

Definición de Requisito

Atributo deseado u obligatorio

Definición de Revisión según IEEE 1028

Evaluación de un producto o del estado de un proyecto para detectar discrepancias respecto de los resultados planificados y para recomendar mejoras

¿Es Probar igual a ejecutar pruebas?

¡No!



La ejecución de pruebas es solo una parte de Probar

Etapas del Proceso de Pruebas

Las etapas del Proceso de Pruebas son:


- Planificación de pruebas y control


- Análisis de pruebas y diseño de pruebas


- Implementación de pruebas y ejecución de pruebas


- Evaluación de criterios de salida de pruebas y generación de informes


- Actividades de cierre de pruebas

Objetivos de Probar

- Detección de Defectos


- Prevención de Defectos


- Ganar confianza sobre la calidad


- Aportar información para la toma de decisiones

Siete principios del Proceso de Pruebas

1. El Proceso de Pruebas demuestra la presencia de defectos


2. No es posible realizar pruebas exhaustivas


3. Pruebas tempranas <=> "Early Testing"


4. Agrupamiento de defectos <=> "Defect clustering"


5. Paradoja del pesticida


6. Las pruebas dependen del contexto


7. La falacia de la ausencia de errores

Como se relaciona el Proceso de Pruebas con el Proceso de Desarrollo

El Proceso de Pruebas es un proceso dentro del Proceso de Desarrollo

Actividades de la Planificación de Pruebas

- Determinar alcance y riesgos


- Fijar objetivos y criterios de salida


- Determinar el enfoque: Técnicas de pruebas, cobertura de pruebas y equipo de pruebas


- Implementar la estrategia de pruebas y planificar las actividades


- Gestionar los recursos: Personas, entorno y presupuesto

Actividades del Análisis de Pruebas y Diseño de Pruebas

- Revisar bases de prueba


- Analizar la testabilidad del sistema y componentes


- Definir las condiciones de prueba


- Diseñar casos de prueba


- Identificar condiciones y datos de prueba


- Diseñar el entorno o cama de pruebas


- Si aplica, probar la infraestructura y herramientas para las pruebas


- Crear trazabilidad bidireccional

Actividades de la Implementación de Pruebas y Ejecución de Pruebas

- Finalizar, implementar y priorizar casos de prueba


- Desarrollar procedimientos de prueba


- Verificar el entorno o la cama de pruebas


- Verificar y actualizar la trazabilidad


- Ejecutar pruebas


- Registrar y analizar los resultados


- Comparar los resultados obtenidos con los resultados esperados


- Informar y analizar incidencias


- Repetición de pruebas después de arreglar un defecto


- Pruebas de regresión

Actividades de la Evaluación de Criterios de Salida y Generación de Informes

- Evaluar las pruebas ejecutadas con referencia a las planeadas en los objetivos


- Evaluar la información registrada


- Entregar información y decidir en base a ella si es necesario realizar más pruebas

Actividades del Cierre de Pruebas

- Recopilar datos de las actividades


- Cerrar informes de incidencia


- Comprobar cuales de los entregables planificados han sido entregados y probados


- Documentar la aceptación del sistema o la funcionalidad


- Finalizar y archivar la evidencia


- Analizar las lecciones aprendidas


- Mejorar el proceso de pruebas. Madurarlo

Actividades del Control de Pruebas

- Se miden y analizan resultados


- La evolución, cobertura y criterios de salida son monitoreados y documentados


- Se toman medidas correctivas


- Se preparan y toman decisiones

Definición de Plan Maestro de Pruebas

Documento que contiene el alcance, enfoque, recursos, y calendario de las actividades de prueba

Definición de Estrategia de Pruebas

Descripción de alto nivel de los niveles de prueba y los tipos de prueba asociadas para un proyecto u organización

Definición Enfoque de Pruebas

Adaptación e implementación de la Estrategia de Pruebas para un proyecto específico

Definición de Criterios de Salida

Condiciones genéricas y específicas para que el proceso de pruebas sea considerado formalmente concluido

Definición de Datos de Prueba

Datos en el sistema antes de que una prueba sea ejecutada, y que afectan o son afectados por la ejecución de la prueba

Definición Datos de Entrada

Variable leída por un componente

Definición de Cobertura de Pruebas

Grado en que un elemento o módulo ha sido probado por un juego de pruebas

Definición de Oráculo de Pruebas

Fuente que permite determinar los resultados esperados. NO PUEDE SER EL CÓDIGO

Definición Juego de Pruebas

Conjunto de casos de prueba. La pos-condición de una prueba es la pre-condición de la otra

Definición de Ejecución de Prueba

Proceso de practicar una prueba produciendo resultados reales

Definición Registro de Pruebas

Registro cronológico de los detalles relevantes respecto a la ejecución de pruebas (IEEE 829)

Definición Pruebas de Regresión

Pruebas para verificar que los cambios recientes no afecten los desarrollos anteriores

Definición re-testing

Repetición de una prueba después de la corrección de un defecto

Definición Especificación Procedimiento de Pruebas (Escenario de Prueba)

Secuencia de acciones para la ejecución de una prueba. Esta secuencia se conoce también como script de prueba (IEEE 829)



Roles en el Proceso de Desarrollo

- Desarrollador


- Probador

Son dos roles

Tareas del Probador

- Planificar actividades de prueba


- Diseñar casos de prueba


- Preocupación: Encontrar defectos

Tareas del Desarrollador

- Implementar requisitos


- Desarrollar estructuras


- Diseñar y programar software


- Preocupación: creación de un producto

Objetivo común del Desarrollador y el Probador

Construir un mejor producto

Características del Probador

- Curioso


- Perceptivo


- Atento a los detalles


- Escéptico y con actitud crítica


- Buen comunicador

Definición de Diseñar

Ayudar al cliente a suministrar los requerimientos adecuados

Definición de Desarrollar

Convertir los requisitos en funciones

Definición de Probar

Evaluar la correcta implementación de los requisitos del cliente

Cuál es el objetivo común de Diseñar, Desarrollar y Probar

Aportar un buen producto software

Dificultades asociadas al Proceso de Pruebas

- Incapacidad de comprensión mutua


- La detección de errores puede llevar a conflictos


- Comunicación insuficiente entre el Probador y el Desarrollador


- Mantener la distancia adecuada al objeto de prueba

Ordene la ejecución de Pruebas de Desarrollador, Equipo de Pruebas, Contratistas externos y Equipo de Desarrollo de la más independiente a la menos independiente

1. Contratistas externos


2. Equipo de pruebas


3. Equipo de Desarrollo


4. Pruebas de Desarrollador

Código Ético

- Público: Actuar conforme al interés público


- Cliente y empleador: Actuar conforme al interés del el cliente y el empleador


- Producto: Asegurar que los entregables suministrados alcanzan los estándares más altos


- Juicio: Mantener la integridad e independencia en su juicio


- Gestión: Suscribir y promover un enfoque ético en la gestión de pruebas de software


- Profesión: Promover la integridad y reputación de la profesión


- Compañeros de profesión: Ser justos y solidarios con los compañeros de profesión y cooperar con los desarrolladores


- Individualmente: Participar en procesos de formación permanente y promover un enfoque ético

Que es la Gestión de Pruebas

El la gestión de proyecto de los proyectos de pruebas

Cuáles etapas del Proceso de Desarrollo son cubiertos por la Gestión de Pruebas

¡Todas!



Cubre por completo el Proceso de Desarrollo

Cuál es el entregable de la actividad de Concepción de Pruebas

El Plan de Pruebas (estático)

Cuál es el entregable de la actividad de Planificación de Pruebas

Es el Plan de Pruebas ( dinámico )

Cuál es el entregable de la actividad de Control de Pruebas

Son el Informe de Estado y el de Acciones de Control

Cuál es el entregable de la actividad de Pruebas de Aceptación

Es la entrega del producto

Ventajas de la Independencia del equipo de Pruebas

- Mayor imparcialidad y objetividad


- Cuestionamiento de la Base de Pruebas y verificación de suposiciones

Desventajas de la Independencia del equipo de Pruebas

- Mayor esfuerzo en la comunicación


- Más conflictos


- Pérdida del sentido de la responsabilidad del Desarrollador