Do Not Test Everything Right Away
Often, when we focus on quality, we believe that we have to test everything, but that is not right.
Some months ago, one of my students explained to me how she felt about my teaching on testing. The events that she explained occur one course before the mine. So, it was not what she felt when she attended to my teachings, but how she felt when others explained to her my syllabus.
She has always been an A+ student. She has always been very thorough in all their learnings, and she had always accompanied them with lots of additional literature. So, when she learns something, she learns all the bits and pieces.
The story began when she was learning traditional testing, the typical taught in the university. This kind of testing focuses greatly in QA and has the objective of stressing the code. They study the cyclomatic complexity, the different branches that are in the code, parameters and its possible values, and more. With all of them, they create one test for each of all the possibilities for each function.
For example, in the following code: