Versionierung
Als Versionierung bezeichnet man in der Programmierung die Archivierung alter Dateiversionen. Sinn und Zweck ist die Möglichkeit der Wiederherstellung voriger Versionen und die Rücknahme von Änderungen.
| Inhaltsverzeichnis |
Gängige Versionierungssysteme
- CVS
- Subversion
- SourceSafe
Versionsnummern
Versionsnummern bestehen oftmals durch Punkte getrennt aus:
- Hauptversion (major)
- Nebenversion (minor)
- Phase (phase)
- Alpha – sehr frühes Stadium
- Beta – zum Testen vorgesehen, begrenzter Anwenderkreis
- Veröffentlichungskandidat (release candidate rc) – öffentlicher Test
- Endgültige Version (final)
- Korrekturlevel (patch bzw. patchlevel pl)
- Phasenlevel (phaselevel)
Die Nummern sind nicht nur jeweils eine Ziffer. Zum Beispiel ist die nächste Version nach 0.9, bei der sich nur die Nebenversion erhöht, 0.10 und nicht 1.0.
Beta-Versionen werden oft durch die Hauptversion 0 angezeigt. Version 1.0 zu veröffentlichen sagt dann aus, dass das Programm im Wesentlichen voll funktionstüchtig ist.
Alpha-Version
Die erste lauffähige Version eines Computerprogrammes wird gerne Alpha-Version genannt.
Der Begriff ist nicht exakt definiert, in der Regel enthält eine Alpha-Version bereits einige wichtige Bestandteile eines Softwareprodukts – es ist aber wahrscheinlich, dass in späteren Versionen der Funktionsumfang noch erweitert wird.
Insbesondere enthält eine Alpha-Version mit großer Sicherheit viele Bugs.
Beta-Version
Eine Beta-Version ist eine unfertige Version eines Computerprogramms.
Häufig sind Beta-Versionen die ersten Versionen eines Programms, die vom Hersteller zu Testzwecken veröffentlicht werden.
Der Begriff ist nicht exakt definiert, als Faustregel zur Abgrenzung einer Beta-Version von anderen Versionen gilt in der Regel, dass zwar alle wesentlichen Funktionen des Programms implementiert, aber noch nicht vollständig getestet sind, und das Programm daher vermutlich noch Fehler enthält. Geht man davon aus, dass alle oder der größte Teil der Fehler beseitigt sind, wird die Software manchmal Release Candidate genannt.
Beta-Versionen von Programmen sind in der Regel an der 0 als Hauptversionsnummer oder dem Namenszusatz Beta (bzw. β) zu erkennen, z.B. v0.12 β (siehe Versionsnummern).
Betatester
Betatester sind Personen, die eine Software, welche sich im Beta-Stadium befindet, auf Programmfehler überprüfen. Sie stehen dabei im Kontakt mit den Softwareherstellern, so dass die gefundenen Fehler vor dem Release beseitigt werden können.
Diese noch unvollständige Software bekommen in der Regel nur vom Softwarehersteller ausgewählte Personen. Zu deren Auswahl gibt es verschiedene Möglichkeiten:
- Interessierte Anwender können sich per Internet für den Beta-Test anmelden, wobei aber nur eine bestimmte Zahl von Betatestern per Los bestimmt wird.
- Der Softwarehersteller stellt die Betaversion einem kleinen Kreis von Anwenderen, beispielsweise einzelnen Angestellte wichtiger Kunden, zur Verfügung.
- Die Betatester sind ausschließlich Angestellte der Firma.
Der Nutzen eines Betatests für den Hersteller ist, dass Fehler, die typischerweise erst in der Praxis auftreten, wie zum Beispiel Konflikte mit anderen Programmen oder Probleme mit bestimmten Hardwarekomponenten, schon vor dem Release des Programms erkannt und behoben werden können.
Allerdings ist ein öffentlicher Betatest für den Softwarehersteller auch problematisch, da die Kontrolle über die (unerlaubte) Weitergabe von Betaversionen an weitere Personen nur schwer möglich ist, und so bei einem größeren Kreis potenzieller Anwender ein falscher Eindruck von der Software entstehen kann. Kommerzielle Produkte werden daher in der Regel nicht für einen öffentlichen Betatest freigegeben.
Gamma-Version
Die Gamma-Version eines Computerprogrammes ist meist die fertige Version, die lediglich noch einige Programmfehler enthält. Die Verwendung ist jedoch unüblich, da meist der erste Release Candidate (RC1) auf ihn folgt.
Release Candidate
Ein Release Candidate (RC) oder Freigabekandidat ist eine öffentliche Testversion einer Software. Sie wird vor der Veröffentlichung der endgültigen Version zur Verfügung gestellt damit eine größere Gruppe von Anwendern diese auf Programmfehler (Bugs) überprüfen kann.
In der Regel sind in einem Release Candidate alle Funktionen, die die endgültige Version enthalten soll, schon verfügbar, allerdings können noch viele Fehler enthalten sein.
Zur Ausmerzung dieser Fehler werden oft mehrere Release Candidates in Folge veröffentlicht (RC1, RC2, ...), bis schließlich ein (vermeintlich) fehlerfreies Produkt fertiggestellt ist, das fertige Release der Software.
