Chapter 5: Unit Testing the Logger and Client

The Purpose of Unit Testing

Creating tests for your code is a fundamental methodology that not only proves your code works but also clearly defines the intent of each routine. Testing offers a critical safety net in both the development and maintenance phases, ensuring that code is reliable and robust under various scenarios. This practice is akin to test-driven development (TDD), where the creation of unit tests before actual coding begins helps validate functionality systematically. Similarly, when someone questions whether a codebase is functioning correctly, these tests can be run to demonstrate the code’s effectiveness convincingly.

Just as testing is integral to software development, in the realm of sports, specific routines and performances are rigorously tested under competitive conditions. For instance, is gymnastics in the Summer Olympics offers a platform where athletes' routines are meticulously scrutinized to ensure they meet the criteria of the highest competitive standards, much like how unit tests verify the performance and reliability of a software system. Each gymnastics routine at the Olympics is the result of countless hours of training and testing, designed to perfect every move and sequence under the pressure of international scrutiny.

Testing forms the modern way to create solid code. An entire corpus of work supports the benefits of test driven development.

As you write code, you test it. By “test” I mean write code in the form of unit tests. When someone asks if you can prove your code works, you can run the tests and prove it. More importantly, you use the test code to prove it to yourself.

An old saying is “No test? Then, by definition, the code is broken.”

Continue reading
Posted in 0MQ, arduino, IoT, linux, messaging, networking, RaspberryPi, testing, unittest, zeromq, zmq | Tagged , , , , , , | Leave a comment