carlAlex
12/8/2016 - 8:45 AM

Software versioning

Software versioning

A different approach is to use the major and minor numbers, along with an alphanumeric 
string denoting the release type, e.g. "alpha", "beta" or "release candidate". 
A software release train using this approach might look like 0.5, 0.6, 0.7, 0.8, 
0.9 == 1.0b1, 1.0b2 (with some fixes), 1.0b3 (with more fixes) == 1.0rc1 (which, if 
it is stable enough) == 1.0. If 1.0rc1 turns out to have bugs which must be fixed, 
it turns into 1.0rc2, and so on. The important characteristic of this approach is 
that the first version of a given level (beta, RC, production) must be identical to 
the last version of the release below it: you cannot make any changes at all from 
the last beta to the first RC, or from the last RC to production. If you do, you 
must roll out another release at that lower level.
Pre-alpha refers to all activities performed during the software project before formal testing. 
..requirements analysis, software design, software development, and unit testing
..several types of pre-alpha versions
..milestone versions include specific sets of functions and are released as soon as the functionality is complete.

The alpha phase of the release life cycle is the first phase to begin software testing 
..test the software using white-box techniques
..additional validation..black-box or gray-box techniques
..black-box testing inside the organization is known as alpha release.
..alpha software can be unstable and could cause crashes or data loss
..alpha software may not contain all of the features that are planned for the final version
..alpha phase usually ends with a feature freeze, indicating that no more features will be added to the software. At this time, the software is said to be feature complete.

Beta, is the software development phase following alpha. 
..beta phase generally begins when the software is feature complete but likely to contain a number of known or unknown bugs. 
..focus of beta testing is reducing impacts to users
..beta release..the first time that the software is available outside of the organization
..useful for demonstrations and previews within
..preview, preview release, prototype, technical preview / technology preview (TP), or early access. 
A release candidate (RC) is a beta version with potential to be a final product, which is ready to release unless significant bugs emerge.
..a release is called code complete when the development team agrees that no entirely new source code will be added to this release
..beta testing is conducted in a client's or customer's location and to test the software from a user's perspective