Entendiendo las diferentes escuelas de Testing, imprescindible para entender las diferentes (a veces enfrentadas) visiones del Testing hoy (2/2)
Continuamos con el post de ayer, vamos con la segunda y última parte de «Entendiendo las diferentes escuelas de Testing, imprescindible para entender las diferentes (a veces enfrentadas) visiones del Testing hoy»
3 – Escuela del Testing Factoría
El objetivo es la externalización, lograr organizaciones centradas sólo en Testing, buscando el abaratamiento para los “clientes”, bajando el coste de mano de obra por la deslocalización del Testing, a áreas geográficas más economicas y/o por reducir el papel humano en pro de la formalización, procesos o automatización, haciendo el Testing lo más rutinario posible,
Esta Escuela busca para los clientes la visión “caja negra” del Testing, para desarrollo, o empresas clientes, el Testing lo hace una «caja negra».
Escuela claramente orientada a la especialización, muy alejada del Testing Ágil (escuela que veremos más adelante) que propugna más la “multifuncionalidad” y el equipo, el cual contiene dentro de sí todas las competencias (Testing entre ellas), sin depender de organizaciones externas que hacen lento al proceso.
Aquí entran las Testing Factories, entran los SLAs, el “Outsourcing”, etc. Y, en cierto modo, el Crowd Testing es una evolución de esta Escuela.
4 – Escuela Context-Dirven
La visión “humanista”, el software, y el Testing, lo hacen personas. No todo se puede automatizar, una cosa es “chequear” y otra “Testear” y siempre habrá un importante papel humano. También defiende que las prácticas dependen del contexto, que no hay «mejores prácticas».
Aquí no me extiendo mucho, porque ya te dejé un post sobre El Testing guiado por el contexto o Context-Driven Testing.
El Testing Exploratorio es una de sus prácticas clave.
Los que defienden esta escuela, argumentan que lo que hoy se conoce como Context-Driven es incluso más antiguo que lo que propugna la escuela Formal o Analítica, que comienza en 1972. Ya que el famosos Jerry Weinberg escribió en 1961, en su libro “Computer Programming Fundamentals” la importancia del papel humano del Testing.
5 – Escuela del Testing Ágil o Test-Driven
Visión también “humanista” del Testing, que coincide mucho con la anterior, si bien se asume que no son exactamente lo mismo, aquí también hay debate. Y también hay debate en separar el Testing Ágil del Test Driven, yo creo que los tres, Context-Driven, Agil y Test-Driven tienen sus diferencias, como para tener entidad propia, si bien aquí, para no complicar más el tema, he dejado juntos al Ágil y el Test-Driven.
En este caso la Escuela Test-Driven está centrada en que el Testing guía la programación y comienza lo más pronto posible, y de ahí que el Testing comience en el usuario, o el Product Owner como representante del mismo. Aquí en esta escuela se propugna mucho la automatización del Testing. Prácticas típicas aquí son el TDD, ATDD, BDD.
La Escuela Ágil suele tomar las ideas anteriores pero, además, lincluye obligatoriamente las de la importancia del equipo, la del equipo multifuncional que incluye al Testing y no lo deja fuera (opuesto a la Escuela Factoría) y, cómo no, las del Manifiesto Ágil.
Coincidencias, encuentros y desencuentros
Seguro que según leías los anteriores o te sentías identificados con algunos y/o recordabas a alguien claramente centrado en alguno de ellos.
De entre las anteriores 5 escuelas hay algunas más coincidentes y otras más divergentes. Vamos con algunos casos…
¿Especificaciones de casos de Test y documentación?
Un ejemplo para diferenciarlas son las especificaciones y la documentación. La Escuela Ágil y la Context-Driven son muy de documentar lo justo y sólo lo que sea útil y necesario. La Ágil, concretamente, habla de la interacción por encima de la documentación.
Sin embargo, las otras tres Escuelas (Formal, Factoría y Estándares), en mayor o menor medida, requieren documentación, la fuerzan y la ven necesaria.
¿Certificaciones?
De nuevo, cada uno lo ve a su manera. La más clara “pro” certificaciones es la Escuela de Control, Estándares o Procesos. También la de “factoría” va de la mano de demostrar su valía a los clientes con las certificaciones.
En contra de las certificaciones tenemos a la Escuela Analítica, que suele defender que es suficiente con el título universitario que corresponda y a la Escuela del Context-Driven, que rechaza la certificación, ya que estas son más un “adoctrinamiento” que realmente algo que asegure las habilidades necesarias para Testear.
¿Testing separado del mundo?
Aquí, sin duda, la separación más clara está entre el Testing Ágil, con Testing muy integrado en desarrollo y la visión del Testing Estándar y la de Factoría, que, claramente, ven al Testing como algo separado.