ONE

FRAMEWORK

An intelligent, AI-powered testing ecosystem I architected and built from the ground up to be powerful, insightful, and intuitive.

Testing a modern smart appliance is a daunting task. You're not just testing software; you're testing a conversation between code, custom hardware, and a complex Linux environment. Faced with this challenge, I saw an opportunity not just to automate tests, but to build a truly intelligent ecosystem that has become the central nervous system for our quality assurance.

01 / AI-Powered Vision

A simple pass/fail on a screen capture is meaningless. The framework needed to understand the UI like a human does. To achieve this, I integrated a multi-layered AI vision system. This includes identifying symbols with a Resnet-Transformer, reading custom fonts with a bespoke OCR model, and classifying the UI state with a gated NLP-CNN model to enable intelligent navigation.

02 / Developer Experience

A framework is only as good as the developer experience it provides. My goal was to eliminate tedious work and empower my team to write meaningful tests, faster. I fine-tuned a Mistral model on our codebase to act as a code assistant, wrote a tool to generate test skeletons directly from the Atlassian Polarion API, and created a Single Source of Truth (SSoT) system that provides IDE autocompletion for all device variants.

# Auto-generated from Polarion Test Case TC-123
@pytest.mark.level('smoke')
@pytest.mark.hardware('FAEM_Gen5')
def test_brew_espresso_successfully():
    """
    1. GIVEN the machine is in the idle state
    2. WHEN the user selects 'Espresso'
    3. THEN the machine should brew a perfect espresso
    """
    appliance = ApplianceFixture()
    appliance.ui.navigate_to('Espresso')
    appliance.ui.press('Start')

    # Assert brewing process completes
    assert appliance.state.wait_for('idle', timeout=60)

03 / Architecture & Deep System Integration

Beneath the AI and developer tools lies a meticulously designed architecture. I engineered a non-blocking DBus module using Python's asyncio for high-performance communication with the device's C++ core. A custom pyLink module provides a direct line to the Control Power Module, allowing tests to manipulate low-level system variables and read sensor data in real-time for authoritative hardware verification.

04 / CI/CD Integration

A framework's true power is realized when it becomes an invisible, indispensable part of the development lifecycle. I integrated the entire ecosystem into our CI/CD pipeline using Jenkins. When a developer commits a change, Jenkins automatically triggers a build and deploys it to our fleet of hardware-in-the-loop test benches. The framework then takes over, executing the appropriate test suite and reporting results automatically, transforming our release process into a confident, continuous flow.