Alpha, Beta und Release Candidate Die Entwicklungsstadien von Softwarekomponenten

Manage­ment-Zusam­men­fas­sung zu die­sem Bei­trag:
Die Begrif­fe Alpha, Beta und Release Can­di­da­te wer­den im Soft­ware-Release­pro­zess ver­wen­det, um das Ent­wick­lungs­sta­di­um einer Soft­ware­kom­po­nen­te zu kenn­zeich­nen.
In die­sem Bei­trag wer­den die­se drei Begrif­fe vor­ge­stellt und in den (über­ge­ord­ne­ten) Soft­ware­ent­wick­lungs­pro­zess eingeordnet.

Um das Ent­wick­lungs­sta­di­um eines Soft­ware­sys­tems oder einer Soft­ware­kom­po­nen­te zu cha­rak­te­ri­sie­ren, wer­den häu­fig die Begrif­fe Alpha, Beta und Release Can­di­da­te ver­wen­det. Jedoch soll­ten die­se in einem kon­kre­ten Pro­jekt oder in einem Vor­ge­hens­mo­dell vor­ab beschrie­ben wer­den, um Unklar­hei­ten bei den Betei­lig­ten zu vermeiden.

Kurz­cha­rak­te­ri­sie­rung der drei Entwicklungsstadien:

  • Alpha-Release: Die ers­te Stu­fe der inter­nen Frei­ga­be einer Soft­ware: Es kön­nen (vie­le) → Feh­ler ent­hal­ten sein. Dient zum Vor­test durch inter­ne Mitarbeiter
  • Beta-Release: Die zwei­te Stu­fe der inter­nen Frei­ga­be einer Soft­ware: Es kön­nen Feh­ler ent­hal­ten sein. Dient zum Vor­test durch inter­ne Mit­ar­bei­ter und ggf. aus­ge­wähl­te Kundenvertreter
  • Release Can­di­da­te (Abkür­zung: RC, deutsch auch: Frei­ga­be­kan­di­dat): Eine Release-Can­di­da­te-Ver­si­on soll­te durch den Kun­den getes­tet wer­den, sodass ein → Abnah­me­test erfol­gen kann

In Abbil­dung 0.1 ist die zeit­li­che Abfol­ge der drei Ent­wick­lungs­sta­di­en dargestellt.

Alpha-, Beta- und Release-Candidate-Versionen in der zeitlichen Abfolge, (C) Peterjohann Consulting, 2022-2024

Abbil­dung 0.1: Alpha‑, Beta- und Release-Can­di­da­te-Ver­sio­nen in der zeit­li­chen Abfolge

1. Die zeitliche Abstände der Entwicklungsstadien

Die Abstän­de zwi­schen den ein­zel­nen Ver­sio­nen kön­nen je nach Pro­jekt und Orga­ni­sa­ti­on stark unter­schied­lich sein. In Abbil­dung 1.1 ist eine typi­sche 6–8‑Wochentaktung dar­ge­stellt, es ergibt sich eine Gesamt­dau­er von 18 bis 24 vom ers­ten Alpha- bis zum end­gül­ti­gen Release.

Alpha-, Beta- und Release-Candidate-Versionen in der zeitlichen Abfolge mit Zeitabständen, (C) Peterjohann Consulting, 2022-2024

Abbil­dung 1.1: Alpha‑, Beta- und Release-Can­di­da­te-Ver­sio­nen in der zeit­li­chen Abfol­ge mit Zeitabständen

Eine typi­sche Zeit­leis­te ist in Abbil­dung 1.2 dar­ge­stellt. Es wer­den neben den 3 Ent­wick­lungs­sta­di­en (Alpha1, Beta1, RC1) auch Ent­wick­lungs­schrit­te ver­wen­det; die­se hei­ßen ent­spre­chend Alpha2, Alpha3, Beta2, Beta3, RC2 und RC3. Wei­te­re Ent­wick­lungs­schrit­te kön­nen hin­zu­ge­nom­men werden.

Alpha-, Beta- und Release-Candidate-Versionen als Zeitleiste, (C) Peterjohann Consulting, 2022-2024

Abbil­dung 1.2: Alpha‑, Beta- und Release-Can­di­da­te-Ver­sio­nen als Zeitleiste

Wenn man die Ent­wick­lungs­sta­di­en ein­setzt, erge­ben sich dar­aus lan­ge Durch­lauf­zei­ten, da jedes Ent­wick­lungs­sta­di­um eine Mini­mal­dau­er hat.

Wich­tig bei die­ser Vor­ge­hens­wei­se ist, dass es kei­ne Rück­sprün­ge gibt. Ist eine Soft­ware als Beta-Ver­si­on frei­ge­ge­ben, so kann sie nicht wie­der als Alpha-Ver­si­on zurück­ge­stuft werden.

2. Die Entwicklungsstadien und das Testen

Die Ent­wick­lungs­sta­di­en defi­nie­ren auch Test­ar­ten. Je nach Art des betrach­te­ten Sys­tems kann es dann unter­schied­li­che Test­ar­ten geben. In die­sem Kapi­tel wird der Alpha- und Beta-Test nach → ISTQB und ein Vor­ge­hen mit den vier → Test­stu­fen gegenübergestellt.

2.1 Alpha- und Beta-Test nach ISTQB

Das ISTQB defi­niert die Begrif­fe Alpha-Test und Beta-Test wie folgt /ISTQB-→ Glos­sar/:
“Alpha-Test: Eine Art Abnah­me­test, der in der Test­um­ge­bung des Her­stel­lers durch Akteu­re außer­halb der Her­stel­ler­or­ga­ni­sa­ti­on durch­ge­führt wird.“
und
“Beta-Test: Eine Art Abnah­me­test, der an einem zur Test­um­ge­bung des Ent­wick­lers exter­nen Stand­ort durch Akteu­re außer­halb der Her­stel­ler­or­ga­ni­sa­ti­on durch­ge­führt wird.”

Somit ergibt sich eine Abfol­ge von Tests, die in Abbil­dung 2.1 dar­ge­stellt ist.

AAlpha-, Beta- und Release-Candidate-Versionen mit Alpha- und Beta-Test, (C) Peterjohann Consulting, 2022-2024

Abbil­dung 2.1: Alpha‑, Beta- und Release-Can­di­da­te-Ver­sio­nen mit Alpha- und Beta-Test

Die­ses Vor­ge­hen mit Alpha- und Beta-Tests als vor­ge­zo­ge­ne Abnah­me­tests fin­det sich bei Word­Press /#WordPress-Release-Cycle/: Bei jeder neu­en Haupt­ver­si­on (Major Ver­si­on) wer­den Alpha- und Beta-Tests von Tes­tern “im Feld” durchgeführt. 

2.2 Die vier Teststufen und die Entwicklungsstadien

Es ist nicht immer sinn­voll oder mach­bar, die Alpha- und Beta-Ver­sio­nen zu einem Abnah­me­test (durch den Kun­den) her­an­zu­zie­hen. In Abbil­dung 2.2 sind bei­spiels­wei­se die vier Test­stu­fen (vom Kom­po­nen­ten bis zum Abnah­me­test) in das Alpha‑, Beta- und Release-Sche­ma unter­ge­bracht. Der Dry Run (Tro­cken­lauf) ist ein — meist 24-stün­di­ger — → Zeit­raum, an dem kei­ner­lei Code-Ver­än­de­rung mehr statt­fin­den darf, auch nicht zur Fehlerbehebung.

Alpha-, Beta- und Release-Candidate-Versionen in der zeitlichen Abfolge mit Zusatzaufgaben, (C) Peterjohann Consulting, 2022-2024

Abbil­dung 2.2: Alpha‑, Beta- und Release-Can­di­da­te-Ver­sio­nen in der zeit­li­chen Abfol­ge mit Zusatzaufgaben

3. Zusammenfassung und Anmerkungen

Abbil­dung 3.1 zeigt eine Beschrei­bung der drei Begrif­fe / Ent­wick­lungs­sta­di­en und des Releases in einer Übersicht.

Alpha-, Beta- und Release-Candidate-Versionen in der Übersicht, (C) Peterjohann Consulting, 2022-2024

Abbil­dung 3.1: Alpha‑, Beta- und Release-Can­di­da­te-Ver­sio­nen in der Übersicht

Anmer­kun­gen:

  • Die hier vor­ge­stell­te Vor­ge­hens­wei­se mit Alpha‑, Beta- und RC-Ver­sio­nen fin­det in der Regel nur in gro­ßen Pro­jek­ten Anwen­dung. Bei mitt­le­ren oder klei­ne­ren Pro­jek­ten soll­te jedoch am prin­zi­pi­el­len Vor­ge­hen fest­ge­hal­ten wer­den, wobei die Anzahl der Ent­wick­lungs­stu­fen redu­ziert wer­den kann
  • Bei agi­lem Vor­ge­hen gibt es gene­rell auch eine Release-Pla­nung: Ein Release setzt sich aus meh­re­ren Sprints zusam­men, auf Alpha‑, Beta- und RC-Ver­sio­nen kann häu­fig ver­zich­tet wer­den. Hier­bei soll­te beach­tet wer­den, dass die letz­ten Sprints vor dem eigent­li­chen Release nicht zu vie­le “gra­vie­ren­de” Ände­run­gen verursachen

A. Präsentationen, Literatur und Weblinks

A.1 Meine öffentliche Präsentation

  • -

A.2 Literatur

  • /Ludewig23/ Jochen Lude­wig, Horst Lich­ter: → Soft­ware Engi­nee­ring. Grund­la­gen, Men­schen, Pro­zes­se, Tech­ni­ken, dpunkt, Hei­del­berg 4. Auf­la­ge 2022, ISBN 978–3‑86490–598‑8

A.3 Weblinks

Fol­gen­de Web­links wer­den in die­sem Bei­trag zitiert:

Legen­de zu den Weblinks
/ / Ver­weis auf eine Web­site (all­ge­mein)
/*/ Ver­weis auf eine Web­site, die als Ergän­zung zu einem Buch dient
/#/ Ver­weis auf ein ein­zel­nes The­ma auf einer Website
/#V/ Ver­weis auf ein Video auf einer Website