Ein Beispiel für einen grundlegenden Software-Release-Lebenszyklus

Der Software-Release-Lebenszyklus ist der Prozess der Entwicklung , des Testens und der Veröffentlichung eines Softwareprodukts (z. B. eines Betriebssystems ). Er besteht typischerweise aus mehreren Phasen, wie z. B. Pre-Alpha, Alpha, Beta und Release Candidate, bevor die endgültige Version, das sogenannte „Gold“, veröffentlicht wird.

Pre-Alpha bezeichnet die frühen Entwicklungsphasen, in denen die Software noch konzipiert und erstellt wird. Alpha-Tests sind die erste Phase des formalen Testens, in der die Software intern mithilfe von White-Box-Tests geprüft wird . In der darauffolgenden Phase, dem Beta-Test, wird die Software von einer größeren Gruppe von Nutzern getestet, typischerweise außerhalb des entwickelnden Unternehmens. Die Beta-Phase konzentriert sich darauf, die Auswirkungen auf die Nutzer zu minimieren und kann Usability-Tests umfassen.

Nach der Beta-Testphase durchläuft die Software möglicherweise eine oder mehrere Release-Candidate-Phasen, in denen sie weiter verfeinert und getestet wird, bevor die endgültige Version veröffentlicht wird.

Manche Software, insbesondere in der Internet- und Technologiebranche, wird in einem permanenten Beta-Stadium veröffentlicht. Das bedeutet, dass sie kontinuierlich aktualisiert und verbessert wird und nie als vollständig fertiges Produkt gilt. Dieser Ansatz ermöglicht einen agileren Entwicklungsprozess und erlaubt es, die Software früher im Entwicklungszyklus zu veröffentlichen und von Nutzern einsetzen zu lassen.

Entwicklungsstadien

Pre-Alpha

Pre-Alpha bezeichnet alle Aktivitäten, die während eines Softwareprojekts vor dem formalen Test durchgeführt werden. Dazu gehören Anforderungsanalyse , Softwaredesign , Softwareentwicklung und Unit-Tests . In der Open-Source -Entwicklung gibt es typischerweise verschiedene Arten von Pre-Alpha-Versionen. Meilensteinversionen enthalten spezifische Funktionsumfänge und werden veröffentlicht, sobald die jeweilige Funktion fertiggestellt ist.

Alpha

Die Alpha-Phase im Software-Lebenszyklus ist die erste Phase des Softwaretests (Alpha ist der erste Buchstabe des griechischen Alphabets und steht für die Zahl 1). In dieser Phase testen die Entwickler die Software in der Regel mithilfe von White-Box-Verfahren . Anschließend führt ein anderes Testteam eine zusätzliche Validierung mit Black-Box- oder Gray-Box -Verfahren durch. Der Übergang zum Black-Box-Test innerhalb der Organisation wird als Alpha-Release bezeichnet . [ 1 ] [ 2 ]

Alpha-Software wird vom Entwickler vor der Veröffentlichung nicht umfassend getestet. Sie kann schwerwiegende Fehler enthalten, und die daraus resultierende Instabilität kann zu Abstürzen oder Datenverlust führen. [ 3 ] Alpha-Software enthält möglicherweise nicht alle Funktionen der finalen Version. [ 4 ] Im Allgemeinen ist die externe Verfügbarkeit von Alpha-Software bei proprietärer Software unüblich , während Open-Source-Software häufig öffentlich zugängliche Alpha-Versionen anbietet. Die Alpha-Phase endet üblicherweise mit einem Feature-Freeze , was bedeutet, dass keine weiteren Funktionen mehr hinzugefügt werden. Zu diesem Zeitpunkt gilt die Software als funktionsvollständig . Nach dem Abnahmetest beim Anbieter (dem Alpha-Test) und unmittelbar vor der allgemeinen Veröffentlichung der Software als Produkt wird ein Beta-Test durchgeführt . [ 5 ]

Funktionsvollständig

