-
Publica el primer algoritmo para la Máquina Analítica de Babbage, considerado el primer programa de computación. Es la primera en prever que los errores pueden surgir no solo del hardware, sino también de la programación. -
-
Propone un método para verificar la corrección de rutinas, sentando las bases de la verificación de programas. Destaca que el probador debe ser distinto del programador. -
-
Introdujo la distinción entre pruebas y depuración, destacando la importancia de un enfoque disciplinado en pruebas de software. -
Publica el primer libro sobre programación que destaca la importancia de las pruebas en la verificación del software. -
Introduce los principios de las pruebas de software basados en su experiencia en el proyecto Mercurio de la NASA. -
Introduce el concepto de pruebas funcionales sistemáticas. -
Publica el documento "Lista de chequeo para planificar la producción de sistemas de software", que incluye calidad de software -
Critica el uso del "Go To" en la programación, impulsando la programación estructurada, lo que facilita las pruebas de software. -
-
Publica el libro Métodos de prueba de programas, compila artículos sobre validación y pruebas de software, y co-organiza la primera conferencia exclusivamente sobre pruebas de software. -
Publica El mítico hombre-mes, donde señala que el costo de corregir errores aumenta con el tiempo y que la especificación, diseño y pruebas conceptuales son más difíciles que corregir errores sintácticos. -
Publica el artículo Leyes de la no fiabilidad, conceptualizando la relación entre error humano y error de sistema, y desarrolla el libro Métricas de software. -
Introduce la complejidad ciclomática como métrica de software para controlar la complejidad y propone la prueba de ruta básica. -
Propone un proceso sistemático de inspección de diseño y código para reducir el costo del retrabajo. -
Publica el libro Fiabilidad del software: Principios y prácticas, donde proclama que "el objetivo de los probadores es hacer que el programa falle". En 1979, establece la terminología base de las pruebas de software en El arte de las pruebas de software. -
Acuña el término oráculo para referirse a un mecanismo que determina si una prueba ha pasado o fallado. -
Publica Economía de la ingeniería de software, introduce el concepto del costo de retrabajo y el modelo COCOMO para el costeo de software. -
Publica Manifiesto de los sistemas de información donde indica que el 56% de los defectos de software se introducen en la fase de requisitos. -
Presenta el Modelo V para desarrollo de software, estructurando fases de desarrollo y pruebas. -
Publica Métricas de software, presentando un programa de métricas y una taxonomía de defectos de software para prevenir defectos futuros. -
Publica Pruebas de software informático, introduce el término prueba exploratoria y establece la Escuela de Pruebas Dirigidas por el Contexto. -
Desarrolla el Modelo de Madurez de Capacidades (CMM) para mejorar la calidad y productividad del desarrollo de software. -
Introduce la paradoja del pesticida, destacando que las pruebas repetitivas hacen que el software se vuelva inmune a las pruebas aplicadas. -
Publica el Reporte sobre pruebas de software asistidas por computador (CAST) y co-escribe el libro Automatización de pruebas de software en 1999. -
Publica El arte de las pruebas de software y en 2001 es co-autor del Manifiesto Ágil. Define los cuadrantes de pruebas ágiles en 2003. -
Publica Pruebas de software: Un enfoque artesanal, una referencia en tecnologías de pruebas de software. -
Introduce el Modelo de Estrategia de Pruebas Heurísticas y en 2001 crea la metodología Pruebas Rápidas de Software. -
Propone un modelo de calidad para resolver la intangibilidad de las características de calidad en la norma ISO/IEC 9126. -
Publica La catedral y el bazar, estableciendo la Ley de Linus que afirma que "si hay suficientes ojos, todos los errores son superficiales". -
Propone la gestión de pruebas basada en la sesión y desarrolla la escala de libertad del probador en 2007. -
-
Publica Desarrollo dirigido por pruebas y populariza la técnica TDD (Desarrollo Guiado por las Pruebas). -
Propone las cuatro escuelas de pruebas de software: analítica, dirigida por normas, orientada hacia la calidad, y dirigida por el contexto. -
Distingue entre probar y comprobar software, destacando que probar implica exploración y descubrimiento. -
Crea la Fundación TMMI para desarrollar el Modelo de Madurez de Pruebas Integrado (TMMI). -
Introduce el concepto de crowdtesting para incluir pruebas en el entorno natural del usuario. -
Propone la pirámide de automatización de pruebas en su libro Triunfando con la agilidad. -
Publica Pruebas ágiles: Una guía práctica para probadores y equipos ágiles, pionera en pruebas ágiles. -
Propone el uso de la automatización en tareas de configuración y generación de datos, destacando la importancia de las pruebas exploratorias manuales.