Resemblance and Likeness Testing Patterns
The Resemblance and Likeness patterns improve the readability and diagnosability of developer tests.
The Resemblance and Likeness patterns improve the readability and diagnosability of developer tests.
Pact.io claims that it can fully replace End-to-End testing. I’m not so sure about that, but it’s an intersting tool!
This post recounts my journey to understand tests data arrangement from before my blogging days. This exploration cemented key lessons in reusability and composition.
Sports generally have some fundamental skills that athletes drill endlessly. These fundamentals are the foundation for good execution. They must be committed to muscle memory if the athlete wants to focus on higher-level skills and strategy. In fencing, footwork is fundamental. What is the equivalent for software?
I noticed Scala has several testing libraries that tout functionally pure tests. Is purity desirable for developer tests?
Releasing frequently requires repeatable confidence that changes are safe. Reliably verifying system health requires covering the many failure modes of a system. So, what are those failure modes?
Sometimes performance is an observable domain behavior that belongs in our normal test suite
Lambdas, or functions as values, have worked their way into mainstream programming and transformed development for many programmers.
The TestApi pattern helps decouple tests from our system and enables more stable and reusable tests. I’ve shown how I use the pattern in F#. Now here’s a similar example in C#.
I previously wrote on statistical and mutation testing for UIs. After additional thought, I don’t think UI mutation testing is feasible, at least in the traditional sense. Structure-based generative testing still could be. Lack of Deterministic Errors for Mutation Mutation testing is a tool to measure completeness. It tells us how well our other tests detect possible errors in our code. Mutation testing frameworks measure test suite completeness by crawling the code and injecting breaking changes.