Calidad, no por ser ya una palabra manida, ha dejado de tener importancia en todos los órdenes de la vida. Llevando esta idea a nuestro negociado, pensando en alguien que no esté en línea con lo que hacemos, podemos incorporar una explicación tipo “Ingeniería y Desarrollo Software” o algo similar porque en buena medida la Calidad del Software determina el éxito (o no) de la compañía que lo utiliza. En ocasiones, el deseo de estar siempre a la última, lleva aparejado realizar los procesos lo más deprisa posible, lo que no siempre ayuda a contar con un software de calidad.
QA (Quality Assurance), es decir, el aseguramiento de la Calidad del Software es un medio y una práctica para monitorear todos los procesos, métodos y productos de trabajo de ingeniería de software para garantizar el cumplimiento de los estándares definidos. El objetivo primordial es asegurar la calidad del trabajo. También se conoce como SQA (Software Quality Assurance).
Pruebas, control de calidad y QA
La Calidad del Software debe asegurarse a lo largo de todo el ciclo porque es un aspecto crítico para que los productos y servicios gocen de éxito en el mercado y cumplan los requisitos esperados por los clientes. El software puede requerir superar algunos estándares como el ISO 25000. La Calidad del Software se suele dividir en tres apartados que, de menor a mayor, serían: pruebas, control de calidad y QA (aseguramiento de la calidad). Las pruebas tienen como finalidad detectar y resolver los problemas que pudiera presentar el software.
No es lo mismo QA, el aseguramiento de la Calidad del Software, que las pruebas de software, estas últimas son solo una parte del todo, de la Calidad del Software. Los test detectan fallos pero no los solucionan. Por su parte, el control de calidad tiene como objetivo que el producto final tenga la mayor excelencia posible, para ello se inspecciona a fondo los factores que participan en la producción. El control de calidad se puede aplicar a cualquier aspecto, ya sea un marcapasos, un plátano, un coche o, como en el caso que nos ocupa, un software.
En 2012, debido a un software de mala calidad que controlaba operaciones de renta variable de la compañía financiera estadounidense Knight Capital la empresa perdió 460 millones de dólares (433 millones de euros) en menos de una hora, lo que supuso su ruina.
10 iniciativas para alcanzar y mantener un software de calidad:
- Probar y monitorizar el software. El aseguramiento de Calidad del Software es una actividad constante, pues con el mantenimiento y evolución de los sistemas es necesario dotar de pruebas y controles continuos.
- Desarrollar DevOps con test automáticos integrados.
- El objetivo no es detectar fallos en el software sino prevenirlos.
- Incorporar las pruebas de seguridad o ciber, que cada vez toman más relevancia junto a las funcionales y técnicas, para asegurar la correcta protección ante vulnerabilidades de sistemas.
- Realizar pruebas funcionales, en especial para testar las especificaciones y características del sistema.
- Pruebas de stress para comprobar la robustez del sistema en condiciones de alta carga, más allá de una situación normal.
- Estrategia multi testing, que consiste en emplear diferentes métodos de pruebas, cuantos más, mejor.
- El QA debe ir en paralelo con el desarrollo del software, es una actividad que se implementa a lo largo de todo el ciclo.
- Mantener una completa documentación en la que se incluya los resultados de las auditorías, test, revisiones y demás.
- Es esencial que haya buena relación y cooperación entre todos los equipos que trabajan en el software. Las pruebas deben ser realizadas de manera independiente por un competente e imparcial equipo de profesionales.
Beneficios derivados de un software de calidad:
- Ahorro de tiempo y costes. Los errores se pagan (a veces de manera literal).
- Aumenta la estabilidad del sistema.
- Evita tener que lidiar con clientes malhumorados. Al mismo tiempo que crece la confianza del consumidor en el producto. Cuesta lograr una buena reputación pero es muy fácil perderla.
- Se reducen las reparaciones y el coste del mantenimiento.
- Un software de calidad mejora la eficacia de la compañía y su interacción con el mercado.
- La seguridad es algo más que un lugar común. En lo que concierne al software abarca a multitud de aspectos, como la vulnerabilidad a la que pueden quedar expuestos los clientes o fallos en el ámbito de la ciberseguridad.
A pesar de las evidencias (a veces dolorosas) que ponen de manifiesto la capital (nunca mejor dicho) importancia de la Calidad del Software, a menudo este aspecto se relega a un segundo plano. Si se nos permite la analogía, es como si un fontanero nos montase en casa un cuarto de baño nuevo y cobrase el trabajo sin ni siquiera comprobar que funcionan los grifos. El QA va mucho más allá de simplemente encontrar errores en el código, bien implementado contribuirá de manera vital a la calidad del producto final y, por tanto, al éxito (o no) de la compañía que lo ofrece.
Delonia cuenta con un cualificado y experimentado equipo especializado en todo tipo de pruebas y controles para garantizar la Calidad de un Software.