Thursday, June 21, 2007

Config files

On a recent project at work, developing a test automation system on top of TestComplete, we tried two ways to store machine-specific configuration data:

  1. One file, shared by all installations, containing a section per machine

  2. One file per machine

At first I had set up a single config file specific to my development PC. When my team mate Alan picked up on the idea, to put some machine-specific data on his system, he created a global config file containing a section per machine. His reasoned that one file, with some common and some machine-specific sections, was more efficient than a collection of files with high redundancy.

The config files contained data specific to each developer or test instance, such as usernames and passwords on the system under test. We needed this data in first place to prevent clashes between developers as we exercised the system.

What we ultimately settled on was separating the single global config file back into one-per-machine. Even though we were following good development practice by using a svn repository, so no-one's edits would get lost or forgotten, we realized that once the project ramped up to 3 or 4 development machines, plus a couple of production servers, that config file would become a pumpkin.

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.