¿Qué implica empezar a trabajar con un partner especialista en testing?

Outsourcing de las Pruebas de Software: ¿Cómo funciona?
Fuente: Fauxels en Pexels

En Abstracta, trabajo diariamente con nuestros clientes y me aseguro que sus necesidades estén siendo cubiertas, que nuestros ingenieros de calidad se sientan a gusto trabajando con ellos, y que ambas partes estén alineadas en cuanto a procesos, comunicación, objetivos, etc. También me reúno con compañías que buscan encontrar una empresa para el outsourcing de las pruebas de software; muchas veces me preguntan cómo sería la relación entre Abstracta y su compañía, y cómo llevaríamos adelante el proyecto.

A continuación, comparto un breve resumen de lo que consideramos un enfoque exitoso para comenzar con la tercerización de las pruebas de software.

Primeros pasos

Existen dos escenarios diferentes cuando empezamos a trabajar con un nuevo cliente. El primer escenario es cuando el cliente ya cuenta con algunos testers pero está buscando cumplir un requerimiento específico, por ejemplo, necesita ayuda para crear un framework de automatización, o ejecutar pruebas de performance.

Por tanto, comenzaremos por tener todo configurado y funcionando correctamente. Luego, nos integraremos con el equipo de trabajo y los procesos del cliente. A medida que la relación crece, nos aseguramos constantemente de atender sus requerimientos específicos, y le brindamos la oportunidad de identificar otras áreas a mejorar en el futuro.

El segundo escenario consiste cuando el cliente busca servicios de pruebas de software end-to-end. Quiere aprender qué y cómo priorizar lo que se debe probar, qué herramientas utilizar, cuáles son las buenas prácticas y metodologías, y finalmente, qué tipo de roles deben incorporar al equipo. En Abstracta nos encanta este tipo de oportunidades porque nos apasiona difundir nuestro conocimiento para ayudar a las organizaciones a crear software confiable y de calidad, de la mejor manera.

Entonces, ¿cómo ayudamos a este tipo de clientes? Primero, nos interesa comprender su contexto comercial, qué recursos tienen actualmente, qué quieren lograr, entre otras consideraciones clave. Después de comprender bien los objetivos y el contexto del cliente, llevamos a cabo una evaluación inicial, con el objetivo de comprender mejor el funcionamiento interno de sus actividades y procesos técnicos.

La evaluación inicial se basa en nuestro modelo y metodología de madurez de testing de software. Este modelo se basa en la experiencia que hemos obtenido durante más de 12 años de trabajo para varias startups y compañías del Fortune 500, como por ejemplo CA Technologies, Shutterfly y Verifone.

Este modelo toma en cuenta buenas prácticas respaldadas por los líderes de la industria, y las complementa con las prácticas de testing de software de Abstracta, para crear una metodología y determinar las acciones adecuadas que traerán los mejores beneficios para los equipos, en el menor tiempo posible. Más específicamente, nos ayuda a tener una noción del nivel de madurez del equipo y a determinar los pasos a seguir, en la búsqueda de un entorno de testing continuo e integración continua.

Existen varias actividades y áreas dentro la ingeniería de calidad de software, que pueden implementarse para ayudar a cualquier compañía para lograr un entorno de testing ágil e integración continua.

Nuestra evaluación de madurez se enfoca en revisar el estado actual de las siguientes áreas clave:

  • Código fuente
  • Entorno e infraestructura
  • Gestión de bugs e incidentes
  • Gestión de pruebas
  • Testing funcional
  • Automatización de pruebas
  • Pruebas de performance
  • Pruebas de usabilidad

Después de tener una idea de la gestión del cliente en las anteriores áreas, construimos un plan de acción para perfilar una estrategia de pruebas que contemple todas las actividades necesarias, ordenadas de mayor a menor prioridad, sumado a los tipos de pruebas a realizar. En la siguiente gráfica esbozamos este este proceso inicial:

