featured in #520
featured in #518
featured in #517
Test Failures Should Be Actionable
- Titus Winters tl;dr: “When a test fails, you should be able to begin investigation with nothing more than the test’s name and its failure messages — no need to add more information and rerun the test.” Titus shares examples.featured in #513
Generative AI For High-Quality Mobile Testing
tl;dr: “The Developer Platform team at Uber is consistently developing new and innovative ideas to enhance the developer’s experience and strengthen the quality of our apps. Quality and testing go hand in hand, and in 2023 we took on a new and exciting challenge to change how we test our mobile applications, with a focus on machine learning (ML). Specifically, we are training models to test our applications just like real humans would.”featured in #509
featured in #509
How I Learned To Stop Writing Brittle Tests And Love Expressive APIs
- Titus Winters tl;dr: “Expressive test APIs are a powerful tool in the fight against brittle, implementation-detail heavy tests. A test written with IsSquare(output) is more expressive (and less brittle) than a test written with details such as JsonEquals(.width = 42, .length = 42), in cases where the size of the square is irrelevant.”featured in #507
Prefer Narrow Assertions In Unit Tests
- Kai Kent tl;dr: “Broad assertions should only be used for unit tests that care about all of the implicitly tested behaviors, which should be a small minority of unit tests. Prefer to have at most one such test that checks for full equality of a complex object for the common case, and use narrow assertions for all other cases.” Examples are provided in this article.featured in #503
featured in #499
featured in #498