Testing and the Cosmic Horizon

Dan Melnick, Mar 31, 2011

Following some recent discussions regarding how and when to test our software, I was struck by the thought that every developer is limited by his or her own cosmic horizon of software experience in making the decision.

Cosmic horizon is an astronomical term for the observable universe. We are limited in what we can see in the universe due to the time it takes light to reach us from the beginnings of the universe. Over time, our cosmic horizon expands as more light reaches us.

Similarly, every software developer has a limited vision of software, bounded by experience, ability conceptualize the impacts of our current decisions on future systems, as well as their experience with older legacy systems.

Theoretically over time a developer's cosmic horizon will expand and their known universe will encompass a greater range of experience, code, and perhaps most importantly, mistakes.

It's not until you see code that should have had test coverage but doesn't that you can start to understand the importance of testing. Conversely, you'll probably also encounter a range of boilerplate testing that you realize adds little value to your test suite or application, or tests that test the wrong thing.

Without a cosmic horizon that comes from decades of experience, I don't think any developer is qualified to make the decision to not test.

Given the binary choice of testing something or not, the choice should be clear because the consequences are not. In my own limited experience, I'm just now gaining some perspective on how to test, but I don't feel qualified to determine if I should test.

As developers it's important that we recognize the limitations of our perspective and follow best practices when our experience is not broad or deep enough to reliably inform our decision making.

Rss-icon Rss-icon-over
Archive

Archive