Saturday, June 18, 2011

Test is dead, o eso dicen.

El dia de hoy leí un post cuyo titulo leia "Test is dead" en el blog de googletesting. Eso me recuerda una conferencia de la agilista Elizabeth Hendrickson de la compañia TestObsessed quien narra que, despues de una conferencia de Agile, el ponente declaro que el trabajo de los testers era "irrelevante". Y a decir por la cultura mexicana del software para muchas pequeñas y medianas empresas, el desarrollo es necesario pero las pruebas no.

Fuera de si mal interpreté el post de google, la verdad es que todavía hoy, habiendo tanto tester, y que somos una gran parte de la facturación de las compañías de servicio, se nos considera un mal necesario. Mala onda, no? Y aquí algunas de mis experiencias en el área de testing:

  • En una empresa de servicios donde trabajé recientemente, varios desarrolladores trabajaron en un proyecto interno de un sistema administrativo. El manager que les encargó dicha tarea les indicó que no era necesario probarla. Estamos hablando de una empresa que factura bastantes millones de dólares al año y que tiene un departamento de Pruebas. Huelga decir que, para cuando empezamos a probar la aplicación, tronó peor que Windows 95 y su blue screen of death.
  • Hace un par de años compartí depa con un desarrollador .NET que tuvo a su cargo un programa de inventarios para una compañía bloquera. Se tardaron más de un año en programarla, y, después de un fallido deployment en varias ciudades, los usuarios finales encontraron la herramienta, inusable.
  • Recientemente evalué una herramienta de telefonía para una startup (trabajo gratis, de compas). El entrepreneur estaba más preocupado por los costos del testing que por contratar un desarrollador novato, quien aumentaría el riesgo de que su aplicación tronara como chinampina. Y parece no ser sólo el pequeño empresario a quien le duele el codo pagar por pruebas. Por el ejemplo anterior, tambien los medianos, grandes empresarios.
Hay muchas razones equivocadas para no contratar testers, y Joel Spolsky nos cuenta cinco de las más socorridas. Y como hay mucho que decir sobre el tema, creo que esta será una serie de posts. Veamos lo que ustedes tienen que decir sobre el tema.

Por eso tu, desarrollador, si quieres saber si tu entregable funciona como deberia, y lo que es mejor, si quieres disminuir el riesgo de que tu programa no truene a las primeras de cambio con tu cliente, haz contratar un tester.

Tu, empresario, que has invertido en un software que será ventaja competitiva para tu negocio, no dejes que se transforme en pérdida. Necesitas alguien pruebas externo a desarrollo que te de una medida de la calidad del producto. Y si tienes un consultor que supervise a la empresa que te provee de equipo de testing, mejor. Alguien debe auditar al auditor. Por otro lado, y en la medida de lo posible, contrata freelancers. Hay muchas opciones y siempre obtendrás precios más asequibles.

Tuesday, June 14, 2011

Mi nombre es Omar Navarro, y soy un tester.

Me inicié en el mundo del testing hace como siete años, parcialmente inspirado por un maestro de programación que solía serlo (Gracias de nuevo, Ken Bauer). Él es una leyenda en el campus famoso por su prueba del teclado (Básicamente, simula input aleatorio volteando un teclado y luego esperando la respuesta del programa).

Así que, tres años despues de haber tomado su clase de compu II, y haber tomado clases evaluación de interfases de usuario, decidí que ya estaba listo para el mundo laboral y solicité empleo en la IBM de México. Año y medio después , de testing manual, entrenamiento en procesos y automatizaciónconsideré que ya estaba listo para nuevos retos (y más salario :) ) y tomé un empleo con Softtek en Monterrey. Seis meses después ( muy poco tiempo, pero llegaré a eso luego) como desarrollador Java en un proyecto de automatización de pruebas con Symbian. Y así sucesivamente hasta hoy, siete años de experiencia después, y haber hecho testing manual, automatizado, desarrollo de frameworks, liderazgo de equipos y varios viajes al extranjero estoy a punto de convertirme en el Delivery Manager Nearshore de testing para una compañía India.

Así que, 7 años y 7 trabajos después, me parece que he estado haciendo un poquito de todo en el área de pruebas, y es precisamente lo que quiero compartir con la comunidad IT de habla hispana. Es gratificante ver las inmensas oportunidades que hay en el área de la ingeniería de pruebas o testing como se le conoce más comúnmente, más allá del simple monkey-testing con el que se estereotipa a la profesión. El tester es mucho más que un capturista de datos, o creador de escenarios. Como todo tiene su chiste. Tiene tanta codificación como cualquier proyecto de desarrollo y te enfrenta a retos bastante interesantes. Es cuestión de actitud e ingenio.