El software embebido debe ser extremadamente fiable, seguro, eficiente, compacto y preciso. Para conseguirlo, Begoña Laibarra, directora general de SQS, propone el uso de procesos de testing durante el ciclo de vida de estas aplicaciones.
Un software de calidad es aquel que responde de forma adecuada a las exigencias, las necesidades y las características de su entorno: clientes (funcionalidad, desarrollo dentro del plazo y el presupuesto, sin errores en fase de producción), mercado (cumplimiento de normativas regladas o de facto), entorno tecnológico (interoperabilidad, rendimiento, consumo de memoria), equipo de desarrollo (mantenibilidad – entender el código desarrollado por un tercero, probarlo) y usuario final (usabilidad, accesibilidad, tiempo de respuesta).
Existen normativas y estándares, como la ISO9126, que nos ofrecen un marco de evaluación y de medición de la calidad del software. Estos estándares son una referencia que debemos adaptar nuestro producto y a nuestro mercado. Una vez entendidos, comprendidos y valorados los factores de calidad y de riesgo de un sistema, se podrán establecer no sólo mecanismos de control (actividades de testing, revisión) que comprueben que el sistema se ajusta a los requisitos de calidad, sino que se podrán implantar el proceso de desarrollo y las metodologías de diseño, así como la especificación de requisitos que mejor se adecue al producto y por ende, que permitan evitar errores desde el principio y reducir costes y plazos de entrega.
Dentro de este marco, es esencial integrar de forma adecuada y temprana en el proceso de desarrollo y de testing para conseguir desarrollar un software de calidad. Es fundamental no esperar hasta el final del desarrollo para probar que un software funciona. Hay que establecer puntos de revisión y control a lo largo de todo el proceso de desarrollo para garantizar que los errores se encuentran tan pronto se producen.
Cada vez, más empresas son conscientes de la importante contribución del Testing a la hora de reducir los costes de la “no calidad”, entendidos como resolución de errores, ineficiencias, imagen, etc. Las presiones del mercado son cada vez mayores, y para incrementar la productividad, es necesario sistematizar y optimizar los procesos de pruebas. La creciente complejidad de las aplicaciones dificulta los procesos de revisión y prueba, lo que obliga a procedimentar y buscar metodologías y herramientas adecuadas. Y para ello, es fundamental contar con un buen equipo de calidad y testing, que cuenten con el apoyo de una formación constante.
El testing y la calidad de software se enseña en las escuelas de ingeniería con un enfoque quizá demasiado teórico, por eso es necesaria una formación más práctica que se puede obtener mediante masters, certificaciones profesionales y en conferencias especializadas.