게시 날짜 : 12 월 4, 2023
품질 향상을 위한 노력: 자동차 산업을 위한 지속적인 자동화 소프트웨어 테스트
자동차 산업은 기술 산업입니다. 제 말이 믿기지 않으시다면, 테슬라만 보세요. 테슬라는 자동차와 함께 제공되는 50만 달러짜리 슈퍼컴퓨터를 판매합니다. 최고 수준에서 소프트웨어는 엔진 성능부터 safe엔터테인먼트와 내비게이션에 대한 접근성이 높아졌습니다. 차량용 소프트웨어와 애플리케이션은 실시간 진단 데이터를 제공하고 (운전자의 바람에 따라) 스마트폰 및 기타 기기와 완벽하게 통합됩니다.
차량에 최신 애플리케이션과 성능 향상 기능을 제공하는 무선 소프트웨어 업데이트(OTA)도 점점 보편화되고 있습니다. 베트남 전기차 제조업체인 빈패스트(VinFast)가 이 기술을 도입한 사례를 살펴보겠습니다. 빈패스트는 차량 성능과 기능에 대한 대중의 반발에 직면하자 향후 소프트웨어 업데이트를 변경하겠다고 약속했습니다.
기술과 함께 산업이 변화합니다
자동차 산업을 위한 소프트웨어 테스팅을 논의할 때 고려해야 할 두 가지 주요 요소는 다음과 같습니다.
- 각 차량에는 평균 수천만 줄의 코드가 포함되어 있기 때문에 OEM(Original Equipment Manufacturer)은 코드를 빠르고 효율적으로 작성, 통합, 테스트 및 배포해야 합니다. OEM은 이러한 프로세스를 가속화하기 위해 고급 기술을 사용합니다(자세한 내용은 잠시 후 설명).
- 동시에 개발 중인 소프트웨어는 엔진 및 인포테인먼트 기능 지원에서 운전자 지원 시스템 및 자율 주행으로 발전하여 테스트의 복잡성이 증가했습니다.
동시에 개발자 스프린트 기간이 단축되고 있으며, 완벽하게 작동하는 애플리케이션에 대한 수요로 인해 OEM은 새로운 기능을 생산 시작 시점에 맞춰 출시해야 하는 압박을 받고 있습니다. 개발자와 테스터는 더 짧은 피드백 루프를 필요로 합니다( 지속적인 테스트) 코드를 지속적으로 업데이트합니다.
이러한 변화는 몇 가지 익숙한 방식으로 나타납니다.
2020년대의 다른 많은 산업과 마찬가지로 자동차 산업도 다음과 같은 것을 수용합니다. 애자일 개발이는 다른 프로세스를 가속화하는 데 도움이 됩니다. DevOps 지속적인 테스트에 중점을 둔 전달.
팀이 코드를 지속적으로 작성, 통합 및 테스트하는 반복적 개발 방식으로의 이러한 전환은 OEM에 적합합니다. API는 애플리케이션과 기능을 통합합니다. 지속적인 통합/지속적인 배달 (CICD) 환경을 통해 개발자 팀은 차량의 수명 내내 코드를 업데이트하고 가장 성공적인 코드를 다른 곳에서 재사용하여 오류를 최소화하고 비용을 절감할 수 있습니다.
충격에 대비하다
산업 전반에 걸쳐 디지털 혁신이 확대됨에 따라 자동차는 소프트웨어 시스템에 의존하여 최대한의 잠재력을 발휘하는 상호 연결된 기계로 진화하고 있습니다.
가장 먼저 떠오르는 사용 사례는 엔진과 구동계입니다. 엔진 제어 장치(ECU)는 성능과 연비를 최적화하는 데 도움을 줍니다. 이러한 ECU는 알고리즘을 사용하여 연료 분사, 점화 시기 및 기타 매개변수를 관리하여 연비를 향상시키고 배출가스를 줄입니다. 일부 고급 슈퍼카에서는 이러한 매개변수를 사용자 정의하여 운전자에게 자신의 취향에 맞는 독특한 주행 경험을 제공합니다.
성능 그 이상의 것이 있습니다. 집착하는 세상에서 safe안녕하세요, 자동차 산업은 주요 혁신의 일환으로 소프트웨어를 도입하고 있습니다. 차선 유지 지원, 적응형 크루즈 컨트롤, 자동 비상 제동과 같은 첨단 운전자 지원 시스템(ADAS)은 소프트웨어 알고리즘에 크게 의존합니다. 충격 발생 시 브레이크를 작동시키거나 방향을 전환할 수 있는 기능을 갖춘 이 소프트웨어는 사고를 줄이고 생명을 구하는 데 기여하고 있습니다.
우리 논의와 가장 관련성이 높은 사용 사례는 인포테인먼트 시스템이 제공하는 원활한 연결성입니다. 이러한 시스템은 스마트폰 연동부터 내비게이션, 음성 인식, 그리고 기타 다양한 차량 내 앱에 이르기까지 다양한 기능을 제공합니다. 테슬라의 인포테인먼트 시스템은 운전을 더욱 편리하고, 감히 말하자면, 재미있게 만들어 주는 후피 쿠션 옵션까지 제공합니다. 이러한 복잡성 증가는 신뢰성 확보를 위한 자동화된 연속 테스트의 필요성을 절실히 요구합니다.
자동차 소프트웨어 개발 및 테스트의 과제
과제를 자세히 살펴보면, 두 가지 측면이 있기 때문에 목록을 구분해야 합니다. 자동차 소프트웨어 전반을 테스트하는 것과 인포테인먼트 시스템을 테스트하는 것 모두에 과제가 있습니다. 두 가지를 자세히 살펴보겠습니다.
업계 전반에서 지속적인 테스트를 자동화하는 데는 다음과 같은 과제가 있습니다.
- Safety-Critical 시스템: 첨단 운전자 보조 시스템(ADAS)이 완벽하게 작동하는지 확인하는 것은 필수적입니다. 가장 중요한 과제는 이러한 기능을 테스트하기 위해 실제 상황을 엄격하게 시뮬레이션할 수 있는 자동화된 테스트를 만드는 것입니다.
- 복잡한 통합: 이러한 시스템은 ADAS 시스템을 시작으로 엔진 제어 및 인포테인먼트 시스템까지 모두 상호 연결되어 있습니다. 여기서 과제는 이러한 시스템의 복잡성과 차량 모델 간 호환성을 유지하는 능력입니다.
- 규제준수: 엄격하게 규제되는 산업이기 때문에, 규정 준수를 보장하고 입증하기 위해 테스트 노력은 현행 규정에 맞춰야 합니다.
- 데이터 볼륨 및 분석: 지속적인 테스트 프로세스에서 생성되는 방대한 양의 데이터는 우리 모두 잘 알고 있습니다. 여기에 자동차 시스템의 복잡성까지 더해지면, 문제를 파악하고 개선하기 위해 데이터를 분석하는 것이 얼마나 중요하고 어려운지 알게 될 것입니다.
- 레거시 시스템: 구형 자동차는 여전히 기존 소프트웨어 및 하드웨어 시스템을 사용합니다. 하지만 나머지 제품군이 새로운 시스템으로 전환되고 호환성을 보장하기 위한 테스트 과정이 진행됨에 따라 이러한 시스템도 계속 지원 및 유지 관리되어야 합니다.
인포테인먼트의 특성을 더 자세히 살펴보고 해당 시스템을 테스트하는 데 따르는 몇 가지 과제를 살펴보겠습니다.
- 사용자 중심 테스트: 인포테인먼트 시스템이 최종 사용자에게 서비스를 제공하므로 자동화된 테스트는 실제 사용자 상호작용을 에뮬레이션해야 합니다. 테스트는 UX 사용성과 UI 디자인에 중점을 두어야 합니다.
- 통합 : 이러한 시스템은 다음과 같은 다른 차량 시스템과 통합됩니다. safety 및 탐색. 테스트는 다음을 보장해야 합니다. 통합 매끄럽고 차량 성능을 저하시키지 않습니다.
- 다중 모드 인터페이스: 음성 명령, 터치스크린, 물리적 버튼, 제스처를 지원하므로 각 인터페이스를 테스트하여 전반적으로 일관된 동작을 보장해야 합니다.
- 콘텐츠 및 연결성: 인포테인먼트 시스템은 스트리밍 서비스, 스마트폰 연결, 무선 업데이트 등 다양한 콘텐츠 소스를 사용합니다. 테스트는 이러한 모든 콘텐츠 형식, 네트워크 상태 및 호환성을 고려해야 합니다.
- 성능 및 리소스 사용: 이러한 시스템은 전체 차량 성능에 영향을 미치지 않도록 효율적으로 실행되어야 합니다. 성능 시험 시스템 응답성을 보장하기 위해 CPU 및 메모리 소비량을 분석해야 합니다.
AI와 ML이 조립 라인의 일부가 되고 있습니다
우리가 이야기 할 때 자동 테스트 끊임없이 가장 혁신적인 개발을 기대하는 자동차 산업에서, 우리는 AI와 ML을 사용하여 이러한 시스템을 테스트하는 방법을 개략적으로 설명해야 합니다.
- AI 기반 테스트 생성: 자연어 처리 소프트웨어와 같은 AI 알고리즘을 사용하면 요구 사항을 분석하여 테스트 케이스를 생성할 수 있습니다. 이를 통해 테스트를 수동으로 생성하는 데 필요한 시간과 노력을 줄일 수 있습니다.
- 지능형 분석: 자동화된 테스트는 머신 러닝을 사용하여 테스트 결과를 분석하고 결함 패턴을 식별하는 데 많은 양의 데이터를 생성하는데, 이는 테스터가 중요한 문제의 우선순위를 정하고 집중하는 데 도움이 됩니다.
- 예측 인텔리전스: ML 모델을 사용하여 과거 데이터를 학습하면 소프트웨어 결함과 관련된 패턴을 파악하는 데 도움이 됩니다. 모델은 이러한 학습을 통해 새 코드의 결함 발생 가능성을 예측하고, 문제가 발생하기 전에 사전에 제거할 수 있습니다.
- 자가 치유: 손상된 테스트 케이스는 테스트 실행 중에 자동으로 복구되어 테스트 유지 관리 부담을 줄이는 데 도움이 됩니다. 이를 통해 소프트웨어가 확장되고 발전함에 따라 테스트 스위트가 계속 실행될 수 있습니다.
AI와 ML은 반복적이고 시간 소모적인 작업을 자동화하여 자동차 제조업체의 자동화 테스트에 혁신을 가져오고 있습니다. AI와 ML은 테스트 프로세스의 신뢰성, 효과, 효율성을 향상시킵니다. 그 결과, 더 높은 품질의 소프트웨어를 대규모로 신속하게 제공할 수 있습니다.
일부 대형 제조업체는 이미 이러한 기술을 사용하고 있습니다.
- 테슬라 AI를 활용하여 차량 데이터를 분석하고 잠재적 결함을 파악합니다. 이 데이터는 차량 내 소프트웨어를 개선하는 데 사용됩니다.
- GM 머신러닝을 활용하여 예측 지능을 구현하고, 신규 코드의 결함을 해결합니다. 또한, 해당 데이터를 활용하여 테스트 작업의 우선순위를 정합니다.
- 포드 AI를 활용하여 인포테인먼트 시스템 테스트 케이스를 생성합니다. 이를 통해 테스트 케이스를 수동으로 생성하는 데 필요한 시간과 노력을 줄일 수 있습니다.
자동차 산업은 소프트웨어에 대한 의존도가 점점 높아지고 있으며, 따라서 품질 및 신뢰성 문제를 해결하기 위한 지속적인 테스트가 부상하고 있습니다. 하지만 ADAS 시스템, 상호 연결된 구성 요소, 그리고 데이터 분석에는 엄격한 테스트 프로세스가 필요하기 때문에 어려움이 없는 것은 아닙니다.
AI와 ML 기술은 계속해서 등장하여 반복적인 작업을 자동화하고 테스트의 효과를 개선하여 자동화된 연속 테스트에 혁신을 일으키고 있으며, 이는 결함 예측 및 식별에 도움이 됩니다.
자동화된 연속 테스트를 도입하고 AI와 ML을 활용하면 자동차 제조업체가 고품질의 안정적인 소프트웨어를 자동차에 빠르고 안정적으로 제공하는 데 도움이 될 것입니다. 이를 통해 자동차 산업의 미래는 혁신적으로 변화할 것입니다. safe, 그리고 상호 연결되어 있습니다.
자동차 소프트웨어 테스트를 혁신하세요 Digital.ai의 Continuous Testing 솔루션 - 혁신과 신뢰성이 빠른 속도로 만나는 곳!