Eine funktionsvollständige (FC) Version einer Software enthält alle geplanten oder primären Funktionen, ist aber aufgrund von Fehlern , Leistungs- oder Stabilitätsproblemen noch nicht final . [ 6 ] Dies tritt am Ende der Alpha-Testphase in der Entwicklung auf .

Normalerweise muss selbst eine vollständig funktionsfähige Software noch Betatests und Fehlerbehebungen sowie Leistungs- und Stabilitätsverbesserungen durchlaufen, bevor sie den Status eines Release Candidate und schließlich den Goldstatus erreichen kann .

Beta

Die Beta-Phase, benannt nach dem zweiten Buchstaben des griechischen Alphabets , ist die Softwareentwicklungsphase nach der Alpha-Phase. Sie beginnt in der Regel, wenn die Software alle Funktionen bietet, aber wahrscheinlich noch einige bekannte oder unbekannte Fehler enthält. [ 7 ] Software in der Beta-Phase weist im Allgemeinen deutlich mehr Fehler auf als fertige Software und kann Geschwindigkeits- oder Leistungsprobleme aufweisen sowie Abstürze oder Datenverlust verursachen. Der Fokus von Beta-Tests liegt auf der Minimierung der Auswirkungen auf die Benutzer, oft unter Einbeziehung von Usability-Tests . Die Bereitstellung einer Beta-Version für die Benutzer wird als Beta-Release bezeichnet und ist typischerweise das erste Mal, dass die Software außerhalb der entwickelnden Organisation verfügbar ist. Beta-Releases können entweder offen oder geschlossen sein, je nachdem, ob sie öffentlich oder nur einem begrenzten Publikum zugänglich sind. Beta-Versionen eignen sich oft für Demonstrationen und Vorschauen innerhalb einer Organisation und für potenzielle Kunden. Einige Entwickler bezeichnen diese Phase als Vorschau , Preview-Release , Prototyp , Technical Preview oder Technology Preview ( TP ). [ 8 ]

Betatester sind Personen, die aktiv Probleme mit Beta-Software melden. Sie sind in der Regel Kunden oder Vertreter potenzieller Kunden des Softwareentwicklers. Betatester stellen ihre Dienste meist unentgeltlich zur Verfügung, erhalten aber oft Versionen des getesteten Produkts, Rabatte auf die finale Version oder andere Vergünstigungen. [ 9 ] [ 10 ]

Dauerhafte Beta

Manche Software wird im sogenannten permanenten Beta-Stadium gehalten, in dem kontinuierlich neue Funktionen hinzugefügt werden, ohne dass eine endgültige „stabile“ Version veröffentlicht wird. Da das Internet die schnelle und kostengünstige Verbreitung von Software ermöglicht hat, gehen Unternehmen mit dem Begriff „Beta“ mittlerweile etwas lockerer um . [ 11 ]

Releasekandidat

Microsoft Windows 2000 Server Release Candidate 2 Medien

Ein Release Candidate ( RC ), auch bekannt als Gamma-Test oder „Silber-Status“, ist eine Beta-Version mit dem Potenzial, ein stabiles Produkt zu werden. Sie ist bereit zur Veröffentlichung, sofern keine schwerwiegenden Fehler auftreten. In dieser Phase der Produktstabilisierung wurden alle Produktfunktionen entworfen, programmiert und in einem oder mehreren Beta-Zyklen getestet, ohne dass schwerwiegende Fehler bekannt wurden. Eine Version gilt als „Code abgeschlossen“, wenn das Entwicklungsteam übereinstimmt, dass kein vollständig neuer Quellcode mehr hinzugefügt wird. Es können jedoch weiterhin Quellcodeänderungen zur Fehlerbehebung, Änderungen an der Dokumentation und an Datendateien sowie zusätzlicher Code für Testfälle oder Hilfsprogramme vorgenommen werden. [ 12 ]

Stabile Version

