In software engineering, we test primarily to diminish risks. Errors are costly, and testing serves as a safety net for the full software system.
However, it is not the only purpose of testing. We can also do testing for understanding, just as software engineers should do when writing a program. And racing drivers do when learning a new track or car.
The parallels between racing and software development may not be immediately evident. However, both require the design and implementation of solid processes to secure success.
This article introduces methods, techniques, and tools to ensure clarity of thinking and implementation during development of project processes.