Calidad de software

Evolucación de calidad del software

  • Ada Lovelace

    Ada Lovelace
    Tradujo al inglés el artículo de Menabrea sobre la máquina analítica de Babbage e incluyó un algoritmo para el cálculo de números de Bernoulli, considerado el primer programa de computación. Además, advirtió que los errores pueden no ser del “hardware” sino de la programación (“tarjetas con órdenes erróneas”) .
  • Alan Turing

    Alan Turing
    En “Checking a Large Routine” propone un método general para verificar la corrección de un programa y recomienda que quien prueba el software sea distinto de quien lo programa
  • Daniel D. McCracken

    Daniel D. McCracken
    En su libro Digital Computer Programming aboga por que el cliente prepare los casos de prueba con antelación, para revelar malentendidos lógicos antes de la ejecución .
  • Charles L. Baker

    Charles L. Baker
    Diferencia por primera vez entre “probar” y “depurar”, señalando que al inicio de los años 50 no existía aún el concepto de pruebas sistemáticas.
  • Gerald M. Weinberg (1958–1961)

    Gerald M. Weinberg (1958–1961)
    En el proyecto Mercurio de la NASA introdujo mini-incrementos con pruebas planificadas, y en 1961 co-escribió Computer Programming Fundamentals, el primer texto con un capítulo dedicado exclusivamente a pruebas, donde enuncia principios como “pensar en la comprobación al codificar”.
  • Bill Elmendorf (1967, 1970)

    Bill Elmendorf (1967, 1970)
    Elmendorf planteó la evaluación de pruebas funcionales (1967) y el diseño automatizado de librerías de prueba (1970).
  • Robert W. Bemer

    Robert W. Bemer
    Bemer participó en la conferencia NATO y elaboró la “lista de chequeo para planificación de sistemas” con preguntas clave de garantía de calidad.
  • Edsger Dijkstra (1968, 1972)

    Edsger Dijkstra (1968, 1972)
    Dijkstra, con “Go To Statement Considered Harmful” (1968) inició la programación estructurada y en su discurso del Premio Turing (1972) insistió en la necesidad de pruebas formales para demostrar la corrección del programa .
  • William C. Hetzel & David Gelperin (1973, 1988)

    William C. Hetzel & David Gelperin (1973, 1988)
    Publicaron Program Test Methods (1973) y en 1988 describieron cuatro modelos de pruebas (demostración, destrucción, evaluación, prevención) en The Growth of Software Testing, además de compilar la Complete Guide to Software Testing .
  • Frederick Brooks

    Frederick Brooks
    En The Mythical Man-Month (“No hay bala de plata”) señala que las pruebas son esenciales para descubrir defectos conceptuales y que demostrar ausencia de errores sólo es posible con pruebas formales .
  • Tom Gilb (1975–1976)

    Tom Gilb (1975–1976)
    Gilb enunció las “leyes de la no fiabilidad” (1975) y publicó Software Metrics (1976).
  • Michael E. Fagan

    Michael E. Fagan
    Fagan introdujo las inspecciones sistemáticas de diseño y código, reduciendo drásticamente los defectos en IBM
  • Thomas J. McCabe

    Thomas J. McCabe
    McCabe definió la complejidad ciclomática y la prueba de ruta básica.
  • Glenford Myers (1976, 1979)

    Glenford Myers (1976, 1979)
    Myers, con Software Reliability (1976) y The Art of Software Testing (1979), acuñó las pruebas de caja negra y afirmó que “el objetivo del probador es hacer que el programa falle”.
  • William C. Howden

    William C. Howden
    Howden introdujo el concepto de “oráculo” como mecanismo para determinar el éxito o fallo de una prueba .
  • Barry W. Boehm

    Barry W. Boehm
    En Software Engineering Economics muestra que el costo de corregir un defecto crece exponencialmente según la fase de detección y presenta el modelo COCOMO .
  • James Martin

    James Martin
    Martin estimó la distribución de inserción de defectos: 56 % en requisitos, 27 % diseño, 7 % codificación.
  • Robert B. Grady

    Robert B. Grady
    Grady con Software Metrics: Establishing a Company-Wide Program describió un programa integral de métricas para gestión de calidad
  • Boris Beizer

    Boris Beizer
    Beizer clasificó defectos y definió la “paradoja del pesticida”: cuanto más se prueba un software, más resistente se vuelve a las mismas pruebas .
  • Brian Marick

    Brian Marick
    En The Craft of Software Testing aboga por el aprendizaje práctico “como la carpintería”, con enfoque en subsistemas de tamaño medio.
  • Eric S. Raymond

    Eric S. Raymond
    En The Cathedral and the Bazaar enuncia la Ley de Linus: “si hay suficientes ojos, todos los errores son superficiales”.
  • Kent Beck

    Kent Beck
    en Test Driven Development: By Example re-descubre TDD, escribe las pruebas antes del código y populariza xUnit y XP.
  • Erik Van Veenendaal

    Erik Van Veenendaal
    Funda la Test Maturity Model Integration (TMMI) para evaluar y mejorar procesos de prueba .
  • Mike Cohn

    Mike Cohn
    En Succeeding with Agile plantea la “pirámide de automatización” (unidad, servicio, UI).
  • Lisa Crispin & Janet Gregory (2009, 2014)

    Lisa Crispin & Janet Gregory (2009, 2014)
    Pioneras en pruebas ágiles con Agile Testing y More Agile Testing, integrando exploratorias en equipos completos.
  • Jonathan Kohl

    Jonathan Kohl
    Kohl propone utilizar la automatización para llevar acabo tareas tales como configuración de pruebas, generación de datos, y avance a lo largo de un flujo de trabajo y, la utilización de pruebas exploratorias manuales para encontrar aquellos defectos insidiosos que de otro modo escaparían a la atención de los probadores.