Testing for Success in the Real World
summary
Argues that most value comes from end‑to‑end tests and recommends putting 60% weight on end‑to‑end while using unit/integration for the other 40; demonstrates concrete builds — an order‑aggregator and a contact‑picker delegate with a fake repository — and verifies them with Espresso + MockWebServer (or WireMock) and Mockito to make tests hermetic. Recommends dependency injection, Android Test Orchestrator, Firebase Test Lab + Flank and sharding to speed runs, and shows these practices catch real crashes that lead to one‑star avalanches.
AI-written summary · about
chapters (19)
- 0:00Intro
- 3:061999-2003: Wild West Cowboy Coder
- 4:31Debugging and Manual verification Testing
- 8:57PATCHES CODE ON PRODUCTION SERVER
- 13:17DIFFERENT TYPES OF TESTING
- 14:29The Testing Pyramid Explained
- 18:27INTEGRATION TESTING
- 19:52Integration Test: Verifying Values
- 23:08Integration Test: Verifying Behavior
- 24:12Basic Espresso Test
- 25:26Google Testing Pyramid Advice
- 30:28MOST END-TO-END TEST SUITES
- 34:08COMMON DIFFICULT AREAS OF TESTING
- 42:00Tools to Remove the Network
- 43:03Mocking the Network
- 43:39Resources
- 45:13USE ANDROID TEST ORCHESTRATOR
- 45:42SHARD YOUR TESTS
- 46:54USE FLANK (ONLY IF YOU USE Firebase Test Lab)
related talks
37mState of Android Testing in 2022
38mThe Testing Pyramid – What does it mean for Android?
57mAdvanced Testing Techniques: Tips from the trenches
24mMastering the mobile testing pyramid
44mEfficient testing UI Android apps by example
58mIntegration Testing from the Trenches
26mTesting the Tricky Stuff
33mEffective Testing Strategy in Android
