It is, of course, possible. It is just rarely practiced, I think. It is as necessary as it is in any other language, which means either not at all, absolutely necessary, or somewhere in between depending on your point of view...<p>I have seen a few approaches: google test (actually a C++ framework) used to test C code, &quot;custom&quot; test frameworks (makefiles, test-runner shell scripts, and small main() functions that actually run tests), etc.