728x90

Test 4

차량용 소프트웨어 개발 테스트 환경 및 자동화

소프트웨어를 개발할 때 테스트는 기본적으로 같이 이루어져야 한다. 이 글에서는 차량용 소프트웨어를 개발할 때 ASPICE 프로세스를 기준으로 어느 단계에서 어떤 테스트가 이루어져야하는지를 간단히 소개하고 이를 CI와 연결하여 자동으로 테스트할 수 있는 방법에 대해서 이야기해보고자 한다. 이론은 크게 어렵지 않지만 실제 개발에 적용하기란 단계에 따라 상당히 어려울 수 있다. 이유도 가지 각색으로 정말 다양하다. 개발 리소스, CI 리소스, 하드웨어 리소스 문제, 안정성 문제, Component/SW Elements 등에 대한 정의의 문제, 의존성 문제 등등 말이다. 이 각각의 문제를 필자의 경험을 토대로 어떻게 하면 해결할 수 있을까 또는 왜 그렇게 어려운가에 대해서 하나씩 풀어보고자 한다. https:/..

Automotive 2023.09.26

Yocto oeqa image test

Yocto 프로젝트에서는 CI와 연동하여 QEMU에서 자동화 테스트를 할 수 있는 image test framework인 oeqa를 제공을 한다. 이 테스트는 ssh를 통해 타깃 시스템에서 실행이 되고 테스트 스크립트를 파이썬으로 작성이 된다. 이 테스트의 구현 사항은 testimage.bbclass에 구현이 되어 있다. 위의 그림은 Yocto QEMU 이미지 빌드후 QEMU를 실행하는 과정이다. Yocto 자동화 테스트를 하려면 테스트 환경 설정 및 테스트 케이스를 파이썬 스크립트로 작성해야 한다. 테스트 케이스 구현 테스트 케이스는 일반적으로 /lib/oeqa/runtime/cases 에 위치를 한다. Poky의 테스트 케이스를 참고하려면 다음 링크를 가서 하나씩 살펴보면 된다. 아래 예제는 conn..

Yocto 2023.09.13

차량용 (Infotainment) 소프트웨어 개발 과정 중 테스트

소프트웨어 개발 과정중에 테스트는 구지 꺼내어 이야기할 필요도 없을 정도로 기본이고 중요하다. 그 테스트 종류는 단위 테스트, 통합 테스트, 시스템 테스트, 사용자 시나리오 테스트 등등 다양하다. 현재 2024년도 벤츠 E Class 최종 막바지 작업과 차세대 프로젝트 등 동시에 진행중에 있으며 테스트 및 통합 관련 이야기는 프로젝트 시작부터 지금까지 계속 중요한 주제 중 하나로 다루어지고 있다. 통합 이야기는 다른 글에서 이야기하고 하고 이 글에서는 테스트 이야기를 조금 더 해보기로 한다. 개발 과정중에 단위 테스트, 컴포넌트 테스트, 도메인 테스트 등 다양한 테스트를 개발자 및 개빌 팀, 도메인 팀에서 진행을 한다. 하지만 통합 직전에 하는 테스트에서 문제는 끊임없이 계속 반복이 된다. 심지어 그 도..

Automotive 2023.09.11

소프트웨어 개발에서 Automation (자동화)에 대한 허와 실

소프트웨어 개발에서 Automation (자동화)에 대한 이야기를 많이 한다. 자동화는 여러군데에서 적용하여 실행을 할 수 있고 실제로 많은 도움을 주어 잡다한 일들을 해소시켜준다. 하지만 역으로 자동화를 구현, 관리하고 유지보수하는데 경우에 따라서는 많은 노력이 든다. 특히 임베디드 기기와 연결을 하거나 하면 더 그럴 수 있다. 하지만 많은 개발자들이나 매니저들은 자동화를 마치 신인 것처럼 계속 외치고 있다. 물론 좋다. 이상적으로 동작할 경우에는 100% 찬성한다. 하지만 매뉴얼 테스트하고 플래싱하는데도 하드웨어에서 문제가 생기고 소프트웨어에서 문제가 생기는데 무슨 자동화... 병행은 한다만 무조건 만능이고 모든 문제를 해결해 줄 것이라는 기대를 버리라고 하고 싶다. 실체를 제대로 파악하고 어느 분야..

Development 2023.09.08
728x90
반응형