Is there an issue? Send a MessageReason:
Is there an issue? Send a MessageReason:
Add details
Changed line(s) 53 (click to see context) from:
Both the term and approach are used outside of the computer and software fields. A book author might say she is "beta testing her new novella" by having a local book club read it and give feedback (e.g., on confusing parts or plot holes). A fashion designer might "beta test his new sportswear line" by having local athletes wear the clothes in training sessions, and then provide comments on the fit, comfort and style.
to:
Both the term and approach are used outside of the computer and software fields. fields, albeit in a looser sense.
* A book author might say she is "beta testing her new novella" by having a local book club read it and give feedback (e.g., on confusing parts or plot holes).
* A fashion designer might "beta test his new sportswear line" by having local athletes wear the clothes in training sessions, and then provide comments on the fit, comfort andstyle. style.
* A book author might say she is "beta testing her new novella" by having a local book club read it and give feedback (e.g., on confusing parts or plot holes).
* A fashion designer might "beta test his new sportswear line" by having local athletes wear the clothes in training sessions, and then provide comments on the fit, comfort and
Is there an issue? Send a MessageReason:
None
Changed line(s) 9,10 (click to see context) from:
In the software development, web design amd app development world, progress is spread out into various milestones. The ''Beta Test'' is the most well-known milestone, which represents a state when software is mostly done, but needs to be tested beyond its developers and internal testers to catch bugs, glitches and other problems. The idea is to give the software to actual users so that another set of eyes can catch different issues. After all, a developer who's been working on one part knows exactly what to do to "work around" glitches, and they might be only using it the "right way" (as intended), and they might not have thought of (or had time to try) "unorthodox" methods of using the software.
to:
In the software development, web website design amd and app development world, progress is spread out into various milestones. The ''Beta Test'' is the most well-known milestone, which represents a state when software is mostly done, but needs to be tested beyond its developers and internal testers with regular users to catch bugs, glitches and other problems. The idea is to give the software to actual users so that another set of eyes can catch different issues. After all, a developer who's been working on one part knows exactly what to do to "work around" glitches, and they might be only using it the "right way" (as intended), and they might not have thought of (or had time to try) "unorthodox" methods of using the software.
Added DiffLines:
!! Usage Outside Computer and Software Fields
Both the term and approach are used outside of the computer and software fields. A book author might say she is "beta testing her new novella" by having a local book club read it and give feedback (e.g., on confusing parts or plot holes). A fashion designer might "beta test his new sportswear line" by having local athletes wear the clothes in training sessions, and then provide comments on the fit, comfort and style.
Both the term and approach are used outside of the computer and software fields. A book author might say she is "beta testing her new novella" by having a local book club read it and give feedback (e.g., on confusing parts or plot holes). A fashion designer might "beta test his new sportswear line" by having local athletes wear the clothes in training sessions, and then provide comments on the fit, comfort and style.
Is there an issue? Send a MessageReason:
Add details
Changed line(s) 9,10 (click to see context) from:
In the software development world, progress is spread out into various milestones. The ''Beta Test'' is the most well-known milestone, which represents a state when software is mostly done, but needs to be tested beyond its developers and internal testers to catch bugs, glitches and other problems. The idea is to give the software another set of eyes to catch different issues. After all, a developer who's been working on one part knows exactly what to do to "work around" glitches, and they might be only using it the "right way" (as intended), and they might not have thought of (or had time to try) "unorthodox" methods of using the software.
to:
In the software development, web design amd app development world, progress is spread out into various milestones. The ''Beta Test'' is the most well-known milestone, which represents a state when software is mostly done, but needs to be tested beyond its developers and internal testers to catch bugs, glitches and other problems. The idea is to give the software to actual users so that another set of eyes to can catch different issues. After all, a developer who's been working on one part knows exactly what to do to "work around" glitches, and they might be only using it the "right way" (as intended), and they might not have thought of (or had time to try) "unorthodox" methods of using the software.
Changed line(s) 17,18 (click to see context) from:
If we were developing a game, this might be the early stages of a game engine. We don't know what we'll do with it, but it'll show off some nice things that we could do later.
to:
If we were developing a game, this might be the early stages of a game engine. We don't know what we'll do with it, but it'll show off some nice cool things that we could do later.
Added DiffLines:
A product manager recruits beta testers. These are regular consumers who are interested in the product. It's important that the beta testers try the product on their own systems at home. The development team might be having great results on their expensive, top-end computers, but maybe the program doesn't work well on a teenager's $300 laptop or a regular parent's basic home desktop. If the program's demands for processing power or RAM or whatever are too high for regular users, adjustments may be needed.
Is there an issue? Send a MessageReason:
Add details
Changed line(s) 9,10 (click to see context) from:
In the software development world, progress is spread out into various milestones. The ''Beta Test'' is the most well-known milestone, which represents a state when software is mostly done, but needs to be tested beyond its developers and internal testers to catch bugs. The idea is to give the software another set of eyes to catch different things. After all, a developer who's been working on one part knows exactly what to do, and might not have thought of (or had time to try) less "orthodox" methods of using the software.
to:
In the software development world, progress is spread out into various milestones. The ''Beta Test'' is the most well-known milestone, which represents a state when software is mostly done, but needs to be tested beyond its developers and internal testers to catch bugs. bugs, glitches and other problems. The idea is to give the software another set of eyes to catch different things. issues. After all, a developer who's been working on one part knows exactly what to do, do to "work around" glitches, and they might be only using it the "right way" (as intended), and they might not have thought of (or had time to try) less "orthodox" "unorthodox" methods of using the software.
Changed line(s) 15,18 (click to see context) from:
Pre-Alpha stages of development narrow down the requirements of the software and the design to meet those requirements. It answers the questions of "what should this software do?" and "how should this software do it?" Test plans are also made so that these features can be tested empirically. Sometimes a ''Tech Demo'' is developed in this phase to give a proof-of-concept to show off at trade shows and meet ups like Game Jams.
If we were developing a game, this might be the early stages of a game engine. We don't know what we'll do with it, but it'll show off some nice things that we could do.
If we were developing a game, this might be the early stages of a game engine. We don't know what we'll do with it, but it'll show off some nice things that we could do.
to:
Pre-Alpha stages of development narrow down the requirements of the software and the design to meet those requirements. It answers the questions of "what should this software do?" and "how should this software do it?" Test plans are also made so that these features can be tested empirically. Sometimes a rough ''Tech Demo'' is developed in this phase to give a proof-of-concept to show off at trade shows and meet ups meet-ups like Game Jams.
If we were developing a game, this might be the early stages of a game engine. We don't know what we'll do with it, but it'll show off some nice things that we coulddo.
do later.
If we were developing a game, this might be the early stages of a game engine. We don't know what we'll do with it, but it'll show off some nice things that we could
Changed line(s) 20,23 (click to see context) from:
Implementation of the software has started. Requirements can be adjusted to address issues brought up during implementation. For example, a requirement may say "this game must support two players", but in reality the game and hardware can support four players. Software starts out crude with many issues in the mix, but as time goes on, most of the components start meshing well together. Testing is usually done by the developers and only on the components they're working on. They're also at best, spot checked. This means if the developer is working on, for example, the UI system, they only test the UI part and make sure the correct actions works. They may not discover that clicking the same button 50 times results in the UI breaking.
In our game development scenario, we've decided on a racing game. At the start, it may not have many maps, the AI is not there, the physics may be crude and rudimentary. But features will continually be added in.
In our game development scenario, we've decided on a racing game. At the start, it may not have many maps, the AI is not there, the physics may be crude and rudimentary. But features will continually be added in.
to:
Implementation of the software has started. Requirements can be adjusted to address issues brought up during implementation. For example, a requirement may say "this game must support two players", but in reality the game and hardware can support four players. Software starts out crude with many issues in the mix, but as time goes on, most of the components start meshing well together. Testing is usually done by the developers and only on the components they're working on. They're also at best, spot checked.spot-checked. This means if the developer is working on, for example, the UI system, they only test the UI part and make sure the correct actions works. They may not discover that clicking the same button 50 times results in the UI breaking.
breaking, and they may not discover that if the player goes outside the boundaries, the system freezes.
In our game development scenario, we've decided on a car racing game. At the start, it may not have many maps, the AI is not there, the physics may be crude andrudimentary.rudimentary, and all the backgrounds are just grey, empty space. But features will continually be added in.
In our game development scenario, we've decided on a car racing game. At the start, it may not have many maps, the AI is not there, the physics may be crude and
Changed line(s) 27,28 (click to see context) from:
In a racing game, the AI will at least follow the track, the car's handling behaves believably, but something silly like driving backwards across the finish line will result in a win may slip through the cracks. Textures may also be basic or not there, models will be boxes, and the sound may as well be one of the audio engineers making engine noises.
to:
In a racing game, the AI will at least follow the track, the car's handling behaves believably, but something silly silly, like driving backwards across the finish line will result in a win may slip through the cracks.cracks. The graphics may be glitchy and some buttons may not work properly. Textures may also be basic or not there, models will be boxes, and the sound may as well be one of the audio engineers making engine noises.
Is there an issue? Send a MessageReason:
None
Added DiffLines:
->'''Leonard:''' Are you familiar with the typical development for computer software?\\
'''Penny:''' Y'know, just for fun, let's say I'm not.\\
'''Leonard:''' Before an application is released, they give it a trial run. We could do that. And if we hit a rough spot, instead of getting mad, just say, "Hey, we found a bug," and we report it so it can be fixed.\\
'''Penny:''' You mean like a beta test?\\
'''Leonard:''' Well, technically, this would be an alpha test. A beta test requires people that weren't involved in the development of the appl--\\
'''Penny:''' Seriously, do I not get credit for knowing "beta test"?
-->-- ''Series/TheBigBangTheory'', "[[Recap/TheBigBangTheoryS5E14TheBetaTestInitiation The Beta Test Initiation]]"
'''Penny:''' Y'know, just for fun, let's say I'm not.\\
'''Leonard:''' Before an application is released, they give it a trial run. We could do that. And if we hit a rough spot, instead of getting mad, just say, "Hey, we found a bug," and we report it so it can be fixed.\\
'''Penny:''' You mean like a beta test?\\
'''Leonard:''' Well, technically, this would be an alpha test. A beta test requires people that weren't involved in the development of the appl--\\
'''Penny:''' Seriously, do I not get credit for knowing "beta test"?
-->-- ''Series/TheBigBangTheory'', "[[Recap/TheBigBangTheoryS5E14TheBetaTestInitiation The Beta Test Initiation]]"
Is there an issue? Send a MessageReason:
Fixing up the day-one patch explanation to provide a likely reason for their existence.
Changed line(s) 39,40 (click to see context) from:
A particular note in the game development industry are "day one patches." These are patches that are released on the same day as the game. One might wonder if there's already a patch out, why wasn't it included in the final game? As the game needs lead time to get to the distributors and for those distributors to set things up, those working on the game can continue working on fixes rather than twiddle their thumbs or work on other projects. Some minor bugs can be fixed and tested in that time time frame.
to:
A particular note in the game development industry are "day one "day-one patches." These are patches that are released on the same day as the game. One might wonder if there's already a patch out, why wasn't it included in the final game? As part of the process for releasing a game on a platform, a bunch of testing needs to be done to ensure the game needs lead time to get doesn't do anything horrible to the distributors and for those distributors to set things up, those working on platform such as causing crashes. However, if a patch is released instead, the process is more streamlined because as far as the platform maintainers are concerned, the game can continue working itself is fine to run on the platform. Trying to get these day-one fixes rather than twiddle their thumbs or work on other projects. Some minor bugs can be fixed and tested in that time time frame.
would only serve to delay the release of the game even more.
Is there an issue? Send a MessageReason:
None
Changed line(s) 1,2 (click to see context) from:
In the software development world, progress is spread out into various milestones. The ''Beta Test'' is the most often heard one of the public, which represents software that is mostly done, but needs to be tested beyond its developers and internal testers to catch bugs. The idea is to give the software another set of eyes to try different things, after all, a developer who's been working on one part knows exactly what to do and wouldn't normally try to do what not to do or has the time to do it.
to:
In the software development world, progress is spread out into various milestones. The ''Beta Test'' is the most often heard one of the public, well-known milestone, which represents a state when software that is mostly done, but needs to be tested beyond its developers and internal testers to catch bugs. The idea is to give the software another set of eyes to try catch different things, after things. After all, a developer who's been working on one part knows exactly what to do do, and wouldn't normally try to do what might not to do or has the have thought of (or had time to do it.
try) less "orthodox" methods of using the software.
Is there an issue? Send a MessageReason:
None
Changed line(s) 32,33 (click to see context) from:
In a racing game, all tracks and cars will be in the game and look like they will when released, the minor clipping through a barrel will not be fixed. A trend that started in the late 2000's was publishers putting a stop to the use of the word "Demo", instead changing to the use of "Public Beta". Publishers and creators realized that by changing the name, people who would otherwise have refused to purchase a game with a bad "Demo", would now forgive the developer for a "Beta" under the mistaken impression that the "Beta" would be used to improve the game, or that the player could choose to believe that it was "just a beta" and that it would be magically fixed upon release.
to:
In a our racing game, all tracks and cars will be are in the game and look like they will when released, the released. The minor clipping through a barrel will not be fixed. fixed, but the game crashing due to rolling over the timer will be. If the crash happens because the car takes a nose dive at a particular out-of-the-way location, it won't be fixed and may be silently patched later.
A trend that started in the late 2000's was publishers putting a stop to the use of the word "Demo", instead changing to the use of "Public Beta". Publishers and creators realized that by changing the name, people who would otherwise have refused to purchase a game with a bad "Demo", would now forgive the developer for a "Beta" under the mistaken impression that the "Beta" would be used to improve the game, or that the player could choose to believe that it was "just a beta" and that it would be magically fixed upon release.
A trend that started in the late 2000's was publishers putting a stop to the use of the word "Demo", instead changing to the use of "Public Beta". Publishers and creators realized that by changing the name, people who would otherwise have refused to purchase a game with a bad "Demo", would now forgive the developer for a "Beta" under the mistaken impression that the "Beta" would be used to improve the game, or that the player could choose to believe that it was "just a beta" and that it would be magically fixed upon release.
Changed line(s) 35,36 (click to see context) from:
The development state of the software is "tagged", or backed up and frozen. Any changes from hereon out is made and a new version. Because of the lead time needed to get the software to distributors, this may happen weeks before the actual launch date.
to:
The development state of the software is "tagged", or backed up and frozen. Any changes from hereon out is has to be made and to a new version. Because of the lead time needed to get the software to distributors, this may happen weeks before the actual launch date.
Is there an issue? Send a MessageReason:
General overhaul of the article to better reflect the milestones of software release cycles.
Changed line(s) 1,18 (click to see context) from:
A Beta Test is a term used in the development of new software or video games. Internal testing is refered to as the Alpha Test, where only the programmers are able to interact with the programming and they test out the various features. The Beta is when the software is in a useable or near-completed state but not ready for public use. At that stage it is sent into testing outside the programming circle.
There are usually additional stages sometimes called Gamma, but to the regular public this is sometimes manifested as an "Open Beta" where a partial component of the software or a bare skeleton of the program is available for general download and use. This is to give very close real world interaction before the full item is ready for release.
The development stages of software generally go as follows, this being the road map that [[http://en.wikipedia.org/wiki/Beta_software#Origin_of_.22alpha.22_and_.22beta.22 IBM laid out]] in the 1930s:
'''Tech Demo''': A proof-of-concept of the basic mechanics of the program. In a racing game, it might be a program that lets a single vehicle drive around a single map.
'''Alpha''': An incomplete version of the program, used to test individual parts. In our racing game example, the AI might be missing or the physics are simplified, and many of the tracks are missing.
'''Early Beta''': The software is stable enough to allow significant testing. Features may still be incomplete, or non-existent, but throughout this phase they will be added and tested. This is intended to find bugs and test features. In a racing game, the AI may make incredibly stupid decisions, tracks may be untextured, and cars may clip through walls or fly into the air. It may even be possible to win a 5-minute track in 2 seconds by simply backing up and crossing the finish line.
'''Late Beta''': All major and most or all minor features are in the game in some form. They may still be incomplete or buggy. This is intended to find more obscure bugs, balance or tune features, and otherwise ensure the software works as intended. In a racing game, the AI may still be goaded into stupid decisions, a certain part of the wall may not have collision, but almost all tracks exist and the cars (mostly) stay on the track. Note that according to the original IBM test specification, this is the stage at which ''all'' features are to be complete with no room to add anything else, although modern software developers are sometimes a bit more flexible with this, particularly when a feature can demonstratively improve the final product. If someone claims a product is in "beta" with major features missing, however (using the previous example, a racing game that's supposed to feature multi-level tracks but only one clipping plane works) then it isn't really in beta. This happens with depressing regularity.
'''Gamma/Public Beta/Release Candidate''': ''All'' of the features have been implemented and tested; this is, theoretically, a product that you could sell immediately (thus the term "release candidate"). If new bugs are found here, most won't be fixed -- only showstopping bugs will. Certain members of the public may get copies. In games, Prima and Brady guides will get their copies, as will preview journalists. In other software, large corporate clients may receive advance copies so they can ensure their custom software still works with the newer version. This is the very final last call for only the worst bugs; no new features will be added, though some features may be cut. In a racing game, all tracks and cars will be in the game and look like they will when released, the minor clipping through a barrel will not be fixed, and the spray-painting feature that randomly crashes the game will be cut. A trend that started in the late 2000's was publishers putting a stop to the use of the word "Demo", instead changing to the use of "Public Beta". Publishers and creators realised that by changing the name, people who would otherwise have refused to purchase a game with a bad "Demo", would now forgive the developer for a "Beta" under the mistaken impression that the "Beta" would be used to improve the game, or that the player could choose to believe that it was "just a beta" and that it would be magically fixed upon release.
'''Release/Gold''': The software is produced and distributed for sale.
There are usually additional stages sometimes called Gamma, but to the regular public this is sometimes manifested as an "Open Beta" where a partial component of the software or a bare skeleton of the program is available for general download and use. This is to give very close real world interaction before the full item is ready for release.
The development stages of software generally go as follows, this being the road map that [[http://en.wikipedia.org/wiki/Beta_software#Origin_of_.22alpha.22_and_.22beta.22 IBM laid out]] in the 1930s:
'''Tech Demo''': A proof-of-concept of the basic mechanics of the program. In a racing game, it might be a program that lets a single vehicle drive around a single map.
'''Alpha''': An incomplete version of the program, used to test individual parts. In our racing game example, the AI might be missing or the physics are simplified, and many of the tracks are missing.
'''Early Beta''': The software is stable enough to allow significant testing. Features may still be incomplete, or non-existent, but throughout this phase they will be added and tested. This is intended to find bugs and test features. In a racing game, the AI may make incredibly stupid decisions, tracks may be untextured, and cars may clip through walls or fly into the air. It may even be possible to win a 5-minute track in 2 seconds by simply backing up and crossing the finish line.
'''Late Beta''': All major and most or all minor features are in the game in some form. They may still be incomplete or buggy. This is intended to find more obscure bugs, balance or tune features, and otherwise ensure the software works as intended. In a racing game, the AI may still be goaded into stupid decisions, a certain part of the wall may not have collision, but almost all tracks exist and the cars (mostly) stay on the track. Note that according to the original IBM test specification, this is the stage at which ''all'' features are to be complete with no room to add anything else, although modern software developers are sometimes a bit more flexible with this, particularly when a feature can demonstratively improve the final product. If someone claims a product is in "beta" with major features missing, however (using the previous example, a racing game that's supposed to feature multi-level tracks but only one clipping plane works) then it isn't really in beta. This happens with depressing regularity.
'''Gamma/Public Beta/Release Candidate''': ''All'' of the features have been implemented and tested; this is, theoretically, a product that you could sell immediately (thus the term "release candidate"). If new bugs are found here, most won't be fixed -- only showstopping bugs will. Certain members of the public may get copies. In games, Prima and Brady guides will get their copies, as will preview journalists. In other software, large corporate clients may receive advance copies so they can ensure their custom software still works with the newer version. This is the very final last call for only the worst bugs; no new features will be added, though some features may be cut. In a racing game, all tracks and cars will be in the game and look like they will when released, the minor clipping through a barrel will not be fixed, and the spray-painting feature that randomly crashes the game will be cut. A trend that started in the late 2000's was publishers putting a stop to the use of the word "Demo", instead changing to the use of "Public Beta". Publishers and creators realised that by changing the name, people who would otherwise have refused to purchase a game with a bad "Demo", would now forgive the developer for a "Beta" under the mistaken impression that the "Beta" would be used to improve the game, or that the player could choose to believe that it was "just a beta" and that it would be magically fixed upon release.
'''Release/Gold''': The software is produced and distributed for sale.
to:
There are usually additional stages sometimes called Gamma,
! Software Release Cycle
The development stages of software generally go as follows, this being the road map that
'''Tech Demo''': A
!! Pre-Alpha
Pre-Alpha stages of development narrow down the requirements of the software and the design to meet those requirements. It answers the questions of "what should this software do?" and "how should this software do it?" Test plans are also made so that these features can be tested empirically. Sometimes a ''Tech Demo'' is developed in this phase to give a proof-of-concept
If we were developing a
'''Alpha''': An incomplete version
!!Alpha
Implementation of the
In our game development scenario, we've decided on a racing game. At the start, it may not have many maps, the AI
!!Beta
Implementation of individual pieces slow down and bringing those pieces together, known as integration, starts. Requirements are
'''Early Beta''': The
In a racing game, the AI
'''Late Beta''': All
Later in the beta phase all major and most or all minor features as well as graphical and audio assets are in the game
The software is handed off to system testers to play with. For games, this could be an internal team of play testers or made public as an open beta. This is intended to find more obscure bugs, balance or tune features, and otherwise ensure the software works as intended. In a racing game, the AI may still be goaded into stupid decisions, a certain part of the wall may not have collision, but almost all tracks exist and the cars (mostly) stay on the track. Major features that are troublesome will be cut or delayed at this point. If a cosmetic feature to decorate the cars in a custom color crashes the game and the schedule is closing in, it may be cut for good or added later in a patch once the bug is figured out.
Note that according to the original IBM test specification, this is the stage at which ''all'' features are to be complete with no room to add anything else, although modern software developers are sometimes a bit more flexible with this, particularly when a feature can demonstratively improve the final product. If someone claims a product is in "beta" with major features missing, however (using the previous example, a racing game that's supposed to feature multi-level tracks but only one clipping plane works) then it isn't really in beta. This happens with depressing regularity.
''All'' of the features have been
Certain members of the public may get copies. In games, journalists and some publications, like Prima and Brady
In a racing game, all tracks and cars will be in the game and look like they will when released, the minor clipping through a barrel will not be
The development state of the software is
A particular note in the game development industry are "day one patches." These are patches that are released on the same day as the game. One might wonder if there's already a patch out, why wasn't it included in the final game? As the game needs lead time to get to the distributors and for
Is there an issue? Send a MessageReason:
Added line
Changed line(s) 19 (click to see context) from:
See PerpetualBeta and ObviousBeta.
to:
See PerpetualBeta and ObviousBeta.ObviousBeta.
----
----
Is there an issue? Send a MessageReason:
None
Added DiffLines:
A Beta Test is a term used in the development of new software or video games. Internal testing is refered to as the Alpha Test, where only the programmers are able to interact with the programming and they test out the various features. The Beta is when the software is in a useable or near-completed state but not ready for public use. At that stage it is sent into testing outside the programming circle.
There are usually additional stages sometimes called Gamma, but to the regular public this is sometimes manifested as an "Open Beta" where a partial component of the software or a bare skeleton of the program is available for general download and use. This is to give very close real world interaction before the full item is ready for release.
The development stages of software generally go as follows, this being the road map that [[http://en.wikipedia.org/wiki/Beta_software#Origin_of_.22alpha.22_and_.22beta.22 IBM laid out]] in the 1930s:
'''Tech Demo''': A proof-of-concept of the basic mechanics of the program. In a racing game, it might be a program that lets a single vehicle drive around a single map.
'''Alpha''': An incomplete version of the program, used to test individual parts. In our racing game example, the AI might be missing or the physics are simplified, and many of the tracks are missing.
'''Early Beta''': The software is stable enough to allow significant testing. Features may still be incomplete, or non-existent, but throughout this phase they will be added and tested. This is intended to find bugs and test features. In a racing game, the AI may make incredibly stupid decisions, tracks may be untextured, and cars may clip through walls or fly into the air. It may even be possible to win a 5-minute track in 2 seconds by simply backing up and crossing the finish line.
'''Late Beta''': All major and most or all minor features are in the game in some form. They may still be incomplete or buggy. This is intended to find more obscure bugs, balance or tune features, and otherwise ensure the software works as intended. In a racing game, the AI may still be goaded into stupid decisions, a certain part of the wall may not have collision, but almost all tracks exist and the cars (mostly) stay on the track. Note that according to the original IBM test specification, this is the stage at which ''all'' features are to be complete with no room to add anything else, although modern software developers are sometimes a bit more flexible with this, particularly when a feature can demonstratively improve the final product. If someone claims a product is in "beta" with major features missing, however (using the previous example, a racing game that's supposed to feature multi-level tracks but only one clipping plane works) then it isn't really in beta. This happens with depressing regularity.
'''Gamma/Public Beta/Release Candidate''': ''All'' of the features have been implemented and tested; this is, theoretically, a product that you could sell immediately (thus the term "release candidate"). If new bugs are found here, most won't be fixed -- only showstopping bugs will. Certain members of the public may get copies. In games, Prima and Brady guides will get their copies, as will preview journalists. In other software, large corporate clients may receive advance copies so they can ensure their custom software still works with the newer version. This is the very final last call for only the worst bugs; no new features will be added, though some features may be cut. In a racing game, all tracks and cars will be in the game and look like they will when released, the minor clipping through a barrel will not be fixed, and the spray-painting feature that randomly crashes the game will be cut. A trend that started in the late 2000's was publishers putting a stop to the use of the word "Demo", instead changing to the use of "Public Beta". Publishers and creators realised that by changing the name, people who would otherwise have refused to purchase a game with a bad "Demo", would now forgive the developer for a "Beta" under the mistaken impression that the "Beta" would be used to improve the game, or that the player could choose to believe that it was "just a beta" and that it would be magically fixed upon release.
'''Release/Gold''': The software is produced and distributed for sale.
See PerpetualBeta and ObviousBeta.
There are usually additional stages sometimes called Gamma, but to the regular public this is sometimes manifested as an "Open Beta" where a partial component of the software or a bare skeleton of the program is available for general download and use. This is to give very close real world interaction before the full item is ready for release.
The development stages of software generally go as follows, this being the road map that [[http://en.wikipedia.org/wiki/Beta_software#Origin_of_.22alpha.22_and_.22beta.22 IBM laid out]] in the 1930s:
'''Tech Demo''': A proof-of-concept of the basic mechanics of the program. In a racing game, it might be a program that lets a single vehicle drive around a single map.
'''Alpha''': An incomplete version of the program, used to test individual parts. In our racing game example, the AI might be missing or the physics are simplified, and many of the tracks are missing.
'''Early Beta''': The software is stable enough to allow significant testing. Features may still be incomplete, or non-existent, but throughout this phase they will be added and tested. This is intended to find bugs and test features. In a racing game, the AI may make incredibly stupid decisions, tracks may be untextured, and cars may clip through walls or fly into the air. It may even be possible to win a 5-minute track in 2 seconds by simply backing up and crossing the finish line.
'''Late Beta''': All major and most or all minor features are in the game in some form. They may still be incomplete or buggy. This is intended to find more obscure bugs, balance or tune features, and otherwise ensure the software works as intended. In a racing game, the AI may still be goaded into stupid decisions, a certain part of the wall may not have collision, but almost all tracks exist and the cars (mostly) stay on the track. Note that according to the original IBM test specification, this is the stage at which ''all'' features are to be complete with no room to add anything else, although modern software developers are sometimes a bit more flexible with this, particularly when a feature can demonstratively improve the final product. If someone claims a product is in "beta" with major features missing, however (using the previous example, a racing game that's supposed to feature multi-level tracks but only one clipping plane works) then it isn't really in beta. This happens with depressing regularity.
'''Gamma/Public Beta/Release Candidate''': ''All'' of the features have been implemented and tested; this is, theoretically, a product that you could sell immediately (thus the term "release candidate"). If new bugs are found here, most won't be fixed -- only showstopping bugs will. Certain members of the public may get copies. In games, Prima and Brady guides will get their copies, as will preview journalists. In other software, large corporate clients may receive advance copies so they can ensure their custom software still works with the newer version. This is the very final last call for only the worst bugs; no new features will be added, though some features may be cut. In a racing game, all tracks and cars will be in the game and look like they will when released, the minor clipping through a barrel will not be fixed, and the spray-painting feature that randomly crashes the game will be cut. A trend that started in the late 2000's was publishers putting a stop to the use of the word "Demo", instead changing to the use of "Public Beta". Publishers and creators realised that by changing the name, people who would otherwise have refused to purchase a game with a bad "Demo", would now forgive the developer for a "Beta" under the mistaken impression that the "Beta" would be used to improve the game, or that the player could choose to believe that it was "just a beta" and that it would be magically fixed upon release.
'''Release/Gold''': The software is produced and distributed for sale.
See PerpetualBeta and ObviousBeta.