Programutvecklingsstadier

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 27 januari 2019; kontroller kräver 58 redigeringar .

Inom mjukvaruutveckling används utvecklingsstadier för att beskriva graden av beredskap hos en mjukvaruprodukt . Utvecklingsstadiet kan också spegla antalet implementerade funktioner som planeras för en viss version av programmet . Stadier kan antingen tillkännages officiellt och regleras av utvecklare, eller ibland används termen informellt för att beskriva en produkts tillstånd.

Beta- och alfastadierna är inte indikatorer på instabilitet, eftersom de tilldelas programmet en eller en gång per serie (en serie, i det här fallet, är numret upp till den första punkten), beroende på utvecklingssystemet. De kan tilldelas flera släppta versioner i rad.

Historik

Terminologi för alfa/beta-testning dök upp först på IBM . Liknande termer för mjukvaruutveckling har använts av personer associerade med IBM sedan åtminstone 1950-talet och möjligen tidigare.

Test "A" var ett test av en ny produkt innan ett offentligt tillkännagivande.

"B"-testet var en förproduktionskontroll .

Test "C" var det sista testet före allmän produkttillgänglighet.

Eftersom mjukvara har blivit en viktig del av IBM:s produkter användes alfatestningsterminologin för att referera till pre-announcement-testet, medan betatester användes för att indikera att produkten var redo för allmän tillgänglighet. Martin Belsky, chef för några tidiga IBM-programvaruprojekt, påstod sig vara upphovsmannen till terminologin. IBM övergav alfa/beta-terminologin på 1960-talet, men då hade den blivit ganska utbredd.

Termen "beta-test" som en beteckning för testning som utförs av användare har inte sitt ursprung hos IBM. Istället använde IBM termen fälttest . 

Utvecklingsstadier

Pre-Alpha - initial utveckling

Det initiala utvecklingsstadiet  är tidsperioden från utvecklingens början till att alfastadiet släpps. Detta är också namnet på program som ännu inte har nått alfa- eller betastadiet, men som har klarat utvecklingsstadiet, för den första bedömningen av funktionalitet i aktion. Till skillnad från alfa- och betaversioner kanske det inledande skedet inte inkluderar hela utbudet av programfunktioner. I det här fallet är alla åtgärder som utförs under design och utveckling av programmet fram till testning underförstådda. Dessa åtgärder inkluderar:

Alpha - intern utveckling

Stadiet för att initiera testning av programmet som helhet av testare, vanligtvis inte utvecklarna av mjukvaruprodukten, utan vanligtvis inom organisationen eller gemenskapen som utvecklar produkten. Det kan också vara stadiet för att lägga till ny funktionalitet. Program i detta skede kan endast användas för att bekanta dig med framtida möjligheter.

Som regel slutar alfatestning med en funktionsfrysning och övergår till betatestning.

Beta - offentlig utveckling

Stadiet av aktiv beta-testning och felsökning av programmet som har klarat alfatestning (om någon). Program på denna nivå kan användas av andra mjukvaruutvecklare för att testa kompatibilitet. Ändå kan programmen i detta skede innehålla ett ganska stort antal fel.

Eftersom betaprodukten inte är den slutgiltiga versionen och offentliga tester görs på användarens egen risk, tar tillverkaren inget ansvar för skador som uppstår vid användning av betaversionen.

Eternal Beta

Tim O'Reilly , från öppen källkod, lägger ut en speciell typ av program som kallas "perpetual beta", när ett program är i beta under en obestämd tidsperiod. En sådan mekanism är lämplig på Internet, där programvaran har följande egenskaper:

  • Istället för programvaruinstallatörer, Internettjänster med billig skalbarhet .
  • Ovanliga och unika samlingar av data som blir rikare när användarpopulationen växer.
  • Slutanvändare är involverade i utvecklingen. Deras kollektiva intelligens används för att stödja den " långa svansen " av ovanliga förfrågningar.
  • Programmet går längre än en enda enhet.
  • Förenklade användargränssnitt, designprinciper och affärsmodeller.
  • Tillverkaren har ett särskilt ansvar för användardata, och många går bort från det och ger användarna en evig beta.

Releasekandidat - förhandsversion

Kandidatstadiet för att bli stabil. Program i detta skede har genomgått omfattande tester , på grund av vilket alla kritiska fel som hittats har korrigerats. Men samtidigt finns det en möjlighet att avslöja ytterligare några fel som inte uppmärksammades under testningen. Om inga större brister hittas inom den inställda tiden blir det RTM-versionen. Exempel: Windows 7 RC 7100 .

Utgåva

När den väl har släppts kallas programvaran vanligtvis för en "stabil release".

Den formella termen beror ofta på utgivningssättet: fysisk media, onlineutgivning eller webbapplikation.

Släpp till tillverkning / släpp till produktion

Beteckning på beredskap för en mjukvaruprodukt för replikering [1] . Detta är en stabil version av programmet som har klarat alla tidigare steg, där de viktigaste buggarna har fixats. RTM föregår General Availability (GA) när en produkt släpps till allmänheten.

Termen används ofta i vissa massproducerade återförsäljarmiljöer för mjukvara för att indikera att programvaran uppfyller en viss kvalitetsnivå och är redo för massdistribution. RTM kan även i andra sammanhang innebära att programvaran har levererats eller släppts till en klient eller kund för installation eller distribution på utrustningens respektive datorer eller slutanvändardatorer.

Denna term definierar inte mekanismen eller omfattningen av leveransen; det indikerar bara att kvaliteten är tillräcklig för massreplikering.

Allmän tillgänglighet

Allmän tillgänglighet eller allmän acceptans ( GA ) är marknadsföringsstadiet  där alla nödvändiga kommersialiseringsaktiviteter har slutförts och mjukvaruprodukten är tillgänglig för köp, dock beroende på språk, region, elektronisk eller mediatillgänglighet. Kommersialiseringsaktiviteter kan innefatta säkerhets- och efterlevnadsgranskningar, såväl som lokalisering och global marknadsföring. Tiden mellan release till produktion och allmän tillgänglighet kan variera från en vecka till flera månader. Denna tid krävs för att slutföra alla kommersialiseringsaktiviteter som krävs av GA. I det här skedet är mjukvaran "utsänd".  

Release to web / web release

Internet release (RTW) eller webbrelease är ett sätt att leverera programvara som använder Internet för att distribuera den. I detta fall använder inte tillverkaren några fysiska medier. Webbversioner blir allt vanligare i takt med att användningen av Internet växer.

Support

Under den stödda livslängden för programvara släpps tjänsteutgåvor, patchar eller service pack , ibland även kallade "interimsversioner", till programvaran.

Till exempel, på Windows - operativsystem , varar huvudfasen av support 5-6 år från datumet för allmän tillgänglighet [2] . I ett operativsystem som  Ubuntu finns det specialversioner av  LTS (Long Time Support), vars supportperiod är 5 år mot 9 månader för vanliga [3] .

Slut på support

I detta skede meddelar tillverkaren att produkten är föråldrad och vägran till ytterligare stöd.

Utvecklingsmilstolpar enligt SourceForge / Python [4]

Dessa 7 steg användes ursprungligen på SourceForge-webbplatsen. Därefter plockades denna numrering upp av PyPI , som var värd för paket för Python-språket.

  1. Planering _ _ _ Författaren reserverade titeln för projektet och började avgränsa funktionaliteten. Version , som regel, har inte.
  2. Pre-alfa ( pre-alfa ). Det finns redan något slags program som ger en uppfattning om vad det kommer att göra. Det sker en utveckling, lägga till ny funktionalitet, refaktorering. Programmets arkitektur kan ändras helt när som helst. Vid det här laget kan programmet redan få en version, vanligtvis 0.xy
  3. Alfa ( alfa ). Arkitekturen i programmet är uppenbar. Personer nära utvecklaren kan redan använda programmet. Det är testning och att ta fram produkten.
  4. Beta ( beta ). Programmet är fullt fungerande. Det sker testning, korrigering av fel och prestandaproblem, förbättring av ergonomin.
  5. Klar/stabil ( produktion/stabil ). Det finns inga kritiska fel, alla huvudsakliga användningsfall har testats. Buggfixar och nya funktioner läggs till. Vid denna tidpunkt kan programmet ges version 1.0.
  6. Mogen ( mogen ). Mer än ett år i "färdigt / stabilt" tillstånd, de ber inte om större funktionalitet, det finns inga större och kritiska fel. Mindre buggar håller på att fixas.
  7. Övergiven ( inaktiv ). Utveckling har inte gjorts på länge. Hittade problem kommer troligen inte att åtgärdas. Naturligtvis kan projektet tas tillbaka i utveckling och återföras till ett av de tidigare stadierna.

Anteckningar

  1. RTM-versionen (Release To Manufacturing) av Windows 10 är ute - MSoffice-Prowork.com . Hämtad 27 januari 2019. Arkiverad från originalet 1 oktober 2020.
  2. Vanliga frågor om livscykel - Windows - Microsoft Lifecycle | Microsoft docs . Hämtad 6 mars 2019. Arkiverad från originalet 8 maj 2017.
  3. LTS - Ubuntu Wiki . Hämtad 6 mars 2019. Arkiverad från originalet 5 augusti 2011.
  4. Stadier av mjukvaruutveckling Martin Thoma . Hämtad 24 mars 2022. Arkiverad från originalet 17 augusti 2021.

Länkar