Oip

Evolución de la calidad de software por Max Carrión

  • Ada Lovelace

    1.- Tradujo el artículo de Charles Babbage sobre la Máquina Analítica.
    2.- Sus notas incluyeron un algoritmo para calcular números de Bernoulli, considerado el primer programa.
    3.- Visualizó el potencial de las computadoras y el software, destacando la versatilidad de la Máquina Analítica.
    4.- Reconoció que los errores podrían deberse tanto al hardware como a defectos de programación.
  • Period: to

    Período 1840-1950

  • Alan Turing

    1.- En su artículo "Sobre la comprobación de una rutina grande", plantea cómo asegurar la corrección de una rutina.
    2.- Propone un método general de prueba, base de la verificación de programas.
    3.- Destaca la separación entre quien programa y quien prueba para evitar dificultades en la tarea de verificación.
    4.- Sugiere que el programador debe hacer aserciones definidas que puedan ser comprobadas individualmente.
  • Period: to

    Período 1951-1970

  • Daniel D. McCracken

    1.- Publica "Programación de computadores digitales", considerado el primer texto sobre programación.
    2.- Destaca la importancia de que el cliente prepare casos de comprobación para detectar errores lógicos y malentendidos.
    3.- Sugiere que el cliente prepare la solución de la prueba con anticipación, ya que puede tomar varios días o semanas para problemas no triviales.
  • Charles L. Baker

    1.- En su reseña sobre "Programación de computadores digitales" de Daniel McCracken, diferencia entre probar programas y depurarlos.
    2.- En la década de los 50, no se distinguía entre pruebas y depuración, se enfocaba en arreglar defectos.
    3.- Los desarrolladores solían escribir código y depurar problemas cuando surgían defectos, sin concepto formal de pruebas o probadores.
  • Gerald M. Weinberg

    1.- Aplicó mini-incrementos y planificación de pruebas en proyecto Mercurio.
    2.- Con Leeds, publicó "Fundamentos de la programación informática" (1961), primer libro con capítulo sobre pruebas.
    3.- Principios de pruebas: escribir correctamente, considerar pruebas al codificar, conocer herramientas de depuración y demostrar que el programa funciona.
    4.- Diferenció pruebas manuales y automáticas, enfatizando adaptabilidad del software y resaltó aspecto humano de la programación.
  • Robert W. Bemer

    1.- Participa en la Conferencia de Ingeniería de Software de la NATO, donde se aborda la garantía de calidad de software.
    2.- Se publica el documento "Lista de chequeo para planificar la producción de sistemas de software", que incluye una sección sobre garantía de calidad de software.
    3.- Plantea preguntas clave sobre la garantía de calidad del software, incluyendo la necesidad de pruebas y la proporción de recursos dedicados a la calidad.
  • Bill Elmendorf

    1.- Publica "Evaluación de las pruebas funcionales de programas de control" (1967), introduciendo un enfoque disciplinado para las pruebas funcionales del software.
    2.- Propone la aplicación de pruebas basadas en modelos para probar software en su artículo "Diseño automatizado de librerías de pruebas de programas" (1970).
  • Edsger Dijkstra, 1968-1972

    1.- Escribió la carta "Sentencia Go To considerada perjudicial" (1968), criticando el excesivo uso de Go To en la programación y su impacto en las pruebas.
    2.- Su carta marcó el inicio de la programación estructurada.
    3.- En 1972, recibió el Premio Turing de la ACM, considerado el Nobel de la informática.
    4.- En "El humilde programador", enfatizó la importancia de evitar errores desde el inicio y de proporcionar pruebas convincentes de la corrección del programa para aumentar la confianza en él.
  • Period: to

    Período 1971-2000

  • William C. Hetzel y David Gelperin, 1973-1993

    1.- Publicaron "Métodos de prueba de programas" en 1973.
    2.- Organizaron la primera Conferencia Internacional sobre Pruebas de Software en 1984.
    3.- Describieron cuatro modelos para pruebas de software en 1988.
    4.- Hetzel publicó "Guía completa de pruebas de software" en 1988, abordando metodologías y principios.
    5.- En 1992, inauguraron la conferencia STAR en EE. UU. y EuroSTAR en Europa en 1993, enfocadas en revisión, análisis y pruebas de software.
  • Frederick Brooks,

    1.- Publicó "El mítico hombre-mes" en 1975, un conjunto de ensayos sobre ingeniería de software.
    2.- Destaco la importancia de las pruebas de software.
    3.- Un programa depurado cuesta al menos tres veces más que uno no depurado con la misma función.
    4.- Destacó el papel del probador como adversario y ayudante en la creación de casos de prueba.
    5.- Consideró que la parte más difícil del desarrollo de software es la especificación, el diseño y las pruebas de los constructos conceptuales.
  • Tom Gilb

    1.- Publicó "Leyes de la no fiabilidad" en 1975, conceptualizando la fiabilidad del sistema y del software.
    2.- Su libro "Métricas de software" (1976) es un texto de referencia por la cantidad de métricas que presenta.
    3.- En 1993, junto con Dorothy Graham, detalló el proceso de revisión formal de software en "Inspecciones de software".
  • Michael E. Fagan

    1.- Publicó "Inspecciones de diseño y código para reducir errores en el desarrollo de programas" en 1976, proponiendo un proceso sistemático de inspección para reducir el costo del retrabajo.
    2.- IBM logró mejoras significativas en la calidad al aplicar las inspecciones de Fagan.
  • Glenford Myers, 1976-1979

    1.- Publicó "Fiabilidad del software: Principios y prácticas" en 1976, enfatizando que el objetivo de los probadores es hacer que el programa falle.
    2.- En 1979, estableció la terminología base de las pruebas de software en "El arte de las pruebas de software", introduciendo el concepto de pruebas de caja negra.
  • Thomas J. McCabe

    1.- Introdujo la complejidad ciclomática como métrica de software en su artículo "Una medida de la complejidad" (1976).
    2.- La complejidad ciclomática se basa en la teoría de grafos y proporciona una medida de la complejidad del programa independientemente de su tamaño o lenguaje de programación.
    3.- Propuso la prueba de ruta básica como una técnica de prueba de caja blanca.
  • William C. Howden,

    1.- Publicó el artículo "Estudios teóricos y empíricos sobre la comprobación de programas" en 1978, acuñando el término "oráculo" para determinar si una prueba ha pasado o fallado.
  • Barry W. Boehm

    1.- Publicó "Economía de la ingeniería de software" en 1981, introduciendo el concepto de costo de retrabajo y el Modelo de Costos Constructivos (COCOMO) para costeo de software.
    2.- Presentó un gráfico que muestra cómo el costo de corregir un defecto aumenta con el tiempo en el ciclo de vida del software, con una mayor pendiente para proyectos grandes.
  • James Martin

    1.- Publicó "Manifiesto de los sistemas de información" en 1984, señalando que la mayoría de los defectos se introducen durante la fase de requisitos (56%), seguidos por la fase de diseño (27%) y la codificación (7%).
  • Paul E. Rook

    1.- Presentó el Modelo V para desarrollo de software en 1986, un enfoque estructurado para las pruebas.
    2.-El Modelo V asocia a cada fase del ciclo de vida del desarrollo una correspondiente fase de pruebas, ofreciendo una alternativa al Modelo Cascada.
  • Robert B. Grady, 1987-1996

    1.- Publicó "Métricas de software: Establecimiento de un programa para toda la empresa" en 1987, detallando el uso y estudio de métricas en programas de software.
    2.- En 1992, presentó una taxonomía de defectos de software para identificar tendencias y prevenir defectos en proyectos futuros.
    3.- En 1996, explicó cómo aplicar el ciclo PDCA a esfuerzos de mejora en "Mejora exitosa de los procesos de software".
  • Watts Humphrey, 1989-2006

    1.- En 1989, publicó "Gestión del proceso de software", proponiendo el modelo de madurez de las capacidades (CMM) para mejorar la calidad y productividad del proceso de desarrollo de software.
    2.- En 2005, describió el proceso personal de software (PSP) en "PSP, un proceso de auto-superación para ingenieros de software".
    3.- En 2006, explicó cómo liderar equipos de ingenieros de software en "TSP, Dirigiendo un equipo de desarrollo" utilizando el proceso de software en equipo (TSP).
  • Boris Beizer

    Propuso una clasificación de defectos de software en "Técnicas de pruebas de software" en 1990.
    Acuñó el término "paradoja del pesticida" para describir el fenómeno de que cuanto más se prueba el software, más inmune se vuelve este a las pruebas.
  • Dorothy Graham, 1991-2017

    1.- Escribió el primer "Reporte sobre pruebas de software asistidas por computador (CAST)" en 1991.
    2.- Publicó "Automatización de pruebas de software" junto a Mark Fewster en 1999, un clásico sobre automatización de pruebas.
    3.- Coescribió "Fundamentos de las pruebas de software: Certificación ISTQB" en 2006, delineando el programa de estudios para la certificación ISTQB.
    4.- Participó en el 7mo Congreso Mundial de Calidad de Software en Lima, Perú, en 2017.
  • Brian Marick, 1994-2003

    1.- Publicó "El arte de las pruebas de software" en 1994, enfocado en pruebas de subsistemas.
    2.- Contribuyó al Manifiesto Ágil en 2001.
    3.- En 2003, definió los "Cuadrantes de pruebas ágiles" para categorizar tipos de pruebas.
  • Paul C. Jorgensen, 1995-2022

    1.- Publicó "Pruebas de software: Un enfoque artesanal" en 1995, convirtiéndose en una referencia en el campo.
    2.- En 2022, lanzó la quinta edición del libro, actualizando las tecnologías y prácticas de pruebas.
  • James Bach, 1996-2001

    1.- Introdujo el Modelo de Estrategia de Pruebas Heurísticas en 1996, para diseñar pruebas basadas en patrones y criterios de calidad.
    2.- En 2001, desarrolló la metodología Pruebas Rápidas de Software (RST), alineada con la Escuela de Pruebas Dirigidas por el Contexto.
  • R. Geoff Dromey

    1.- Propuso un modelo de calidad en su artículo "Acorralando a la quimera" en 1996, para abordar la intangibilidad de las características de calidad en la norma ISO/IEC 9126:1991.
  • Cem Kaner, 1988-2001

    1.- Escribió "Pruebas de software informático" en 1988, un clásico con un enfoque pragmático y la introducción del término "prueba exploratoria".
    2.- En 1996, junto a James Bach, introdujo la noción de escuelas de pensamiento de las pruebas de software.
    3.- En 2001, publicó "Lecciones aprendidas en pruebas de software: Un enfoque orientado al contexto".
  • Eric S. Raymond

    1.- Publicó "La catedral y el bazar" en 1999, describiendo el método de desarrollo de software de Linus Torvalds y detallando la Ley de Linus sobre la importancia del código abierto.
  • Jonathan Bach, 2000-2007

    1.- En 2000, presentó la "Gestión de pruebas basada en la sesión", promoviendo bloques ininterrumpidos de pruebas exploratorias.
    2.- En 2007, propuso la "Escala de libertad del probador", que modela la variación en el grado de libertad del probador durante las pruebas.
  • Period: to

    Período 2001-2020

  • Kent Beck

    1.- Publicó "Desarrollo dirigido por pruebas: Mediante el ejemplo" en 2002, donde introdujo el concepto de Desarrollo Guiado por las Pruebas (TDD).
    2.- Desarrolló la familia de herramientas de pruebas unitarias xUnit, siendo una contribución significativa al campo de las pruebas de software.
    3.- Fue uno de los firmantes del Manifiesto Ágil en 2001, contribuyendo así al movimiento ágil y promoviendo prácticas de desarrollo más efectivas.
  • Bret Pettichord

    1.- En 2003, en un taller de capacitación en pruebas de software, propuso la existencia de escuelas de pensamiento en las pruebas de software, incluyendo la escuela ágil.
    2.- Es reconocido por sus contribuciones a la automatización de pruebas y su enfoque pragmático en el campo de las pruebas de software.
    3.- Ha desarrollado herramientas y metodologías para mejorar la eficiencia y efectividad de las pruebas en diferentes contextos de desarrollo de software.
  • Michael Bolton, 2004-2009

    1.- Se unió como co-autor de la metodología RST creada por James Bach en 2004, contribuyendo con su experiencia en pruebas exploratorias.
    2.- En 2009, distinguió entre "probar" y "comprobar", resaltando la exploración y descubrimiento en el proceso de pruebas.
    3.- Es conocido por su trabajo en pruebas exploratorias y su defensa de la calidad del software, siendo un influyente en el campo de las pruebas de software.
  • Erik Van Veenendaal

    1.- En 2005, contribuyó a la creación de la Fundación TMMI y el Modelo de Madurez de Pruebas Integrado TMMI.
    2.- Es un líder reconocido en el campo de la gestión de pruebas y ha asesorado a numerosas organizaciones en sus procesos de pruebas.
    3.- Ha desarrollado metodologías y herramientas para evaluar y mejorar la calidad de los procesos de pruebas en diferentes industrias y sectores.
  • Doron Reuveni,

    1.- Publicó "Guía esencial de crowdtesting" en 2007, abordando el concepto de crowdtesting que se basa en pruebas en entornos naturales con participación de voluntarios.
    2.- Es un defensor de la innovación en las pruebas de software y mejorar la calidad del software a través de la colaboración comunitaria.
    3.- Ha desarrollado metodologías y herramientas para facilitar la realización de pruebas en entornos distribuidos y colaborativos, siendo un líder en el campo del crowdtesting.
  • Mike Cohn

    1.- Publicó "Triunfando con la agilidad" en 2009, donde propuso la "pirámide de automatización de pruebas" que destaca la importancia de la automatización en tres niveles: unidad, servicio e interfaz de usuario.
    2.- Es conocido por su trabajo en metodologías ágiles y su enfoque práctico en la gestión de proyectos de software.
    3.- Ha desarrollado técnicas y prácticas para mejorar la eficiencia y efectividad de las pruebas en entornos ágiles, siendo un referente en la industria.
  • Lisa Crispin, 2009-2014

    1.- Publicó "Pruebas ágiles: Una guía práctica para probadores y equipos ágiles" en 2009, considerado pionero en pruebas ágiles.
    2.- En 2014, junto con Janet Gregory, lanzó "Más pruebas ágiles", centrado en adaptarlas a diferentes entornos y equipos, promoviendo el aprendizaje continuo.
    3.- Es reconocida por su contribución al desarrollo de pruebas ágiles y por su énfasis en la mejora continua de los procesos de prueba.
  • Jonathan Kohl

    1.- Contribuyó en 2012 al libro "Experiencias de automatización de pruebas" con un enfoque en ampliar el uso de la automatización más allá de las pruebas de regresión.
    2.- Destacó la importancia de las pruebas exploratorias manuales para descubrir defectos insidiosos.
    3.- Kohl es conocido por su enfoque innovador en la automatización de pruebas y su defensa de la combinación de métodos manuales y automáticos.