Nonfunctional Testing Home

Nonfunctional Testing Articles

Nonfunctional Testing Links

Nonfunctional Testing Books

Nonfunctional Testing Tools

Nonfunctional Testing Keywords

Nonfunctional Testing

alpha testing

What Is Alpha Testing?
"Simulated or actual operational testing at an in-house site not otherwise involved with the software developers."
BS 7925-1.British Computer Society Specialist Interest Group in Software Testing (BCS SIGIST)

Why?Alpha testing is typically done for two reasons:-


   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.

Historically, companies may have gone through many cycles of Alpha testing. However as development lifecycles have decreased, these have decreased. Also the timing has been pushed much closer to the release date.

A subtle distinction can be made between alpha testing, its sibling beta testing and acceptance testing. Alpha/Beta testing can be seen as "does the software work", whereas acceptance testing is more for the customer to say, "are we willing to pay for the software?"

Alpha testing is high up on the V model, mapping against the requirements process function.

Who?
Ideally Alpha testing should be conducted with as much independence as possible from Development and the personnel that did the system or other forms of testing up to that point. Independence can bring a fresh view point to the party. "Workarounds" used in system testing can become cast in stone if the root cause of the problem is not dealt with In the worse case, the software can be released, without the workaround, so all the user sees is a defect.

However in the real world, not many organisations have the resources for an independent system test and an independent Alpha test team. Consequently testers have to where both hats. An alternative is to co-opt personnel closer to the customer, such as consultants and implementors to do the testing.

When?
Due to its very nature of testing an entire system, Alpha testing traditionally occurred very late in the cycle. Depending on the development model used, the "when" can happen at different points.

In the traditional Waterfall model Alpha testing took place very late in the project. Unfortunately in many cases, time for testing is squeezed very tightly at the end of the development. Thus compromises in the quality of testing are made.

In the iterative model, particularly the RUP, a large emphasis is placed on risk mitigation and constant builds, followed by Smoke testing. At all times the implementors, consultants and customers can be seen as stakeholders. For instance at the end of the elaboration phase, it should be demonstrable that the core architecture of the system is stable and performs as expected. Thus during the transition period the stakeholders will have seen the software numerous times and there should not be too many surprises when the software is shown in the Alpha form. Indeed in the RUP Alpha testing has a far lower priority than achieving lifecycle milestones

Where?
Alpha testing is usually undertaken at the developing organisations site.

How?
Both manual and automated techniques can be used for Alpha testing. Performance testing especially can be automated

Testing types that can be used included documentation, installabilityand operational testing. A large degree of regression testing should also occur, especially on high risk areas of the system.

Google
Web www.riskmanagement.force9.co.uk/

Nonfunctional Testing Bestsellers
The bestselling books on Amazon.

Articles

test execution

Load Testing

acceptance testing

alpha testing

performance testing

Other Related Websites
Test Techniques
Functional Testing

Visit our site of the month Load Testing at loadtesting.force9.co.uk