(^164) 97 Things Every Programmer Should Know
Test While You Sleep (and over Weekends) ..............
Rajith Attapattu
RELAx. I am not referring to offshore development centers, overtime on week-
ends, or working the night shift. Rather, I want to draw your attention to how
much computing power we have at our disposal. Specifically, how much we
are not harnessing to make our lives as programmers a little easier. Are you
constantly finding it difficult to get enough computing power during the work
day? If so, what are your test servers doing outside of normal work hours?
More often than not, the test servers are idling overnight and over the week-
end. You can use this to your advantage.
- Have you been guilty of committing a change without running all the
tests? One of the main reasons programmers don’t run test suites before
committing code is because of the length of time they may take. When
deadlines are looming and push comes to shove, humans naturally start
cutting corners. One way to address this is to break down your large test
suite into two or more profiles. A smaller, mandatory test profile that is
quick to run will help to ensure that tests are run before each commit.
All of the test profiles (including the mandatory profile—just to be sure)
can be automated to run overnight, ready to report their results in the
morning. - Have you had enough opportunity to test the stability of your product?
Longer-running tests are vital for identifying memory leaks and other
stability issues. They are seldom run during the day, as it will tie up time
and resources. You could automate a soak test to be run during the night,
and a bit longer over the weekend. From 6:00 PM Friday to 6:00 AM the
following Monday, there are 60 hours’ worth of potential testing time.