Friday, July 31, 2009

When programming software for websites should you run test cases on the production system?

I believe you can't guarentee the accuracy of a live system without first running a live test through it. Is this bad practice? Should testing be isolated to the staging environment? How can you guarentee that software that works in the development enviroment works when made live?

When programming software for websites should you run test cases on the production system?
Absolutlely not! Unless your business is not dependent at all on the production system. The recommended development cycle for software implementation has 3 stages : Development, Test, Production. Of course, for this methodology to work properly, production data needs to be imported into the development and test environments, and the prod environment needs to be emulated very closely in both dev and test. Each stage should have its own, isolated environment to ensure that any ill effects generated by coding errors do not propagate to the production system. Typically, developers use the 'Development' envirionment to do their tweaks and changes until they are fairly confident that the program is working as intended. Then, it is promoted to 'Test' where end users who have been selected to be testers test the product to see if it works for them. Then, after the LOB has signed off on the tests, it is promoted to production. Now, if you are a small shop, or independent developer, this is excessive, so the best thing to do is just use the 'Development' for coding and testing, then promote to production. I would never suggest testing in production though, unless you have no other choice.
Reply:There is no guarantee with anything, setup your testing as close as you can to production, and test every angle that you can before going live. Then pick a slow time to go live and test it again on the production side of things.


No comments:

Post a Comment