Testing Android apps at scale with Nitrogen
summary
Project Nitrogen is a standalone Kotlin binary that unifies test entry points with a single proto config and moves execution onto devices via a gRPC orchestrator so hosts request runs while devices discover, filter, execute and stream results. It supports unit and instrumentation tests across simulated, virtual, physical and Firebase Test Lab devices, offers host and device plugins (permissions, screenshots, fixtures), and pairs with a virtual device manager that provides 500+ configs and 99.9999% virtual device stability.
AI-written summary · about
chapters (48)
- 0:00Introduction
- 1:16Googles engineering culture
- 2:55Android app testing at Google
- 3:44Building a test runner
- 4:41Functional UI testing
- 5:57Unit testing
- 6:56Android X Test 1 at 0
- 7:26What would we do differently
- 9:55Nitrogen solves many problems
- 10:53You have many different entry points
- 11:16Unified entry point
- 12:09Virtual device management
- 12:58Crossplatform support
- 13:52Device support
- 14:12Highlevel architecture
- 14:29Ondevice infrastructure
- 15:03Host side runner
- 15:15Orchestrator service
- 15:34GRPC
- 15:58Extension Points
- 17:31Plugins
- 18:00Host Plugins
- 18:45Device Plugins
- 19:35Test Fixtures
- 20:40Execution
- 21:13Android Test Orchestrator
- 21:47Unified Inconsistent Reporting
- 21:58Nitrogen instrumentation test
- 22:43Passing test
- 23:01Custom reports
- 23:38Device management
- 24:05Testing on physical devices
- 25:35Virtual device infrastructure
- 26:05Googles virtual device infrastructure
- 26:34Device providers
- 27:09Virtual device infrastructure goals
- 27:39Virtual device infrastructure protocol
- 28:48Stability
- 29:38Bootup
- 30:18File System
- 31:24Launcher
- 31:57Reproducibility
- 33:15Mini Boot Mode
- 33:45Data Driven Decisions
- 34:17Is Text to Old
- 34:50Snapshots
- 36:13Release date
- 36:59Thank you
related talks
51mNitrogen in your (test) pyramid.
26mNitrogen in your (test) pyramid.
42mBuild testable apps for Android
34mFrictionless Android testing: Write once, run everywhere
38mGetting Started with AndroidX Test
57mExtensive Testing to Build Robust Android Apps
12mWhat's new in Android testing tools
39mIndustrialize your Android Tests: a Tools and Methods Cookbook