Die auch als Produktionsversion bezeichnete stabile Version ist der letzte Release Candidate ( RC ), der alle Verifizierungs- und Testphasen erfolgreich durchlaufen hat. Alle noch bekannten Fehler gelten als akzeptabel. Diese Version wird in der Produktion eingesetzt .

Einige Softwareprodukte (z. B. Linux-Distributionen wie Debian ) bieten auch Langzeitunterstützung ( LTS ) an. Diese basieren auf vollständigen, bereits erprobten Versionen und erhalten ausschließlich Sicherheitsupdates. [ 13 ] [ 14 ] [ 15 ] [ 16 ]

Freigeben

Nach der Veröffentlichung wird die Software allgemein als „stabile Version“ bezeichnet. Die formale Bezeichnung hängt oft von der Veröffentlichungsmethode ab: physische Datenträger, Online-Veröffentlichung oder Webanwendung. [ 17 ]

Normalerweise erhält die veröffentlichte Software einen offiziellen Versionsnamen oder eine Versionsnummer. (Vorabversionen von Software können einen separaten internen Projektcode oder eine interne Versionsnummer haben, müssen dies aber nicht .)

Freigabe zur Fertigung (RTM)

Satya Nadella von Microsoft mit der Goldmaster-Disc von Gears of War 4

Der Begriff „Release to Manufacturing“ (RTM), auch bekannt als „Goldstatus“, bezeichnet die Auslieferungsreife eines Softwareprodukts. Diese Version kann digital signiert sein, sodass der Endnutzer die Integrität und Authentizität des Softwarekaufs überprüfen kann. Die RTM-Version, auch „ Gold Master “ oder GM genannt [ 18 ], wird gegebenenfalls zur Massenvervielfältigung oder Datenträgerherstellung freigegeben. Die Terminologie stammt aus der Musikindustrie, genauer gesagt aus dem Mastering -Prozess . RTM geht der allgemeinen Verfügbarkeit (GA) voraus, also der Veröffentlichung des Produkts für die Öffentlichkeit. Ein Gold Master (GM) ist typischerweise die finale Version einer Software in der Beta-Phase für Entwickler. Bei iOS ist es üblicherweise die letzte Version vor einer Hauptversion, es gibt jedoch einige Ausnahmen.

RTM (Retail Time Machine) wird typischerweise im Kontext der Massenproduktion von Software verwendet – im Gegensatz zur spezialisierten Softwareentwicklung oder Projekten im kommerziellen oder staatlichen Bereich. Hierbei wird die Software als Teil eines Pakets mit zugehöriger Computerhardware verkauft. Software und Hardware sollen letztendlich im Einzelhandel in großem Umfang verfügbar sein. RTM signalisiert, dass die Software ein definiertes Qualitätsniveau erreicht hat und für den Massenvertrieb bereit ist. In anderen Kontexten kann RTM auch bedeuten, dass die Software an einen Kunden zur Installation oder Verteilung auf den zugehörigen Endbenutzerrechnern ausgeliefert wurde. Der Begriff definiert weder den Auslieferungsmechanismus noch die Menge; er besagt lediglich, dass die Qualität für den Massenvertrieb ausreicht. Das Ergebnis der Entwicklungsabteilung ist häufig ein Mastermedium, das zur Vervielfältigung oder zur Erstellung des Web-Images verwendet wird.

Allgemeine Verfügbarkeit (GA)

Meilensteine ​​im Produktlebenszyklus: allgemeine Verfügbarkeit (GA), Ankündigung des Produktlebenszyklusendes (EOLA), letzter Bestelltermin (LOD) und Produktlebenszyklusende (EOL)

Die allgemeine Verfügbarkeit ( GA ) ist die Marketingphase, in der alle notwendigen Vermarktungsaktivitäten abgeschlossen sind und ein Softwareprodukt zum Kauf angeboten wird. Dies kann jedoch je nach Sprache, Region und Verfügbarkeit (elektronisch vs. analog) variieren. [ 19 ] Zu den Vermarktungsaktivitäten gehören Sicherheits- und Konformitätstests sowie die Lokalisierung und weltweite Verfügbarkeit. Die Zeitspanne zwischen der Veröffentlichung (RTM) und der allgemeinen Verfügbarkeit (GA) kann aufgrund des Zeitaufwands für die Durchführung aller erforderlichen Vermarktungsaktivitäten von Tagen bis zu Monaten reichen. In dieser Phase ist die Software „live“ gegangen.

