Seis pautas a seguir (sí o sí) para garantizar la calidad del software

  • Actualidad

Solo en 2017 los errores de software provocaron la pérdida de 1,7 billones de dólares. Las empresas deben incorporar al equipo de calidad desde la concepción inicial del producto o servicio y en todas sus fases, según los expertos de Paradigma, que recuerdan que "los efectos de no valorar la calidad de software pueden ser desastrosos".

Más sobre Transformación Digital 

Moderniza los servicios de RR.HH. y aumenta la satisfacción de tus empleados

SAP HANA Platform: despliega todo su potencial en tu negocio

Smart cities, conectando puntos para crear un futuro más inteligente 

Mejores prácticas para implementar una plataforma ágil

NetOps conoce a DevOps. Estado de la automatización de red

Cómo implementar automatización DevOps y lograr una verdadera agilidad cloud

“La calidad del software no se garantiza haciendo una o mil pruebas al final del desarrollo, sino que la calidad se trabaja desde el minuto uno y durante todas la fases del proyecto”, señala Rafael Márquez, QA Engineer de Paradigma Digital.

Según esta compañía, las empresas deberían seguir seis pautas en este ámbito para no verse afectadas por pérdidas económicas o de reputación vinculadas a errores de software:

1. Definir los requisitos. Éste es el primer paso a cualquier desarrollo. Es el momento en el que se define qué es lo que queremos tener y por qué. Frecuentemente, se suele caer en tener definiciones generales que van tomando forma durante el desarrollo. Esto lleva a equívocos y acaban provocando fallos tanto a nivel de código, como a nivel funcional. Se debe trabajar en tener requisitos lo mejor definidos posibles y sin definiciones abiertas que den lugar a dudas. Para ello, existen técnicas como BDD que se basa en definir la aplicación a base de ejemplos y de cómo debería comportarse, haciendo que todo el mundo lo entienda.

2. Automatizar las pruebas. En las pruebas manuales es habitual centrarse en probar los nuevos cambios, ya que es prácticamente imposible probar toda una aplicación con cada uno ellos. Esto suele provocar graves errores ya que un simple cambio puede afectar a muchas partes del código. Las pruebas manuales ayudan y, a veces son necesarias, pero es mucho más importante tener una buena cobertura de pruebas automatizadas que nos garanticen, de una forma rápida, que tanto el nuevo desarrollo como los anteriores funcionan perfectamente.

3. Desarrollar flujos automáticos. Durante el desarrollo de nuestros productos se debe tener automatizado el mayor número de flujos posibles como la ejecución de tests, revisión y entrega de código… Con esto no solo se gana tiempo, sino que se evitan pasos manuales que siempre pueden provocar errores. Por otro lado, si los flujos se automatizan, garantizamos que se lleven a cabo siempre los mismos pasos y configuraciones, algo que más difícil de cumplir si se hace manualmente.

4. Velar por la calidad del código. Se suele decir que existen dos tipos de código, el que funciona y el que no, pero esto no es cierto. Existe el bueno y el malo. El código no solo tiene que funcionar correctamente. Además de ello, tiene que tener calidad que evite futuros bugs. Para ello, hay que trabajar en puntos como: el código duplicado, nivel y calidad de comentarios, complejidad ciclomática o estándares de codificación entre muchos otros.

5. Respetar los tiempos. Los puntos anteriores son muy importantes y todos ellos tienen algo en común: todos requieren de una dedicación que debe ser respetada desde el primer hasta el último minuto. Las prisas no son buenas consejeras y nos podemos acabar arrepintiendo y mucho de recortar tiempos de cualquiera de las fases.

6. Concienciar a todos los departamentos. No se trata solo de la responsabilidad que tiene el área de QA; la calidad es responsabilidad de todos y cada uno de los miembros del equipo. En algunas empresas se trabaja con un equipo externo al de desarrollo. Este equipo entra en una fase posterior, lo cual va en contra de lo nombrado anteriormente. Lo más aconsejable es que todo el equipo se sienta responsable de la calidad durante todo el proceso de desarrollo y se centre en tratar de prevenir y evitar los errores en lugar de buscarlos.

“Para que un proceso de desarrollo la calidad abunde es necesario poner en marcha un proceso intensivo de revisión en el que se puedan establecer distintos procedimientos de calidad para garantizar su cumplimiento durante el desarrollo. La ventaja es que con una metodología validada y con la ayuda de algoritmos de inteligencia artificial resulta muy fácil replicar líneas de código bien escritas”, concluye la firma.