[공유][프로젝트 주제] 테스팅 자동화 플랫폼의 디바이스 호스트 서버(Device Handler)로 활용

[배경]

현재 사내 임베디드 디바이스 개발 및 테스트 과정에서 다음과 같은 문제점들이 발생하고 있습니다:

1. 접근성 및 연결성 (Accessibility & Connectivity)

  • 일관적인 테스트 환경이 부족하여 사람이 실수하기 쉬움
  • UART 콘솔 로그 확인을 위해 PuTTY, Teraterm 등 별도의 터미널 프로그램 필요
  • 웹캠 영상 촬영을 위해 별도의 프로그램 필요
  • 디바이스의 시리얼포트 연결 설정, 카메라 설정 등이 번거로움

2. 협업 및 동시 접근성 (Collaboration & Concurrent Access)

  • 동시에 여러 명이 한 디바이스를 원격제어하거나 모니터링하기 어려움
  • 다른 팀의 디바이스를 접근하기 위해서는 장비를 대여하여 물리적인 이동이 필요함
  • 지난 테스트의 동작을 똑같이 재현하기 어려움

3. 모니터링 및 데이터 분석 (Monitoring & Data Analysis)

  • 시간 경과에 따른 디바이스 산출물을 파악하기 어려움
  • 같은 시점에서 여러 채널의 스트림을 서로 비교하며 파악하기 어려움
  • 중요한 이벤트(부팅, 커널 패닉 등)의 발생 시점을 파악하기 어려움
  • 테스트 엔지니어가 해당 테스트의 특이사항을 기록하기 어려움

4. 데이터 관리 및 공유 (Data Management & Sharing)

  • 테스트 산출물의 저장, 접근, 관리, 공유 등이 일관적이지 않고 효율적이지 못함
  • 연결된 장비의 정보(모델명, 버전 등)를 정리 및 관리가 일관적이지 못함

[목적 및 목표]

디바이스 테스트 자동화가 가능하려면, 다음 3가지가 자동화가 되어야 합니다.

  1. 디바이스 관찰(Observe)
  2. 디바이스 조작(Control or action)
  3. 기대값과 비교(Compare)

그 중, Device Handler는 디바이스 관찰과 디바이스 조작을 할 수 있는 일관된 인터페이스를 제공합니다. 한 마디로, 다음과 같이 정의할 수 있습니다.

웹 기반 통합 인터페이스를 통해 디바이스의 모니터링, 제어, 산출물 확인 등을 한 곳에서 수행할 수 있는 도구

TOPST EAP 프로젝트

선정한 TOPST 보드 및 ROM

  • Board
    • D3-G RAM 4GB, eMMC 32GB 1개
    • D3-G RAM 8GB, eMMC 32GB 1개
  • ROM
    • Headless Ubuntu 22.04

개발 세부사항

  • Python 3.12
  • Docker image 또는 uv(pypi) package로 배포
  • NiceGUI 라이브러리 이용하여 ASGI(Asynchronous Server Gateway Interface) 서버 구축

현재 진행사항

  • 프로젝트 개요 작성 완료
  • 요구사항 명세서 작성 중
  • API 설계서 작성 중
  • 웹사이트 Wireframe 작성 중(Drawio 이용)
  • Dummy website 개발 중


1 Like