Eyas's Blog

Occasional musings on software development, tech, the Middle East, and anything else.

Testing Archives

Human Readable Test Data

Usage RightsPhoto by Chris Spiegl, via FlickrCC BY-NC-2.0

One of the most transformative pieces of wisdom I've gotten in my career is Titus Winters's ToTW #122 on test dataflow clarity. The Tip of the Week (ToTW) series offers advice focused on C++. Like Testing on the Toilet, which offers advice and best practices for software engineering at Google generally, it has become a fixture within the engineering culture, frequently cited in code reviews.

If you haven't already, check out ToTW #122: Test Fixtures, Clarity, and Dataflow nowI'll wait.

Read more →

Unexpected Lessons from 100% Test Coverage

The conventional wisdom of the software engineering community is that striving to 100% test coverage is a fool's errand. It won't necessarily help you catch all bugs, and it might lead you down questionable paths when writing your code.

My recent attempts at 100% test coverage showed me the answer is much more subtle. At times I was tempted to make questionable code changes just for the sake of coverage. In some of those times, I did succumb. Yet, I found that often, there is an enlightened way to both cover a branch and make the code better for it. Blind 100% coverage can cause us to make unacceptable compromises. If we constrain ourselves with only making the codebase better, however, then thinking about 100% coverage can change the way we think about a codebase. The story of my 100% test coverage attempt is a story of both the good and the bad.

Read more →

1