97 Things Every Programmer Should Know

(Chris Devlin) #1

(^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.

Free download pdf