Mis obras favoritas sobre Software Testing

Una pregunta que mucha gente me ha venido realizando en los últimos meses, bien a través de conversaciones directas, correos electrónicos, mensajes privados o comentarios a través del blog trata acerca de qué libros, qué recursos o fuentes de información acerca de Software Testing les podría recomendar.

En primer lugar, me gustaría dejar claro que no me considero en absoluto un gurú o una referencia en esta disciplina, por tanto la pregunta no deja de pillarme un poco por sorpresa. En este post no voy a ofrecer ninguna verdad absoluta sino más bien mis opiniones personales basadas en alrededor de 18 meses de continuo aprendizaje e investigación en los cuales, al margen de la aplicación práctica de estos conceptos, he tenido la oportunidad (y gran suerte) de leer y analizar alrededor de 30 libros y whitepapers sobre esta apasionante disciplina.

En segundo lugar, y a pesar de que pueda resultar una distinción obvia para la gran mayoría de nosotros, quiero puntualizar que Software Testing y Depuración son disciplinas distintas, como bien estableció el gran Glenford Myers allá por el año 1979… Fue el propio Myers quien asoció el concepto de Software Testing con el propósito de “romper” o más bien, como él afirmó: "a successful test is one that finds a bug".

Desde esta perspectiva, las obras que voy a recomendar se centran en un análisis de alto nivel acerca de metodologías para hacer más efectiva y ordenada esta búsqueda. Con esto no quiero decir que sean descartables aquellas obras orientadas al software testing en una determinada plataforma o tecnología, sino más bien que el primer paso que deberíamos dar es tener una visión amplia y unos conceptos metódicos apropiados para que luego sea la experiencia propia en un marco concreto (nuestras pruebas diarias) las que nos den esos matices específicos de cada contexto.

Bien, una vez situados en una misma perspectiva, vamos a comenzar a analizar títulos concretos…

Sería un pecado mortal hablar sobre bibliografía relativa a Software Testing sin citar al autor Boris Beizer. Si antes hablaba de Myers como creador de la disciplina, la evolución de la misma en estos últimos 30 años no podría entenderse sin la labor de Beizer. El Dr. Boris Beizer tiene un PhD en Ciencias de la Computación por la universidad de Pennsylvania y a lo largo de su carrera profesional ha escrito alrededor de 15 libros referidos a distintos campos como la arquitectura de sistemas, y también sobre Software Testing. Sus tres obras maestras sobre Software Testing son:

Software Testing Techniques 2E

Software System Testing and Quality Assura (Van Nostrand Reinhold electrical/computer science and engineering series)

Black-Box Testing: Techniques for Functional Testing of Software and Systems

Por supuesto, también es obligatorio incluir en esta lista de preferencias la gran “Biblia del Software Testing”, que no es ni más ni menos que la obra cumbre de Glenford Myers:

Al margen de estas obras históricas de obligada lectura, recomiendo dos libros más de reciente aparición y que resultan complementarios entre sí.

El primero de ellos es Manage Software Testing, se centra en distintas metodologías de Software Testing en sí mismo, desde la perspectiva del Test Manager o líder del equipo de pruebas y además es digno de mención el minucioso análisis que realiza sobre diversos casos de estudio reales.

El segundo de ellos se titula Software Testing – Testing Across The Entire Software Development LifeCycle y, como su propio nombre indica, se centra en la conjunción de los procesos de software testing con el resto de procesos que forman parte del ciclo de vida del desarrollo de nuestras aplicaciones, realizando muy buenos análisis sobre qué tipos de pruebas realizar en cada etapa del desarrollo (fase de requerimientos, diseño, desarrollo, etc) y por qué realizarlas, qué beneficios nos aportan y hasta qué punto es vital la “anticipación” en la detección de bugs, relacionando estos conceptos con distintos modelos de Software Testing tales como el Modelo V, entre otros.

image

Creo que para empezar a formarse una idea clara, con estos 6 libros tendremos suficiente. No obstante, recuerdo que son tan sólo una base sobre la cual comenzar a evolucionar en nuestra propia experiencia y técnicas, una tarea diaria basada también en la intuición, perspicacia y, sobre todo, actitud inconformista del tester.

En esta línea, me permitiré el lujo de concluir el post con una gran frase del Dr Boris Beizer en la primera de las obras recomendadas (“Software Testing Techniques”):

You must be a constructive schizophrenic. Be clear about the difference between your role as a programmer and as a tester. The tester in you must be suspicious, uncompromising, hostile, and compulsively obsessed with destroying, utterly destroying, the programmer’s software. The tester in you is your Mr. Hyde – your Incredible Hulk. He must exercise what Gruenberger calls ‘low cunning.’

4 comentarios en “Mis obras favoritas sobre Software Testing”

  1. La referencia final a la frase del Dr Boris, es simplemente genial… xD

    He tenido el placer (mmm… a veces desgracia jejejeeee :P), de trabajar con equipos de Testing, y puedo asegurar que algunos cumplen con esta “definición” 😉

  2. Estimado Miguel, muy interesante este artículo que publicaste e imagino que actualmente se habrán editado más libros aunque es muy poca la bibliografía existente en español sobre esta temática. Les escribo desde Argentina (Buenos Aires) y trabajo como Lider de Testing Funcional para una empresa con sede en Francia. Me interesa ponerme en contacto contigo o con cualquier persona dedicada a esta actividad para compartir e intercambiar información y experiencias con el objeto de: (a) subirlas a mi blog; (b) concretar algún proyecto en conjunto. Saludos y felicitaciones

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *