Fundamentos de Pruebas de Software - Introducción

13
CONTENIDO PRÓLOGO O BJETIVOS D ESTINATARIOS U NA BREVE HISTORIA DE LAS PRUEBAS DE SOFTWARE CAPÍTULO 1 FUNDAMENTOS DE PRUEBAS 1.1 ¿P OR QUÉ SON NECESARIAS LAS PRUEBAS ? 1.2 ¿Q UÉ SON LAS PRUEBAS ? 1.2.1 E JERCICIOS Ejercicio 1 Solución del Ejercicio 1 1.3 P RINCIPIOS GENERALES DE LAS PRUEBAS 1.3.1 E JERCICIOS Ejercicio 1 Solución del Ejercicio 1 1.4 P ROCESO DE PRUEBAS BÁSICO 1.4.1 E JERCICIOS Ejercicio 1 Solución del Ejercicio 1 1.5 L A PSICOLOGÍA DE PRUEBAS 1.5.1 E JERCICIOS Ejercicio 1 Solución del Ejercicio 1 1.6 C ÓDIGO DE ÉTICAS P REGUNTAS DE EXAMEN DE MUESTRA Y SIMULACIÓN Sección 1.1: ¿Por qué son necesarias las pruebas? (K2) Sección 1.2: ¿Qué son las pruebas? (K2) Sección 1.3: Principios generales de las pruebas (K2) Sección 1.4: Proceso de pruebas básico (K1) Sección 1.5: La psicología de las pruebas (K2) Sección 1.6: Código de éticas (K2) Capítulo 1 Pregunta que cubre secciones Preguntas del Examen de simulación 1 Preguntas del Examen de Simulación 2 CAPÍTULO 2

description

Las Pruebas de Software son todavía una de las áreas más desatendidas del desarrollo y espliegue de los productos de software. Las Pruebas de Software son predominantemente vistas como una actividad periférica, casi una formalidad, antes del espliegue del software. Un cambio de actitud y un buen programa de estudios como fundamento hacia las Pruebas de Software pueden reducir tremendamente los problemas normalmente asociados con el lanzamiento del nuevo software y minimizar el riesgo implicado. El programa de estudio del ISTQB (International Software Testing Qualifications Board) Probador Certificado (Certified Tester) ofrece el mejor entrenamiento estandarizado del mundo para los probadores de software. Este libro le proporcionará el conocimiento esencial para ser un profesional en Pruebas, que incluye: Fundamentos de Pruebas Pruebas a través del Ciclo de Vida de Software Técnicas Estáticas Técnicas de Diseño de Pruebas Gestión de Pruebas Soporte de las Herramientas de Pruebas Adquisición de Herramientas y Software en General en una Organización Más de 200 preguntas de examen de muestra con soluciones Ejercicios prácticos y soluciones por cada tema cubierto Caso real, resuelto, como ejemplo a lo largo de los temas Dos exámenes de simulación del examen real Estándares de Pruebas Excelente Bibliografía Cabe señalar que este libro no es sólo para los probadores sino también para quienes están encargados de la adquisición de software en general, gerentes de tecnología, gerentes del Aseguramiento de la Calidad/Control de la Calidad (QA/QC), gerentes de sistemas, jefes de proyectos de software, analistas, arquitectos, desarrolladores, estudiantes y profesores de TI. Asimismo este libro está diseñado para el autoestudio. El contenido comprende el programa de estudios necesario para aprobar el examen de certificación nivel básico definido por el ISTQB versión 2011 (Syllabus 2011).

Transcript of Fundamentos de Pruebas de Software - Introducción

Page 1: Fundamentos de Pruebas de Software - Introducción

CONTENIDO

PRÓLOGO OBJETIVOS DESTINATARIOS UNA BREVE HISTORIA DE LAS PRUEBAS DE SOFTWARE

CAPÍTULO 1

