-
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”.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.