Evolución de la calidad de software - Sánchez Doménica

  • Ada Lovelace

    Ada Lovelace
    Fue pionera de la computación al escribir el primer algoritmo destinado a ser ejecutado por una máquina (la máquina analítica de Babbage).
    La primera programadora de la historia.
    Anticipó el potencial de las computadoras más allá del cálculo numérico y reconoció la importancia del software y los errores de programación.
  • Period: to

    Período 1840-1950

    Se marca el nacimiento de la computación, desde la creación del primer algoritmo hasta los fundamentos teóricos de la programación y verificación de software.
    Surge las bases de la ciencia de la computación moderna.
  • Alan Turing

    Alan Turing
    Sentó las bases de la verificación de programas al proponer métodos para comprobar su corrección.
    Señaló la importancia de separar las tareas de programación y prueba.
  • Period: to

    Período 1951-1970

    Se marcó la transición de una programación informal hacia prácticas sistemáticas de calidad de software. Se introdujeron los primeros libros de programación, se diferenciaron claramente las pruebas de la depuración, y se comenzaron a establecer fundamentos teóricos, prácticos y humanos del aseguramiento de calidad
  • Charles L. Baker

    Charles L. Baker
    Diferenció por primera vez los conceptos de prueba y depuración.
    Marcó el inicio de una visión más estructurada de la calidad del software.
  • Daniel D. McCracken

    Daniel D. McCracken
    Publicó en 1957 el primer libro sobre programación “Programación de computadores digitales”.
    En su libro destacó la importancia de que el cliente prepare casos de prueba para detectar errores y malentendidos en el software.
  • Gerald M. Weinberg

    Gerald M. Weinberg
    Introdujo técnicas de prueba anticipada en el desarrollo incremental (NASA, 1958).
    Publicó (1961) el primer libro con un capítulo dedicado a pruebas de software-
    Profundizó en el factor humano del desarrollo de software.
    Demostró la importancia de la prueba como proceso limitado pero necesario.
  • Bill Elmendorf

    Bill Elmendorf
    Introdujo la necesidad de un enfoque disciplinado para las pruebas funcionales.
    Propuso el uso de pruebas basadas en modelos, sentando bases para la automatización.
  • Edsger Dijkstra

    Edsger Dijkstra
    Marcó el inicio de la programación estructurada con su carta “Sentencia Go To considerada perjudicial”
    Argumentó que las pruebas no son suficientes para garantizar la ausencia de errores
    Propuso la demostración formal de corrección como método eficaz.
  • Robert W. Bemer

    Robert W. Bemer
    Impulsó la garantía de calidad de software en la planificación del desarrollo con el documento “Lista de chequeo para planificar la producción de sistemas de software” .
    Con preguntas clave que promovió la garantía de la calidad de software.
  • Period: to

    Período 1971 - 1980

    Durante este periodo, las pruebas de software se consolidaron como una disciplina formal.
    Se reconoció la importancia del error humano, la fiabilidad y la necesidad de verificar no solo el código, sino también los conceptos detrás del software.
  • William C. Hetzel y David Gelperin

    William C. Hetzel y David Gelperin
    Promovieron la profesionalización de las pruebas de software.
    Organizaron las primeras conferencias dedicadas al tema de Pruebas de software.
    Propusieron modelos conceptuales de prueba: demostración, destrucción, evaluación y prevención.
  • Frederick Brooks

    Frederick Brooks
    Señaló la complejidad de especificar, diseñar y probar software como el mayor reto en su desarrollo.
    Destacó el rol dual del probador como adversario y colaborador del programador.
  • Tom Gilb

    Tom Gilb
    Introdujo la noción de fiabilidad del software y su relación con el error humano.
    Presentó una gran variedad de métricas de software con su libro "Métricas de software"
  • Michael E. Fagan

    Michael E. Fagan
    Propuso el proceso formal de inspecciones de diseño y código como método efectivo para reducir defectos y costos de retrabajo.
    IBM implementa las inspecciones de Fagan, logrando importantes mejoras en calidad.
  • Thomas J. McCabe

    Thomas J. McCabe
    Introdujo la métrica de complejidad ciclomática basada en teoría de grafos
    Propuso la técnica de prueba de ruta básica como método de prueba estructural.
  • Glenford Myers

    Glenford Myers
    Enfatizó que el objetivo de las pruebas es hacer fallar al programa.
    Establece la terminología base de las pruebas de software.
    Introdujo el concepto de pruebas de caja negra.
  • William C. Howden

    William C. Howden
    Acuñó el término oráculo para referirse al mecanismo que determina si una prueba ha pasado o fallado.
  • Barry W. Boehm

    Barry W. Boehm
    Introdujo el concepto del costo creciente del retrabajo en el ciclo de vida del software.
    Desarrolló el modelo de costos constructivos COCOMO para estimar costos en proyectos de software - costeo de software.
  • Period: to

    Período 1981-1990

    Durante este periodo se consolidó la calidad de software como una preocupación estratégica, con aportes clave en estimación de costos, mejora de procesos, pruebas estructuradas y exploratorias, y uso extensivo de métricas.
  • James Martin

    James Martin
    Identificó que la mayoría de los defectos en un proyecto de software se originan en las fases tempranas, especialmente en los requisitos.
  • Paul E. Rook

    Paul E. Rook
    Propuso el Modelo V de desarrollo, que relaciona cada etapa del ciclo de vida con su fase correspondiente de prueba.
    Promueve un enfoque estructurado y paralelo de desarrollo y validación.
  • Robert B. Grady

    Robert B. Grady
    Popularizó el uso de métricas de software en la industria, desarrolló una taxonomía de defectos en Hewlett-Packard
    Aplicó el ciclo PDCA para mejorar procesos de software.
  • Cem Kaner

    Cem Kaner
    Impulsó el concepto de prueba exploratoria.
    Introduce la noción de escuelas de pensamiento de las pruebas de software.
    Fue pionero de la Escuela de Pruebas Dirigidas por el Contexto.
    Influyó en leyes en EE.UU de licenciamiento de software, regulación de la calidad de software, y comercio electrónico.
  • Watts Humphrey

    Watts Humphrey
    Considerado el padre de la calidad de software por sus contribuciones a la mejora del proceso de software.
    Fundó el programa de mejora de procesos de software en el SEI (Instituto de Ingeniería de Software).
    Desarrolló los modelos y procesos CMM (modelo
    de madurez de las capacidades), PSP ( proceso personal de software ) y TSP (proceso de software en equipo), sentando las bases para la mejora continua en equipos e individuos del desarrollo de software.
  • Boris Beizer

    Boris Beizer
    Clasificó los defectos de software.
    Formuló la paradoja del pesticida, que señala que repetir los mismos casos de prueba reduce su efectividad con el tiempo.
  • Dorothy Graham

    Dorothy Graham
    Pionera en automatización de pruebas
    Publicó obras fundamentales sobre CAST
    Colaboró con la creación del libro base del programa de certificación ISTQB para testers.
  • Period: to

    Período 1991-2000

    Estuvo marcado por la profesionalización de las pruebas, la automatización, y el surgimiento de nuevos enfoques como la prueba exploratoria y las metodologías dirigidas por el contexto.
    Se consolidaron estándares como ISTQB y prácticas como el testing basado en sesiones.
  • Brian Marick

    Brian Marick
    Promotor de las pruebas como oficio práctico, manifiesta que probar software es un oficio.
    Aportó al pensamiento ágil con los cuadrantes de pruebas y su participación en el Manifiesto Ágil.
  • Paul C. Jorgensen

    Paul C. Jorgensen
    Autor de un texto de referencia que consolidó técnicas de prueba desde un enfoque artesanal, adaptándose a la evolución tecnológica de las pruebas de software.
  • R. Geoff Dromey

    R. Geoff Dromey
    Propuso un modelo de calidad para hacer más tangibles las características descritas en la norma ISO/IEC 9126.
  • James Bach

    James Bach
    Propone el Modelo de Estrategia de Pruebas Heurísticas para enfatizar que se debe tomar en cuenta el ambiente del proyecto, los elementos del producto, y los criterios de calidad.
    Crea la y la metodología Rapid Software Testing alineada con la Escuela de Pruebas Dirigidas por el Contexto.
  • Eric S. Raymond

    Eric S. Raymond
    Definió la Ley de Linus en el contexto del software libre al publicar su libro "La catedral y el bazar", destacando cómo la revisión masiva del código facilita la detección de errores.
  • Jonathan Bach

    Jonathan Bach
    Introdujo la gestión de pruebas basada en sesiones y la escala de libertad del probador.
    Resaltó el valor del pensamiento independiente en las pruebas.
  • Period: to

    Período 2001-2024

    Se refleja la consolidación de enfoques ágiles en pruebas de software.
    Se destaca metodologías como TDD, pruebas exploratorias, y RST.
    Se desarrollan modelos de madurez como TMMi.
    Se amplió la automatización de pruebas en múltiples niveles, y surgieron nuevas prácticas como el crowdtesting
  • Kent Beck

    Kent Beck
    Re-descubre el Desarrollo Guiado por Pruebas (TDD).
    Impulsa la escritura de pruebas antes del código.
    Es pionero en la programación extrema (XP) y las herramientas xUnit.
  • Bret Pettichord

    Bret Pettichord
    Propuso las cuatro escuelas de pensamiento en pruebas de software (analítica, dirigida por normas, orientada hacia la calidad y dirigida por el contexto), que luego se incorporaron con la escuela ágil.
  • Michael Bolton

    Michael Bolton
    Coautor de la metodología Rapid Software Testing.
    Distingue los conceptos probar (explorar, descubrir) y comprobar (verificar de forma automatizada).
  • Erik Van Veenendaal

    Erik Van Veenendaal
    Co-creador del modelo TMMI ( Test Maturity Model Integration ), un marco para evaluar y mejorar la madurez de los procesos de prueba en las organizaciones.
  • Doron Reuveni

    Doron Reuveni
    Introdujo el término de crowdtesting, que consiste en realizar pruebas en entornos reales con usuarios diversos, aprovechando el enfoque de crowdsourcing.
  • Mike Cohn

    Mike Cohn
    Propune la pirámide de automatización de pruebas, un modelo que equilibra los niveles de pruebas automatizadas en unidades, servicios y UI.
  • Lisa Crispin

    Lisa Crispin
    Coautora del libro "Pruebas ágiles" pionero en la disciplina de las pruebas ágiles.
    Coautora del libro "Más pruebas ágiles: Viajes de aprendizaje para todo el equipo" enfocada en integrar la calidad en todo el equipo y adaptarse a contextos cambiantes.
  • Jonathan Kohl

    Jonathan Kohl
    Promovió un enfoque amplio de la automatización más allá de regresión.
    Propone las pruebas exploratorias manuales para detectar defectos sutiles.