Veröffentlichung im Web (RTW)

Die Veröffentlichung im Web (Release to the Web , RTW ) oder Web-Veröffentlichung ist eine Methode der Softwareverteilung, die das Internet nutzt. Bei dieser Art der Veröffentlichung werden vom Hersteller keine physischen Datenträger produziert. Web-Veröffentlichungen sind mit der zunehmenden Internetnutzung immer häufiger geworden. [ 20 ]

Unterstützung

Während der Supportlaufzeit werden für Software gelegentlich Service-Releases, Patches oder Service Packs bereitgestellt , die auch als „Interim-Releases“ oder „Wartungs-Releases“ (MR) bezeichnet werden. Microsoft veröffentlichte beispielsweise drei große Service Packs für die 32-Bit- Versionen von Windows XP und zwei Service Packs für die 64-Bit -Versionen. [ 21 ] Solche Service-Releases enthalten eine Sammlung von Aktualisierungen, Fehlerbehebungen und Verbesserungen, die als einzelnes Installationspaket bereitgestellt werden. Sie können auch neue Funktionen implementieren. Manche Software wird mit der Erwartung regelmäßigen Supports veröffentlicht. Zu den Softwarekategorien, für die ein längerer Support üblich ist, gehören Antivirenprogramme und Massively Multiplayer Online Games (MMOGs) . Um beim Beispiel Windows XP zu bleiben: Microsoft bot nach dem Ende des erweiterten Supports noch fünf Jahre lang kostenpflichtige Updates an. Der Support endete somit am 8. April 2019. [ 22 ]

Lebensende

Wenn eine Software nicht mehr verkauft oder unterstützt wird, spricht man davon, dass das Produkt das Ende seines Lebenszyklus erreicht hat, eingestellt, außer Betrieb genommen, veraltet, aufgegeben oder obsolet ist. Die Loyalität der Nutzer kann jedoch noch einige Zeit anhalten, selbst lange nachdem die Plattform obsolet ist – z. B. bei der Common Desktop Environment [ 23 ] und dem Sinclair ZX Spectrum [ 24 ] .

Nach dem Ende des Produktlebenszyklus implementiert der Entwickler in der Regel keine neuen Funktionen mehr, behebt keine bestehenden Fehler, Bugs oder Sicherheitslücken (unabhängig davon, ob diese vor diesem Datum bekannt waren) und bietet keinen Support mehr für das Produkt an. Auf Wunsch kann der Entwickler den Quellcode veröffentlichen, sodass die Plattform von Freiwilligen weiterentwickelt werden kann.

Geschichte

Die Verwendung der Terminologie „Alpha/Beta-Test“ hat ihren Ursprung bei IBM . [ 25 ] [ 26 ] Ähnliche Bezeichnungen für die Softwareentwicklung von IBM wurden von IBM- Mitarbeitern mindestens seit den 1950er-Jahren (und wahrscheinlich schon früher) verwendet. Der „A“-Test diente der Überprüfung eines neuen Produkts vor der öffentlichen Ankündigung. Der „B“-Test war die Überprüfung vor der Freigabe zur Produktion. Der „C“-Test war der abschließende Test vor der allgemeinen Verfügbarkeit des Produkts. Da Software einen bedeutenden Teil des IBM-Angebots ausmachte, wurde die Bezeichnung „Alpha-Test“ für den Test vor der Ankündigung und „Beta-Test“ für den Nachweis der Produktreife für die allgemeine Verfügbarkeit verwendet. Martin Belsky, ein Manager einiger früherer IBM-Softwareprojekte, behauptete, die Terminologie erfunden zu haben. IBM gab die Alpha/Beta-Terminologie in den 1960er-Jahren auf, doch bis dahin hatte sie bereits weite Verbreitung gefunden. Die Verwendung des Begriffs „Beta-Test“ für Kundentests war bei IBM unüblich . IBM verwendete stattdessen den Begriff „Feldtest“.

