OK kiddo, let's say you have a big puzzle to solve. You could just start putting the pieces together right away and see if they fit, but that would take a long time and you might make mistakes.
Instead, you could take a more calm and organized approach. You could first separate the puzzle pieces into different piles based on their shapes or colors. Then, you could start putting together one pile at a time, making sure all the pieces fit just right, until you eventually build the whole puzzle.
That's kind of what lazy systematic unit testing is all about. Just like the puzzle pieces, software code can be very complex and hard to understand at first. When we want to make sure our code works, we could just start running it and seeing what happens, but that can take a long time and we may not catch all the errors.
Instead, we can break our code down into smaller parts called "units" (just like we did with the puzzle pieces), and test each one separately. This makes it easier to spot mistakes and ensure everything is working as it should.
Now, here's the "lazy" part of lazy systematic unit testing: instead of writing all the tests at once, which can be overwhelming, we only write the tests for one unit at a time, and only when we need to. This means we can focus on one thing at a time and not worry about testing things that aren't important yet.
For example, let's say we're building a website and want to test the login feature. We could write all the tests for login, logout, and password reset at the same time, but that could take a while. Instead, we can write tests just for login first, and then add more tests as we need them later on.
In the end, lazy systematic unit testing helps us build better software that's less prone to errors because we break things down into smaller pieces and test them thoroughly before moving on to the next piece.