FUNDAMENTOS DE PRUEBAS 1.1 ¿POR QUÉ SON NECESARIAS LAS PRUEBAS? 1.2 ¿QUÉ SON LAS PRUEBAS? 1.2.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 1.3 PRINCIPIOS GENERALES DE LAS PRUEBAS 1.3.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 1.4 PROCESO DE PRUEBAS BÁSICO 1.4.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 1.5 LA PSICOLOGÍA DE PRUEBAS 1.5.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 1.6 CÓDIGO DE ÉTICAS PREGUNTAS DE EXAMEN DE MUESTRA Y SIMULACIÓN Sección 1.1: ¿Por qué son necesarias las pruebas? (K2) Sección 1.2: ¿Qué son las pruebas? (K2) Sección 1.3: Principios generales de las pruebas (K2) Sección 1.4: Proceso de pruebas básico (K1) Sección 1.5: La psicología de las pruebas (K2) Sección 1.6: Código de éticas (K2) Capítulo 1 Pregunta que cubre secciones Preguntas del Examen de simulación 1 Preguntas del Examen de Simulación 2

CAPÍTULO 2

Page 2: Fundamentos de Pruebas de Software - Introducción

PRUEBAS A TRAVÉS DEL CICLO DE VIDA DE SOFTWARE 2.1 MODELOS DE DESARROLLO DE SOFTWARE 2.1.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 Ejercicio 2 Solución del Ejercicio 2 2.2 NIVELES O FASES DE PRUEBAS 2.2.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 2.3 TIPOS U OBJETIVOS DE LAS PRUEBAS 2.3.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 2.4 PRUEBAS DE MANTENIMIENTO 2.4.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 PREGUNTAS DE EXAMEN DE MUESTRA Y SIMULACIÓN Sección 2.1 Modelos de desarrollo de software (K2) Sección 2.2 Niveles de pruebas (K2) Sección 2.3: Tipos de pruebas (K2) Sección 2.4: Pruebas de mantenimiento (K2) Capítulo 2 Preguntas a través de las secciones Preguntas del Examen de Simulación 1 Preguntas del Examen de Simulación 2

CAPÍTULO 3

TÉCNICAS ESTÁTICAS 3.1 TÉCNICAS ESTÁTICAS Y EL PROCESO DE PRUEBAS 3.1.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 3.2 PROCESO DE REVISIÓN 3.2.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 3.3 ANÁLISIS ESTÁTICO POR MEDIO DE HERRAMIENTAS

Page 3: Fundamentos de Pruebas de Software - Introducción

3.3.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 PREGUNTAS DE EXAMEN DE MUESTRA Y SIMULACIÓN Sección 3.1 Técnicas estáticas y el proceso de pruebas (K2) Sección 3.2 Proceso de revisión (K2) Sección 3.3: Análisis estáticos por herramientas (K2) Capítulo 3 Pregunta a través de las secciones Preguntas del Examen de Simulación 1 Preguntas del Examen de Simulación 2

CAPÍTULO 4

TÉCNICAS DE DISEÑO DE PRUEBAS 4.1 PROCESO DE DESARROLLO DE PRUEBAS 4.1.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 Ejercicio 2 Solución del Ejercicio 2 4.2 CATEGORÍAS DE LAS TÉCNICAS DE DISEñO DE PRUEBAS 4.2.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 Ejercicio 2 Solución del Ejercicio 2 Ejercicio 3 Solución del Ejercicio 3 Ejercicio 4 Solución del Ejercicio 4 4.3 TÉCNICAS BASADAS EN LA ESPECIFICACIÓN 4.4 TÉCNICAS BASADAS EN LA ESTRUCTURA 4.4.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 4.5 TÉCNICAS BASADAS EN LA EXPERIENCIA 4.5.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 4.6 SELECCIÓN DE LAS TÉCNICAS DE PRUEBAS 4.6.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1

Page 4: Fundamentos de Pruebas de Software - Introducción

PREGUNTAS DE EXAMEN DE MUESTRA Y SIMULACIÓN Sección 4.1 El proceso de desarrollo de pruebas (K3) Sección 4.2 Categorías de las técnicas de diseño de pruebas (K2) Sección 4.3 Técnicas basadas en la especificación o de caja negra (K3) Sección 4.4 Técnicas basadas en la estructura de caja blanca (K3) Sección 4.5 Técnicas basadas en la experiencia (K2) Sección 4.6 Selección de las técnicas de pruebas (K2) Capítulo 4 Pregunta de todas las secciones Preguntas del Examen de Simulación 1 Preguntas del Examen de Simulación 2

