Important steps for a successful software release

By: 
Michael Rielly

December 30, 2010

Kay Diller at SearchSoftwareQuality.com posted a great articleon how to launch a successful software release. In Step 3, Kay recommends creating a strong test plan and test cases and we couldn't agree more! ;)

Eight steps for a successful software release By Kay Diller Via SearchSoftwareQuality.com 3. Create a strong test plan and test cases Test plan The test plan is a document created for your specific testers. There really is no one way to write a test plan. Just keep in mind who your testers are. Are they super-users or new to the application? Do they understand technical jargon, or do they steer away from the technical aspect of the release? Keep your testing as simple as you can, but be sure to cover everything that was touched by the release; along with a more regressive type of testing (test all of the application, not just the areas that were touched by the developers). Test plans show what will be done during testing, timing of testing and who will be involved. Test cases The test cases that you create for your testers become an integral part of the test plan; however, they are usually a separate document and include instructions on what testers are to do. Test cases help direct testers into the areas you want them to test, along with giving testers feedback on what they should be experiencing. If the testers are not experiencing what you say they should, then the test most likely fails. Testers then report their overall results, noting each and every passed and failed test case. Random testing In addition to test cases, encourage testers to do random testing, which is letting testers test anything they want, without any restraints. Some of the best bugs and problems are found through random testing. Failed test results When a test case fails and it is critical to the release, testers are to report the failure immediately to the project lead, who can then determine if the testing needs to stop while the problem is investigated or fixed, or if testing can continue. Otherwise, test results can be accumulated and shared at the end of testing.

Automating these processes can greatly improve software quality. Generally, software-component testing requires generating one line of test code for each line of application code to be tested. The necessity to create this "disposable" test software is the main reason manual component testing is so expensive and inefficient. Test software not only has to be written but also has to be debugged to ensure that it performs as expected. Learn how you can automate embedded software testing...