Evolución de la Calidad de Software

  • Period: to

    PERIODO 1840-1950

    • Ada Lovelace
    • Alan Turing
  • Ada Lovelace

    Ada Lovelace
    • Publicó el primer algoritmo para la máquina analítica de Babbage.
    • Primera persona en darse cuenta de que los errores podrían deberse a problemas de programación ”La máquina analítica no tiene pretensiones de crear nada. Puede hacer cualquier cosa que sepamos como ordenarle que realice.”
    • Ada Lovelace [150].
    Video:
    Ada Lovelace
  • Alan Turing

    Alan Turing
    • Planteó métodos de verificación de programas que aún hoy se utilizan.
    • Propuso que los probadores fueran personas distintas de los programadores.
    Resumen sobre su vida
  • Period: to

    PERIODO 1951-1970

    • Daniel D. McCracken
    • Charles L. Baker
    • Edsger Dijkstra
    • Gerald M. Weinberg
    • Bill Elmendorf *Robert W. Bemer
  • Daniel D. McCracken

    Daniel D. McCracken
    Escribió el primer libro de programación y destacó la importancia de pruebas realizadas por los clientes.
  • Charles L. Baker

    Charles L. Baker
    • Publicó una reseña sobre el libro "programación de computadores digitales" de Daniel D. McCracken, donde explicaba la diferencia entere probar programas y depurarlos
  • Gerald M. Weinberg

    Gerald M. Weinberg
    • Introdujo la idea de escribir pruebas antes de cada mini-incremento de desarrollo.
    • Diferenció entre pruebas manuales y automáticas.
  • Bill Elmendorf

    Bill Elmendorf
    • Publicó el articulo "Evaluación de las pruebas funcionales de programas de control"
    • Publicó el artículo "Diseño automatizado de librerías de pruebas de programas"
  • Edsger Dijkstra

    Edsger Dijkstra
    • Crítico del uso de "Go To", precursor de la programación estructurada.
    • Introdujo el concepto de que las pruebas pueden mostrar la presencia de defectos, pero no su ausencia.
    *Si debuggear es el proceso de remover errores del codigo entonces programar debe ser el proceso de ponerlos (Edsger Dijkstra) *
  • Robert W. Bemer

    Robert W. Bemer
    • Participó de la Conferencia de Ingeniería de Software patrocinada por el Comité Científico de la Organización del Tratado del Atlántico Norte (NATO),donde uno de los temas tratados fue la garantía de calidad de software
  • Period: to

    PERIODO 1971-2000

    • William C. Hetzel y David Gelperin
    • Frederick Brooks
    • Tom Gilb
    • Michael E. Fagan
    • Thomas J. McCabe
    • Glenford Myers
    • William C. Howden
    • Barry W. Boehm
    • James Martin
    • Paul E. Rook
    • Robert B. Grady
    • Cem Kaner
    • Watts Humphrey
    • Boris Beizer
    • Dorothy Graham
    • Brian Marick
    • Paul C. Jorgensen
    • R. Geoff Dromey
    • James Bach
    • Eric S. Raymond
    • Jonathan Bach
  • William C. Hetzel y David Gelperin

    William C. Hetzel y David Gelperin
    • Desarrollaron cuatro modelos de pruebas de software (demostración, destrucción, evaluación, y prevención) y organizaron las primeras conferencias sobre pruebas de software
  • Frederick Brooks

    Frederick Brooks
    • Escribió el clásico "El mítico hombre-mes", destacando la dificultad de las pruebas de software y el problema del costo de corregir errores
  • Tom Gilb

    Tom Gilb
    • Pionero en la conceptualización de la fiabilidad del sistema y la relación entre errores humanos y del sistema. Publicó el libro "Métricas de software"
  • Michael E. Fagan

    Michael E. Fagan
    • Propuso el proceso sistemático de inspección de diseño y código, aplicado con éxito por IBM
  • Thomas J. McCabe

    Thomas J. McCabe
    • Introdujo la métrica de complejidad ciclomática y propuso la prueba de ruta básica como técnica de prueba de caja blanca
  • Glenford Myers

    Glenford Myers
    • Publicó "Fiabilidad del software" y estableció el concepto de pruebas de caja negra​
  • William C. Howden

    William C. Howden
    • Introdujo el término "oráculo" para describir un mecanismo que determina si una prueba ha pasado o fallado
  • Barry W. Boehm

    Barry W. Boehm
    • Introdujo el Modelo de Costos Constructivos (COCOMO) y destacó cómo el costo de corregir un defecto aumenta conforme avanza el ciclo de vida del software
  • James Martin

    James Martin
    • Destacó la alta proporción de defectos introducidos durante las fases de requisitos y diseño
  • Paul E. Rook

    Paul E. Rook
    • Introdujo el Modelo V para desarrollo de software, que asocia cada fase de desarrollo con una correspondiente fase de pruebas​
  • Robert B. Grady

    Robert B. Grady
    • Publicó estudios sobre métricas de software y creó una taxonomía de defectos en Hewlett-Packard
  • Cem Kaner

    Cem Kaner
    Introdujo el término "prueba exploratoria" y cofundó la Escuela de Pruebas Dirigidas por el Contexto
  • Watts Humphrey

    Watts Humphrey
    • Fundador del programa de mejora de procesos del SEI y creador del Modelo de Madurez de Capacidades (CMM)​
  • Boris Beizer

    Boris Beizer
    • Clasificó los defectos de software y propuso la "paradoja del pesticida"
  • Dorothy Graham

    Dorothy Graham
    Publicó sobre pruebas automatizadas y certificación de pruebas de software​
  • Brian Marick

    Brian Marick
    Publicó sobre pruebas de software orientadas a objetos y fue coautor del Manifiesto Ágil​
  • Paul C. Jorgensen

    Paul C. Jorgensen
    Publicó libros de referencia sobre tecnologías en evolución de pruebas de software
  • R. Geoff Dromey

    R. Geoff Dromey
    Propuso un modelo de calidad para resolver las características intangibles del software​
  • James Bach

    James Bach
    • Desarrolló el Modelo de Estrategia de Pruebas Heurísticas y la metodología de Pruebas Rápidas de Software (RST)
  • Eric S. Raymond

    Eric S. Raymond
    • Introdujo la "Ley de Linus" sobre la detección de errores en software de código abierto​
  • Jonathan Bach

    Jonathan Bach
    Propuso la gestión de pruebas basada en sesiones y la escala de libertad del probador​
  • Period: to

    PERIODO 2001- 2020

    • Kent Beck
    • Bret Pettichord
    • Michael Bolton
    • Erik Van Veenendaal
    • Mike Cohn
    • Doron Reuveni
    • Lisa Crispin
    • Jonathan Kohl
  • Kent Beck

    Kent Beck
    • Popularizó el Desarrollo Guiado por Pruebas (TDD), que consiste en escribir pruebas antes de escribir el código.
    • Contribuyó con los patrones de software, las herramientas de pruebas unitarias xUnit, y la metodología Extreme Programming (XP)
    VIDEO SOBRE TDD
  • Bret Pettichord

    Bret Pettichord
    • En su conferencia "Cuatro escuelas de pruebas de software", introdujo las escuelas de pensamiento: analítica, dirigida por normas, orientada hacia la calidad, y dirigida por el contexto.
    • Más adelante, incorporó la escuela ágil de pruebas
  • Michael Bolton

    Michael Bolton
    • Co-autor de la metodología Rapid Software Testing (RST).
    • En 2009, distinguió entre "probar" y "comprobar", donde probar es un proceso de exploración y descubrimiento, y comprobar se refiere a la validación automatizada
  • Erik Van Veenendaal

    Erik Van Veenendaal
    Co-creador del Modelo de Madurez de Pruebas Integrado (TMMI), que ayuda a mejorar el proceso de pruebas en organizaciones, basado en su predecesor, el modelo TMM
  • Doron Reuveni

    Doron Reuveni
    Coautor de la Guía esencial de crowdtesting, que describe cómo realizar pruebas en el entorno natural del usuario en lugar de en laboratorios controlados​
  • Mike Cohn

    Mike Cohn
    • Introdujo la pirámide de automatización de pruebas, que sugiere la automatización de pruebas en tres niveles: unidad, servicio e interfaz de usuario.
    • Escribió el libro "Triunfando con la agilidad"​
  • Lisa Crispin

    Lisa Crispin
    • Junto con Janeth Gregory, publicó "Pruebas ágiles: Una guía práctica para probadores y equipos ágiles", considerado pionero en la disciplina de pruebas ágiles.
    • En 2014, coautora del libro "Más pruebas ágiles", que se enfoca en la mejora continua de las pruebas en entornos ágiles​
  • Jonathan Kohl

    Jonathan Kohl
    En su capítulo del libro "Experiencias de automatización de pruebas", promovió la idea de que la automatización puede utilizarse para tareas más allá de las pruebas de regresión, como la generación de datos y la configuración de pruebas​