Anschließend wurden umfangreiche öffentliche Betaversionen entwickelt. Erste Kunden hatten eine „Pioneer Edition“ des Textverarbeitungsprogramms WordVision für den IBM PC für 49,95 US-Dollar erworben. 1984 schrieb Stephen Manes : „Mit einem genialen Marketingcoup gelang es Bruce and James Program Publishers, die Leute dazu zu bringen, für das Privileg zu bezahlen , das Produkt zu testen.“ [ 27 ] Im September 2000 erschien eine Box-Version von Apples Mac OS X Public Beta . [ 28 ] Zwischen September 2005 und Mai 2006 veröffentlichte Microsoft Community Technology Previews ( CTPs ) für Windows Vista . [ 29 ] Von 2009 bis 2011 befand sich Minecraft in der öffentlichen Beta-Phase.

Im Februar 2005 veröffentlichte ZDNet einen Artikel über das Phänomen, dass Betaversionen oft jahrelang im Beta-Stadium verbleiben und wie Produktionsversionen genutzt werden. [ 30 ] Darin wurde angemerkt, dass beispielsweise Gmail und Google News trotz ihrer weiten Verbreitung lange Zeit im Beta-Stadium waren; Google News verließ die Beta-Phase im Januar 2006, gefolgt von Google Apps (heute Google Workspace ), einschließlich Gmail, im Juli 2009. [ 17 ] Seit der Einführung von Windows 8 bezeichnet Microsoft Vorabversionen von Software als Preview anstatt als Beta . Alle Vorabversionen, die über das 2014 gestartete Windows Insider-Programm veröffentlicht werden, heißen „ Insider Preview Builds“. „Beta“ kann auch eher auf einen Release Candidate , eine zeitlich begrenzte Demo oder eine Marketingmaßnahme hinweisen. [ 31 ]

Siehe auch

