Wednesday, May 13, 2009

Offshore Software Testing: Best Practices for Testers

Offshore software testing has certainly come of age. In recent years, the quality of software testers from India and other Asian countries — which serve as prime outsourcing destinations for the western countries — have improved considerably.
Herein are some of the best practices for software testers:

1) The test results need to be analyzed thoroughly and should not be ignored. Troubleshooting the failed attempts are crucial too as it might lead to eventual success. Also providing solutions to bugs which are stored in logs is also important.

2) It is helpful to maximize the test coverage while on a test.

3) For ensuring maximum test coverage, using application under test (AUT) for breaking into smaller functional modules is useful. Break them in to smaller parts if possible, and write test cases for these modules.

4) It is beneficial to write test cases for intended functionality i.e. for valid conditions first and then invalid conditions.

5) Test the application with a clear intent of finding bugs/errors. If the application is tested with the intention of finding bugs then chances are, that even subtle bugs can be traced from the program.

6) It is essential as well as beneficial in software testing to write the test cases in requirement analysis and design phase itself.

7) Prior to coding, make the test cases available to developers and do not wait in anticipation of more bugs.

8) Grouping will ensure quick and effective manual regression testing.

9) Software applications should be thoroughly tested for performance especially those applications which require quick response time. If manual software testing and preparation of test cases is not possible manually, then take help from developers.

10) After basic unit testing of developed applications, to release the application for testers. But the testers should never force the developers to complete the project hurriedly; they should take their own time.

11) After requirement testing, try to do some negative software testing on the application that is for what it is not supposed to do.

12) Always note down the new terms while conducting tests of an application and during the creation of the final test release report.

13) Keep developers away from test environment to detect any possible configuration changes which might get missed in the release or deployment document.

14) Its a good practice to involve testers right from software requirement and design phase so that they can get the hold of the whole software development lifecycle.

15) It is advantageous for software testing teams that they share best testing practices and experience with other software professionals in the organization.

16) Prepare an unambiguous bug report by not only stating the bugs, but about its effects and effective solution.