CAPÍTULO 5

GESTIÓN DE PRUEBAS 5.1 ORGANIZACIÓN DE PRUEBAS 5.1.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 5.2 PLANIFICACIÓN Y ESTIMACIÓN DE PRUEBAS 5.2.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 5.3 MONITOREO Y CONTROL DEL PROGRESO DE LAS PRUEBAS 5.3.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 5.4 GESTIÓN DE CONFIGURACIÓN 5.4.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 5.5 RIESGO Y PRUEBAS 5.5.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 5.6 GESTIÓN DE DEFECTOS O INCIDENCIAS 5.6.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 PREGUNTAS DE EXAMEN DE MUESTRA Y SIMULACIÓN Sección 5.1 Organización de pruebas (K2) Sección 5.2 Planificación y estimación de pruebas (K2) Sección 5.3 Monitoreo y control del progreso de pruebas (K2) Sección 5.4 Gestión de Configuraciones (K2)

Page 5: Fundamentos de Pruebas de Software - Introducción

Sección 5.5 Riesgos y Pruebas (K2) Sección 5.6 Gestión de incidencias (K3) Capítulo 5 Pregunta de todas las secciones Preguntas del Examen de Simulación 1 Preguntas del Examen de Simulación 2

CAPÍTULO 6

SOPORTE DE HERRAMIENTAS PARA LAS PRUEBAS 6.1 TIPOS DE HERRAMIENTAS DE PRUEBAS 6.1.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 6.2 USO EFECTIVO DE HERRAMIENTAS, LOS BENEFICIOS Y LOS RIEGOS POTENCIALES 6.2.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 6.3 INTRODUCCIÓN DE UNA HERRAMIENTA EN UNA ORGANIZACIÓN 6.3.1 EJERCICIOS Ejercicio 1 Solución del Ejercicio 1 PREGUNTAS DE EXAMEN DE MUESTRA Y SIMULACIÓN Sección 6.1 Tipos de herramientas de pruebas (K2) Sección 6.2: Utilización efectiva de las herramientas: beneficios y riesgos potenciales

(K2) Sección 6.3: Introducción de una herramienta en una organización (K1) Capítulo 6 Pregunta de todas las secciones Preguntas del Examen de Simulación 1 Preguntas del Examen de Simulación 2

APÉNDICE A

OMNINET: EL INTERNET EN TODAS PARTES

DOCUMENTO DE LOS REQUISITOS DE MARKETING 1. ALCANCE 1.1 Términos, Acrónimos y Abreviaciones 1.2 Documentos Aplicables 2. FECHA DE LA VERSIÓN REQUERIDA 3. DESCRIPCIÓN DE LOS REQUISITOS 3.1 Requisitos técnicos generales

Page 6: Fundamentos de Pruebas de Software - Introducción

3.1.1 Bienvenida 3.1.2 Pago 3.1.3 Navegador de Internet 3.1.4 Rendimiento 3.1.5 Localización 3.1.6 Control de Contenido 3.1.7 Terminación de la Sesión 3.1.8 Confidencialidad 3.2 Administración 3.2.1 Actualizaciones de Software 3.2.2 Vista de los Quioscos 3.2.3 Vista de los Usuarios 3.2.4 Modificar el Usuario 3.2.5 Terminar el Usuario

APÉNDICE B

OMNINET: EL INTERNET EN TODAS PARTES. DOCUMENTO DE LOSREQUISITOS DEL SISTEMA REQUISITOS FUNCIONALES DEL SISTEMA REQUISITOS DE FIABILIDAD DEL SISTEMA REQUISITOS DE USABILIDAD DEL SISTEMA REQUISITOS DE EFICIENCIA DEL SISTEMA REQUISITOS DE MANTENIBILIDAD DEL SISTEMA REQUISITOS DE PORTABILIDAD DEL SISTEMA MODELOS DEL DISEñO Arquitectura del Sistema Omninet Tabla de Decisiones del Procesamiento del Pago Flujo del Módulo del Quiosco Diagrama de Transiciones de Estado del Quiosco Tabla de Transiciones de Estado del Quiosco Array Ortogonal de la Configuración del Quiosco con respecto al Sistema Operativo

del Quiosco/el Navegador/la Velocidad de Conexión

APÉNDICE C

SOLUCIONES DE LAS PREGUNTAS DE EXAMEN DE MUESTRA Y SIMULACIÓN CAPÍTULO 1: FUNDAMENTOS DE PRUEBAS (K2) Sección 1.1: ¿Por qué son las pruebas necesarias? (K2) Sección 1.2: ¿Qué son las pruebas? (K2) Sección 1.3: Principios generales de pruebas (K2)

Page 7: Fundamentos de Pruebas de Software - Introducción

Sección 1.4: Proceso de pruebas básico (K1) Sección 1.5: La psicología de las pruebas (K2) Sección 1.6: Código de éticas (K2) Capítulo 1 Pregunta de todas las secciones Preguntas del Examen de Simulación 1 Preguntas del Examen de Simulación 2 CAPÍTULO 2: PRUEBAS A TRAVÉS DEL CICLO DE VIDA DE SOFTWARE (K2) Sección 2.1 Modelos de desarrollo de software (K2) Sección 2.2 Niveles de pruebas (K2) Sección 2.3: Tipos de pruebas: los objetivos de las pruebas (K2) Sección 2.4: Pruebas de mantenimiento (K2) Capítulo 2 Pregunta de todas las secciones Preguntas del Examen de Simulación 1 Preguntas del Examen de Simulación 2 CAPÍTULO 3.0: TÉCNICAS ESTÁTICAS (K2) Sección 3.1 Revisiones y el proceso de pruebas (K2) Sección 3.2 Proceso de revisión (K2) Sección 3.3: Análisis estático por herramientas (K2) Capítulo 3 Pregunta de todas las secciones Preguntas del Examen de Simulación 1 Preguntas del Examen de Simulación 2 CAPÍTULO 4.0: TÉCNICAS DE DISEÑO DE PRUEBAS (K3) Sección 4.1 Proceso de desarrollo de pruebas (K3) Sección 4.2 Categorías de las técnicas de diseño de pruebas (K2) Sección 4.3 Técnicas basadas en la especificación o de caja negra (K3) Sección 4.4 Técnicas basadas en la estructura o de caja blanca (K3) Sección 4.5 Técnicas basadas en la experiencia (K2) Sección 4.6 Selección de las técnicas de pruebas (K2) Capítulo 4 Pregunta de todas las secciones Preguntas del Examen de Simulación 1 Preguntas del Examen de Simulación 2 CAPÍTULO 5.0: GESTIÓN DE PRUEBAS (K3) Sección 5.1 Organización de las pruebas (K2) Sección 5.2 Planificación y estimación de pruebas (K2) Sección 5.3 Monitoreo y control del progreso de las pruebas (K2) Sección 5.4 Gestión de configuraciones (K2) Sección 5.5 Riesgo y pruebas (K2) Sección 5.6 Gestión de incidencias (K3) Capítulo 5 Pregunta de todas las secciones Preguntas del Examen de Simulación 1 Preguntas del Examen de Simulación 2 CAPÍTULO 6.0: SOPORTE DE HERRAMIENTAS PARA PRUEBAS (K2) Sección 6.1 Tipos de herramientas de pruebas (K2) Sección 6.2: Utilización efectiva de herramientas: beneficios y riesgos potenciales

(K2)

Page 8: Fundamentos de Pruebas de Software - Introducción

Sección 6.3: Introducción de una herramienta en una organización (K1) Capítulo 6 Pregunta de todas las secciones Preguntas del Examen de Simulación 1 Preguntas del Examen de Simulación 2

APÉNDICE D