Referenzen

  1. ^ „Enzyklopädiedefinition von Alpha-Version“ . PC Magazine . Archiviert vom Original am 27.04.2011 . Abgerufen am 12.01.2011 .
  2. ^ „Was ist eine Alpha-Version eines Spiels?“ . Archiviert vom Original am 23.09.2022 . Abgerufen am 23.09.2022 .
  3. ^ Ince, Darrel (Hrsg.) (2013). „Alpha-Software“. In: A Dictionary of the Internet (3. Aufl.). Oxford University Press. ISBN 978-0-19-174415-0Abgerufen am 15.07.2019 .
  4. ^ „The Next Generation 1996 Lexicon A to Z“. Next Generation . Nr. 15. Imagine Media . März 1996. S. 29. Alpha-Software läuft im Allgemeinen kaum und weist wichtige Mängel wie fehlendes Gameplay und unvollständige Level auf.
  5. ^ Wörterbuch der Informatik (7. Aufl.). Oxford University Press. 2016. S. 44. ISBN 978-0-19-968897-5Die
  6. ^ Cusumano, Michael (1998). Microsoft Secrets: How the World's Most Powerful Software Company Creates Technology, Shapes Markets, and Manages People . Free Press. S.  202–203 . ISBN 978-0-684-85531-8Die
  7. ^ „The Next Generation 1996 Lexicon A to Z“ . Next Generation . Nr. 15. Imagine Media . März 1996. S. 30.
  8. ^ „Technology Preview Features Support Scope“ . Red Hat . Abgerufen am 18.03.2015 .
  9. ^ Amit Mehra; Rajib Lochan Saha (19.06.2017). „Nutzung öffentlicher Betaversionen und kostenloser Testversionen zur Markteinführung eines Softwareprodukts“. Production and Operations Management . Band 27, Nr. 11.
  10. ^ Lang, Michelle M. (17.05.2004). „Beta Wars“. Design News . Band 59, Nr. 7.
  11. ^ „Warten mit Beta'd Breath TidBITS #328 (13. Mai 1996)“ . 13.05.1996. Archiviert vom Original am 06.12.2022.
  12. ^ Shahin, Mojtaba; Ali Babar, Muhammad; Zhu, Liming (2017). „Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices“. IEEE Access . 5 : 3909–3943 . arXiv : 1703.07019 . doi : 10.1109/access.2017.2685629 .
  13. ^ „Ich fordere dich heraus“ . wiki.debian.org . Abgerufen am 11.06.2026 .
  14. ^ „Debian – Debian-Releases“ . www.debian.org . Abgerufen am 11.06.2026 .
  15. ^ „Debian“ , Wikipedia , 08.06.2026 , abgerufen am 11.06.2026
  16. ^ „Langfristige Unterstützung“ , Wikipedia , 31.03.2026 , abgerufen am 11.06.2026
  17. ^ a b „Google Apps ist aus der Beta-Phase raus (ja, wirklich)“ . Google Blog . 07.07.2009. Archiviert vom Original am 21.01.2011 . Abgerufen am 12.01.2011 .
  18. ^ „Was ist Golden Master (GM)? – Definition von Techopedia“ . Techopedia.com . 19.08.2013.
  19. ^ Luxemburg, Yvan Philippe (20.05.2013). „Die 200 wichtigsten SAM-Begriffe – Ein Glossar der Begriffe des Software-Asset-Managements“ . Operations Management Technology Consulting . Archiviert vom Original am 10.08.2013 . Abgerufen am 21.05.2013 .
  20. ^ „Microsoft Learn: Entwickeln mit Antworten in Reichweite“ . learn.microsoft.com . Abgerufen am 11.06.2026 .
  21. ^ „Microsoft Update-Katalog“ . www.catalog.update.microsoft.com . Abgerufen am 3. Mai 2024 .
  22. ^ „Microsoft Product Lifecycle Search“ . 2012-07-20. Archiviert vom Original am 2012-07-20 . Abgerufen am 03.05.2024 .
  23. ^ "[cdesktopenv-devel] CDE 2.2.1 veröffentlicht | CDE - Common Desktop Environment" . sourceforge.net . Abgerufen am 03.05.2024 .
  24. ^ „ZX-Uno [ZX Spectrum Computer-Klon auf FPGA-Basis]“ . 05.01.2018. Archiviert vom Original am 05.01.2018 . Abgerufen am 03.05.2024 .
  25. ^ „Chessprogramming wiki“ . www.chessprogramming.org . Abgerufen am 11.06.2026 .
  26. ^ „Centercode | Plattform für Benutzertests“ . www.centercode.com . Abgerufen am 11.06.2026 .
  27. ^ Manes, Stephen (03.04.1984). „Ein Wagnis mit Word Vision“ . PC Magazine – Der unabhängige Leitfaden für IBM-Personalcomputer . Band 3, Nr. 6. PC Communications Corp. , S.  211–221 . ISSN 0745-2500 . Archiviert vom Original am 17.03.2015 . Abgerufen am 15.02.2015 . 
  28. ^ „Apple veröffentlicht öffentliche Betaversion von Mac OS X“ (Pressemitteilung). Apple Inc. 13.09.2000 . Abgerufen am 28.01.2024 .
  29. ^ „Microsoft Windows Vista October Community Technology Preview – Datenblatt“ (Pressemitteilung). Microsoft. Oktober 2005. Archiviert vom Original am 30.04.2011 . Abgerufen am 22.02.2011 .
  30. ^ Festa, Paul (11.02.2005). „Ein langer, gewundener Weg aus der Beta-Phase“ . ZDNet . Abgerufen am 20.09.2025 .
  31. ^ Houghton, David (17.05.2010). „Die unbequemen Wahrheiten hinter Betas“ . GamesRadar . Archiviert vom Original am 30.04.2011.