cover

El testing puede salvar tu vida

author photo

David Zavala

@crusedmoss


robot logo saying hello

No te quedes atrás: Actualízate

Suscríbete para recibir información sobre nuevos frameworks, updates, eventos, tips, hacks y más.

Puede parecer pretencioso iniciar un post con un título como este, puede que pienses que es una exageración o simplemente que es una broma o una táctica barata para que leas este post jaja, sin embargo, permíteme explicarte por que pienso que los test pueden llegar a salvarte la vida.

Quiero empezar poniéndote en contexto sobre mí, quien demonios es este loco que se atreve a hacer semejante aseveración.

Mi nombre es David Zavala y soy ingeniero de software con poco más de 7 años dentro del mundo del desarrollo, en estos años he atravesado y conocido un sin fin de historias, proyectos, fracasos, empresas y por supuesto; clientes.

En mis inicios unas de las cosas que más me motivaba a seguir era el hecho de poder construir y/o colaborar en proyectos que podían ser usados por cientos o incluso miles de personas, aplicaciones que no necesitaban más que mi tiempo y esfuerzo detrás de una computadora para materializarse y la satisfacción de poder construir un login, entender cómo funcionaba el procesamiento de pagos o cualquier otra funcionalidad que para mi representaba un reto técnico, era una oportunidad para aprender algo nuevo, era maravilloso.

Pero así como había cosas geniales, también venía acompañado de otras sensaciones que no eran tan agradables, me daba cuenta que con cada cosa nueva que aprendía naturalmente aparecía el sentimiento de duda al pensar si lo que había hecho estaba bien o si iba a funcionar como era esperado era un pensamiento constante.

Los días de mayor tensión eran cuando había que presentar avances a los clientes o hacer una entrega, demonios, ¡qué días! jaja el nervio estaba siempre presente.

Conforme avanzaba cada vez más, aprendiendo nuevas tecnologías y explorando sobre buenas prácticas y formas de ser mejor desarrollador, herramientas como jest, mocha.js o chai.js aparecían de forma cada vez más recurrente, por supuesto, la curiosidad me obligaba a investigar al respecto y ¡Oh sorpresa!

Descubrí que había una manera en la que podía probar mi código y asegurar que funcionará tal cual lo esperaba, en varios escenarios y siempre de la misma manera, protegiendo mi código de las ediciones que hiciera en otros bloques. ¡WOOOW!

Conceptos como TDD(Test-Driven Development o desarrollo dirigido por tests es español), pruebas unitarias, pruebas de integración o preguntas como ¿Qué demonios debo de "testear"? y ¿Cómo debo hacerlo? eran el común en mi proceso de aprendizaje, exacto, la famosa “curva de aprendizaje”, satisfactoria y a veces dolorosa. Conforme avanzaba fue cada vez más notoria la falta de recursos simples o guías para poder aprender a testear mis aplicaciones, formatos tipo el famoso Hola mundo de todas las herramientas.

El proceso no era más que leer documentación y publicación tras publicación en sitios como Medium o cualquier otro que hablara del tema y solo me preguntaba ¿Por qué no se habla más de esto? por qué si esto nos puede dar paz en el alma como developers y asegurar que tengamos fines de semana libres de llamadas de urgencia por que algo dejo de funcionar, no es tan común. Y la realidad es que la respuesta es simple, TIEMPO.

Muchas veces por falta de tiempo, por presión para terminar “x” funcionalidad y entregar a tiempo, preferimos dejar de lado las pruebas y enfocar nuestros esfuerzos en el inmediato “Ya funciona” y si deja de funcionar es problema del “Yo del futuro” jaja aunado al hecho de que las pruebas nos pueden llevar a darnos cuenta que necesitamos hacer mejoras en nuestro código más el tiempo que a veces es necesario invertir investigando y aprendiendo cómo testear cosas específicas de nuestra app es la receta perfecta para dejar los test en un segundo plano.

Y a todo esto quizá estés diciendo “Muy bonita tu historia y todo pero… ¿Cómo es que las pruebas salvaran mi vida?” y para responder te pongo el siguiente escenario:

Si has trabajado como desarrollador freelance estarás de acuerdo que no siempre es tan fácil hacer que un cliente te pague jajaja triste realidad y se vuelve más complejo cuando el motivo es la cantidad de bugs que hay en la aplicación, bugs que salen después de hacer alguna mejora o cambio en la aplicación y dan pie al famoso “En mi compu si funciona”.

Resolver esos bugs y evitar nuevos, se vuelve la diferencia entre poder cobrarle a un cliente y tener para comer o no hacerlo y tener tu estómago vacío o si trabajas para una empresa ser la diferencia entre conservar tu empleo o no. ¿Extremos los ejemplos? Quizá, ¿completamente imposibles? No lo creo (Lo escribe entre lágrimas XD).

Pero oye, hay fundamento para el título, ¿no crees? jaja

APRENDE TESTING POR AMOR A DEUS

Enlaces relacionados

course banner

¿Quieres mantenerte al día sobre los próximos cursos y eventos?

Suscríbete a nuestro newsletter

Jamás te enviaremos spam, nunca compartiremos tus datos y puedes cancelar tu suscripción en cualquier momento 😉

robot logo saying hello
facebook icontwitter iconlinkedin iconinstagram iconyoutube icon

© 2016 - 2023 Fixtergeek