From DCBase Wiki
A Beta Tester is a person who actually tests a software product for bugs in the last period of testing, before the shipment of the product to a large scale of consumers. A program has more states of development until a mature release happens.
- Planning - In this step of the development there is no actual code written, just plans and a general overview of the project, the goals that the project wants to solve, and looking over possible solutions
- Alpha - In this step, the primary framework for the project is written, and most of the basic functions, though, the program usually has very little user interaction and is mostly non usable by the real world users. And another important thing, in this step of development the software does not necessarily have backward compatibility e.g. a newer alpha version might be completely incompatible with older alpha versions.
- Beta - In this step, the program core is about 90-99% functional, and the user interaction reaches the desired level. At this stage the program can be used by people but they could experience unwanted behavior ( crashes, freezes, some non working parts ). In this stage the program should be backward compatible.
- Mature/Stable - In this step , the program is considered at is peak of development, where all the functions have been thoroughly tested and they usually work. It's very hard to find a bug in this kind of stage. The development focuses on new features or improving the current ones, in which case the new features go back to the Beta stage until they are finished and tested.
A beta tester is a person who tests the program in the late alpha stage and beta stage. Usually the Beta tester has a great knowledge of the program's working, knows what to expect from it and realizes when something is wrong about it. The team of developers usually has a number of beta testers around their software product to have it properly tested.
In the Open Source community, anybody can become a beta tester. Usually one has to know the program very well to become a regular beta tester , and contact the developers for more information about the tests required. Of course, one can find bugs in any program they run, and they are highly encouraged to submit a bug report via the project's bug tracker ( most of them have one ) or directly via e-mail to the developers.
Testing the open source programs is highly appreciated as there is no material gain from this effort ( developers don't have any either ).