LISTA DE LOS ESTÁNDARES DE PRUEBAS

APÉNDICE E

PREPARACIÓN PARA EL EXAMEN

APÉNDICE F

ACRÓNIMOS

APÉNDICE G

BIBLIOGRAFÍA

PERFIL DE RBCS

PERFIL DE BUSINESS INNOVATIONS

ÍNDICE ANALÍTICO

Acerca de los Autores

Page 9: Fundamentos de Pruebas de Software - Introducción

Prólogo

En los últimos años hemos observado que la producción de software ha crecidoexponencialmente en todo el mundo. La cantidad de software en todo tipo dedispositivos está aumentando rápidamente. Por ejemplo, se espera que la cantidad decódigo fuente en un teléfono móvil aumente a 10 millones de líneas de código entrelos años 2010 y 20111. En el mismo período, el software de un automóvil podríacrecer hasta un máximo de 100 millones de líneas de código. El sistema de softwaredel control de vuelo del Boeing 787 consta de 6,5 millones de líneas de código, cercade tres veces más que el Boeing 7772. Todo tipo de nuevas aplicaciones einfraestructuras dependen en gran medida del software, incluidas las redes sociales,el video por Internet, los sistemas de alerta temprana, los sistemas de informaciónmédica y los sistemas financieros. A raíz de este crecimiento las exigencias de lacalidad del software ahora son mayores y el cliente espera el menor número de fallasposibles cuando el software ya está funcionando con clientes finales, por lo tanto esosignifica mayores ganancias en el negocio y la reducción de los riesgos de laspérdidas económicas, de tiempo y reputación, los desastres ambientales, las lesioneso la muerte. Por ejemplo:

“Millones de cuentas bancarias fueron impactadas por defectos debido a lainstalación de un código de software probado incorrectamente en el sistema deprocesamiento de transacciones del banco North American Bank en E.E.U.U. Laspérdidas excedieron los 100 millones de dólares”.

No hay suficientes estadísticas publicadas acerca del porcentaje de instituciones quehan tenido problemas en el software pero eso no quiere decir que no hay defectos opérdidas en el negocio.

Esos incidentes originan una serie de preguntas. ¿Por qué los problemas del softwareno fueron detectados antes a pesar de todas las herramientas modernas a disposiciónde los ingenieros de sistemas? ¿Cómo puede ser remediada esta situación? Una granparte de las respuestas a estas preguntas caen en una de las áreas más desatendidasdel desarrollo y despliegue de productos de software—Las Pruebas de Software.

Las Pruebas de Software son predominantemente consideradas como una actividadperiférica, casi una formalidad, antes del despliegue del software. Un cambio deactitud hacia las Pruebas de Software puede reducir tremendamente los problemasnormalmente asociados con el lanzamiento del nuevo software y minimizar los riesgosimplicados. Las Pruebas de Software consisten en un proceso crítico para asegurarque el software sea entregado al cliente libre de defectos, y debería ser tratado comotal.

En la actualidad la mayoría de las organizaciones no cuentan con un personalprofesional en Pruebas de Software para gestionar un proceso de control de calidad

Page 10: Fundamentos de Pruebas de Software - Introducción

paralelo al proceso de desarrollo porque las empresas tercerizadas están másorientadas al desarrollo por lo cual hay una cierta parcialización hacia el softwaredesarrollado por parte del fabricante. Las Pruebas de Software requieren unconocimiento especializado y profesional con una metodología diferente que escribircódigo o construir software. Un peligro inherente de contratar los servicios de controlde calidad del software del mismo fabricante es el conflicto de interés.

Por lo tanto, debido a este conflicto de interés y la criticidad del software tienesentido la separación del desarrollo y las Pruebas de Software en equipos separadosy además las Pruebas de Software deben ser llevadas a cabo por personas queconocen las técnicas y métodos, y tienen experiencia y conocimiento del dominio delnegocio y las herramientas de Pruebas de Software. Entonces en el mundo se hancreado diversos programas estándar de estudios para satisfacer las necesidades en lacalidad del software, de los cuáles uno de los más reconocidos a nivel mundial es laCertificación en Pruebas de Software (“Software Testing Certification”) del ISTQB(“International Software Testing Qualifications Board”) que propone diversos cursosde estudios para distintos niveles de experticia, así como el nivel básico, tres nivelesavanzados, el nivel avanzado completo y el nivel experto. En este libro trataremos elnivel básico según el programa de estudios 2011.

