Software Engineer - Test Framework and Test Case
Designs and builds the test framework and test case programs that verify FuriosaAI's NPU products end to end — from firmware, drivers, runtime and SDK to model inference/serving solutions. Daily work is Python/Linux development of automated, repeatable tests across boards and servers, plus structured result collection, regression infrastructure and framework maintenance.
- Compensation
- Not disclosed
- Location
- Seoul, South Korea
- Work setup
- Not specified
- Seniority
- Not specified
- Employment
- Not specified
- Experience
- Not specified
- Category
- Software engineering
- Posted
Skills
Must have
- Design and develop programs in Python or similar languages; analyze, modify and maintain existing code
- Implement product requirements and test documents as executable test cases with clear result-verification logic
- Work with processes, files, permissions, device states and logs on Linux; analyze program execution issues
- Understand the basic roles and interactions of SDK, Runtime, Driver and Firmware and use docs/interfaces to build verification programs
- Write stable code accounting for environment setup, resource management, exception handling and cleanup for repeated runs
- Structure logs and test results, recording execution conditions and version info to support reproduction and analysis
- Use Git or similar source control; collaborate via code review, change history management and user documentation
- Concretize requirements with QA evaluators and dev teams; proactively resolve test code and framework issues
Nice to have
- Experience designing test frameworks, automated testing, or hardware-integrated verification programs
- Experience with NPU/GPU AI accelerators, SDK/Driver/FW, or embedded systems development and verification
- Experience with pytest and CI/CD for regression testing and test code operation
- Experience analyzing C/C++/Rust code or integrating with device-control tools
- Experience building verification programs with model serving environments like vLLM and inference benchmarks
- Experience with test resource management across multiple boards/servers, parallel execution, or long-duration test automation
- Experience with SQL, databases and APIs for result storage/retrieval, dashboards and reporting
- Experience collecting system info and controlling devices via BIOS/BMC/IPMI, PCIe, or power/temperature telemetry
Full description
About FuriosaAI
FuriosaAI builds high-performance, high-efficiency AI compute for the Inference Era. Founded in 2017 by veteran semiconductor and AI algorithm engineers, Furiosa operates globally with offices in Korea and Silicon Valley, along with a compiler-focused R&D lab in Lisbon.
Our vision is to make AI computing sustainable, enabling access to powerful AI for everyone on Earth. We solve the AI hardware energy and operational cost crisis at the architectural level, rather than through brute force, building the world's first truly AI-native compute platform to unlock the full potential of artificial intelligence for every enterprise.
About the Role
Solution QA는 FuriosaAI의 NPU 제품과 이를 구동하는 소프트웨어가 개발 환경, 생산 현장과 고객 시스템에서 요구하는 품질을 충족하는지 검증하는 팀입니다. NPU 보드와 시스템 하드웨어부터 Firmware, Driver, Runtime, SDK와 모델 추론 솔루션까지 검증 범위를 연결하고, 기능·성능·전력·안정성·호환성과 제조 신뢰성을 함께 살펴봅니다.
FuriosaAI의 NPU 제품을 검증하기 위한 Test Framework와 Test Case 프로그램을 설계·개발하는 직무입니다. SDK, 모델 추론 및 서빙 솔루션, Runtime, Driver, FW와 관련 도구를 포함해 사내에서 개발한 모든 솔루션을 검증 대상으로 다룹니다. 제품 요구사항과 평가 시나리오를 실행 가능한 코드로 구현하고, 여러 제품 버전과 보드·서버 환경에서 반복 실행할 수 있는 검증 기반을 만듭니다.
Key Responsibilities솔루션 전반의 검증 요구사항과 프로그램 설계
- 제품의 구성 요소와 계층 간 동작 관계를 이해하고, 요구사항·개발자 가이드·릴리스 변경 사항을 검토합니다. 평가 담당자와 시험 목적, 사전 조건, 입력, 기대 결과 및 필요한 측정 데이터를 구체화합니다. SDK API와 사용자 기능부터 Runtime·Driver·FW의 동작 및 연동까지 검증 가능한 인터페이스와 실행 방법을 설계하고, 제품·환경별 차이를 수용할 수 있는 프로그램 구조를 정합니다.
Test Case 프로그램 개발
- 정상·예외·경계 조건, 오류 복구, 장시간 동작과 변경에 따른 회귀를 확인하는 테스트 코드를 구현합니다. API 호출, 모델 실행, 장치 제어와 상태 조회를 조합하고 기능 간 상호작용 및 계층 간 연동을 검증합니다. 시험의 입력과 환경 조건, 기대 결과 및 종료 상태를 명확하게 정의하여 동일한 조건에서 결과를 재현할 수 있게 합니다. 발견된 결함의 재현 시나리오는 반복 실행 가능한 테스트로 만들고 회귀 검증에 반영합니다.
Test Framework 설계와 확장
- 테스트 등록·선택·실행, 사전 준비와 종료 후 정리, 실행 순서와 자원 관리, 타임아웃과 오류 처리를 지원하는 프레임워크를 개발합니다. 보드·서버 준비와 소프트웨어 설치·업데이트, 실행 환경과 버전 확인을 자동화하고, 여러 장치 및 환경에서 시험을 안정적으로 수행할 수 있도록 확장합니다. 공통 기능은 라이브러리와 인터페이스로 제공하고 제품이나 시험 종류가 추가되어도 기존 코드를 재사용할 수 있게 합니다.
데이터 수집과 판정 기능 구현
- 기능 결과, 성능·전력 지표, 시스템 상태와 로그를 자동 수집하고 JSON·CSV 등 분석 가능한 형태로 정리합니다. 시험 결과를 제품·보드·서버·소프트웨어 버전 및 실행 조건과 연결하고, 데이터 누락과 수집 실패를 확인할 수 있게 합니다. 평가 담당자가 정의한 판정 기준을 코드로 구현하며, 제품의 시험 실패와 환경 설정·프레임워크 오류를 구분할 수 있는 진단 정보를 제공합니다. 필요한 경우 결과 저장·조회 및 리포팅 기능과 연계합니다.
검증 프로그램의 품질과 유지보수
- 구현된 코드가 시험 문서의 절차와 기대 결과를 정확하게 반영하는지 확인합니다. 공통 모듈과 실행 흐름을 점검하고, 변경 시 기존 테스트 및 데이터 형식에 미치는 영향을 검토합니다. 간헐적인 실행 실패와 자원 정리 누락 등 프레임워크 자체의 문제를 분석·수정하고, 제품 변화에 맞춰 테스트와 지원 환경을 지속적으로 유지보수합니다.
배포와 운영 지원 및 전문 개발 연계
- 소스와 배포 버전, 의존성, 설정 및 지원 환경을 관리하고 사용 문서·샘플 결과·알려진 제약과 오류 대응 방법을 제공합니다. 평가·생산 운영 담당자가 같은 조건으로 프로그램을 사용할 수 있도록 인계하고, 운영 중 발생한 프로그램 결함을 해결합니다. 생산 프로그램 및 BIST FW 개발 담당자와 인터페이스를 협의하여 공통 프레임워크에서 시험을 호출하고 결과를 수집할 수 있도록 합니다. 주요 산출물은 Test Framework, Test Case 프로그램, 공통 라이브러리와 실행 도구, 결과 데이터 형식 및 개발·운영 문서입니다.