En la nota anterior escribimos sobre qué es el testing de software; en esta nos proponemos profundizar en por qué es importante testear software, cuáles son sus beneficios y en qué consisten los principales servicios de testing.
Detectar incidentes o comportamientos no esperados, brindar información acerca de la calidad del software, minimizar riesgos y ayudar en la toma de decisiones son algunos de los principales motivos para realizar pruebas de software.

¿Por qué es importante testear software?
La construcción de software es un proceso colaborativo, en el cual intervienen diversas personas que negocian expectativas, analizan y diseñan una solución para un contexto determinado. En este proceso los actores cometen errores de análisis, diseño e implementación.
Los usuarios son cada vez más exigentes, es decir, no solo desean contar con el producto, sino que buscan y valoran aspectos como por ejemplo que sea fácil de usar (amigable), ágil, robusto y seguro. Si el usuario tiene una mala/pobre experiencia debido a errores, lentitud de respuesta, complejidad en el uso o que no es accesible para sus necesidades, optará por no usarlo o adquirir otro.
Ser consciente de lo anterior motiva a preocuparse y ocuparse de la calidad del software que se desarrolla. Antes, sólo el desarrollador era quién probaba (y no visualizaba muchos de los defectos de su producto). Hoy, es indiscutible que se necesita de una “mirada” más crítica y con formación en la materia. Aquí es donde entran los testers de software.
El rol del tester de software
Podríamos decir que la habilidad más valorada de los testers de software será la de descubrir la mayor cantidad de incidentes (en la menor cantidad de tiempo) antes de que el producto pase a manos del usuario final (producción). Por eso, es ideal que su participación en el proyecto se inicie desde el día en el que germina la idea.
Un buen tester debe contar con ciertas habilidades o características, entre las que se destacan el compromiso, capacidad analítica y crítica, curiosidad, observación y buena comunicación.
Tipos de pruebas de software, indicadores y toma de decisiones
Existen diferentes tipos de pruebas de software que pueden aplicarse durante el ciclo de desarrollo del producto, dependiendo del objetivo de las pruebas, el contexto y la etapa en la que se encuentre. Algunas de ellas son las pruebas funcionales, no funcionales (por ejemplo de seguridad, de performance, de accesibilidad), manuales o automatizadas, unitarias o de integración, de humo, de regresión, entre otras. De ellas hablaremos en futuras notas.
La cantidad y gravedad de los incidentes detectados pueden servir como indicadores de la calidad del software. Sin embargo, también es fundamental considerar la cobertura o cubrimiento de las pruebas de software ejecutadas. El término “cubrimiento de las pruebas” hace referencia a las partes del software, incluyendo sus funcionalidades y escenarios, que fueron evaluadas durante las pruebas.

Si llevamos a cabo pruebas con una cobertura adecuada y logramos identificar un incidente crítico, esto implica que el sistema carece de la calidad necesaria para su despliegue en un entorno de producción. Por otro lado, si identificamos veinte incidentes de criticidad menor, el Gerente del Proyecto podría optar por avanzar hacia el pasaje a producción a pesar de estos incidentes menores. Considerando, por ejemplo, que estos aspectos no perturben el funcionamiento esperado por los usuarios del sistema y que el cronograma está ajustado.
Consideremos, por ejemplo, que diseñamos casos de prueba utilizando técnicas de diseño que nos aseguren el cubrimiento deseado en las funcionalidades prioritarias del SUT y al ejecutarlos no encontramos incidentes críticos; en esa situación aumenta la confianza en el SUT. En cambio, si en las pruebas de humo detectamos rápidamente incidentes críticos, es aconsejable solicitar correcciones, ejecutar pruebas hasta lograr el cubrimiento y la confianza deseada antes de considerar un pasaje al ambiente de producción.
¿En qué consisten nuestros servicios de testing de software?
Los servicios de testing de software permiten planificar, gestionar y ejecutar pruebas de acuerdo con los objetivos del cliente, el contexto del proyecto y las características de cada organización.
Existen distintos servicios y tipos de testing de software: testing funcional, automatización de pruebas, testing de performance, accesibilidad, experiencia de usuario, conformidad, seguridad, coaching, consultorías y apoyo para la conformación de equipos de testing, entre otros.
Todos nuestros servicios toman como base nuestras investigaciones, formación y experiencia que hemos adquirido en casi veinte años, así como también las necesidades de la industria. En todos nuestros servicios promovemos el aprendizaje y la transferencia de conocimiento al equipo del cliente, tanto desde el punto de vista técnico como metodológico.
Todo el Testware [1] queda a disposición del cliente, incluyendo un Informe Final de Pruebas con las actividades realizadas durante el proyecto de prueba, los resultados obtenidos y/o un Informe Final del Proyecto con resumen de las actividades, resaltando aspectos importantes y recomendaciones.
[1] El término “testware” se refiere a todos los elementos y componentes utilizados en el proceso de pruebas de software. Esto incluye tanto los recursos tangibles, como los casos de prueba, scripts y herramientas de prueba, así como los recursos intangibles, como la planificación y la documentación relacionada con las pruebas.




