What’s unit testing?

Unit testing? You mean those automated fast tests, right?

That is, hopefully, often the case. Unit testing is wired in our brain to mean automated tests and maybe you’re already thinking about your favorite unit test framework…

But let’s zoom out a bit. Unit testing is testing pieces, the units, of software more or less separated from the rest of the software. The tests are focusing on testing the operation of the unit with different scenarios. Often not all the scenarios, such as how does the unit behave with all the different inputs, are interesting but the focus is to select some well-selected scenarios that relate to normal operation, corner cases, or error situations of the unit.

Now. Unit testing could be manual work as well – compile an executable with (just) the unit and run the tests for it manually! However, it’s likely easier and faster to just use an existing unit testing framework and write automated test cases for your units.