Evolución de Software

  • Máquina Analítica de Babbage

    Máquina Analítica de Babbage
    Ada Lovelace considerada la primera programadora por su trabajo en la Máquina Analítica de Babbage. Envisionó que los errores no solo podían estar en el hardware sino en la programación .
  • Period: to

    Periodo 1

    Período 1840-1950.
  • Alan Turing

    Alan Turing
    En 1949, Alan Turing propone un método general para verificar la corrección de programas, sugiriendo que el programador debe proporcionar aserciones comprobables para facilitar la tarea del evaluador.
  • Period: to

    Periodo 2

  • Probar y depurar

    En una reseña del libro de McCracken, distingue entre probar y depurar, destacando que antes no se hacía esta distinción.
  • Programación de computadores digitales

    Programación de computadores digitales
    Daniel D. McCracken Publica "Programación de computadores digitales", enfatizando que el cliente debe preparar los casos de prueba para identificar errores lógicos y malentendidos.
  • Mini-incrementos y planificación de pruebas

    Mini-incrementos y planificación de pruebas
    En el proyecto Mercurio de la NASA, aplica mini-incrementos y planificación de pruebas. En 1961, publica "Fundamentos de la programación informática", el primer libro con un capítulo dedicado a pruebas de software, proponiendo principios para su correcta ejecución.
  • Evaluación de las pruebas funcionales de programas de control

    Publica "Evaluación de las pruebas funcionales de programas de control", abogando por un enfoque disciplinado en las pruebas.
  • La garantía de calidad en software

    Participa en la Conferencia de Ingeniería de Software de la NATO, donde se discute la garantía de calidad en software, incluyendo una lista de chequeo para su planificación.
  • Sentencia Go To considerada perjudicial

    Edsger Dijkstra: Publica "Sentencia Go To considerada perjudicial", criticando el uso del Go To y proponiendo la programación estructurada. En su discurso al recibir el Premio Turing en 1972, resalta que las pruebas no pueden garantizar la ausencia de errores, sugiriendo que la corrección debe demostrarse de otra manera.
  • Period: to

    Periodo 3

  • Métodos de prueba de programas

    William C. Hetzel: Publica Métodos de prueba de programas*, y en 1984 organiza la primera conferencia dedicada a las pruebas de software. En 1988, presenta cuatro modelos de pruebas: demostración, destrucción, evaluación y prevención.
  • Leyes de la no fiabilidad

    Tom Gilb Publica Leyes de la no fiabilidad y en 1976 introduce Métricas de software, un libro de referencia sobre la medición y evaluación de la calidad del software.
  • El mítico hombre-mes

    Frederick Brooks: En su libro El mítico hombre-mes, aborda la complejidad de especificar, diseñar y probar software, afirmando que el costo de un programa puede ser tres veces mayor que su versión depurada.
  • Proceso de inspección de diseño y código

    Michael E Propone un proceso de inspección de diseño y código para reducir errores, generando mejoras en IBM.
  • La métrica de complejidad ciclomática

    Thomas J. McCabe: Introduce la métrica de complejidad ciclomática y la técnica de prueba de ruta básica, contribuyendo a la medición de la calidad del software.
  • Fiabilidad del software

    Glenford Myers: En Fiabilidad del software, plantea que el objetivo de las pruebas es hacer que el programa falle. En 1979, publica El arte de las pruebas de software, introduciendo las pruebas de caja negra.
  • Oráculo" para determinar el éxito de una prueba

    William C. Howden Presenta el concepto de "oráculo" para determinar el éxito de una prueba, en su artículo sobre la comprobación de programas.
  • Economía de la ingeniería de software

    Barry W. Boehm Publica Economía de la ingeniería de software, donde introduce el costo del retrabajo y el modelo COCOMO para la estimación de costos.
  • Manifiesto

    James Martin En su Manifiesto de los sistemas de información, resalta la importancia de la identificación de defectos en las fases tempranas del ciclo de desarrollo.
  • Reporte sobre pruebas asistidas

    Dorothy Graham: Publica el primer reporte sobre pruebas asistidas por computadora y en 1999 co-publica un texto clásico sobre automatización de pruebas.
  • Desarrolla el Modelo V

    Paul E. Rook Desarrolla el Modelo V, estructurando las pruebas de software en relación a cada fase del desarrollo.
  • Robert B. Grady y Deborah L. Caswell

    Publican sobre métricas de software y en 1992, presentan una taxonomía de defectos en Métricas de software prácticas.
  • Prueba exploratoria

    Cem Kaner: Publica Pruebas de software informático, introduciendo el concepto de "prueba exploratoria".
  • Propone el modelo CMM

    Watts Humphrey Propone el modelo CMM en su libro Gestión del proceso de software, con el fin de mejorar la calidad del proceso de desarrollo.
  • Modelo de calidad

    R. Geoff Dromey: En Acorralando a la quimera, propone un modelo de calidad basado en la norma ISO/IEC 9126.
  • Técnicas de pruebas de software

    Boris Beizer En Técnicas de pruebas de software, clasifica los defectos y acuña la "paradoja del pesticida", que sugiere que las pruebas repetitivas pueden volverse ineficaces con el tiempo.
  • El arte de las pruebas de software

    Brian Marick: Describe la prueba como un oficio en El arte de las pruebas de software, y contribuye al Manifiesto Ágil.
  • Un enfoque artesanal

    Paul C. Jorgensen: Publica Pruebas de software: Un enfoque artesanal, que se convierte en una referencia clave y sigue siendo relevante en la actualidad.
  • Introduce el Modelo de Estrategia de Pruebas Heurísticas

    James Bach: Introduce el Modelo de Estrategia de Pruebas Heurísticas, enfocándose en la adaptabilidad según el contexto del proyecto. En 2001, desarrolla la metodología de Pruebas Rápidas de Software (RST).
  • Publica Gestión de pruebas basada en la sesión

    Jonathan Bach: Publica Gestión de pruebas basada en la sesión, proponiendo el concepto de sesiones de prueba. En 2007, desarrolla la escala de libertad del probador, que mide la autonomía en el proceso de prueba.
  • Desarrollo de software de código abierto

    Eric S. Raymond: En La catedral y el bazar, describe el modelo de desarrollo de software de código abierto y presenta la "Ley de Linus", que destaca la transparencia del código para mejorar la detección de errores.
  • Period: to

    Periodo 4

  • Desarrollo dirigido por pruebas

    Kent Beck: Publica Desarrollo dirigido por pruebas: Mediante el ejemplo, donde formaliza el Desarrollo Guiado por las Pruebas (TDD), una técnica que sugiere escribir las pruebas antes de desarrollar el código. Beck también es conocido por sus contribuciones a los patrones de software, las herramientas xUnit y la programación extrema (XP).
  • La escuela ágil

    Bret Pettichord: En una conferencia titulada Cuatro escuelas de pruebas de software, propone la existencia de diferentes enfoques o escuelas de pensamiento en las pruebas de software, clasificándolas como: analítica, dirigida por normas, orientada hacia la calidad y dirigida por el contexto. Más tarde, se incluye la escuela ágil en esta clasificación.
  • Pruebas Rápidas de Software (RST)

    Michael Bolton: Se convierte en co-autor de la metodología de Pruebas Rápidas de Software (RST) junto con James Bach. En 2009, publica el artículo Probando vs. comprobando, donde distingue entre comprobar (confirmar, verificar) y probar (explorar, descubrir).
  • la Fundación TMMI

    Erik Van Veenendaal: Junto con otros expertos, funda la Fundación TMMI, la cual desarrolla el Modelo de Madurez de Pruebas Integrado (TMMI). Este modelo está diseñado para evaluar y mejorar los procesos de pruebas en las organizaciones, basado en el modelo TMM de 1996.
  • Guía esencial de crowdtesting

    Doron Reuveni: Publica Guía esencial de crowdtesting, en colaboración con Roy Solomon. Introducen el concepto de crowdtesting, que se basa en realizar pruebas en el entorno real de los usuarios, aprovechando un grupo diverso de voluntarios, en lugar de en laboratorios de calidad.
  • Pruebas ágiles

    Lisa Crispin: Co-publica, junto con Janeth Gregory, Pruebas ágiles: Una guía práctica para probadores y equipos ágiles, un libro pionero en la disciplina de las pruebas ágiles. En 2014, publican Más pruebas ágiles, que abarca la adaptación de pruebas ágiles a diferentes contextos y la mejora continua del proceso de pruebas.
  • Triunfando con la agilidad

    Mike Cohn: Publica Triunfando con la agilidad, donde propone la pirámide de automatización de pruebas. Cohn sugiere que una estrategia de pruebas eficaz debe dividirse en tres niveles: pruebas unitarias, pruebas de servicio y pruebas de interfaz de usuario.
  • Experiencias de automatización de pruebas

    Jonathan Kohl: Contribuye con un capítulo en el libro Experiencias de automatización de pruebas donde propone utilizar la automatización no solo para pruebas de regresión, sino también para tareas como la configuración de pruebas y la generación de datos. Además, defiende la importancia de las pruebas exploratorias manuales.