-
Tradujo al inglés el artículo de Menabrea sobre la máquina analítica de Babbage e incluyó un algoritmo para el cálculo de números de Bernoulli, considerado el primer programa de computación. Además, advirtió que los errores pueden no ser del “hardware” sino de la programación (“tarjetas con órdenes erróneas”) .
-
En “Checking a Large Routine” propone un método general para verificar la corrección de un programa y recomienda que quien prueba el software sea distinto de quien lo programa
-
En su libro Digital Computer Programming aboga por que el cliente prepare los casos de prueba con antelación, para revelar malentendidos lógicos antes de la ejecución .
-
Diferencia por primera vez entre “probar” y “depurar”, señalando que al inicio de los años 50 no existía aún el concepto de pruebas sistemáticas.
-
En el proyecto Mercurio de la NASA introdujo mini-incrementos con pruebas planificadas, y en 1961 co-escribió Computer Programming Fundamentals, el primer texto con un capítulo dedicado exclusivamente a pruebas, donde enuncia principios como “pensar en la comprobación al codificar”.
-
Elmendorf planteó la evaluación de pruebas funcionales (1967) y el diseño automatizado de librerías de prueba (1970).
-
Bemer participó en la conferencia NATO y elaboró la “lista de chequeo para planificación de sistemas” con preguntas clave de garantía de calidad.
-
Dijkstra, con “Go To Statement Considered Harmful” (1968) inició la programación estructurada y en su discurso del Premio Turing (1972) insistió en la necesidad de pruebas formales para demostrar la corrección del programa .
-
Publicaron Program Test Methods (1973) y en 1988 describieron cuatro modelos de pruebas (demostración, destrucción, evaluación, prevención) en The Growth of Software Testing, además de compilar la Complete Guide to Software Testing .
-
En The Mythical Man-Month (“No hay bala de plata”) señala que las pruebas son esenciales para descubrir defectos conceptuales y que demostrar ausencia de errores sólo es posible con pruebas formales .
-
Gilb enunció las “leyes de la no fiabilidad” (1975) y publicó Software Metrics (1976).
-
Fagan introdujo las inspecciones sistemáticas de diseño y código, reduciendo drásticamente los defectos en IBM
-
McCabe definió la complejidad ciclomática y la prueba de ruta básica.
-
Myers, con Software Reliability (1976) y The Art of Software Testing (1979), acuñó las pruebas de caja negra y afirmó que “el objetivo del probador es hacer que el programa falle”.
-
Howden introdujo el concepto de “oráculo” como mecanismo para determinar el éxito o fallo de una prueba .
-
En Software Engineering Economics muestra que el costo de corregir un defecto crece exponencialmente según la fase de detección y presenta el modelo COCOMO .
-
Martin estimó la distribución de inserción de defectos: 56 % en requisitos, 27 % diseño, 7 % codificación.
-
Grady con Software Metrics: Establishing a Company-Wide Program describió un programa integral de métricas para gestión de calidad
-
Beizer clasificó defectos y definió la “paradoja del pesticida”: cuanto más se prueba un software, más resistente se vuelve a las mismas pruebas .
-
En The Craft of Software Testing aboga por el aprendizaje práctico “como la carpintería”, con enfoque en subsistemas de tamaño medio.
-
En The Cathedral and the Bazaar enuncia la Ley de Linus: “si hay suficientes ojos, todos los errores son superficiales”.
-
en Test Driven Development: By Example re-descubre TDD, escribe las pruebas antes del código y populariza xUnit y XP.
-
Funda la Test Maturity Model Integration (TMMI) para evaluar y mejorar procesos de prueba .
-
En Succeeding with Agile plantea la “pirámide de automatización” (unidad, servicio, UI).
-
Pioneras en pruebas ágiles con Agile Testing y More Agile Testing, integrando exploratorias en equipos completos.
-
Kohl propone utilizar la automatización para llevar acabo tareas tales como configuración de pruebas, generación de datos, y avance a lo largo de un flujo de trabajo y, la utilización de pruebas exploratorias manuales para encontrar aquellos defectos insidiosos que de otro modo escaparían a la atención de los probadores.