Software Engineer - Test Framework and Test Case
FuriosaAIJob Title
Software Engineer - Test Framework and Test Case
Role Summary
Design and implement test frameworks and automated test cases to validate FuriosaAI NPU products across hardware, firmware, drivers, runtime, SDKs, and model inference solutions. The role builds repeatable, extensible verification infrastructure that runs across boards and server environments and produces analyzable test results.
Experience Level
Mid-level engineer. The posting does not specify years of experience.
Responsibilities
Develop and maintain test programs and a scalable framework to verify functionality, performance, power, stability, compatibility, and manufacturing reliability of NPU products.
- Analyze product components, developer guides, and release notes; define test objectives, preconditions, inputs, expected results, and measurement data.
- Implement deterministic test cases covering normal, exception, boundary, error-recovery, long-run, and regression scenarios combining API calls, model execution, device control, and status checks.
- Design and extend a test framework for registration/selection/execution, setup/teardown, execution order, resource management, timeouts, and error handling across multiple devices and environments.
- Automate board/server preparation, software installation/updates, environment and version verification to enable repeatable execution across products and versions.
- Collect and structure functional results, performance and power metrics, system state and logs into JSON/CSV; associate results with product/board/server/software versions and execution conditions.
- Encode pass/fail criteria in code and provide diagnostic information to distinguish product failures from environment or framework issues.
- Maintain test quality and compatibility: review common modules, assess impact of changes, analyze intermittent failures, and perform framework bug fixes and cleanup.
- Support deployment and operations: manage source/distribution/dependencies/configuration, produce documentation and sample results, and hand over tools to evaluation and production teams.
Requirements
Must-have skills and experience required for the role; preferred items are listed separately.
- Proficient in programming (Python or similar) to design, implement, modify, and maintain test code and tools.
- Ability to convert product requirements and test documents into executable test cases with clear result-verification logic.
- Experience troubleshooting and automating in Linux (processes, files, permissions, device state, and logs).
- Understanding of SDK, runtime, driver, and firmware interactions and ability to use documentation/interfaces to develop verification code.
- Experience building stable, repeatable test environments: environment setup, resource management, exception handling, and cleanup.
- Ability to structure logs and test results with execution conditions and version metadata to support reproducibility and analysis.
- Familiarity with Git and collaborative workflows, code review, version control, and writing usage documentation.
- Strong communication and cross-team collaboration to clarify test requirements and drive fixes.
Education Requirements
Not specified.
Preferred Qualifications
Nice-to-have experience that will make a candidate more competitive.
- Experience designing or developing test frameworks, automated tests, or hardware-integrated verification programs.
- Experience with NPU/GPU or other AI accelerators, SDK/driver/firmware, or embedded system validation.
- Experience using pytest and CI/CD for regression testing and test orchestration.
- Experience analyzing C/C++/Rust code and integrating device-control tools.
- Experience developing verification for model serving and inference benchmarks (e.g., vLLM).
- Experience with multi-board resource management, parallel execution, and long-duration automated tests.
- Experience with SQL/databases/APIs for result storage, retrieval, dashboards, and reporting.
- Experience collecting system information and device control using BIOS/BMC/IPMI, PCIe, or power/temperature telemetry.
About the Company
Company: FuriosaAI
Headquarters: Seoul, South Korea
FuriosaAI develops high-performance, energy-efficient AI inference hardware and software. Founded in 2017 by semiconductor and AI engineers, the company builds AI-native compute platforms to reduce AI energy and operational costs and operates globally with offices in Korea, Silicon Valley, and an R&D lab in Lisbon.
