Publicado em: dezembro 4, 2023
A Busca pela Qualidade: Testes de Software Automatizados e Contínuos para a Indústria Automotiva
A indústria automotiva é uma indústria tecnológica. Se você não acredita, basta olhar para a Tesla, que vende um supercomputador de US$ 50 mil que vem junto com o carro. No nível mais alto, o software controla tudo, desde o desempenho do motor até... safecom foco em entretenimento e navegação. O software e os aplicativos integrados ao veículo fornecem dados de diagnóstico em tempo real e se integram perfeitamente (espera-se o motorista) com smartphones e outros dispositivos.
As atualizações de software remotas (over-the-air), que mantêm os carros atualizados com os aplicativos mais recentes e melhorias de desempenho, também estão se tornando mais comuns. Vimos essa técnica sendo empregada pela VinFast, uma fabricante vietnamita de veículos elétricos que, ao enfrentar críticas do público em relação ao desempenho e às capacidades de seus veículos, prometeu fazer mudanças em futuras atualizações de software.
A indústria muda com a tecnologia.
Ao discutir testes de software para a indústria automotiva, dois fatores principais devem ser considerados:
- Com dezenas de milhões de linhas de código em média em cada carro, os fabricantes de equipamentos originais (OEMs) precisam escrever, integrar, testar e implantar código de forma rápida e eficiente. Eles utilizam técnicas avançadas para acelerar o processo (falaremos mais sobre isso em breve).
- Simultaneamente, o software em desenvolvimento evoluiu da assistência às funcionalidades do motor e do sistema de infoentretenimento para sistemas de assistência ao condutor e condução autónoma, o que aumenta a complexidade dos testes.
Ao mesmo tempo, os sprints de desenvolvimento estão ficando mais curtos, e a demanda por aplicativos que funcionem perfeitamente pressiona os fabricantes de equipamentos originais (OEMs) a lançarem seus novos recursos mais perto do início da produção. Desenvolvedores e testadores precisam de ciclos de feedback mais curtos (possibilitados por teste contínuo) para atualizar o código continuamente.
Essas mudanças ocorrem de maneiras já conhecidas.
Assim como muitas outras indústrias na década de 2020, a indústria automotiva adota Desenvolvimento ágil, o que abre caminho para acelerar outros processos, como DevOps Entrega com foco em testes contínuos.
Essa mudança para o desenvolvimento iterativo, em que as equipes escrevem, integram e testam seu código continuamente, é ideal para OEMs. APIs integram aplicativos e funcionalidades em uma integração contínua/entrega contínua (CICD) ambiente, que permite às equipes de desenvolvimento a capacidade de atualizar o código ao longo da vida útil de um veículo, aproveitando o código mais bem-sucedido e reutilizando-o em outros locais para minimizar erros e reduzir custos.
Preparando-se para o impacto
Graças à crescente transformação digital em diversos setores, os carros estão se transformando em máquinas interconectadas que dependem de sistemas de software para operar em seu potencial máximo.
O primeiro exemplo de uso que vem à mente são os motores e transmissões. As Unidades de Controle do Motor (ECUs) ajudam a otimizar o desempenho e a eficiência de combustível. Essas ECUs utilizam algoritmos para gerenciar a injeção de combustível, o ponto de ignição e outros parâmetros, resultando em maior economia de combustível e redução das emissões. Em alguns supercarros de alta gama, esses parâmetros são personalizáveis, proporcionando aos motoristas uma experiência de condução única, adaptada às suas preferências.
Há muito mais além do desempenho. Num mundo obcecado por safeAtualmente, a indústria automotiva está implementando softwares como parte de suas principais inovações. Sistemas avançados de assistência ao condutor (ADAS), como assistência de manutenção de faixa, controle de cruzeiro adaptativo e frenagem automática de emergência, dependem fortemente de algoritmos de software. Com recursos que podem acionar os freios ou virar o volante em caso de impacto, esse software está ajudando a reduzir acidentes e salvar vidas.
O caso de uso mais relevante para nossa discussão é a conectividade perfeita oferecida pelos sistemas de infoentretenimento. Esses sistemas oferecem diversos recursos, desde integração com smartphones até navegação, reconhecimento de voz e muitos outros aplicativos para o carro. O sistema de infoentretenimento da Tesla conta até com uma opção de almofada de pum para tornar a direção mais conveniente e, ouso dizer, divertida. Esse aumento na complexidade é o que torna necessário o teste contínuo automatizado para garantir a confiabilidade.
Os desafios do desenvolvimento e teste de software automotivo
Ao analisarmos os desafios, precisamos separar as listas, pois existem duas camadas envolvidas. Há desafios nos testes de software automotivo em geral e nos testes de sistemas de infoentretenimento. Vamos examinar ambos mais detalhadamente.
A automatização dos testes contínuos na indústria em geral apresenta os seguintes desafios:
- SafeSistemas críticos: Garantir o funcionamento impecável dos sistemas avançados de assistência ao condutor (ADAS) é essencial. O principal desafio reside na criação de testes automatizados que possam simular rigorosamente cenários do mundo real para testar essas capacidades.
- Integrações Complexas: Todos esses sistemas estão interligados, começando pelos sistemas ADAS e continuando com o controle do motor e o sistema de infoentretenimento. O desafio reside na complexidade desses sistemas e na capacidade de manter a compatibilidade entre os diferentes modelos de veículos.
- Conformidade: Sendo um setor altamente regulamentado, os esforços de teste devem estar alinhados com as normas vigentes para garantir e demonstrar a conformidade.
- Volume e análise de dados: Todos sabemos a enorme quantidade de dados gerados pelos processos de testes contínuos. Agora, some a isso a complexidade dos sistemas automotivos e você terá uma ideia de quão importante e difícil é analisar esses dados para identificar problemas e implementar melhorias.
- Sistemas legados: Os carros mais antigos ainda utilizam sistemas de software e hardware legados. No entanto, esses sistemas ainda precisam de suporte e manutenção, visto que o restante da linha de produtos está migrando para sistemas mais modernos e processos de teste mais recentes para garantir a compatibilidade.
Vamos analisar mais detalhadamente a natureza dos sistemas de infoentretenimento e desvendar alguns dos desafios de testar esses sistemas:
- Teste centrado no usuário: Os testes automatizados devem simular interações reais do usuário, visto que os sistemas de infoentretenimento servem ao usuário final. Os testes precisam se concentrar na usabilidade da experiência do usuário (UX) e no design da interface do usuário (UI).
- Integrações: Esses sistemas se integram com outros sistemas do veículo, como por exemplo: safee navegação. Os testes devem garantir isso. integrações são perfeitas e não comprometem o desempenho do veículo.
- Interfaces multimodais: Com suporte para comandos de voz, telas sensíveis ao toque, botões físicos e gestos, cada interface deve ser testada para garantir um comportamento consistente em todas elas.
- Conteúdo e conectividade: Os sistemas de infoentretenimento utilizam diferentes fontes de conteúdo, como serviços de streaming, conectividade com smartphones e atualizações remotas (over-the-air). Os testes devem levar em consideração todos esses formatos de conteúdo, condições de rede e compatibilidade.
- Desempenho e utilização de recursos: Esses sistemas devem funcionar de forma eficiente para não afetar o desempenho geral do veículo. Teste de performance É necessário analisar o consumo de CPU e memória para garantir a capacidade de resposta do sistema.
Inteligência Artificial e Aprendizado de Máquina estão se tornando parte da linha de montagem.
Quando falamos sobre teste automatizado Na indústria automotiva, que está constantemente em busca dos desenvolvimentos mais inovadores, precisamos definir como empregar IA e ML para testar esses sistemas.
- Criação de testes com inteligência artificial: Utilizando algoritmos de IA, como softwares de processamento de linguagem natural, os requisitos podem ser analisados para gerar casos de teste. Isso reduz o tempo e o esforço necessários para criar testes manualmente.
- Análise Inteligente: Os testes automatizados geram uma grande quantidade de dados usando aprendizado de máquina para analisar os resultados dos testes e identificar padrões de defeitos, o que ajudará os testadores a priorizar e se concentrar em problemas críticos.
- Predictive Intelligence: Utilizar modelos de aprendizado de máquina para treinamento com dados históricos ajuda a identificar padrões correlacionados com defeitos de software. Os modelos podem então usar esse treinamento para prever a probabilidade de defeitos em novos códigos, eliminando proativamente problemas antes que eles se agravem.
- Autocura: Os casos de teste com falha podem ser corrigidos automaticamente durante a execução dos testes, ajudando a reduzir a carga de manutenção dos mesmos. Isso garante que os conjuntos de testes continuem funcionando à medida que o software cresce e evolui.
A IA e o ML estão revolucionando os testes automatizados para fabricantes de automóveis, automatizando tarefas repetitivas e demoradas. A IA e o ML ajudam a melhorar a confiabilidade, a eficácia e a eficiência do processo de teste. O resultado é um software de maior qualidade, entregue em escala e com rapidez.
Alguns grandes fabricantes já estão utilizando essas técnicas:
- Tesla Utiliza inteligência artificial para analisar dados da frota e identificar possíveis defeitos. Esses dados são usados para aprimorar o software embarcado nos veículos.
- GM Utiliza aprendizado de máquina para inteligência preditiva, visando solucionar defeitos em novos códigos. Esses dados são usados para priorizar os esforços de teste.
- Ford A empresa gera casos de teste para seu sistema de infoentretenimento usando IA. Isso ajuda a reduzir o tempo e o esforço necessários para criar casos de teste manualmente.
A indústria automotiva está se tornando cada vez mais dependente de software, por isso os testes contínuos estão surgindo como uma solução para problemas de qualidade e confiabilidade. Isso não ocorre sem desafios, já que os sistemas ADAS, os componentes interconectados e a análise de dados exigem um processo de teste robusto.
As técnicas de IA e ML continuam a surgir e a revolucionar os testes contínuos automatizados, automatizando tarefas repetitivas e melhorando a eficácia dos testes, o que auxilia na previsão e identificação de defeitos.
A adoção de testes contínuos automatizados e o aproveitamento de IA e ML ajudarão as montadoras a fornecer software confiável e de alta qualidade para seus carros de forma rápida e segura. Isso garantirá que o futuro da indústria automotiva seja inovador. safee interligados.
Revolucione seus testes de software automotivo com Digital.ai'S Continuous Testing Soluções – onde a inovação encontra a confiabilidade em alta velocidade!
Também recomendamos
Os testes de acessibilidade não param porque as equipes não se importam.
Os testes de acessibilidade empresarial raramente são interrompidos porque as organizações não entendem…
O Lado Invisível da Experiência do Usuário: Por que os Testes de Qualidade são a Base da Confiança do Usuário
Quando a reformulação não é o problema Imagine a seguinte situação: seu banco…
Por que a taxa de aprovação não é um fator determinante? Release Signal
O que realmente significa "bom o suficiente para ser enviado" – e o que suas métricas atuais não estão mostrando...