-
Period: to
Período 1840-1950
-
Ada Lovelace
- Ada realizó el primer programa de la historia, un algoritmo para calcular números de Bernoulli.
- Ayudo con la programación de la maquina analítica, dispositivo mecánico programable mediante tarjetas perforadas.
- Concluyo que las computadoras no realizan solo cálculos numéricos, incluyendo aplicaciones en música, arte y ciencia.
- Explicó como los errores pueden ser de hardware y software. Pionera de la computación
-
Alan Turing
- Propuso un método general de prueba, base de la verificación formal de programas.
- Propuso que el tester debe ser independiente del programador para evitar sesgos.
- Las aserciones (afirmaciones lógicas) deben usarse para verificar segmentos de código. El Genio que salvo al MUNDO
-
Period: to
Período 1951-1970
-
Daniel D. McCracken
- Publico el primer texto formal sobre programación llamado "Programación de computadores digitales".
- Declara que los casos de prueba deberían ser preparados por los clientes. 2.1 Permitiendo detectar en el programa si existen errores lógicos. 2.2 Los malentendidos entre el programador y el cliente se reducen.
- Daniel dio a entender la importancia de la colaboración cliente-desarrollador en el proceso de validación.
-
Charles L. Baker
- Baker explicaba la distinción entre probar programas y depurarlos. 1.1 Años 50: Tratar de arreglar defectos en lugar de prevenir errores mediante pruebas sistemáticas. 1.2 Proceso de desarrollo: Desarrolladores escribían el código y, al encontrar un defecto, lo analizaban y depuraban. Invention of the First Friction Heater
-
Gerald M. Weinberg
- Gerald y Herbert D. Leeds publicaron el libro "Fundamentos de la programación informática".
- EN 1961 publico un libro donde integro un capitulo dedicado a pruebas de software.
- Weinberg fue pionero en integrar principios de calidad.
- Establece que "No hay relación entre el tamaño del error y el problema que causa."
- Gerald afirmo que "Probar más no garantiza mayor calidad"
-
Bill Elmendorf
Bill Elmendorf publica un artículo destacando la necesidad de un enfoque disciplinado para pruebas funcionales de software. -
Robert W. Bemer
- Robert participa en la Conferencia NATO sobre Ingeniería de Software, abordando garantía de calidad de software. 2 Un documento importante llamado "Lista de chequeo para planificar la producción de sistemas de software", aborda: -Pruebas para utilidad del cliente y cumplimiento de especificaciones. -Validación de los programas de prueba con los mismos estándares que el software probado.
- Incluir 1 persona en calidad por cada 10 en desarrollo.
-
Edsger Dijkstra
- Publica "Go To Considered Harmful", criticando el uso excesivo de GOTO y promoviendo la programación estructurada para facilitar las pruebas.
- En el discurso llamado "El humilde programador", propone: -La depuración no debe ser la solución; hay que evitar errores desde el diseño. -"Las pruebas muestran defectos, pero no garantizan su ausencia". -La verificación formal es esencial para confiar en un programa.
-
Period: to
Período 1971-1980
-
William C. Hetzel
- Hetzel publica "Métodos de prueba de programas", recopilando avances en validación y pruebas de software.
-
Frederick Brooks
- Menciona que un programa depurado cuesta 3 veces más que su desarrollo inicial.
- Frederick argumenta que le tester tiene un rol dual. 2.1 Adversario: Diseña pruebas basadas en especificaciones para validar el sistema. 2.2 Aliado: Provee datos para depuración durante el desarrollo.
- Afirma que los mayores errores no son de código, sino de diseño conceptual y especificaciones.
-
Tom Gilb
- Tom em 1975 publica "Leyes de la no fiabilidad", pionero en analizar fiabilidad del software y la relación entre error humano y error del sistema.
- Publica en 1976 un libro llamado "Métricas de software", obra de referencia con métricas clave para evaluar calidad y rendimiento.
-
Michael E. Fagan
- Michael propuso las inspecciones formales de diseño y código para reducir errores y costos de retrabajo.
-
Thomas J. McCabe
- Introdujo la complejidad ciclomática, una métrica basada en teoría de grafos para medir la complejidad estructural de un programa, independiente de su tamaño o lenguaje.
- Thomas propuso la prueba de ruta básica para diseñar casos de prueba basados en flujos de control.
-
Glenford Myers
- Glenford en 1976 Publica "Fiabilidad del software: Principios y prácticas".
- Propone que "El objetivo de los probadores es hacer que el programa falle".
- En 1979 establece terminología base de las pruebas de software. Ademas, introduce el concepto de pruebas de caja negra (basadas en especificaciones, sin ver código).
-
William C. Howden
- Acuñó el término "oráculo" en pruebas de software, definiéndolo como el mecanismo para determinar si un caso de prueba aprueba o falla.
-
Barry W. Boehm
- Barry en 1981 introdujo la relación entre el costo de retrabajo y las fases del ciclo de vida del software: "Corregir un defecto en etapas tardías es exponencialmente más costoso que en fases tempranas".
- Participo en el modelo COCOMO, que es una herramienta para estimar costos y esfuerzos en desarrollo de software, considerando tamaño y complejidad.
-
Period: to
Período 1981-1990
-
William C. Hetzel y David Gelperin
- William C. Hetzel y David Gelperin organizan la primera conferencia internacional exclusiva sobre pruebas de software.
- Publican "El crecimiento de las pruebas de software", definiendo 4 modelos clave: -Demostración (cumplimiento de especificaciones). -Destrucción (detección de fallos). -Evaluación (detección de defectos en requisitos/diseño). -Prevención (evitar defectos desde el inicio).
-
James Martin
- James analizo como es la distribución de defectos en el desarrollo de software.
- 56% en fase de requisitos.
- 27% en diseño.
- 7% en codificación .
- Argumenta que la calidad debe abordarse desde las etapas iniciales (requisitos y diseño), no solo en pruebas.
- James analizo como es la distribución de defectos en el desarrollo de software.
-
Paul E. Rook
- Propuso el Modelo V como alternativa estructurada al Modelo Cascada, integrando pruebas en cada fase del desarrollo. Modelo V
-
Robert B. Grady
- Publico el libro "Métricas de software: Establecimiento de un programa para toda la empresa", donde aborda:
- Fundamentos de métricas de software: definición, utilidad y aplicación en entornos empresariales.
- En 1992 publica su libro "Métricas de software prácticas para la gestión de proyectos y mejora de procesos".
- "Mejora exitosa de los procesos de software" se publica en 1996. Aplicación del ciclo PDCA
-
William C. Hetzel
- Hetzel publica "Guía completa de pruebas de software", metodologías y técnicas.
-
Cem Kaner
- En el libro "Pruebas de software informático", aborda el enfoque dinámico y adaptativo, combinando diseño y ejecución de pruebas en tiempo real.
- Fundación de la Escuela de Pruebas Dirigidas por el Contexto en 1999.
- En 2001, defiende pruebas adaptativas, centradas en riesgos y necesidades específicas del cliente, en su libro "Lecciones aprendidas en pruebas de software"
-
Watts Humphrey
- Publica "Gestión del proceso de software" y crea el CMM, un marco para evaluar y mejorar la calidad de los procesos de desarrollo de software mediante niveles de madurez.
- PSP: prácticas industriales, enfocándose en métricas personales y autogestión de calidad. 3.TSP: enfocado en equipos, combinando disciplina individual con coordinación grupal para proyectos complejos.
- Fundó el programa de procesos del SEI. CMM
-
Boris Beizer
- En su libro "Técnicas de pruebas de software", propone una taxonomía sistemática de defectos, facilitando su identificación, análisis y prevención.
- Propone que las pruebas deben evolucionar (nuevas técnicas, datos, enfoques) para evitar "ceguera" ante errores.
-
Dorothy Graham
- Publico el libro "Reporte sobre pruebas de software asistidas por computador (CAST)".
- Estableció principios y mejores prácticas para la automatización efectiva, en su libro "Automatización de pruebas de software".
- Dorothy publico en 2006 el libro "Fundamentos de las pruebas de software: Certificación ISTQB".
-
Period: to
Período 1991-2000
-
Brian Marick
- Propone las técnicas para probar subsistemas complejos en su libro "El arte de las pruebas de software".
- Integró la visión de pruebas dentro de los valores ágiles.
-
Paul C. Jorgensen
- Publico el libro "Pruebas de software: Un enfoque artesanal", donde combina fundamentos teóricos con técnicas prácticas, destacando el testing como una disciplina estructurada pero adaptable.
-
R. Geoff Dromey
- Escribió el articulo "Acorralando a la quimera", donde propone un modelo de calidad para materializar las características intangibles de la norma ISO/IEC 9126:1991.
-
James Bach
- Propuso algunos patrones para seleccionar técnicas de prueba:
- Contexto del proyecto.
- Elementos del producto.
- Criterios de calidad.
- Propone las Pruebas Rápidas de Software.
- Propuso algunos patrones para seleccionar técnicas de prueba:
-
Eric S. Raymond
- Eric propone el modelo de desarrollo "Bazar".
- Hace mención de las 19 pautas para software open-source, donde se incluyen: "liberar rápido, iterar menudo" y "tratar a los usuarios como co-desarrolladores". Catedral vs Bazar
-
Jonathan Bach
- En los 2000 publica "Gestión de pruebas basada en la sesión", donde menciona la sesión de pruebas.
- Misión clara.
- Pruebas exploratorias.
- Reporte detallado de hallazgos al finalizar.
- Menciona que "La escala modela el grado en que se nos permite pensar".
-
Period: to
Período 2001-2024
-
Kent Beck
- Kent publica en el 2002 su libro "Desarrollo Guiado por Pruebas (TDD)"
- Propone una técnica revolucionaria, que se base en "Escribir pruebas antes que el código" .
-
Bret Pettichord
- Pettichord categorizó los enfoques predominantes en testing, definiendo 5 escuelas:
- Analítica: modelos matemáticos y cobertura rigurosa
- Dirigida por Normas: estándares o regulaciones.
- Orientada a la Calidad: atributos de calidad.
- Dirigida por el Contexto: adapta pruebas al proyecto específico.
- Ágil: integra testing en iteraciones cortas con feedback continuo.
-
Michael Bolton
- Propone la metodología Coautor de Rapid Software Testing, donde se enfatiza pruebas adaptativas, críticas y centradas en contexto.
- Publico el articulo "Testing vs. Checking".
- Promovió la automatización inteligente. RST
-
Erik Van Veenendaal
- Creo la Fundación del TMMI, para poder evaluar y mejorar sistemáticamente los procesos de pruebas en organizaciones.
-
Doron Reuveni
- Publica el libro "Guía esencial de crowdtesting", enfocado en como externalizar pruebas a una comunidad diversa de usuarios reales en sus propios entornos.
-
Mike Cohn
- En el 2009 Mike publico su libro "Triunfando con la agilidad", dondeintroduce la Pirámide de Automatización de Pruebas, modelo que prioriza la inversión en pruebas según su costo, velocidad y valor.
-
Lisa Crispin
- Publica el libro "Pruebas ágiles: Una guía práctica para probadores y equipos ágiles", donde habla como integrar testing con Agile.
- En 2014 publica "Más pruebas ágiles: Viajes de aprendizaje para todo el equipo", donde explica el aprendizaje continuo y mejora de procesos.
-
Jonathan Kohl
- Expone de como utilizar la ampliación del alcance de la automatización, para poder:
- Configuración de pruebas: Preparar entornos automáticamente.
- Generación de datos: Crear datasets realistas para pruebas.
- Flujos de trabajo: Automatizar pasos complejos.
- Menciona que "Las pruebas exploratorias manuales detectan defectos insidiosos que la automatización puede pasar por alto".