An important part of software development is bug reporting, i.e. communicating to the programming team the defects of the software product appeared after it has been released out of the programming team itself. Both during alpha testing and during beta testing, the testers should report to the programmers every defect they found. As alpha testers are colleagues of the programmers, their reporting may be done in a more disciplined way than that of beta testers, that are customers.
When there is only one tester, his/her reports are of course rather uniform and with little repetitions. But two real problems arise when the number of testers grows.
The first is that different testers may specify defects using quite different styles, i.e. terminology and level of detail.
The second problem is that as several testers find the same defect, everyone reports it, and so that defect is duplicated in the bug list. This problem may become huge if there are hundreds of testers, as it is the case with beta testers.
Both problems are solved using the following strategy.
- A defects database is setup. Every defect reported should specify the involved modules of the application and the kind of defect. The database contains also a list of the modules of the application, and a list of the kind of defects. The reported defects can specify modules and kinds of defects only belonging to such lists.
- Every alpha tester is trained to report defects in a standard way, and every time their reports are not perfect, their trainer corrects them so to improve their standard compliance.
- Every alpha tester is trained to look the defects database for the same defect, before adding it, to avoid defect report duplication. If appropriate, such search is performed by specifying the involved module and the kind of defect.
- There is a single person (or, for very large persons, very few persons) that are responsible of managing the defects database, to insure that the reports have a standard style and are not duplicated.
- Beta testers do not add their reports to the main defects database, but add them to a list. For that purpose, a form should be filled using a Web application. The defects database responsible, or some other colleague in the Quality Assurance team, periodically scans that list, and eliminates junk reports, eliminates duplicated reports, tries to replicate the defect to understand it better, possibly communicating with the beta tester who reported it, and possibly adds a proper defect report to the defects database.