Chapter 16. Testing and Debugging

I’ve just picked up a fault in the AE35 unit. It’s going to go 100% failure in 72 hours.

—HAL 9000, in 2001: A Space Odyssey

Testing is important. All competent programmers know this fact, even if it isn’t always at the forefront of their minds.

Of course, true exhaustive testing is usually impossible. A program or system of any significant size is always going to hold a few surprises as it goes through its life cycle. The best we can do is to test carefully and selectively, and get as wide a coverage as we can.

Historically, programmers don’t always test as adequately as they should. The typical reasons for this are tests that are difficult to set up and run, require manual intervention, or take too long to ...

Get The Ruby Way: Solutions and Techniques in Ruby Programming, Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.