Errare humanum est. Ya lo decían los antiguos: errar es humano. También en la Edad Moderna, una de las principales premisas del método científico fue el “ensayo y error”. Desde tiempos inmemoriales hemos sabido que los errores son inherentes a la naturaleza humana. Con eso contamos. Lo importante es aprender de ellos y evitar que se repitan. Pero esto es más fácil de decir que de hacer, porque para eso hay que reconocer de antemano que no somos perfectos y tener la humildad suficiente como para aceptarlo, así como la determinación de seguir adelante.
El máximo exponente de esta actitud fue Thomas Alva Edison (1847-1931), quien realizó más de mil intentos hasta que inventó la bombilla tal y como la conocemos. El número de repeticiones fue tan escandaloso que uno de sus colaboradores le preguntó si no se desanimaba ante tantos fracasos. Y aquí entra en juego la percepción del error, porque Edison respondió: "¿Fracasos? No sé de qué me hablas. En cada descubrimiento me he enterado de un motivo por el que la bombilla no funcionaba. Ahora ya sé mil maneras de no hacer una bombilla".
Sin necesidad de emular a Edison, es fácil darse cuenta de que aplicamos el principio de prueba y error a ámbitos tan cotidianos de la vida como la cocina o las relaciones personales. No obstante, tal vez sea en el sector informático donde la necesidad de realizar pruebas es más acuciante y determinante. Además, el ritmo al que se trabaja en este sector y las exigencias de los clientes hacen que las empresas de software deban lanzar versiones en tiempo récord, lo que implica cometer fallos. Adelantarse a la competencia es esencial, sea al precio que sea. Y el precio suelen ser los errores. Es difícil mantener el equilibrio en una situación en la que el cliente pide nuevas funcionalidades y las necesita en un tiempo récord. Por tanto, el tiempo que se dedica al testing es cada vez menor, a riesgo de que la mala calidad dañe la imagen de la empresa. Parece que la solución no es fácil…
El testing es una fase muy importante en el ciclo de desarrollo de software. Tan importante que debería introducirse al inicio del proceso para que los errores no se acumulen en la fase final de entrega. Las empresas de software surgen y desaparecen en la misma medida en la que conceden la importancia debida a su área de control de calidad y testing. Veamos algunas razones que explican claramente la relevancia de esta tarea.
En el mercado tan competitivo que existe en la actualidad, sólo los productos de calidad sobreviven. Y la calidad, aunque es una percepción subjetiva del cliente, nace en la filosofía de la empresa, que se esfuerza por ofrecer productos y servicios que superen las expectativas del cliente. Para ello, realizar el testing del producto es un factor fundamental. Además, para aumentar las probabilidades de detectar errores, incluso menores, es importante que el testing lo realice otra persona. De sobra sabemos que es difícil que nosotros mismos identifiquemos nuestros propios errores.
Por eso es fundamental utilizar herramientas avanzadas y personalizadas para la automatización y la realización de pruebas de software, y contar con un equipo de testers altamente cualificados. De hecho, son precisamente los equipos de testing los que sugieren la mayoría de las mejoras implantadas en un producto de software. Tal vez no suene muy reconfortante saber que hay personas que dedican el 100% de su tiempo a encontrar errores en el trabajo de otros, pero su tarea es absolutamente indispensable.
Asumamos que desarrollar software libre de errores es una tarea titánica y colosal, tal vez inalcanzable, pero con el testing nos acercamos a este imposible. A fin de cuentas, el testing es la parte más importante del software y todas las empresas del sector deberían apostar por él, ya que acabarán ahorrando tiempo y dinero.
Fuentes:
http://sethgodin.typepad.com/seths_blog/2016/01/software-is-testing.html
http://istqbexamcertification.com/why-is-testing-necessary/
http://www.softwaretestingclass.com/importance-of-testing/
http://tulugar.com.uy/2010/11/%C2%BFpor-que-el-testing-de-software-es-importante/
André Klein
Consultor Freelance para DocPath