Software testing: retrospectiva y tendencias

Si nos dieran la oportunidad de introducirnos a la utópica máquina del tiempo, y vivir hacia atrás los acontecimientos que han marcado pauta en la industria del Testing, comprobaríamos que en estos últimos diez años se han dado pasos importantes (particularmente en México), entre los cuales bien vale la pena mencionar:

Mayor madurez de las empresas al considerar aplicar formalmente esfuerzos de pruebas dentro de su ciclo de desarrollo de software.

Incremento en la capacitación formal en Pruebas de Software.

Profesionalización del Testing, convirtiendo a quienes lo ejercen, en especialistas capacitados y certificados en modelos, metodologías y herramientas propiamente de Pruebas.

Mayor independencia del área de Pruebas.

Paulatino incremento de partidas presupuestales designadas exclusivamente a Testing. Aún sigue faltando mayor poder de convencimiento hacia áreas como Finanzas y Dirección, quienes justamente piden evidencias contundentes del Retorno de la Inversión.

Han surgido en el mercado infinidad de herramientas de pruebas para abordar la evaluación de aspectos funcionales, estructurales, performance, automatización, así como la administración de las pruebas, etc.

El desarrollo del Testing ha propiciado una madurez respecto a la generación de documentación técnica útil del producto (a diversos niveles, pero sí se ha advertido una mayor motivación por generarla, a fin de apoyar a otros procesos).

Se ha venido incrementando el servicio de terciarizarización de las Pruebas, en esquemas como el sourcing de personas, o mediante el surgimiento de fábricas de pruebas externas; aunque muchas organizaciones grandes crean sus propios centros de pruebas, requiriendo en su lugar otro tipo de servicios externos, como la capacitación y certificación de personas.

Las organizaciones se preocupan más por el cumplimiento de estándares de calidad, o se han visto en la necesidad de hacerlo ya sea por procedimientos o regulaciones formales, o por verse inmersas dentro de una red global donde sus aplicativos requieren reflejar una mayor calidad, por cuestiones de competitividad.

Ahora bien, imaginemos tener una bola de cristal, en la cual al ver las predicciones sobre el Testing muy probablemente veríamos muchas de las vertientes que desde la actualidad identificamos como relevantes y que sin duda seguirán teniendo un gran auge:

Mobile Testing. Como sabemos, la gran penetración de dispositivos móviles en el mundo, ha originado el crecimiento desmedido de las apps, abriendo así un universo de posibilidades de crecer en pericia, creación de herramientas especiales, adiestramiento y manejo de las mismas, etc. A pesar de los huecos existentes en el tipo de herramientas y métodos específicos para probar aplicaciones móviles, se sigue vislumbrando un crecimiento importante del Testing en estos dispositivos, en los diversos sectores, según respuestas de 1500 encuestados en el mundo. Ver Figura 1.

Testing en la nube. A pesar de los “pros” y “contras”, esta tendencia podría mantenerse dados los flexibles esquemas que aparentemente pueden resultar muy beneficiosos para las organizaciones desarrolladoras, e incluso para las proveedoras de servicios de Testing. Sin embargo, el crecimiento puede seguir siendo lento aún en el ámbito mundial (ver Figura 2), pues entre otros aspectos, tal vez seguirá pesando la cuestión de la seguridad.

Agile Testing. La adopción de metodologías ágiles en el desarrollo de software seguirá creciendo, por lo que una parte crucial del éxito de dichos proyectos será determinar cómo integrar de forma efectiva a equipos de pruebas que venían desarrollando su actividad en apego a metodologías tradicionales, buscando obtener el mejor provecho de ambos enfoques.

Device Testing. Este es otro más de los rubros que apunta hacia desarrollarse fuertemente, derivado del desmedido incremento de dispositivos controlados por software, y de los tantos que estarán interconectados intercambiando información con aplicaciones en internet (al Internet de las Cosas le queda mucho camino por recorrer).

Infraestructura del Testing. La labor de preparación de múltiples y más complejos ambientes, también seguirá siendo tema de relevancia para las organizaciones que requieren probar software bajo diversas plataformas, con cargas masivas de datos, requiriendo en muchos casos de virtualización de ambientes, a fin de contar con los elementos lo más parecidos a un ambiente de producción, sin que se detenga el ritmo de ejecución por afectaciones en los datos o por la falta de respuesta de sistemas externos que pueden perfectamente ser simulados.

Pruebas de Seguridad. No sólo ante el boom de las aplicaciones para móviles ha surgido la gran necesidad de llevar a cabo este tipo de pruebas, sino también el resto de las aplicaciones requieren un especial esfuerzo y foco; pero en definitiva, es ante la gran demanda de uso de aplicaciones para smartphones y demás dispositivos móviles, que las organizaciones estarán requiriendo dar a sus usuarios mayor protección a sus datos, realizando intercambio de información y transacciones seguras, sean del tipo que fueran. He aquí el gran reto para los especialistas en Security Testing.

Los caminos del pasado, recorridos están. Los nuevos pasos, hay que darlos y de manera firme para seguir haciendo frente y con efectividad, a los nuevos retos que tenemos. Por ello tanto estudiantes, profesionistas de Pruebas, empresas, todos hemos de abordar dichas tendencias si queremos realmente aportar a la calidad del mundo de aplicaciones de software que día a día se siguen desarrollando.