02. ¿Por qué se testea y en qué consisten los servicios de testing?

Centro de Ensayos de Software
4 min readAug 16, 2023

--

En la nota anterior escribimos sobre qué es el testing; en esta nos proponemos brindar más información o aclarar para qué se testea.

Detectar incidentes o comportamientos no esperados, brindar información acerca de la calidad del software, minimizar riesgos o ayudar en la toma de decisiones son algunos de los motivos.

¿Por qué testear?

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.

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.

Indicadores y decisiones

Por su complejidad, existen diferentes tipos de pruebas que debería transitar el software bajo prueba, del inglés Software Under Test (SUT), en su ciclo de desarrollo. Esto dependerá de donde se desee focalizar 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 en un software pueden servir como indicadores de su calidad. No obstante, es crucial tener en cuenta el cubrimiento de las pruebas ejecutadas que llevaron a detectar dichos incidentes. 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.

Nuestros servicios de testing

Los servicios de Testing sirven para planificar, gestionar y ejecutar las pruebas de software de acuerdo a los objetivos del cliente, el contexto del proyecto y la organización.

Existen servicios variados: testing funcional, automatizado, de performance, accesibilidad, experiencia de usuario, conformidad, seguridad, coaching, consultorías, apoyo en el armado del grupo de Testing de una organización, entre otros.

Todos los servicios relacionados a calidad y testing de software forman parte de nuestra oferta, en la que tomamos 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.

Para finalizar este artículo, te invitamos a que nos cuentes aquí o en redes sobre qué te gustaría leer en futuras notas. En la próxima, por ejemplo, hablaremos sobre tipos de pruebas. ¡Nos leemos en unos días!

👉🏼 Linkedin

👉🏼 Twitter

👉🏼 Instagram

👉🏼 Facebook

--

--

Centro de Ensayos de Software
Centro de Ensayos de Software

Written by Centro de Ensayos de Software

Desde hace 20 años proveemos servicios de capacitación, consultoría y testing.

No responses yet