EvolucionCalidadSW-TumbacoOscar

By OscarTV
  • Period: to

    Período 1840-1950

  • Ada Lovelace

    Ada Lovelace
    1. Ada realizó el primer programa de la historia, un algoritmo para calcular números de Bernoulli.
    2. Ayudo con la programación de la maquina analítica, dispositivo mecánico programable mediante tarjetas perforadas.
    3. Concluyo que las computadoras no realizan solo cálculos numéricos, incluyendo aplicaciones en música, arte y ciencia.
    4. Explicó como los errores pueden ser de hardware y software. Pionera de la computación
  • Alan Turing

    Alan Turing
    1. Propuso un método general de prueba, base de la verificación formal de programas.
    2. Propuso que el tester debe ser independiente del programador para evitar sesgos.
    3. 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

    Daniel D. McCracken
    1. Publico el primer texto formal sobre programación llamado "Programación de computadores digitales".
    2. 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.
    3. Daniel dio a entender la importancia de la colaboración cliente-desarrollador en el proceso de validación.
  • Charles L. Baker

    Charles L. Baker
    1. 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 M. Weinberg
    1. Gerald y Herbert D. Leeds publicaron el libro "Fundamentos de la programación informática".
    2. EN 1961 publico un libro donde integro un capitulo dedicado a pruebas de software.
    3. Weinberg fue pionero en integrar principios de calidad.
    4. Establece que "No hay relación entre el tamaño del error y el problema que causa."
    5. 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 W. Bemer
    1. 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.
    2. Incluir 1 persona en calidad por cada 10 en desarrollo.
  • Edsger Dijkstra

    Edsger Dijkstra
    1. Publica "Go To Considered Harmful", criticando el uso excesivo de GOTO y promoviendo la programación estructurada para facilitar las pruebas.
    2. 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.
    Historia
  • Period: to

    Período 1971-1980

  • William C. Hetzel

    William C. Hetzel
    1. Hetzel publica "Métodos de prueba de programas", recopilando avances en validación y pruebas de software.
  • Frederick Brooks

    Frederick Brooks
    1. Menciona que un programa depurado cuesta 3 veces más que su desarrollo inicial.
    2. 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.
    3. Afirma que los mayores errores no son de código, sino de diseño conceptual y especificaciones.
  • Tom Gilb

    Tom Gilb
    1. 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.
    2. 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 E. Fagan
    1. Michael propuso las inspecciones formales de diseño y código para reducir errores y costos de retrabajo.
  • Thomas J. McCabe

    Thomas J. McCabe
    1. 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.
    2. Thomas propuso la prueba de ruta básica para diseñar casos de prueba basados en flujos de control.
  • Glenford Myers

    Glenford Myers
    1. Glenford en 1976 Publica "Fiabilidad del software: Principios y prácticas".
    2. Propone que "El objetivo de los probadores es hacer que el programa falle".
    3. 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).
    Pruebas de caja negra
  • William C. Howden

    1. 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 W. Boehm
    1. 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".
    2. Participo en el modelo COCOMO, que es una herramienta para estimar costos y esfuerzos en desarrollo de software, considerando tamaño y complejidad.
    Modelo COCOMO
  • Period: to

    Período 1981-1990

  • William C. Hetzel y David Gelperin

    William C. Hetzel y David Gelperin
    1. William C. Hetzel y David Gelperin organizan la primera conferencia internacional exclusiva sobre pruebas de software.
    2. 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 Martin
    1. 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 .
    2. Argumenta que la calidad debe abordarse desde las etapas iniciales (requisitos y diseño), no solo en pruebas.
  • Paul E. Rook

    1. Propuso el Modelo V como alternativa estructurada al Modelo Cascada, integrando pruebas en cada fase del desarrollo. Modelo V
  • Robert B. Grady

    Robert B. Grady
    1. Publico el libro "Métricas de software: Establecimiento de un programa para toda la empresa", donde aborda:
    2. Fundamentos de métricas de software: definición, utilidad y aplicación en entornos empresariales.
    3. En 1992 publica su libro "Métricas de software prácticas para la gestión de proyectos y mejora de procesos".
    4. "Mejora exitosa de los procesos de software" se publica en 1996. Aplicación del ciclo PDCA
  • William C. Hetzel

    William C. Hetzel
    1. Hetzel publica "Guía completa de pruebas de software", metodologías y técnicas.
  • Cem Kaner

    Cem Kaner
    1. 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.
    2. Fundación de la Escuela de Pruebas Dirigidas por el Contexto en 1999.
    3. 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

    Watts Humphrey
    1. 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.
    2. 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.
    3. Fundó el programa de procesos del SEI. CMM
  • Boris Beizer

    Boris Beizer
    1. 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.
    2. Propone que las pruebas deben evolucionar (nuevas técnicas, datos, enfoques) para evitar "ceguera" ante errores.
  • Dorothy Graham

    Dorothy Graham
    1. Publico el libro "Reporte sobre pruebas de software asistidas por computador (CAST)".
    2. Estableció principios y mejores prácticas para la automatización efectiva, en su libro "Automatización de pruebas de software".
    3. Dorothy publico en 2006 el libro "Fundamentos de las pruebas de software: Certificación ISTQB".
  • Period: to

    Período 1991-2000

  • Brian Marick

    Brian Marick
    1. Propone las técnicas para probar subsistemas complejos en su libro "El arte de las pruebas de software".
    2. Integró la visión de pruebas dentro de los valores ágiles.
  • Paul C. Jorgensen

    Paul C. Jorgensen
    1. 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

    R. Geoff Dromey
    1. 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

    James Bach
    1. Propuso algunos patrones para seleccionar técnicas de prueba:
      • Contexto del proyecto.
      • Elementos del producto.
      • Criterios de calidad.
    2. Propone las Pruebas Rápidas de Software.
  • Eric S. Raymond

    Eric S. Raymond
    1. Eric propone el modelo de desarrollo "Bazar".
    2. 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

    Jonathan Bach
    1. En los 2000 publica "Gestión de pruebas basada en la sesión", donde menciona la sesión de pruebas.
    2. Misión clara.
    3. Pruebas exploratorias.
    4. Reporte detallado de hallazgos al finalizar.
    5. Menciona que "La escala modela el grado en que se nos permite pensar".
  • Period: to

    Período 2001-2024

  • Kent Beck

    Kent Beck
    1. Kent publica en el 2002 su libro "Desarrollo Guiado por Pruebas (TDD)"
    2. Propone una técnica revolucionaria, que se base en "Escribir pruebas antes que el código" .
    TDD
  • Bret Pettichord

    Bret Pettichord
    1. Pettichord categorizó los enfoques predominantes en testing, definiendo 5 escuelas:
    2. Analítica: modelos matemáticos y cobertura rigurosa
    3. Dirigida por Normas: estándares o regulaciones.
    4. Orientada a la Calidad: atributos de calidad.
    5. Dirigida por el Contexto: adapta pruebas al proyecto específico.
    6. Ágil: integra testing en iteraciones cortas con feedback continuo.
  • Michael Bolton

    Michael Bolton
    1. Propone la metodología Coautor de Rapid Software Testing, donde se enfatiza pruebas adaptativas, críticas y centradas en contexto.
    2. Publico el articulo "Testing vs. Checking".
    3. Promovió la automatización inteligente. RST
  • Erik Van Veenendaal

    Erik Van Veenendaal
    1. Creo la Fundación del TMMI, para poder evaluar y mejorar sistemáticamente los procesos de pruebas en organizaciones.
  • Doron Reuveni

    Doron Reuveni
    1. 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

    Mike Cohn
    1. 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.
    Pirámide de Automatización de Pruebas
  • Lisa Crispin

    Lisa Crispin
    1. Publica el libro "Pruebas ágiles: Una guía práctica para probadores y equipos ágiles", donde habla como integrar testing con Agile.
    2. 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

    Jonathan Kohl
    1. Expone de como utilizar la ampliación del alcance de la automatización, para poder:
    2. Configuración de pruebas: Preparar entornos automáticamente.
    3. Generación de datos: Crear datasets realistas para pruebas.
    4. Flujos de trabajo: Automatizar pasos complejos.
    5. Menciona que "Las pruebas exploratorias manuales detectan defectos insidiosos que la automatización puede pasar por alto".