Pilares del Modelo de Madurez de Testing de Software de Abstracta

De acuerdo con el plan de acción y el proyecto en particular, algunos de los objetivos de las pruebas de software pueden incluir:

  • Encontrar problemas potenciales del sistema y su uso, que pueden incluir errores de programación, interpretaciones erróneas  de la lógica de negocio, requisitos (de acuerdo con documentos de especificaciones) o expectativas de los usuarios, problemas con la configuración del entorno (en cualquier entorno en el que está implicado el testing, como las pruebas, puesta en escena, y producción), etc.
  • Comenzar con las actividades de testing tan pronto como sea posible (Shift Left Testing), reduciendo la probabilidad de encontrar incidentes durante la integración de los sistemas, donde son más fáciles y menos costosos de solucionar.
  • Detectar los problemas de usabilidad de acuerdo con heurísticas modernas y verificar que la interfaz de usuario sea fácil de usar.
  • Verificar los tiempos de respuesta y consumo de recursos de acuerdo con los requisitos y expectativas del usuario.
  • Controlar los aspectos de seguridad de una aplicación, identificando las posibles vulnerabilidades que produzcan fallos críticos.

Estos objetivos contribuyen en la transición hacia una cultura de feedback continuo, donde la información sobre todos los aspectos importantes de la calidad están disponibles para cualquier miembro del equipo. Para nosotros, aquí es donde ocurre la magia, ¡cuando DevOps, Agile, CI/CD y el testing se unen!

¿Conoce cuál es el nivel de testing de su compañía? Descúbralo con nuestra evaluación interactiva de madurez de testing de software aquí.

El siguiente paso es asignar un líder técnico para que sea el principal punto de contacto con el cliente y centralice las comunicaciones. Luego, el líder técnico conformará un equipo de trabajo en función del plan definido, y creará la estrategia adecuada. Luego, se toman en consideración los tipos de pruebas de software a realizar y la complejidad técnica, para asignar los recursos más adecuados y de esta manera, asegurar una entrega exitosa. Si las prioridades cambian o surgen nuevas necesidades, el líder técnico ajustará el equipo asignado.

¿Por qué Outsourcing para las Pruebas de Software?

Una de las mayores ventajas que tienen las empresas al tercerizar la totalidad o parte de sus pruebas de software, es la capacidad de ampliar y reducir el tamaño del equipo de testing, de acuerdo con sus necesidades. Por ejemplo, ayudamos a las empresas de e-commerce a aumentar las pruebas de carga previo a eventos masivos de compras online, tales como Cyber Days o Black Friday.

Ahora bien, no solo existe flexibilidad para aumentar o reducir el equipo, también podemos aprovechar el conocimiento y el conjunto de habilidades de los más de 100 testers de Abstracta.

Cultivando una relación exitosa

¿Está buscando una empresa para el outsourcing de las pruebas de software y quiere tomar la decisión correcta? Recomendamos que tenga más de una conversación con las empresas que está evaluando para cerciorarse que compartan su visión, cultura, prácticas de gestión empresarial, etc. Si bien creemos que es importante desarrollar software de manera rápida, es vital contar con la empresa de pruebas de software adecuada y de este modo, cultivar una relación exitosa a largo plazo.

Afortunadamente, empezar a trabajar con un proveedor de servicios de testing puede ayudarle a eliminar la brecha entre el testing y el desarrollo; brindando a los desarrolladores feedback anticipadamente, al tiempo que se minimizan los costos y los riesgos comerciales, sin afectar la calidad. ¡Y esto es solo el comienzo!

¿Quiere saber más sobre cómo trabajar con una empresa para el outsourcing de las pruebas de software? Déjenos un comentario o agende aquí una consultoría gratuita y personalizada de 30 minutos.

Otros contenidos relacionados

Abstracta, Líder en Pruebas de Software

¿Cómo elegir una Empresa de Pruebas de Software?