Test Impact Analysis for Android & JVM
summary
A practical presentation on Test Impact Analysis for Android and JVM that explains how to run only the tests affected by a code change. It describes instrumenting bytecode with Jacoco and EmmaRT to record which classes and methods are loaded during test execution, building a map of test coverage, and then parsing git diffs on a pull request to select the specific UI tests to run.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 4:05About the talk
- 5:09Test growth and automation
- 11:11What is Test Impact Analysis
- 12:16Simple File Detector drawbacks
- 15:52Improved File Detector with dependencies
- 17:58Alternative approaches
- 20:52JaCoCo code coverage
- 27:21Java agents in analysis
- 35:27Custom Impact analysis plan
- 36:55JaCoCo coverage setup
- 39:44Custom test runner
- 42:41Coverage export issues
- 46:18Overlap coverage fix
- 48:52Coverage structure analysis
- 52:04Git integration and test runs
- 54:35Implementation results and nuances
- 55:18Android call/resource issues
- 57:27Large test suite challenges
- 58:31Flaky tests problem
- 59:16Conclusion and Q&A
related talks
43mImpact Analysis: How We Speeded Up Unit Tests
52mTest Impact Analysis. Smarten up your pipeline and reduce t
41mUnit Test Your Code, Even Your UI!
20mUnit testing on Android
26mAndroid CI: 2016 edition
46mCode coverage MythBusters
41mHow to Really Test an Android Application
42mWorking Effectively with (Android) Legacy Code
