Evolución de la calidad de software

  • Period: to

    Inicios Teóricos

    Surgen los primeros conceptos de programación, errores, y la idea de verificación formal en el contexto del hardware mecánico y primeros algoritmos.
  • Ada Lovelace publica el primer algoritmo

    Ada Lovelace publica el primer algoritmo
    Primera programadora. Publica un algoritmo para la máquina analítica de Babbage y anticipa errores lógicos en programación.
  • Alan Turing propone la verificación de programas

    Alan Turing propone la verificación de programas
    Sugiere separar el rol del programador y el verificador. Introduce principios aún usados para validar la corrección de software.
  • Period: to

    Pruebas Iniciales

    Se comienzan a distinguir las pruebas de la depuración. Nacen los primeros principios de validación y control de calidad del software.
  • Daniel McCracken publica el primer libro de programación

    Daniel McCracken publica el primer libro de programación
    Fomenta que el cliente cree casos de prueba anticipadamente para evitar errores conceptuales entre usuarios y programadores.
  • Charles L. Baker diferencia pruebas y depuración

    Charles L. Baker diferencia pruebas y depuración
    Explica que pruebas y depuración son procesos distintos, un concepto novedoso en la época.
  • Gerald Weinberg propone principios de prueba

    Gerald Weinberg propone principios de prueba
    Desde la NASA, promueve planificar pruebas antes de codificar y enfocarse en la adaptabilidad del software.
  • Bill Elmendorf introduce pruebas funcionales

    Bill Elmendorf introduce pruebas funcionales
    Primera formulación formal de pruebas funcionales. Sugiere modelos para diseñar pruebas sistemáticamente.
  • Robert W. Bemer plantea garantía de calidad

    Robert W. Bemer plantea garantía de calidad
    En la conferencia NATO sobre ingeniería de software, plantea preguntas críticas para establecer garantías de calidad en sistemas complejos.
  • Edsger Dijkstra critica uso del "Go To"

    Edsger Dijkstra critica uso del "Go To"
    Lanza las bases de la programación estructurada con su crítica al uso indiscriminado del Go To.
  • Period: to

    Formalización y Métricas

    Aparecen técnicas estructuradas, métricas para la calidad y fiabilidad, y conceptos fundamentales para las pruebas modernas.
  • Frederick Brooks publica “El mítico hombre-mes”

    Frederick Brooks publica “El mítico hombre-mes”
    Critica los errores de gestión en proyectos y subraya que las pruebas deben comenzar desde la especificación.
  • Michael Fagan introduce inspecciones de código

    Michael Fagan introduce inspecciones de código
    Propone procesos formales de revisión de código que disminuyen costos de defectos y aumentan la productividad.
  • Glenford Myers introduce prueba de caja negra

    Glenford Myers introduce prueba de caja negra
    Establece que el objetivo del probador es hacer fallar al software, introduciendo pruebas de caja negra.
  • Barry Boehm presenta el modelo COCOMO

    Barry Boehm presenta el modelo COCOMO
    Plantea que el costo de corregir errores se incrementa exponencialmente según la etapa de detección.
  • Period: to

    Procesos y Modelos

    Surgen modelos para gestionar la calidad como CMM y COCOMO, y se consolida la importancia de los procesos en la ingeniería de software.
  • Paul Rook propone el Modelo V

    Paul Rook propone el Modelo V
    Introduce el Modelo V que alinea fases de desarrollo con fases de prueba específicas.
  • Cem Kaner publica sobre pruebas exploratorias

    Cem Kaner publica sobre pruebas exploratorias
    Promueve pruebas guiadas por el contexto y el pensamiento crítico en la práctica de pruebas.
  • Watts Humphrey propone el CMM

    Watts Humphrey propone el CMM
    Introduce el modelo de madurez para procesos de software y programas de mejora personal (PSP) y de equipo (TSP).
  • Boris Beizer propone la paradoja del pesticida

    Boris Beizer propone la paradoja del pesticida
    Advierte que usar las mismas pruebas muchas veces reduce su efectividad al no detectar nuevos errores.
  • Period: to

    Automatización y Enfoques Contextuales

    Proliferan herramientas automatizadas de prueba, se introducen métodos contextuales y se enfatiza el rol del probador.
  • Brian Marick define cuadrantes de pruebas

    Brian Marick define cuadrantes de pruebas
    Clasifica las pruebas según si apoyan la programación o critican el producto y si están orientadas al negocio o a la tecnología.
  • Eric Raymond publica “La Catedral y el Bazar”

    Eric Raymond publica “La Catedral y el Bazar”
    Populariza el modelo de desarrollo colaborativo del software libre y la Ley de Linus: más ojos detectan más errores.
  • Period: to

    Métodos Ágiles y Personalización

    Las pruebas se adaptan a metodologías ágiles, aparecen enfoques personalizados como TDD, RST y las escuelas de pruebas.
  • Kent Beck publica sobre TDD

    Kent Beck publica sobre TDD
    Desarrolla el concepto de escribir pruebas antes del código (Test Driven Development), clave en metodologías ágiles.
  • Bret Pettichord presenta escuelas de pruebas

    Bret Pettichord presenta escuelas de pruebas
    Propone cinco escuelas de pensamiento sobre cómo abordar las pruebas de software según el contexto.
  • Michael Bolton se suma a RST

    Michael Bolton se suma a RST
    Se une a James Bach como coautor de la metodología Rapid Software Testing, centrada en el pensamiento crítico.