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.
El software embebido se caracteriza por estar incorporado dentro de un dispositivo al que controla y al que confiere la funcionalidad para la que ha sido diseñado. Este tipo de software no se ve y, de una forma general, una vez integrado es muy difícil o imposible realizar cambios.
Hay que tener en cuenta también que hablamos de un software que tiene una relación directa con el hardware del dispositivo, que puede imponer limitaciones de memoria o procesador que habrá que tener en cuenta en su diseño. Esta combinación de factores añade complejidad al diseño de sistemas embebidos, y hace del testing una actividad fundamental para evitar y detectar errores.
Es muy importante resaltar también que esa creciente complejidad de los sistemas no debe influir en los usuarios finales. Todos conocemos multitud de ejemplos de aplicaciones y sistemas en los que es el usuario el que debe adaptarse a ellas; aplicaciones y sistemas que en vez de facilitar las actividades y tareas, las dificultan.
A medida que nos hallamos más rodeados de software, determinados aspectos cobran mayor importancia, como puede ser que toda una misma gama de dispositivos tenga la misma interfaz.
Actualmente, el software embebido está en todas partes: en los despertadores digitales, en los televisores, en los reproductores de mp3, en los teléfonos móviles, en los instrumentos médicos, en los coches,… es imposible pensar en un sistema que no incorpore software.
La industria y el mercado demandan nuevos productos cada vez más complejos y que sean capaces de integrarse en un entorno global interconectado. Además se demanda un time-to-market cada vez menor. Esto obliga, no sólo a innovar a nivel de producto, sino a dotarnos de competencias, procesos y herramientas que soporten esta evolución. Y todo ello pasa por tener un software de calidad.