Calidad de software - Historia

  • Ada Lovelace - Primer algoritmo de la historia.

    Ada Lovelace - Primer algoritmo de la historia.
    Aporte: Escribe el primer programa para la máquina analítica de Charles Babbage.
    Importancia: Reconoce que los errores pueden originarse en el diseño del programa, no solo en el hardware.
  • John von Neumann - Reporte “First Draft of a Report on the EDVAC”.

    John von Neumann - Reporte “First Draft of a Report on the EDVAC”.
    Aporte: Plantea un modelo de arquitectura que separa datos y programas en memoria.
    Importancia: Base de la computación moderna, donde surgen los conceptos de instrucciones almacenadas.
  • Alan Turing - Publica su trabajo sobre verificación de programas.

    Alan Turing - Publica su trabajo sobre verificación de programas.
    Aporte: Propone que la persona que prueba el software no debe ser la misma que lo programa.
    Importancia: Primer enfoque formal de separación de roles en calidad de software.
  • Daniel D. McCracken - Publicación del libro Programación de computadores digitales.

    Daniel D. McCracken - Publicación del libro Programación de computadores digitales.
    Aporte: Introduce por primera vez la noción de que el cliente debe preparar los casos de prueba.
    Importancia: Inicia la visión de que la prueba no es solo técnica, sino también funcional y comunicativa.
  • Charles L. Baker - Publica una reseña técnica del libro de McCracken.

    Aporte: Distingue entre depuración (debugging) y prueba (testing).
    Importancia: Establece por primera vez que probar no es solo corregir errores, sino verificar la funcionalidad esperada.
  • Gerald M. Weinberg - Participa en el Proyecto Mercurio de la NASA.

    Gerald M. Weinberg - Participa en el Proyecto Mercurio de la NASA.
    Aporte: Desarrolla pruebas incrementales y pequeños ciclos de verificación.
    Importancia: Aplica principios psicológicos y humanos al desarrollo y pruebas de software.
  • Leeds & Weinberg - Publicación del libro Fundamentos de programación informática.

    Leeds & Weinberg - Publicación del libro Fundamentos de programación informática.
    Aporte: Primer capítulo completamente dedicado a pruebas de software.
    Importancia: Se reconoce formalmente el testing como disciplina independiente en la literatura técnica.
  • Bill Elmendorf - Publica Evaluación de las pruebas funcionales de programas de control.

    Bill Elmendorf - Publica Evaluación de las pruebas funcionales de programas de control.
    Aporte: Introduce un enfoque disciplinado para las pruebas funcionales.
    Importancia: Ayuda a consolidar la visión de las pruebas como parte esencial del ciclo de vida del software.
  • Robert W. Bemer - Participa en la histórica Conferencia de la OTAN sobre Ingeniería de Software.

    Robert W. Bemer - Participa en la histórica Conferencia de la OTAN sobre Ingeniería de Software.
    Aporte: Presenta una lista de chequeo que incluye prácticas de calidad y aseguramiento. Importancia: Primer intento de formalización de la calidad del software a nivel internacional.
  • Edsger Dijkstra - Publica el famoso artículo Go To Statement Considered Harmful.

    Edsger Dijkstra - Publica el famoso artículo Go To Statement Considered Harmful.
    Aporte: Aboga por la programación estructurada y destaca que las pruebas no pueden garantizar la ausencia de errores.
    Frase célebre: “Las pruebas son eficaces para mostrar presencia de errores, pero inadecuadas para probar su ausencia.”
    Importancia: Funda la verificación formal como alternativa o complemento al testing.
  • Bill Elmendorf- Publica Diseño automatizado de librerías de pruebas de programas.

    Aporte: Introduce la automatización en el diseño de casos de prueba.
    Importancia: Primer paso hacia el uso de herramientas para mejorar la eficiencia de las pruebas.
  • Gerald M. Weinberg - Publica La psicología de la programación informática.

    Gerald M. Weinberg - Publica La psicología de la programación informática.
    Aporte: Enfatiza la dimensión humana en la programación y el testing.
    Importancia: El error humano es inevitable; las pruebas son necesarias, pero no suficientes.
  • William C. Hetzel - Publica Métodos de prueba de programas.

    William C. Hetzel - Publica Métodos de prueba de programas.
    Aporte: Reúne artículos fundamentales del primer simposio sobre pruebas. Importancia: Marca un hito en la formalización de pruebas como disciplina.
  • Frederick Brooks - Publica El mítico hombre-mes.

    Frederick Brooks - Publica El mítico hombre-mes.
    Aporte: Introduce la figura del probador como adversario y ayudante del programador.
    Importancia: Distingue entre programación, depuración y pruebas conceptuales.
  • Tom Gilb - Publica Leyes de la no fiabilidad.

    Tom Gilb - Publica Leyes de la no fiabilidad.
    Aporte: Conceptualiza la fiabilidad del software y su vínculo con el error humano.
    Importancia: Pionero en proponer métricas de calidad para software.
  • Michael E. Fagan - Propone el método de inspecciones de código y diseño.

    Michael E. Fagan - Propone el método de inspecciones de código y diseño.
    Aporte: Mejora sustancial de calidad en IBM usando su técnica.
    Importancia: Duplica la productividad y reduce defectos en más del 60%.
  • Thomas J. McCabe - Publica Una medida de la complejidad.

    Thomas J. McCabe - Publica Una medida de la complejidad.
    Aporte: Introduce la complejidad ciclomática como métrica clave.
    Importancia: Permite controlar la calidad estructural del código.
  • Glenford Myers - Publica Fiabilidad del software.

    Glenford Myers - Publica Fiabilidad del software.
    Aporte: “El objetivo del probador es hacer que el software falle.” Importancia: Declara el testing como una disciplina destructiva, no confirmativa.
  • William C. Howden - Introduce el término oráculo en testing.

    Aporte: El oráculo determina si un resultado es correcto.
    Importancia: Elemento esencial en el diseño de pruebas efectivas.
  • Glenford Myers - Publica El arte de las pruebas de software.

    Glenford Myers - Publica El arte de las pruebas de software.
    Aporte: Formaliza la terminología actual: caja blanca, caja negra, etc.
    Importancia: Primer libro enteramente dedicado al testing como técnica independiente.
  • Barry Boehm - Publica Economía de la ingeniería de software.

    Barry Boehm -  Publica Economía de la ingeniería de software.
    Aporte: Crea el modelo COCOMO y demuestra que el costo de corregir errores crece con el tiempo.
    Importancia: Vincula calidad con costo y eficiencia en todo el ciclo de vida del software.
  • James Martin - Publica Manifiesto de los sistemas de información.

    James Martin - Publica Manifiesto de los sistemas de información.
    Aporte: Muestra que la mayoría de los errores provienen de requerimientos (56%) y diseño (27%).
    Importancia: Refuerza la necesidad de pruebas tempranas y continuas.
  • Paul E. Rook - Propone el Modelo V.

    Paul E. Rook - Propone el Modelo V.
    Aporte: Relaciona cada etapa de desarrollo con su etapa de prueba correspondiente.
    Importancia: Modelo clásico para planificación de pruebas por fases.
  • Dorothy Graham - Publicación del primer reporte CAST (Computer Aided Software Testing).

    Dorothy Graham - Publicación del primer reporte CAST (Computer Aided Software Testing).
    Aporte: Sistematiza herramientas automatizadas para pruebas asistidas por computador.
    Importancia: Pionera en automatización y certificación de pruebas.
  • Brian Marick - Publica El arte de las pruebas de software.

    Brian Marick - Publica El arte de las pruebas de software.
    Aporte: Afirma que el testing es un oficio que se aprende practicando; se enfoca en subsistemas como compiladores y drivers.
    Importancia: Pionero del enfoque artesanal y contextual del testing​
  • Paul C. Jorgensen - Publica Pruebas de software: Un enfoque artesanal.

    Paul C. Jorgensen - Publica Pruebas de software: Un enfoque artesanal.
    Aporte: Presenta una visión práctica y aplicada del testing, adoptando analogías de oficios manuales.
    Importancia: El libro se convierte en referencia clave en universidades y cursos profesionales.
  • R. Geoff Dromey - Publica el artículo Acorralando a la quimera.

    R. Geoff Dromey - Publica el artículo Acorralando a la quimera.
    Aporte: Propone un modelo para evaluar cualidades intangibles del software bajo la norma ISO/IEC 9126.
    Importancia: Intenta operacionalizar la calidad de producto, relacionando características con métricas.
  • James Bach - Propone el Modelo de Estrategia de Pruebas Heurísticas.

    James Bach - Propone el Modelo de Estrategia de Pruebas Heurísticas.
    Aporte: Introduce patrones adaptables para seleccionar técnicas de prueba según el contexto.
    Importancia: Base de la futura metodología Rapid Software Testing (RST)​
  • Eric S. Raymond - Publica La catedral y el bazar.

    Eric S. Raymond - Publica La catedral y el bazar.
    Importancia: Plantea la Ley de Linus: “Con suficientes ojos, todos los errores son superficiales”.
    Implicación: Vincula la calidad del software con su apertura al escrutinio colectivo.
  • James Bach, Cem Kaner y Bret Pettichord - Publican Lecciones aprendidas en pruebas de software: Un enfoque orientado al contexto.

    James Bach, Cem Kaner y Bret Pettichord - Publican Lecciones aprendidas en pruebas de software: Un enfoque orientado al contexto.
    Aporte: Fundan la Escuela de Pruebas Dirigidas por el Contexto.
    Importancia: Rechazan enfoques rígidos. La prueba se adapta al contexto específico del proyecto​
  • Kent Beck - Publica Test Driven Development: By Example.

    Kent Beck - Publica Test Driven Development: By Example.
    Aporte: Populariza el Desarrollo Guiado por Pruebas (TDD).
    Importancia: Promueve escribir pruebas antes que el código, mejorando diseño y calidad​.
  • Bret Pettichord - Presenta la conferencia Cuatro escuelas de pruebas de software.

    Bret Pettichord - Presenta la conferencia Cuatro escuelas de pruebas de software.
    Aporte: Clasifica los enfoques en: analítica, normativa, orientada a calidad y contextual.
    Importancia: Establece una taxonomía para comprender distintas formas de ver el testing​.
  • Michael Bolton - Se une como coautor del enfoque Rapid Software Testing.

    Michael Bolton - Se une como coautor del enfoque Rapid Software Testing.
    Aporte: Profundiza el rol de la prueba como investigación, no verificación.
    Importancia: Aclara la diferencia entre “probar” y “comprobar” en testing profesional.
  • Erik van Veenendaal - Crea la fundación TMMi.

    Erik van Veenendaal - Crea la fundación TMMi.
    Aporte: Desarrolla el Modelo de Madurez de Pruebas Integrado (TMMi).
    Importancia: Provee un estándar de mejora continua en procesos de prueba
  • Jonathan Bach - Propone la escala de libertad del probador.

    Aporte: Clasifica el grado de autonomía que puede tener un tester, desde “guiado completamente” hasta “exploración libre”.
    Importancia: Revaloriza el rol cognitivo del tester como investigador.
  • Doron Reuveni y Roy Solomon - Publican Guía esencial de crowdtesting.

    Doron Reuveni y Roy Solomon - Publican Guía esencial de crowdtesting.
    Aporte: Introducen el concepto de crowdtesting, inspirado en el crowdsourcing.
    Importancia: Propone probar software en entornos reales con usuarios reales, ampliando la cobertura contextual y de dispositivos.
  • Michael Bolton - Publica Testing vs Checking.

    Michael Bolton - Publica Testing vs Checking.
    Aporte: Diferencia entre “comprobar” (automático) y “probar” (humano, exploratorio).
    Importancia: Cambia la perspectiva sobre el rol activo del tester.
  • Mike Cohn - Publica Triunfando con la agilidad.

    Mike Cohn - Publica Triunfando con la agilidad.
    Aporte: Propone la pirámide de automatización de pruebas, estructurada en tres niveles:
    Pruebas unitarias (base)
    Pruebas de servicios o API (medio)
    Pruebas de interfaz gráfica (cima) Importancia: Establece una estrategia eficaz para la automatización.
  • Lisa Crispin y Janeth Gregory - Publican Pruebas ágiles: Una guía práctica para probadores y equipos ágiles.

    Lisa Crispin y Janeth Gregory - Publican Pruebas ágiles: Una guía práctica para probadores y equipos ágiles.
    Aporte: Integran el testing dentro de la cultura ágil. El capítulo sobre pruebas exploratorias lo escribe junto con Michael Bolton.
    Importancia: Considerado uno de los libros fundacionales del agile testing.
  • Jonathan Kohl - Publica capítulo en Experiencias de automatización de pruebas.

    Jonathan Kohl - Publica capítulo en Experiencias de automatización de pruebas.
    Aporte: Propone un uso creativo de la automatización más allá de regresión: configuración, generación de datos, navegación por flujos. Importancia: Complementa la automatización con pruebas exploratorias manuales para cubrir defectos insidiosos.