I really agree with both these takes from Effective Software Testing by Mauricio Aniche:

1. That simple code won’t guarantee no bugs, and is not a replacement for testing

2. That the more you write tests, the less effort it becomes to do so.

Reading the book and it’s a good one so far. The book on the publisher’s site: https://www.manning.com/books/effective-software-testing

Or on Amazon: https://www.amazon.com/Effective-Software-Testing-developers-guide/dp/1633439933

(As always, the links are not affiliates)

Effective Software Testing

Discover an effective approach to software testing and ensure the quality of your code. With this hands-on guide learn how to engineer code that facilitates testing.

Manning Publications
@gergelyorosz Do you know if this book would work in an audio format? (Some technical books do surprisingly well, but some not at all)
@dmesch likely not because it’s full of code samples.
@gergelyorosz Thanks. So hard copy it is then! 😉
@gergelyorosz On two, practise like anything I guess
@gergelyorosz I can’t really think of building any logic without tests.
@darioroa @gergelyorosz
Tests make writing logic easier. Especially if you have some boolean logic statement - it’s faster to write tests for it and try the various combinations, than to think through all the edge cases.
@gergelyorosz buying it now as it looks like exactly what I'm looking for. ISO 29119 talks about the what, ASPICE talks about traceability but I never found good sources on actual techniques

@gergelyorosz Key to invest time in implementing robust testing foundations. This makes there tests easier to update and maintain.

I have seen so many experienced engineers without a good understanding a mocking (especially what should not be mocked), black box testing (building tests of the implementation as opposed to the interface), etc.

@gergelyorosz thanks for sharing this, instant buy (self Xmas present) based on the screenshot/highlights 🙂
@gergelyorosz Simple code likely requires fewer tests for the same level of confidence in its correctness. See Kolmogorov Complexity Justifies Software Engineering Heuristics https://scholarworks.utep.edu/cs_techrep/558/
Kolmogorov Complexity Justifies Software Engineering Heuristics

The "clean bill of health" produced by such a technique does not guarantee that the program is actually correct. In this paper, we show that several heuristic techniques for software testing that have been developed in software engineering can be rigorously justified. In this justification, we use Kolmogorov complexity to formalize the terms "simple" and "random" that these techniques use. The successful formalization of simple heuristics is a good indication that Kolmogorov complexity may be useful in formalizing more complicated heuristics as well.

ScholarWorks@UTEP