Escrito por Jonny Steiner

La industria automotriz es una industria tecnológica. Si no me cree, no busque más: Tesla, que le venderá una supercomputadora de 50 dólares que viene incluida con un automóvil. Al más alto nivel, el software impulsa todo, desde el rendimiento del motor y safety al entretenimiento y la navegación. El software y las aplicaciones para el automóvil brindan datos de diagnóstico en tiempo real y se integran perfectamente (espera el conductor) con teléfonos inteligentes y otros dispositivos.

Las actualizaciones de software inalámbricas que mantienen los automóviles actualizados con las últimas aplicaciones y mejoras de rendimiento también son cada vez más comunes. Hemos visto esta técnica empleada por VinFast, un fabricante vietnamita de vehículos eléctricos que, ante la reacción del público por el rendimiento y las capacidades de sus vehículos, prometió realizar cambios en futuras actualizaciones de software.

La industria cambia con la tecnología

Hay dos factores principales en juego cuando se habla de pruebas de software para la industria automotriz:

  1. Con decenas de millones de líneas de código por promedio en cada automóvil, los fabricantes de equipos originales (OEM) deben escribir, integrar, probar y deploy código de forma rápida y eficiente. Utilizan técnicas avanzadas para acelerar el proceso (más sobre eso en un momento).
  2. Al mismo tiempo, el software en desarrollo ha evolucionado desde la asistencia con el motor y la funcionalidad de información y entretenimiento hasta los sistemas de asistencia al conductor y la conducción autónoma, lo que aumenta la complejidad de las pruebas.

Al mismo tiempo, los sprints de los desarrolladores se están acortando y la demanda de aplicaciones que funcionen perfectamente presiona a los OEM a impulsar sus nuevas funciones más cerca del inicio de la producción. Los desarrolladores y evaluadores necesitan ciclos de retroalimentación más cortos (habilitados por continuous testing) para actualizar el código continuamente.

Estos cambios se producen de formas familiares

Como muchas otras industrias en la década de 2020, la industria automotriz adopta Desarrollo ágil, lo que abre la puerta a acelerar otros procesos, como DevOps entrega centrándose en continuous testing.

Este cambio hacia el desarrollo iterativo, donde los equipos escriben, integran y prueban continuamente su código, les conviene a los OEM. Las API integran aplicaciones y funcionalidades en un integración continua/entrega continua (CICD), que permite a los equipos de desarrolladores la capacidad de actualizar el código durante la vida útil de un vehículo, tomando el código más exitoso y reutilizándolo en otro lugar para minimizar errores y reducir costos.

Preparándose para el impacto

Gracias a una mayor transformación digital en todas las industrias, los automóviles están evolucionando hacia máquinas interconectadas que dependen de sistemas de software para operar a su máximo potencial.

El primer caso de uso que me viene a la mente son los motores y las transmisiones. Las unidades de control del motor (ECU) ayudan a optimizar el rendimiento y la eficiencia del combustible. Estas ECU utilizan algoritmos para gestionar la inyección de combustible, el tiempo de encendido y otros parámetros, lo que resulta en una mejor economía de combustible y una reducción de las emisiones. En algunos superdeportivos de alta gama, estos parámetros se pueden personalizar, lo que brinda a los conductores una experiencia de conducción única adaptada a sus preferencias.

Hay más allá del rendimiento. En un mundo obsesionado con safety, la industria automotriz está implementando software como parte de sus principales innovaciones. Los sistemas avanzados de asistencia al conductor (ADAS), como la asistencia para mantenerse en el carril, el control de crucero adaptativo y el frenado automático de emergencia, dependen en gran medida de algoritmos de software. Con capacidades que pueden aplicar frenos o girar en caso de impacto, este software está ayudando a reducir accidentes y salvar vidas.

