Evolución de la calidad de software - Gabriel Jaya

  • Period: to

    Período 1840-1950

  • Ada Lovelace

    Ada Lovelace
    1840: Traduce el artículo "Boceto del motor analítico inventado por Charles Babbage" del francés al inglés.
    1843: Añade un algoritmo al artículo traducido para calcular números de Bernoulli en la máquina analítica, lo que se considera el primer programa de computación de la historia.
  • Alan Turing

    Alan Turing
    Alan Turing (1912-1954) Considerado el padre de la ciencia de la computación y la inteligencia artificial.
    Desarrolla la idea de la Máquina de Turing en 1936, un concepto matemático fundamental para la teoría de la computación.
    Durante la Segunda Guerra Mundial, Turing fue parte del equipo que descifró el código de la máquina Enigma de los nazis, lo que aceleró el fin del conflicto.
  • Period: to

    Período 1951-1970

  • Daniel D. McCracken

    Daniel D. McCracken
    Publica el libro “Programación de computadores digitales”, considerado uno de los primeros textos sobre programación.
    Introduce la idea de que los clientes deben preparar los casos de prueba para detectar errores lógicos y malentendidos con los programadores.
  • Charles L. Baker

    Charles L. Baker
    Publica una reseña sobre el libro de McCracken y explica la diferencia entre probar programas y depurarlos.
    Antes de los años 50, los desarrolladores no diferenciaban entre pruebas y depuración, enfocándose más en la corrección de errores que en las pruebas formales.
  • Gerald M. Weinberg

    Gerald M. Weinberg
    Trabaja en el proyecto Mercurio de la NASA, donde aplica la técnica de mini-incrementos con pruebas previas a cada incremento de desarrollo.
    Establece principios clave:
    Escribir correctamente el programa desde el inicio.
    Pensar en las pruebas al codificar.
    Conocer las herramientas de depuración.
    Hacer que el programa demuestre que funciona.
  • Bill Elmendorf

    Publica el artículo “Evaluación de las pruebas funcionales de programas de control” donde se presenta la necesidad de pruebas funcionales disciplinadas.
    En 1970, propone el uso de pruebas basadas en modelos para mejorar la calidad del software.
  • Edsger Dijkstra

    Edsger Dijkstra
    Escribe una carta a la revista ACM criticando el uso del Go To, marcando el inicio de la programación estructurada.
    En 1972, recibe el Premio Turing y en su discurso “El humilde programador” expone que la mejor manera de mejorar la calidad del software no es depurando errores, sino evitándolos desde el principio.
  • Paul E. Rook

    Creador del Modelo V para desarrollo de software, asociando fases de desarrollo con fases de pruebas.
  • Robert W. Bemer

    Robert W. Bemer
    Participa en la primera Conferencia de Ingeniería de Software de la OTAN, donde se discuten temas como la garantía de calidad de software.
    Publica el libro “Lista de chequeo para planificar la producción de sistemas de software”, en el cual establece preguntas clave para asegurar la calidad del software, como si los productos han sido probados para satisfacer las necesidades del cliente.
  • Period: to

    Período 1971-2000

  • William C. Hetzel

    William C. Hetzel
    Organización de la primera conferencia internacional sobre pruebas de software en 1984.
    Desarrollo de metodologías y principios en pruebas de software.
  • Frederick Brooks

    Frederick Brooks
    Autor de "El mítico hombre-mes", que discute la gestión de proyectos de software y la importancia de las pruebas.
  • Tom Gilb

    Tom Gilb
    Pionero en métricas de software y enfoques de inspección de software.
  • Michael E. Fagan

    Michael E. Fagan
    Desarrollo de procesos sistemáticos de inspección de diseño y código.
  • Thomas J. McCabe

    Introducción de la complejidad ciclomática como métrica de control de la complejidad del software.
  • Glenford Myers

    Glenford Myers
    Autor de "Fiabilidad del software: Principios y prácticas", introduciendo conceptos clave como las pruebas de caja negra.
  • William C. Howden

    Acuñador del término "oráculo" para la evaluación de pruebas de software.
  • Barry W. Boehm

    Barry W. Boehm
    Desarrollador del Modelo de Costos Constructivos (COCOMO) y contribuciones a la economía de la ingeniería de software.
  • James Martin

    James Martin
    publica el libro "Manifiesto de los sistemas de información", donde aborda la importancia de los sistemas de información en la transformación digital de las organizaciones.
  • David Gelperin

    Organización de la primera conferencia internacional sobre pruebas de software en 1984.
  • Robert B. Grady

    Robert B. Grady
    Desarrollo de métricas de software y estrategias para la mejora de procesos.
  • Cem Kaner

    Cem Kaner
    Autor de "Pruebas de software informático" y promotor de la Escuela de Pruebas Dirigidas por el Contexto.
  • Watts Humphrey

    Watts Humphrey
    Creador del Modelo de Madurez de Capacidades (CMM) y otros procesos para la mejora del proceso de software.
  • Boris Beizer

    Boris Beizer
    Clasificación de defectos de software y desarrollo de técnicas de pruebas.
  • Dorothy Graham

    Dorothy Graham
    Autora de libros sobre automatización de pruebas y participante en el desarrollo de estándares de certificación ISTQB.
  • Brian Marick

    Brian Marick
    Autor del libro "El arte de las pruebas de software", enfocado en pruebas ágiles y técnicas de pruebas basadas en objetos.
  • Paul C. Jorgensen

    Paul C. Jorgensen
    Autor de "Pruebas de software: Un enfoque artesanal", evolucionando con las tecnologías en pruebas de software.
  • R. Geoff Dromey

    R. Geoff Dromey
    En 1996, Dromey publica el artículo "Acorralando a la quimera", en el cual propone un modelo de calidad para abordar las dificultades que presenta la intangibilidad de las características de calidad en la norma ISO/IEC 9126:1991, titulada "Ingeniería de Software - Calidad de Producto".
  • James Bach

    James Bach
    Bach ha sido un defensor de la experimentación en el proceso de pruebas, promoviendo la idea de que las pruebas son un arte que se perfecciona a través de la práctica y la reflexión.
    Su enfoque en heurísticas ha llevado a una mejor comprensión de cómo los testers pueden adaptarse a diferentes contextos y desafíos.
  • Eric S. Raymond

    Eric S. Raymond
    La Ley de Linus ha sido un principio clave en el desarrollo de software de código abierto, impulsando la colaboración y el escrutinio colectivo como formas de mejorar la calidad del software.
  • Jonathan Bach

    Jonathan Bach
    La gestión de pruebas basada en la sesión ha revolucionado la forma en que se llevan a cabo las pruebas exploratorias, promoviendo un enfoque más estructurado y eficaz.
    La escala de libertad del probador ha ayudado a los testers a entender y manejar su autonomía en el proceso de pruebas, fomentando una cultura de responsabilidad y creatividad.
  • Period: to

    Período 2001-2020

  • Kent Beck

    Kent Beck
    Publica "Desarrollo dirigido por pruebas: Mediante el ejemplo" (2002), donde re-descubre la técnica de Desarrollo Guiado por las Pruebas (TDD), que implica escribir las pruebas antes de escribir el código.
    Introduce programación extrema (XP), que enfatiza la colaboración y la adaptabilidad en el desarrollo de software.
    Contribuye a la creación de patrones de software y a la familia de herramientas de pruebas unitarias xUnit.
  • Bret Pettichord

    Bret Pettichord
    En 2003, presenta la conferencia "Cuatro escuelas de pruebas de software", donde clasifica las escuelas de pensamiento en pruebas de software como:
    Analítica
    Dirigida por normas
    Orientada hacia la calidad
    Dirigida por el contexto
    Posteriormente, incluye la escuela ágil, promoviendo una visión integral de las metodologías de prueba.
  • Michael Bolton

    Michael Bolton
    En 2004, se convierte en co-autor de la metodología RST (Rapid Software Testing) creada por James Bach.
    En 2009, publica el artículo "Probando vs. comprobando", donde distingue entre:
    Comprobar: Confirmar y validar utilizando herramientas automáticas.
    Probar: Proceso de exploración y descubrimiento llevado a cabo por los probadores.
  • Erik Van Veenendaal

    Erik Van Veenendaal
    En 2005, crea la Fundación TMMI junto a otros expertos para desarrollar el Modelo de Madurez de Pruebas Integrado (TMMI).
    El modelo TMMI ayuda a evaluar y mejorar el proceso de pruebas en las organizaciones, basándose en el modelo TMM anterior, desarrollado en 1996.
  • Doron Reuveni

    Doron Reuveni
    En 2007, junto con Roy Solomon, publica "Guía esencial de crowdtesting".
    Introduce el término crowdtesting, que se refiere a la realización de pruebas a través de grupos de voluntarios, buscando contextos de uso variados y dispositivos.
  • Mike Cohn

    Mike Cohn
    En 2009, publica "Triunfando con la agilidad", donde presenta la pirámide de automatización de pruebas.
    Argumenta que una estrategia eficaz de automatización debe incluir tres niveles:
    Pruebas unitarias: En la base, muchas y granulares.
    Pruebas de integración: Interacciones entre componentes.
    Pruebas E2E: Verificación del software completo desde el inicio hasta el final.