|
What is Beta Testing?
"Operational testing at a site not otherwise involved with the software
developers." BS 7925-1.British Computer Society Specialist
Interest Group in Software Testing (BCS SIGIST)"
Why? A close relation to Alpha Testing, Beta is also very high up on the V Model
diagram, mapping against the Requirement specification.
The positioning however is closer to market than that of Alpha Testing
due to the increased independence of the testers. The reasons are however
the same..
1) to give confidence that the software is in a
suitable state to be seen by customers (but not necessarily released.)
2) to find bugs that may only be found under
operational conditions. Any other major defects or performance issues
should have been discovered by this stage.
The distinction between Alpha / Beta / Released software has become
blurred in recent years. A certain Seattle base company has as very
extensive Beta testing programme for all of its products. Some malicious
people have even suggested that the first release of any product by this
company is really a Beta version and that the last stages of testing is
actually done by users.
Who?
Implementors and consultants from the developing organisation, customers,
end users and interested technical people in general are all candidates to
be Beta Testers.
How the testers are selected depends should depend on the software and
the environment into which it is to be released. For example if the project
is a very large system for a government department, then the beta testers
are should be drawn from the team implementing the system and experienced
end-users. Conversely a mass market graphics product may be tested by many
hundreds of artists, drawn from a panel.
Where? Usually beta testing takes place on the customer site.
In the case of large scale market products, software can be sent out on CD
or downloaded.
For a product like Office it would be impossible to test every new piece
of functionality against all possible test environments, let alone
regression test. Thus only by many users using the software in a real world
setting are obscure defects found.
When? Testing should take place once the developing
organisation is happy that the required amount of risk has been mitigated.
In real terms, this means the software will not crash and only small defects
are left to be found. Defects which found in system testing that were
considered too minor or not cost effective to fix may still be present in
the beta release.
In the real world commercial pressures will often determine the beta
release. For example if a release date has been sent to the press,
embarassment will ensue if it slips. Thus beta testing may start before the
software is ready.
Even at this late stage in the process, functionality delivered in the
beta release may not be what is in the final product. However if major
modifications are needed, then something has gone seriously wrong with that
organisations development processes.
How?
The organisation generates a build of the software, with the production
standards of a released product. Ideally the software should be packaged
with the documentation and other artifacts, that are also to be delivered.
Installation documentation and the basic operational documentation is
especially important in this respect.
Testers typically receive the product on CD or downloading by test. How
they then choose to test the product is up to them. The developing
organisation may of course want to guide them in particular areas, to ensure
the most thorough testing.
Finally there has to be a mechanism for the beta testers to log incidents
or defects.
|