El caso de uso que es más relevante para nuestra discusión es la conectividad perfecta que ofrecen los sistemas de infoentretenimiento. Estos sistemas ofrecen muchas funciones, desde integraciones de teléfonos inteligentes hasta navegación, reconocimiento de voz y muchas otras aplicaciones para el automóvil. El sistema de información y entretenimiento de Tesla incluso tiene una opción de cojín whoopie para ayudar a que la conducción sea más cómoda y, me atrevo a decir, divertida. Este aumento de la complejidad es lo que exige la necesidad de sistemas automatizados. continuous testing para garantizar la confiabilidad.

Los desafíos del desarrollo y prueba de software automotriz

A medida que profundizamos en los desafíos, debemos separar las listas porque esto tiene dos capas. Existen desafíos al probar el software automotriz en general y al probar los sistemas de información y entretenimiento. Echemos un vistazo más de cerca a ambos.

Automatización continuous testing en la industria en general presenta los siguientes desafíos:

  • SafeSistemas críticos: Es esencial garantizar que los sistemas avanzados de asistencia al conductor (ADAS) funcionen sin problemas. El principal desafío es crear pruebas automatizadas que puedan simular rigurosamente escenarios del mundo real para probar estas capacidades.
  • Integraciones complejas: Todos estos sistemas están interconectados, comenzando con los sistemas ADAS y continuando con el control del motor y el infoentretenimiento. El desafío aquí está en la complejidad de estos sistemas y la capacidad de mantener la compatibilidad entre modelos de vehículos.
  • Compliance: Como industria altamente regulada, los esfuerzos de prueba deben alinearse con las regulaciones actuales para garantizar y demostrar el cumplimiento.
  • Volumen de datos y análisis: Todos conocemos la gran cantidad de datos generados por continuous testing procesos. Ahora agregue a eso la complejidad de los sistemas automotrices y tendrá una idea de lo importante y difícil que es analizar los datos para identificar problemas y realizar mejoras.
  • Sistemas heredados: Los coches más antiguos todavía utilizan sistemas de software y hardware heredados. Sin embargo, estos sistemas aún deben recibir soporte y mantenimiento a medida que el resto de la línea de productos cambia a sistemas y procesos de prueba más nuevos para garantizar la compatibilidad.

Profundicemos más en la naturaleza del infoentretenimiento y analicemos algunos de los desafíos de probar esos sistemas:

  • Pruebas centradas en el usuario: Las pruebas automatizadas deben emular las interacciones reales del usuario, ya que los sistemas de información y entretenimiento sirven al usuario final. Las pruebas deben centrarse en la usabilidad de UX y el diseño de UI.
  • Integraciones: Estos sistemas se integran con otros sistemas de vehículos como safeTyd y navegación. Las pruebas deben garantizar estos integraciones son perfectas y no comprometen el rendimiento del vehículo.
  • Interfaces multimodales: Con soporte para comandos de voz, pantallas táctiles, botones físicos y gestos, cada interfaz debe probarse para garantizar un comportamiento consistente en todos los ámbitos.
  • Contenido y conectividad: Los sistemas de infoentretenimiento utilizan diferentes fuentes de contenido, como servicios de transmisión, conectividad de teléfonos inteligentes y actualizaciones inalámbricas. Las pruebas deben tener en cuenta todos esos formatos de contenido, condiciones de red y compatibilidad.
  • Rendimiento y uso de recursos: Estos sistemas deben funcionar de manera eficiente para no afectar el rendimiento general del vehículo. Pruebas de rendimiento necesita analizar el consumo de CPU y memoria para garantizar la capacidad de respuesta del sistema.

La IA y el ML se están convirtiendo en parte de la línea de montaje

