Las consecuencias de no incluir pruebas de calidad en un proyecto de software
16 abr.No es algo nuevo hoy en día que el software forma parte de la vida diaria, partiendo desde el software en el celular hasta las actividades diarias como conducir, ir de compras, al banco, ver tv, etc. en casi todo lo que realizamos hay un software de por medio, por lo que, desarrollar software pasó a ser una actividad que genera muchas ganancias y las empresas desarrolladoras de software buscan entregar productos que satisfagan las necesidades de los clientes, para lograrlo, el software debe pasar por un proceso de calidad. Y es justo lo que se abordará a continuación, la importancia de las pruebas de calidad y los riesgos de no realizarlas en un producto de software.
El proceso de pruebas de software incluye muchas actividades, entre ellas Planificación y control, Análisis (¿Qué probar?), Diseño (¿Cómo probar?), Implementación (¿Está todo listo para probar?), Ejecución (Comparación de resultados reales con los esperados) y Actividades de cierre, que a su vez contienen diferentes actividades que se ajustan al ciclo de vida de desarrollo de software, pero no entraremos en detalles acerca del proceso en sí. Las pruebas de calidad de un software no incluyen solamente ejecutar el software y hacer que falle, va mucho más allá. Y es debido a esta creencia errónea o por reducir tiempo/costo que en muchos proyectos se excluye el proceso de pruebas de calidad, pero ¿qué riesgos se corren al hacer esto?
Antes hay que reflexionar en el siguiente punto, ¿Por qué falla un software?
Las aplicaciones de software son desarrolladas e implementadas por seres humanos y por ende es imposible que el producto no contenga errores y esto es algo completamente normal debido a nuestra naturaleza falible, es imposible predecir todas las combinaciones de entradas en un software. La presión del tiempo, inexperiencia, complejidad pueden nublar el buen juicio de los participantes que pueden cometer una equivocación e introducir errores en la construcción del software. Si esos errores no se detectan y se corrigen el producto llegará al cliente defectuoso y no logrará satisfacer sus necesidades.
También es importante mencionar que un software también puede fallar por situaciones externas del entorno en el que es ejecutado como descargas eléctricas, clima, la radiación, por mencionar algunos y que las pruebas ayudan a identificar estos fallos en los entornos específicos en los que puedan fallar y así implementar soluciones lo antes posible.
Dentro de los riesgos más comunes que se presentan en un software tenemos:
- El software no hace lo que se espera.
- Tiempos de respuesta inadecuados.
- Cálculos incorrectos.
- Mala experiencia de usuario.
- Falta de accesibilidad.
- Entre otros.
Entre los impactos que podrían generar tenemos:
- Pérdida de confianza en el producto.
- Pérdida de clientes.
- Pérdida de dinero.
- Pérdida de la vida
- Entre otros.
En cualquier proyecto existe la probabilidad que ocurra cualquiera de estos escenarios adversos, pero si excluimos las pruebas de calidad nos arriesgamos que todo esto pueda ocurrir en un entorno operativo. Las pruebas reducen la probabilidad que ocurran ya que se utilizan para mitigar los riesgos identificados en el proyecto antes de ser entregado al usuario final.
El proceso de pruebas tiene un gran impacto sobre los riesgos en un proyecto de desarrollo de software, pero cabe aclarar que incluir el proceso de calidad no asegura que el software no contenga errores, por las mismas razones que el no incluirlas no asegura que no hay errores, por que aun los mismos probadores son seres humanos falibles, pero lo que sí se puede asegurar es que bajo las condiciones probadas el software funcionará correctamente. Las pruebas ayudan a reducir el riesgo que el software falle en el entorno de operación. En Consulting Group la calidad es fundamental y aprovechamos los beneficios del proceso de pruebas para poder entregar proyectos exitosos que ayuden a los clientes a sacar el mayor provecho a su inversión.
Ing. Xiomara Stefany Alarcón Carballo | Consultora de Calidad | Ingeniera en Sistemas y Computación