Unit 02 of 03
Testing and Performance
Unit tests with test targets and assertions, UI tests with flow automation and stability, test plans and reading the coverage report, profiling tools, memory leaks through retain cycles, launch and scrolling performance, and formatting and static analysis tools.
Published Updated
Lessons
- 01 Unit Tests Setting up a unit test with a test target, an assertion and a test double, and measuring in four categories whether the same boundary check tells the correct version from the faulty one. 12 min read
- 02 UI Tests Setting up and waiting in UI tests that drive the app as a separate process and tap a button; measuring whether three checks and the moment of waiting tell the correct version from the faulty one. 12 min read
- 03 Test Plans and Coverage Reading test plan configurations and a coverage report; measuring whether a coverage rule that checks the number of lines run and two language configurations tell the correct version from the faulty one. 11 min read
- 04 Profiling Tools How a profiler shows where an app spends time through timelines and signposts; measuring whether a work unit budget and a check on the drawn text tell the correct version from the faulty one. 10 min read
- 05 Memory Leak Detection How a retain cycle forms, how a weak reference breaks it, and testing whether an object is really released; measuring whether two leak checks tell the correct version from the faulty one. 11 min read
- 06 Launch and Scrolling Performance Deferring the work done at launch and reusing row objects; measuring how a performance check that compares against a recorded baseline can turn inverted or blind depending on the version the baseline was taken from. 10 min read
- 07 Code Quality Tools The duties and limits of formatters and static analysis rules; measuring whether a format check and a rule that scans the source text can tell the same fault apart, and how a false positive spoils a check. 9 min read