Por Gary Rueda Sandoval

Objetivos

Este libro proporciona a los Ingenieros de Pruebas y Jefes de Pruebas el fundamento, losprocesos, las herramientas y habilidades esenciales que ellos necesitan para posicionarseen un camino hacia el verdadero profesionalismo en pruebas. Este libro práctico cubre lasprincipales técnicas de diseño de pruebas por medio de la clase y los ejercicios. El libroproporciona la metodología detrás de un programa de pruebas exitoso y cubre una ampliagama de temas, desde aquellos relacionados con el probador individual hasta losrelacionados con el departamento de pruebas en su totalidad. El proceso de pruebas espresentado, tanto a través de la teoría como mediante ejercicios prácticos que siguen unproyecto como ejemplo, incluyendo las tareas difíciles como el seguimiento y lapresentación de los resultados de las pruebas. Así mismo incluye la creación de un entornode pruebas y automatización de pruebas junto con los ciclos de vida del desarrollo desistemas y cómo estos afectan a las pruebas.

Este libro le proporciona una guía de auto-estudio para pasar el examen ProbadorCertificado ISTQB Nivel Básico (ISTQB Certified Tester Foundation Level”) que incluyelos seis capítulos, un glosario de los términos más importantes, ejercicios prácticos y sussoluciones por cada capítulo junto con dos exámenes de simulación y con más de 200preguntas de muestra que abarcan cada objetivo del aprendizaje del Programa de Estudios(“Syllabus”) 3, una orientación acerca de cómo prepararse para el examen, y más.

Page 11: Fundamentos de Pruebas de Software - Introducción

A través de los capítulos, la argumentación y los ejercicios prácticos, usted aprenderá a:

Explicar los efectos y el daño que los defectos pueden causar.Articular la necesidad de las pruebas.Describir el rol de las pruebas en el aseguramiento de la calidad.Identificar los objetivos, los principios y los propósitos comunes de las pruebas.Introducir procesos de pruebas estructurados, pre-planificados.Adaptarse a los factores psicológicos y gestionarlos para el éxito de las pruebas.Relacionar las actividades de desarrollo y pruebas.Adaptar los modelos de desarrollo de software al contexto del proyecto y elproducto.Seleccionar e implementar niveles o fases adecuadas de las pruebas, con losparticipantes, los objetivos, las metas y los ítems apropiados sometido a pruebapara cada nivel o fase de prueba.Seleccionar y planificar los principales tipos u objetivos de las pruebas,incluyendo las pruebas funcionales y no funcionales, las pruebas estructurales,las pruebas de confirmación y las pruebas de regresión.Explicar las razones para las pruebas de mantenimiento y cómo las pruebas demantenimiento se diferencian de las pruebas de aplicaciones nuevas.Entender el valor, la importancia y la utilización de las técnicas estáticas y elanálisis estático, y la diferencia entre las técnicas estáticas y dinámicas.Explicar las fases, los roles y las responsabilidades de una revisión formaltípica, y comparar los diferentes tipos de revisiones.Comprender los factores para las revisiones exitosas.Comprender y realizar un análisis de los riesgos de calidad para que sirva comola base para las pruebas, utilizando los factores de probabilidad e impacto paradeterminar el nivel de riesgo.Escribir diseños, casos y procedimientos de prueba, relacionarlos entre sí, yrastrear estos ítems a la base de las pruebas.Desarrollar un cronograma de ejecución de las pruebas.Explicar las características, las diferencias y las razones para las pruebasbasadas en la especificación (caja negra), basadas en la estructura (caja blanca),y basadas en la experiencia.Escribir casos de prueba utilizando el particionamiento4 (“partitioning”) deequivalencias, el análisis de valores límite, las tablas de decisión y losdiagramas de transición de estados, comprendiendo el propósito principal decada técnica y qué cantidad de cobertura es suficiente para cada técnica.Escribir y medir los casos de prueba utilizando los conceptos de pruebasestructurales como la cobertura, la cobertura de sentencia y decisión y otrastécnicas de diseño de pruebas del flujo de control.Comprender los factores que influyen en la selección de las técnicas apropiadasde diseño de pruebas.Explicar la importancia de las pruebas independientes.Comprender los beneficios y las desventajas de las pruebas independientes.

