-
Period: to
1. Período 1840–1950: Los Primeros Conceptos
No existía el término "software", se usaba "programas" o "rutinas" Los "programas" eran secuencias de instrucciones para máquinas mecánicas La calidad se medía por si la máquina ejecutaba correctamente las tarjetas perforadas No había diferenciación entre hardware y software - los errores se atribuían a la máquina Los primeros computadores electrónicos (ENIAC, 1945) requerían reprogramación física -
Ada Lovelace
Tradujo y amplió el artículo sobre la máquina analítica de Babbage Publicó el primer algoritmo para calcular números de Bernoulli Predijo que las máquinas podrían componer música y generar arte Calidad: Advirtió sobre errores en programas ("órdenes erróneas"). -
Alan Turing
Desarrolló la prueba teórica para verificar la corrección de programas Propuso que los programas debían probarse con entradas representativas Estableció que el probador no debería ser el mismo que el programador -
Period: to
2. Período1951–1970: Nacimiento del Control de Calidad
Surge el término "software" (1958) para diferenciarlo del hardware Aparecen los primeros bugs de software documentados La calidad se centraba en que los programas hicieran cálculos correctos No existían metodologías de prueba - se depuraba sobre la marcha Los lenguajes de alto nivel (FORTRAN, COBOL) introducen nuevos tipos de errores La NASA desarrolla los primeros procesos formales de verificación para el programa Apollo -
Charles Baker
Diferenció conceptualmente entre pruebas (validación) y depuración (corrección) Criticó la práctica común de que los programadores probaran su propio código Propuso que las pruebas debían diseñarse antes de la codificación -
Daniel McCracken
Publicó el primer libro sobre programación de computadoras Estableció que los clientes debían preparar casos de prueba Documentó métodos para verificar programas científicos -
Gerald Weinberg
Documentó los primeros procesos sistemáticos de pruebas en la NASA Introdujo el concepto de pruebas de regresión Desarrolló técnicas para pruebas de sistemas en tiempo real -
Bill Elmendorf
Publicó el primer marco para pruebas funcionales disciplinadas Diseñó bibliotecas de pruebas automatizadas para sistemas de control Propuso pruebas basadas en modelos para software complejo -
Robert Bemer
Participó en la histórica conferencia NATO sobre ingeniería de software Desarrolló el primer checklist para garantía de calidad de software Estableció ratios ideales entre desarrolladores y testers (10:1) -
Edsger Dijkstra
Demostró que el uso excesivo de GOTO hacía imposible verificar programas Desarrolló el concepto de programación estructurada Creó algoritmos para verificación formal de programas -
Period: to
3. Período 1971-1980: Crisis de Calidad
70% de los proyectos de software fallaban (sobrecostos, retrasos o cancelaciones) Los sistemas operativos complejos (UNIX) exponen problemas de calidad Surge el concepto de "ingeniería de software" para abordar la crisis La calidad empieza a medirse por defectos por mil líneas de código IBM desarrolla las primeras métricas formales de calidad Los mainframes corporativos hacen críticos los temas de confiabilidad -
William Hetzel
Organizó el primer simposio sobre métodos de prueba Recopiló casos de estudio de fallos en sistemas críticos Documentó técnicas para pruebas de sistemas complejos -
Frederick Brooks
Analizó por qué los proyectos de software fallaban Demostró que agregar personal retrasaba los proyectos Calculó que el retrabajo consumía el 75% del esfuerzo en proyectos -
Tom Gilb
Desarrolló las primeras métricas cuantitativas de calidad Estableció que la complejidad aumenta exponencialmente los defectos Creó métodos para estimar la confiabilidad de sistemas -
Michael Fagan
Diseñó el proceso formal de inspecciones de código Redujo defectos en sistemas de IBM en un 67% Documentó que las inspecciones encontraban un 60-90% de defectos -
Thomas McCabe
Creó la métrica de complejidad ciclomática Demostró que programas con alta complejidad tenían más defectos Desarrolló pruebas de ruta básica para verificación estructural -
William C. Howden
Acuña el término oráculo para referirse a un mecanismo para determinar si una prueba ha pasado
o fallado. -
Glenford Myers
Publicó el primer libro dedicado exclusivamente a pruebas Desarrolló técnicas sistemáticas de pruebas de caja negra Estableció que el propósito de las pruebas es encontrar fallos -
Barry Boehm
Cuantificó que corregir errores en producción costaba 100x más Desarrolló el modelo COCOMO para estimación de costos Demostró que el 60% de los errores provenían de requisitos -
Period: to
4. Período 1981-1990: Estandarización
El software empresarial (SAP, Oracle) exige nuevos estándares de calidad Surge ISO 9000 para sistemas de calidad en software Aparecen las primeras herramientas CASE para gestión de calidad La PC democratiza el software pero aumenta problemas de calidad Microsoft establece grupos de testing independientes Los virus informáticos muestran nuevos desafíos de calidad/sseguridad -
James Martin
Indica que la distribución de la inserción de defectos en un proyecto de software es la siguiente: 56% de los defectos se introducen durante la fase de requisitos, 27% durante el diseño, y 7% durante la codificación. -
Paul Rook
Creó el Modelo V para desarrollo de software Alineó cada fase de desarrollo con su correspondiente prueba Integró pruebas de sistema, integración y unidad -
Robert Grady
Implementó el primer programa de métricas en HP Clasificó defectos por tipo y fase de introducción Redujo defectos en productos comerciales en un 50% -
Watts Humphrey
Desarrolló el modelo CMM para madurez de procesos Institucionalizó las revisiones formales Documentó que procesos maduros reducen defectos en 75% -
Boris Beizer
Clasificó los defectos por categorías técnicas Descubrió que las pruebas repetidas pierden efectividad Desarrolló técnicas para pruebas de regresión -
Dorothy Graham
Publicó el primer reporte sobre herramientas CAST (Computer Aided Software Testing) Estableció estándares para automatización de pruebas funcionales Co-creó el syllabus de certificación ISTQB (2006) -
Period: to
5. Período 1991-2000: Internet y Agilidad
El Y2K expone problemas de calidad en software heredado Los navegadores web introducen nuevos tipos de errores Surge el testing de compatibilidad entre navegadores Linux muestra el modelo de código abierto como alternativa de calidad Los ERP complejos (SAP R/3) requieren nuevos enfoques de prueba Aparecen las primeras herramientas de testing automatizado (Mercury) -
Brian Marick
Desarrolló técnicas para pruebas en sistemas orientados a objetos Creó los cuadrantes de pruebas ágiles (negocio/tecnología) Firmante del Manifiesto Ágil (2001) -
Paul Jorgensen
Publicó "Pruebas de software: Un enfoque artesanal" Desarrolló técnicas para pruebas de sistemas embebidos Actualizó su obra por 5 ediciones hasta 2022 -
Geoff Dromey
Creó modelo para cuantificar atributos de calidad ISO 9126 Desarrolló métricas para características intangibles de software Vinculó calidad de código con propiedades medibles -
James Bach
Inventó el Modelo de Estrategia Heurística de Pruebas Fundó la escuela Context-Driven Testing Creó Rapid Software Testing (RST) -
Eric Raymond
Formuló la "Ley de Linus" sobre desarrollo open source Demostró que la revisión masiva reduce defectos Documentó el modelo bazar para desarrollo colaborativo -
Jonathan Bach
Desarrolló el enfoque de pruebas basadas en sesiones Creó la escala de libertad del tester Integró pruebas exploratorias en procesos formales -
Period: to
6. Período 2001-2024: Era de DevOps
Shift-left testing lleva calidad a fases tempranas del desarrollo CI/CD exige automatización total de pruebas La nube permite testing en múltiples configuraciones Big Data introduce desafíos de calidad en grandes volúmenes IoT requiere testing en miles de dispositivos diferentes AI/ML crea nuevos paradigmas para testing automatizado -
Kent Beck
Popularizó Test-Driven Development (TDD) Creó la familia de herramientas xUnit Integró pruebas unitarias en Extreme Programming -
Bret Pettichord
Clasificó escuelas de pensamiento en testing Desarrolló el modelo de pruebas basadas en riesgos Integró enfoques ágiles con testing tradicional -
Michael Bolton
Diferenció conceptualmente "testing" vs "checking" Co-desarrolló Rapid Software Testing Enfatizó el pensamiento crítico en pruebas -
Erik Van Veenendaal
Lideró el desarrollo del modelo TMMI Estableció estándares para madurez en procesos de prueba Integró mejores prácticas de testing en CMMI -
Doron Reuveni
Pionero en crowdtesting comercial Desarrolló plataformas para pruebas distribuidas Optimizó cobertura de testing con comunidades globales -
Lisa Crispin
Estandarizó pruebas en equipos ágiles Desarrolló estrategias de automatización progresiva Promovió la colaboración continua Dev-Test-Ops -
Mike Cohn
Creó la pirámide de automatización de pruebas Integró testing en Scrum mediante Definition of Done Desarrolló métricas ágiles para calidad -
Jonathan Kohl
Expandió usos de automatización más allá de regresión Integró pruebas exploratorias en pipelines CI/CD Desarrolló técnicas para testing en dispositivos móviles