¿Qué hace un equipo de control de calidad en el desarrollo de software si no encuentran errores a diario?
Publicado: 2023-01-27Los ingenieros de control de calidad (QA) a menudo escuchan esto:
"¡Tu equipo detectó veinte errores ayer, pero hoy no tienes ninguno!"
Esta postura, por válida que parezca, contradice el propósito y los objetivos mismos del aseguramiento de la calidad en el desarrollo de software.
¿Qué hace exactamente un control de calidad en el desarrollo de software?
En este artículo, Andrey Gilyov, director adjunto de la Unidad de control de calidad de ITRex, explica por qué su equipo de control de calidad no está inactivo incluso si encuentra menos errores. Además, aprenderá por qué siempre debe contratar ingenieros de control de calidad para aumentar su equipo de TI interno o subcontratado en lugar de que los ingenieros de software prueben el código.
Comprender los objetivos de control de calidad y por qué no se limitan al seguimiento de errores
Según el tipo y la complejidad de la solución de software que desee crear, es posible que necesite un especialista en control de calidad a tiempo parcial o un equipo de control de calidad dedicado asignado a su proyecto. Y sus responsabilidades se extienden mucho más allá de identificar errores y reportarlos al gerente del proyecto y al equipo de desarrollo.
En particular, los objetivos de garantía de calidad abarcan:
- Prevención de errores. Encuestas recientes indican que los ingenieros de software dedican alrededor del 20% de su tiempo a corregir errores. Multiplique ese tiempo por la tarifa por hora promedio del ingeniero de software y se dará cuenta de cuánto podría costarle a su empresa un código defectuoso. El precio de corregir errores también aumenta exponencialmente con el tiempo en el flujo de trabajo de desarrollo de software, y eso sin mencionar las implicaciones a largo plazo de lanzar software plagado de errores en producción, como vulnerabilidades de seguridad, disminución de la experiencia del cliente y pérdidas de reputación. Por lo tanto, el propósito clave de la garantía de calidad en el desarrollo de software gira en torno a encontrar errores antes de que causen un daño significativo. Para lograr esta hazaña, un equipo de control de calidad se prepara para las pruebas mucho antes de poner sus manos en una solución de software. Estas actividades de preparación incluyen revisar la documentación de prueba, escribir un plan de prueba y casos de prueba, elegir las herramientas de prueba adecuadas y configurar el entorno de prueba.
- Seguimiento y evaluación del estado del software. Para tomar decisiones bien informadas en proyectos de software, el director del proyecto y el cliente necesitan información actualizada sobre el producto de software en el que están trabajando. Los objetivos de garantía de calidad, entre otras cosas, incluyen proporcionar esta información en un período determinado a lo largo de la línea de tiempo del proyecto de software. Sin embargo, vale la pena mencionar que los ingenieros de control de calidad no eligen el mejor momento para que una solución de software entre en funcionamiento. En cambio, es el cliente quien toma la decisión final. ¡Después de consultar al equipo de control de calidad, un cliente puede incluso decidir implementar una solución de software que contenga errores y errores documentados! Por ejemplo, puede tomar esa decisión cuando el plazo para lanzar su producto es relativamente ajustado y la compensación entre la recompensa, es decir, superar a la competencia o habilitar una función crítica, es mayor que el riesgo de lanzarlo con errores menores. De cualquier manera, debe detectar, documentar y priorizar estos errores, y ese también es uno de los objetivos de su equipo de control de calidad.
- Validación de requisitos. La función principal del control de calidad en el desarrollo de software es confirmar que su solución de software funciona como se espera y cumple con todos los criterios definidos por el documento de especificación de requisitos de software (SRS). Cuando los especialistas en control de calidad realizan pruebas manuales o automatizadas e identifican errores, crean un ticket en un sistema de software de seguimiento de errores como Jira o ClickUp para el equipo de desarrollo. Una vez que el equipo de desarrollo corrige los errores, se repite el ciclo de prueba. Por lo tanto, encontrar errores no es el objetivo de la garantía de calidad; más bien, es un producto secundario de las actividades de control de calidad.
Los equipos de control de calidad a veces no encuentran ningún error. y eso está bien
Ahora que ya entendió las metas y los objetivos del control de calidad, volvamos a la pregunta que planteamos al comienzo de este artículo.
¿Qué hace un equipo de control de calidad en el desarrollo de software si sus informes de errores contienen cero defectos durante días y días?
Hay varias razones por las que los especialistas en control de calidad pueden no encontrar ningún error en su software:
- El software ha sido probado exhaustivamente. Si la solución de software se ha sometido a pruebas exhaustivas, es menos probable que haya errores cuando se repita el ciclo de control de calidad o cuando el producto entre en producción.
- El software tiene un diseño simple. Las aplicaciones con un conjunto limitado de funciones, integraciones e interfaces de usuario simples tienen menos probabilidades de contener errores que el software con una arquitectura y unos requisitos de rendimiento más complejos.
- El software está construido utilizando las mejores prácticas. Los equipos de ingeniería de software que escriben código limpio y bien documentado, siguen los estándares de codificación y utilizan el control de versiones a menudo entregan productos de software con pocos errores. Estos errores se detectan y corrigen al principio del proceso de prueba, y no se manifestarán más defectos en etapas posteriores.
- El proceso de prueba podría haber sido más completo. La falta de tiempo, recursos o habilidades puede impedir que los especialistas en control de calidad prueben a fondo su solución de software. Como resultado, algunos errores podrían pasarse por alto.
- Los errores no son reproducibles. A veces, los especialistas en control de calidad pueden no encontrar ningún error porque los errores no ocurren de manera constante. Varios factores, incluida la complejidad del software, el uso de bibliotecas de terceros o la presencia de dependencias externas, pueden dar lugar a tales situaciones.
No importa la causa, no debe subestimar la importancia del control de calidad en el desarrollo de software, y mucho menos jugar con la idea de permitir que los desarrolladores prueben el código por usted.
No me malinterpreten: está bien que los desarrolladores escriban y ejecuten pruebas automatizadas en equipos ágiles multifuncionales. O incluso probar el software manualmente.
Sin embargo, en tales equipos, donde los roles del proyecto a menudo se comparten, el objetivo principal es lanzar software o características que funcionen más rápido, reduciendo el tiempo de valorización y recopilando comentarios desde el principio. Aquí podríamos estar lidiando con el problema de riesgo versus recompensa descrito en la sección anterior. Y, por lo tanto, su proyecto podría acumular deuda técnica, lo que generaría problemas de rendimiento y costos de depuración significativos en el futuro.
Otras razones para contratar especialistas en control de calidad dedicados son las siguientes:
- Saber programar no es igual a saber revisar el código en busca de posibles errores
- Los desarrolladores rara vez disfrutan de las pruebas, mientras que los expertos en control de calidad sí.
- Las tarifas por hora de los ingenieros de software suelen ser más altas que las de los especialistas en control de calidad.
- Los desarrolladores y los ingenieros de control de calidad normalmente tienen diferentes habilidades interpersonales. Para los QA, la atención al detalle, la capacidad de analizar sistemas complejos y la multitarea ocupan un lugar central. Por otro lado, los ingenieros de software a menudo trabajan en entornos colaborativos y se enfocan en una sola tarea a la vez.
Por lo tanto, incluso si su equipo de control de calidad no ha encontrado ningún error hoy, no caiga en la tentación de despedir a los especialistas en control de calidad o confiar las tareas de prueba al equipo de desarrollo principal. Aunque este enfoque podría reducir su cheque de pago a corto plazo, el costo de perder a sus clientes debido al bajo rendimiento del software o a los ciberataques relacionados con errores puede ser varias veces mayor.
Y si necesita ayuda para validar que su software funciona bien, cumple con todos los requisitos especificados en su SRS o visión técnica y lo ayuda a alcanzar sus objetivos comerciales, ¡contacte a los expertos de control de calidad de ITRex!
Publicado originalmente en https://itrexgroup.com el 20 de enero de 2023.