

Iulia Stana
Senior Android Developer@Dawn Technology

First computer owned: Intel running Windows 3.1.
First programming language: Pascal.
First time I realised being a [good] programmer is (way) more about being able to work well with other people than writing code: late 2010, aprox. 3 years after starting to work as a programmer.
Since then I've made "Learn. Develop. Teach." my mantra and tried my best to live up to it.
Shift Left: Headless DSL-Powered Compose UI Testing
Testing Compose UI often sacrifices speed for fidelity. This session introduces a "headless-first" strategy, moving UI verification from emulators to the JVM. We’ll explore a production-grade framework built with Screen Robots and a custom BDD-style Kotlin DSL.
**Importance:**
Slow feedback loops stall development. Shifting UI testing to the JVM provides PR feedback in seconds. A BDD DSL turns tests into living documentation shared by developers, QA, and product owners.
**Learning Outcomes:**
You will be able to:
* **Architect** a structure decoupling Gherkin specs from Compose semantics.
* **Implement** a BDD DSL using Kotlin infix functions for natural language tests.
* **Resolve** headless pitfalls like Pager interactions and system prompts.
* **Construct** Screen Robots that self-verify state to prevent cascading failures.
* **Evaluate** tradeoffs between headless and instrumented testing environments.
