links from July 2022
Selective unit testing costs and benefits explains how unit testing benefits correlate with code non-obviousness while costs correlate with number of dependencies, suggesting selective application of unit testing based on these factors.
Effective Software Testing: A Developer’s Guide book review describes a systematic seven-step process for creating test cases based on specifications, inputs, outputs and code structure, including techniques for handling equivalence partitions and boundary testing. (reddit)
Jeff Sutherland on Acceptance Test Driven Development suggests that estimating tasks will slow you down.
Write tests. Not too many. Mostly integration argues that integration tests provide the best balance between confidence and speed, suggesting that teams should focus more on integration testing than unit testing, while being mindful not to over-test implementation details.
Why Most Unit Testing is Waste argues that excessive unit testing can be counterproductive and suggests focusing on integration tests that verify valuable business logic. (reddit)
Unit testing vs BDD explains how BDD is essentially unit testing done right - focusing on verifying behavior rather than implementation details. Discusses the practical value of Gherkin syntax and argues that regular code can achieve similar readability.
UnitTest explains how unit tests are low-level tests focusing on a small part of the software system, written by programmers using testing frameworks, and designed to run quickly. Discusses the distinction between solitary unit tests using test doubles and sociable tests that allow real collaborators.
A response to Why Most Unit Testing is Waste argues that unit tests are valuable for well-tested parts, decoupled design, rapid feedback and providing context. The article counters the argument that most unit tests should be discarded if they haven’t failed in a year. (reddit)
Practical Test Pyramid provides a comprehensive guide to structuring automated tests, explaining how to balance different types of tests from unit to end-to-end, and how to effectively implement them in a continuous delivery pipeline.
Benefits of functional testing argues that automated functional tests provide more value than low-level unit tests for enterprise applications, particularly for testing business logic and integration points (reddit)