-
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. -
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. -
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. -
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
-
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. -
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. -
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. -
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. -
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. -
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. -
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. -
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. -
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. -
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" -
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. -
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. -
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. -
Acuñó el término oráculo para referirse al mecanismo que determina si una prueba ha pasado o fallado.
-
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. -
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.
-
Identificó que la mayoría de los defectos en un proyecto de software se originan en las fases tempranas, especialmente en los requisitos.
-
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. -
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. -
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. -
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. -
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. -
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. -
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. -
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. -
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.
-
Propuso un modelo de calidad para hacer más tangibles las características descritas en la norma ISO/IEC 9126.
-
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. -
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.
-
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. -
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 -
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. -
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.
-
Coautor de la metodología Rapid Software Testing.
Distingue los conceptos probar (explorar, descubrir) y comprobar (verificar de forma automatizada). -
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.
-
Introdujo el término de crowdtesting, que consiste en realizar pruebas en entornos reales con usuarios diversos, aprovechando el enfoque de crowdsourcing.
-
Propune la pirámide de automatización de pruebas, un modelo que equilibra los niveles de pruebas automatizadas en unidades, servicios y UI.
-
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. -
Promovió un enfoque amplio de la automatización más allá de regresión.
Propone las pruebas exploratorias manuales para detectar defectos sutiles.