Monday, January 16, 2012

Alpha, Beta and Gamma Testing Phases

Software Release Life Cycle: The software release life cycle is the different stages, that describe the stability of the software product/project. Each major version of the product usually goes through a stage which known as a software release life cycle.
It has different phases through which a project goes to the production and every phase have their own objective.

Pre-alpha: 
Pre alpha refers to all the activities performed during the software product prior to testing. These activities can include requirements analysis,software design, software developments and unit testing.

A QA can do following things in Pre-alpha stage:
  1. Requirement Analysis.
  2. Requirement Testing.
  3. Test Plan creation.
  4. Create the test scenarios and test cases.
  5. Test bed creation.
  6. Create the test execution plan.



Alpha Testing Phase: 
This is the fist phase of actual software testing (alpha is the first letter of the Greek alpha bet), in this phase, we use the white box/Black box/Gray box software testing techniques to test the software product.
This is the in-house testing of the product in presence of developers in laboratory setting. Alpha testing is done by developer himself, or separate testing team, or by client.
Generally we perform all testing types in alpha testing phase. Alpha testing phase ends with a feature freeze, indicating that no more features will be added to the software.

Types of testing done by tester in Alpha phase:
  1. Smoke testing.
  2. Integration Testing.
  3. System testing.
  4. UI and Usability testing.
  5. Functional Testing.
  6. Security Testing.
  7. Performance Testing.
  8. Regression testing.
  9. Sanity Testing.
  10. Acceptance Testing.
Purpose of Alpha testing: 
The purpose of the alpha testing is to validate the product in all perspective. Which can be functional label, UI & usability label, security or performance label.
Suppose if we are going to release the build for 10 features, and 3 of them have certain Block and Major issues so either we should resolve them or to release the product with 7 feature in Beta.Before going to alpha generally in-house testers insure that testing of all application area has been done, no Block/crash/Major issues remain.
Beta Testing Phase:
In software development, a beta test is the second phase of software testing in which a sampling of the intended audience tries the product out. (Beta is the second letter of the Greek alphabet.)

Originally, the term alpha test meant the first phase of testing in a software development process. The first phase includes unit testing, component testing, and system testing.

Beta testing can be considered "pre-release testing". Beta test versions of software are now distributed to a wide audience (Selected group of real users, out side the developmentenvironment) on the Web partly to give the program a "real-world" test and partly to provide a preview of the next release.
Purpose of Beta testing: 
The main objective behind the Beta testing is to get the feedback from the different groups of customers and check the compatibility of the product in different kind of networks, hardware's, impact of the different installed software on product, check the usability of the product.
This is typically the first time that the software is available outside of the organization that developed it. The users of a beta version are called beta testers.
Type of Beta: 
Developers release either a closed beta or an open beta; closed beta versions are released to a select group of individuals for a user test and are invitation only, while open betas are from a larger group to the general public and anyone interested. The testers report any bugs that they find, and sometimes suggest additional features they think should be available in the final version.

      Open betas serve the dual purpose of demonstrating a product to potential consumers, and testing among an extremely wide user base likely to bring to light obscure errors that a much smaller testing team may not find.
Gamma Testing Phase: 
This is the third phase of software testing. Gamma testing is done once the software is ready for release with specified requirements. This testing is done directly by skipping all the in-house test activities (no need to do all in-house quality check).

   The software is almost ready for final release. No feature development or enhancement of the software is undertaken; tightly scoped bug fixes are the only code you're allowed to write in this phase, and even then only for the most heinous and debilitating of bugs
Gamma Check:
Gamma check is performed when the application is ready for release to the specified requirements, this check is performed directly without going through all the testing activities at home.
Purpose of Beta testing: 
Objective of the gamma testing is to validate the all functional are of the product is working fine or not and is product ready for release. Here QA do the testing like acceptance testing.
Difference Between Alpha and Beta testing:
What they doImprove the quality of the product and ensure the beta readiness.Improve the quality of the product, integrate customer input, and ensure the release readiness.
When they happenToward the end of development process.Just prior to launch or Gamma phase.
How long it happenUsually very long and see many iterations. It is 3 to 5* length of beta.Usually only for few weeks, some times up to month with few major iteration (depend upon situation)
Who MonitorsA separate QA/testing lead team.Usually involves product marketing, support, quality team.



Who participatesPerformed by test engineers, employees.Performed by the set of real users.
What tester expectPlenty of bugs, crashes, missing features etc.Bugs, suggestions, new feature requests etc.
What they achieveFor successful of alpha testing we have to define the alpha testing benchmark and monitor it closely.Team come up with their imaginations, ideas to enhance the product functionality.
What happen next
Beta Test
Gamma Test

4 comments:

  1. Good to know, I would like to share one of the software testing company. Indium software is one of the best Independent software testing company* established in 1999 | offshore QA Firm | Offshore & In-Housing Software Testing Services. Indium has its registered office in California, Georgia and also has multiple offshore delivery centers in India.
    Services like Mobile application testing services, Game software testing services, Software Testing services, QA services, Software verification and validation, Offshore Software testing, QA Validation services, Test consulting services, automated software testing, quality assurance software, web based application testing .

    ReplyDelete
  2. Great Article… I love to read your qa and testing services articles because your writing style is too good, its is very helpful for all of us and I never get bored while reading your article because, they are becomes a more and more interesting from the starting lines until the end.

    ReplyDelete
  3. I like your post there is a lot of information about software testing companies, which I would like to learn, thank you for the great guide.

    ReplyDelete