Cuando hablamos de pruebas automatizadas En la industria automotriz, que espera constantemente los desarrollos más innovadores, debemos describir cómo emplear IA y ML para probar estos sistemas.

  • Creación de pruebas impulsada por IA: Utilizando algoritmos de IA, como software de procesamiento de lenguaje natural, se pueden analizar los requisitos para generar casos de prueba. Reduce el tiempo y el esfuerzo necesarios para crear pruebas manualmente.
  • Análisis inteligente: Las pruebas automatizadas generan una gran cantidad de datos mediante el aprendizaje automático para analizar los resultados de las pruebas e identificar patrones de defectos, lo que ayudará a los evaluadores a priorizar y centrarse en problemas críticos.
  • Inteligencia predictiva: El uso de modelos de aprendizaje automático para entrenar con datos históricos ayuda a identificar patrones que se correlacionan con defectos de software. Luego, los modelos pueden usar esa capacitación para predecir la probabilidad de defectos en el código nuevo, eliminando problemas de manera proactiva antes de que se conviertan en un problema.
  • Autosanación: Los casos de prueba rotos se pueden reparar automáticamente durante la ejecución de la prueba, lo que ayuda a reducir la carga del mantenimiento de la prueba. Garantiza que los conjuntos de pruebas seguirán ejecutándose a medida que el software crezca y evolucione.

La IA y el aprendizaje automático están ayudando a revolucionar las pruebas automatizadas para los fabricantes de automóviles al automatizar tareas repetitivas y que consumen mucho tiempo. La IA y el ML ayudan a mejorar la confiabilidad, eficacia y eficiencia del proceso de prueba. El resultado es un software de mayor calidad entregado a escala y rápidamente.

Algunos grandes fabricantes ya están empleando estas técnicas:

  • Tesla utiliza IA para analizar datos de la flota e identificar posibles defectos. Estos datos se utilizan para mejorar el software del automóvil.
  • GM utiliza el aprendizaje automático para obtener inteligencia predictiva para abordar defectos en el código nuevo. Utilizan esos datos para priorizar los esfuerzos de prueba.
  • Ford genera casos de prueba para su sistema de infoentretenimiento utilizando IA. Les ayuda a reducir el tiempo y el esfuerzo necesarios para crear casos de prueba manualmente.

La industria automovilística depende cada vez más del software, por lo que continuous testing está surgiendo para abordar problemas de calidad y confiabilidad. No está exento de desafíos, ya que los sistemas ADAS, los componentes interconectados y el análisis de datos requieren un sólido proceso de prueba.

Las técnicas de IA y ML siguen surgiendo y revolucionando la automatización continuous testing automatizando tareas repetitivas y mejorando la efectividad de las pruebas, lo que ayuda con la predicción e identificación de defectos.

Adoptando la automatización continuous testing y aprovechar la IA y el aprendizaje automático ayudará a los fabricantes de automóviles a ofrecer software confiable y de alta calidad a sus automóviles de manera rápida y confiable. Garantizará que el futuro de la industria del automóvil sea innovador, safe, e interconectados.

 

Revolucione sus pruebas de software automotriz con Digital.ai, Continuous Testing Soluciones: ¡donde la innovación se une a la confiabilidad en la vía rápida!

¿Estás listo para escalar tu empresa?

Explorar

¿Qué hay de nuevo en el mundo de Digital.ai

Junio 18, 2024

Cómo Continuous Testing Fomenta la colaboración entre desarrollo y seguridad: el enfoque de moda para un desarrollo seguro

Descubre cómo continuous testing y la seguridad de aplicaciones fomentan un SDLC colaborativo, creando un complejo laberinto para los atacantes al tiempo que empodera a los equipos y reduce los costos.

Obtener más información
Mayo 10 del 2024

BPCE Banking Group agiliza el proceso de garantía de calidad y entrega con Digital.ai Continuous Testing

Explore cómo BPCE Banking Group revolucionó las pruebas con Digital.ai Continuous Testing, impulsando la eficiencia y la calidad en la innovación bancaria.

Obtener más información
Abril 22, 2024

El sesgo en la máquina: sesgos en los datos de entrenamiento y su impacto en el código generado por los asistentes de código de IA

Explore los sesgos en los datos de entrenamiento de IA que afectan la generación de código y aprenda estrategias para mitigarlos para lograr un desarrollo de IA y una innovación de software más justos.

Obtener más información