Path: csiph.com!x330-a1.tempe.blueboxinc.net!newsfeed.hal-mli.net!feeder1.hal-mli.net!news.linkpendium.com!news.linkpendium.com!newsfeeds.ihug.co.nz!lust.ihug.co.nz!ihug.co.nz!not-for-mail From: Lawrence D'Oliveiro Newsgroups: comp.lang.java.programmer Subject: Re: tools for programming applets Followup-To: comp.lang.java.programmer Date: Mon, 23 May 2011 12:34:20 +1200 Organization: Geek Central Lines: 27 Message-ID: References: <028d2009-98b7-43a3-b02d-83eaa89db79e@glegroupsg2000goo.googlegroups.com> NNTP-Posting-Host: 118-92-95-178.dsl.dyn.ihug.co.nz Mime-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 8Bit X-Trace: lust.ihug.co.nz 1306110861 5836 118.92.95.178 (23 May 2011 00:34:21 GMT) X-Complaints-To: abuse@ihug.co.nz NNTP-Posting-Date: Mon, 23 May 2011 00:34:21 +0000 (UTC) User-Agent: KNode/4.4.7 Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:4426 In message , wrote: > I'd like to turn that around on you and ask you what development > environments you've used that didn't require you to build a test harness > before, during and after software development? When I build a major system, I like to build in the ability to run it in “test mode”. This is a simple boolean flag which causes the code to read its configuration file from a different directory, open the test database instead of the production one, listen on a different port from the production one, generate URLs linking to test areas of the website instead of production areas, and so on. I even wrote a custom Python installation script, which looks for a line like this test_mode = True/False and edits it to have the right value depending where the script is going to be installed. Then I can run test and production systems side by side on the same server, guaranteeing identical configurations for both. I can kill and restart test processes without affecting anything important. I can selectively copy across data from the production database to the test one. And once I’m satisfied it’s up to production quality, it’s easy enough to arrange a time with the users to upgrade the production system.