Page 12: Fundamentos de Pruebas de Software - Introducción

Seleccionar los distintos miembros del equipo para su inclusión en un equipo depruebas.Saber las tareas de un líder y probador típico.Comprender y escribir varios tipos de planes de pruebas dependiendo delproyecto, los niveles y los objetivos.Estimación de las pruebas a través de las métricas y la experticia, y reconocerlos factores que afectan una estimación.Comprender, utilizar e interpretar las métricas comunes para monitorear lapreparación y la ejecución de las pruebas.Explicar cómo la gestión de configuración apoya a las pruebas.Saber los daños típicos y riesgos potenciales para las pruebas.Diferenciar entre los riesgos de proyecto y calidad (del producto).Escribir un buen informe de defecto o incidencia, con el contenido apropiado.Conocer los diferentes tipos de las herramientas de pruebas, incluyendo lasherramientas de pruebas de los programadores.Explicar las diferentes técnicas de guiones para las herramientas de ejecución depruebas, incluyendo las dirigidas por datos y las dirigidas por palabras clave.Saber los beneficios y los riesgos potenciales de la automatización de pruebas.Planificar la introducción de una herramienta de pruebas en una organización.Formular las metas de una prueba de concepto para la evaluación de unaherramienta de pruebas.Explicar los factores necesarios para un buen soporte de herramientas.

Destinatarios

Este libro no es sólo para los probadores sino también para quienes están encargados de laadquisición de software en general, gerentes de tecnología, gerentes del Aseguramiento dela Calidad/Control de la Calidad (“QA/QC”), gerentes de sistemas, jefes de proyectos desoftware, analistas, arquitectos, desarrolladores, estudiantes y profesores de TI.

Una breve historia de las Pruebas de Software

Desde los comienzos de la computación hubo pruebas. La siguiente clasificación (porsupuesto hay más) fue creada en 1988 por D. Gelperin y W.C. Hetzel 5. Ellos clasificaronlas pruebas de software con las siguientes fases y metas:

Hasta 1956 fue el período orientado a la depuración, donde las pruebas eran asociadas a ladepuración: no había una clara diferencia entre las pruebas y la depuración.

De 1957 a 1978 fue el período orientado a la demostración, donde la depuración y laspruebas fueron diferenciados ahora – en este período fue demostrado que el softwaresatisface los requisitos.

Page 13: Fundamentos de Pruebas de Software - Introducción

De 1979 a 1982 fue el período orientado a la destrucción, donde la meta era de encontrarerrores.

De 1983 a 1987 fue el período orientado a la evaluación: la intención aquí es de quedurante el ciclo de vida del software una evaluación del producto es proveído y unamedición de su calidad.

De 1988 hasta la fecha fue el período de la prevención donde las pruebas estarían parademostrar que el software satisface su especificación, para detectar y prevenir losdefectos.

_____________________________

1 1. R.N. Charette, “Why Software Fails,” IEEE Spectrum, vol. 42, no. 9, 2005, pp. 42–49.

2 M. Mecham, “Boeing Faces ‘Pretty Tight’ 787 Delivery Schedule,” Aviation Week, 9Sept. 2007

3 Es un programa, esquema o plan de estudios de un texto, una conferencia o curso deestudio.

4 Aunque no está definido en la Real Academia Española, es un término muy utilizadopara indicar el sustantivo de la acción de partir algo en particiones.

5 Gelperin, D.; B. Hetzel (1988). “The Growth of Software Testing”. CACM 31 (6).ISSN 0001-0782.