Ohjelmiston julkaisuelinkaari
tarkoittaa
ohjelmistokehityksessa
ohjelmiston eri valmiusasteessa olevien
versioiden
julkaisua
tuotteen elinkaaren
aikana. Elinkaaren tuloksena on vakaan version julkaisu, seka mahdollisia paivityksia tahan. Kun ohjelmistokehittaja lopettaa ohjelmiston paivittamisen, jakelun ja muun tuen, koittaa ohjelmiston elinkaaren loppu (EOL eli
end-of-life
). Ohjelmiston kaytto saattaa kuitenkin edelleen jatkua. Tyypillisesti kullekin vakaalle ns. paaversiojulkaisulle on oma julkaisu
elinkaari
.
Usein alfa- ja beetaversiot ovat julkaisua edeltavia testiversioita, joita jaetaan suljetulle kayttajaryhmalle koekayttoon. Alfavaiheessa oleva ohjelma on usein pelkka runko valmiista sovelluksesta, kun taas beetavaiheessa ohjelma on jokseenkin lopullisen tuotteen nakoinen. Joidenkin maaritelmien mukaan (esimerkiksi Royce) alfaversiossa on noin 70 % lopullisen ohjelmistotuotteen toiminnallisuudesta, kun taas beetaversiossa on noin 95 %.
- Esi-alfa (
pre-alpha
)
- Ohjelmiston toiminnallisuutta vasta rakennetaan.
- Alfa (
alpha
)
- Ohjelmistoa aletaan testaamaan. Ohjelmistoa voidaan kayttaa, mutta se on hyvin keskenerainen.
- Beeta (
beta
)
- Ohjelmisto alkaa olla toiminnoiltaan valmis, mutta sisaltaa todennakoisesti merkittavasti bugeja.
- Julkaisuehdokas tai julkaisukandidaatti (RC eli
release candidate
)
- Ohjelmisto alkaa olla toiminnoiltaan valmis ja ilmeisia bugeja ei pitaisi olla.
- Julkaisu
- Vakaa, varsinainen versio
Alfa- ja beetaversiot liittyvat laheisesti alfa- ja beetatestaukseen.
Avoimessa ohjelmistonkehityksessa jo alfa- ja beetaversiot, usein koko
lahdekoodi
, ovat periaatteessa kenen tahansa saatavilla.
Suljetussa ohjelmistonkehityksessa alfatestaus suoritetaan usein rajoitetussa joukossa, lahinna ohjelmiston kehittajan organisaatiossa. Beetatestaus suoritetaan sitten vaikkapa asiakkaan tiloissa. Beetatestauksessa kehittajatiimia suurempi ryhma tavallisia kayttajia pyrkii paikallistamaan sovelluksesta siihen jaaneet
virheet
seka lapsukset, jotta siita voidaan julkaista release candidate -versio laajempaa testausta varten.
Ohjelmistojen julkaisuselinkaaren alfatestaus on kaytannossa seuraava vaihe integraatio- ja jarjestelmatestauksen jalkeen, ja sen tavoitteena on arvioida, miten jarjestelma toimii kokonaisuutena. Alfatestausta voidaan kuvata sisaiseksi hyvaksymistestaukseksi, jossa tavoitteena on yleensa lasilaatikkotestausta kayttaen varmistaa, etta kehitetty jarjestelma on tarpeeksi vakaa ja toimiva ennen sen laajempaa testausta beetavaiheessa, jolloin suurempi testiryhma ottaa sen kayttoon.
[1]
Organisaation sisalla tapahtuva siirtyminen mustalaatikkotestaukseen tunnetaan nimella alfajulkaisu.
Alfatestauksessa kaikki jarjestelman ominaisuudet ovat toteutettu, mutta esimerkiksi kayttoliittyman hienosaato, jarjestelman sisaisen logiikan, kuten pelin saantojen tasapainotuksen, tai toimintojen virheeton suoritus kehitysympariston ulkopuolella voi olla viela kesken tai tarkastamatta. Tama tarkoittaa, etta Alfa-ohjelmisto voi sisaltaa vakavia virheita, jotka voivat johtaa ohjelmiston kaatumiseen tai tietojen menetykseen. Yleisesti ottaen alfaohjelmiston ulkoinen saatavuus suljetun lahdekoodin ohjelmistolle on harvinaista verrattuna
avoimen lahdekoodin
ohjelmistoihin, joista on usein julkisesti saatavilla olevia alfaversioita. Alfavaihe paattyy yleensa jonkin ominaisuuden jaadyttamiseen, mika tarkoittaa, ettei ohjelmistoon lisata enaa uusia ominaisuuksia ja talloin ohjelmiston voidaan sanoa olevan ominaisuuksiltaan taydellinen (Feature-Complete).
Videopeli
ovat hyva esimerkki ohjelmistotyypista, joka vaatii pitkakestoista alfatestausta. Ohjelmiston testaaja pelaa jokaisen pelin tason useita kertoja ja suorittaa erilaisia odotettuja ja odottamattomia toimia testatakseen, miten sovellus reagoi. Ongelmia voi loytya esimerkiksi pelihahmojen liikkumisessa, visuaalisissa efekteissa, tai pelin sattumanvaraisessa kaatumisessa. Naiden testaus ja korjaus on kriittisen tarkeaa, ennen kuin peli voidaan siirtaa laajempaan beetatestaukseen.
[2]
Julkisessa beetatestauksessa tietokonesovellus julkaistaan kaikkien saataville. Julkisen beetatestauksen hyviin puoliin lukeutuu huomattavasti isompi ryhma testaajia, ja taman myota suurempi todennakoisyys ohjelmointivirheiden paljastumiselle. Haittapuoliin lukeutuu mahdollisuus
teollisuusvakoiluun
seka testaajien maaraan suhteutettuna pieni palauteprosentti.
Aivan kuten julkisessa beetatestauksessakin, myos rajatun beetatestauksen ryhma otetaan testaajaryhman tai yrityksen ulkopuolelta. Rajatussa testausryhmassa beetatestaajat pystytaan profiloimaan tarkemmin, ja profiloinnin perusteella heidan antamaansa palautetta voidaan kohdistaa tietokonesovelluksen tiettyyn osa-alueeseen paremmin.
Rajatun beetatestauksen hyviin puoliin lukeutuu tarkemmat virhekuvaukset seka pienempi riski
teollisuusvakoilulle
. Haittapuoliin taas rajatun testausryhman pienuus seka sen myota maarallisesti vahaisempi palaute sovelluksen toimivuudesta.
- Roger S. Pressman, Darrel Ince: Software Engineering, A Practitioners Approach (2000)
ISBN 0-07-709677-0
, s. 483
- Walker Royce: Software Process Management, A Unified Network (2004)
ISBN 0-201-30958-0
, s. 152
- Fine, Michael R.:
Beta Testing for Better Software
. Wiley, 2002.
ISBN 91-4571-3394
-6.
(englanniksi)
- Haikala, Ilkka:
Ohjelmistotuotanto
. Helsinki: Suomen atk-kustannus, 1998.
ISBN 951-762-696-7
.
(suomeksi)
- Pressman, Roger S. & Ince, Darrel:
Software Engineering, A Practitioners Approach
, s. 663. 3rd Ed. European Edition. McGraw-Hill, 1994.
ISBN 0-07-707936-1
.
(englanniksi)