Custom Search

Monday, May 18, 2009

What is Alpha Testing?

Alpha testing is the software prototype stage when the software is first able to run. It will not have all the intended functionality, but it will have core functions and will be able to accept inputs and generate outputs. An alpha test usually takes place in the developer's offices on a separate system.

Any software that will be run on customer equipment must first be reviewed and approved by EPRI Corporate Software Quality. Be sure to discuss any exceptions with the Software Quality Manager for your EPRI sector.

The EPRI project manager utilizes this prototype to evaluate and provide input to the developer as the design evolves. Although software is usually not distributed to users prior to beta testing, selected end-users may also be involved. Usually, the most complex or most used parts of the code are developed more completely in the alpha, in order to enable early resolution of design questions.

The project manager collaborates with the developer to determine specific goals for alpha testing, and to integrate the results into evolving project plans.

In-depth software reliability testing, installation testing, and documentation testing are not done at alpha test time, as the software is only a prototype. Alpha tester feedback forms are not used, although the developer does request feedback on specific aspects of the software.

Setting Customer Expectations

If customers will receive alpha software, they must understand that the product will be only minimally functional, and is likely to have problems. The required review by EPRI Corporate Software Quality checks for the most serious problems, but customers must still be prepared for unexpected or frustrating experiences.

A letter or e-mail accompanying alpha software is strongly recommended. This letter should make customers aware of:

  • The software's limited functionality at this early stage
  • The likelihood of experiencing problems
Their mission: Find problems and provide feedback

Quality Team Involvement

It is understood that alpha software is not fully functional. However, EPRI Corporate Software Quality tests all software that is to be sent to users or run on customer equipment so that possible serious errors can be removed. Examples of such errors are software behavior that compromises a user's system, or presence of a virus. This pre-testing of alpha software that is sent to users will protect the reputation of EPRI software with customers.

If any end-users or customers will receive software for alpha evaluation, or if software will be run on customer equipment, be sure to send it first to EPRI Corporate Software Quality. This prior review and approval is required. Be sure to discuss any exceptions with the Software Quality Manager for your EPRI sector.

In order not to delay project schedules, EPRI Corporate Software Quality:

  • Uses e-mail notes rather than structured reports on alpha evaluations.
  • Works with project managers to complete alpha evaluations within the time needed.

If desired, the EPRI Corporate Software Quality will provide additional early usability feedback on an alpha stage software code, such as feedback on the proposed navigation scheme, and the look and feel of the software.

In general, expect a 6-8 day turnaround time for EPRI software testing. However, during peak periods such as September through December, turnaround may take longer depending upon the testing queue. Testing time will also vary with software size and complexity.

Common Problems

  • Customer expectations surrounding Alpha software have not been appropriately set, and customers are disappointed at the limited functionality and problems encountered.
  • Software sent to users or run on customer equipment is not tested by EPRI Corporate Software Quality beforehand.

In Software Development there are a few different phases of software releases: Alpha Release, Beta Release, and Final Release. Let’s break it down...

Alpha Software

Alpha Software is the first major release of software for the public to use. Since it is the first major release, it often times has many unknown bugs.

If you use alpha software you should not be dependent on your computer as alpha software could possible cause unexpected things to happen with your system(s). It is also a good idea to have a general understanding of software testing.

Why release buggy software to the public? By releasing this software to the public, we can reach a substantial amount of people who will be willing to submit detailed information about their experience with the software as well as bug reports. Once we receive a bug report, we immediately create a fix or workaround for the next release of the software.

At SodaBush, we do a great deal of testing before we release any Alpha Software. This way we limit the amount of bugs in what should normally be a very buggy phase of software.

Beta Software

Beta Software is the second major release of software for the public to use. It works much the same as alpha software except that it should, hopefully, have fewer bugs, be more stable, and easier to work with. Keep in mind that no software ever is fully debugged. But, with your help, we can try to remove as many bugs as possible, creating a better experience for everyone using the software overall.

Final Software

Final Software is the final major release of software for the public to use. This is the phase which all software one day reaches. Final release software has been tested on several machines and has many, hopefully all, of the major bugs fixed.

During this phase of software development software becomes widely available as a freeware or shareware product.

Telling the Difference

On our site, we label all of our software accordingly. If you see “Alpha” after the name of a piece of software, it would mean that the software is currently alpha testing. (i.e. “Hyper Color v1.00 Alpha 1.”) Likewise with “Hyper Color v1.00 Beta 1,” you will know it is beta software. Software which does not indicate alpha or beta is a final version.

Bottom Line

What is the difference between Alpha, Beta, and Final software? When you boil it down, you can simply view the differences as...

Final = Least Buggy
Beta = Buggy
Alpha = Most Buggy

a stage of software development where the software is first tested for bugs by real users. In contrast to beta testing, alpha software is usually assumed to have some significant bugs or unimplemented portions.

Step Overview (

The main objective of testing is to show with a high level of confidence that the software application meets the acceptance criteria: function, performance, usability, features, and capabilities.
The developer is expected to thoroughly test software for both functionality and usability before submitting it to EPRI for final acceptance testing.

Software testing tests the software itself, but it also tests documentation, operator or user interfaces, and reports. What is also indirectly tested are the development team, the technical and project management, the application development tools, and the software development rules and guidelines. In sum, much more is tested than just the software product itself.

Tasks In This Step

These are the tasks of the Test and Integration step. For more background, see the Background Material section below.

  • Alpha Test by Developer - Describes alpha testing, and when EPRI Corporate Software Quality review is required.
  • Alpha Test (Required if Alpha version going to customers) - Describes alpha testing, and when EPRI Corporate Software Quality review is required.
  • Beta Test (Required for all software going to customers) - Overview, implementation tips, downloadable Beta Tester Feedback form.

Common Problems

  • Alpha software that is run outside the developer's shop is not reviewed by EPRI Corporate Software Quality before it is sent to customers.
  • Beta testing is not done, or is not complete enough to identify key problems.
Insufficient usability testing is done by the developer prior to submitting final software to EPRI Corporate Software Quality.

No comments: