09.01.2015 Views

Testaussuunnitelma v. 1.1 - Niksula

Testaussuunnitelma v. 1.1 - Niksula

Testaussuunnitelma v. 1.1 - Niksula

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Tik-76.115 Projektiryhmä:<br />

TeamAhma<br />

www.niksula.cs.hut.fi/~jjkankaa/TeamAhma/<br />

Käyttäjien tunnistaminen ja<br />

käyttöoikeuksien hallinta hajautetussa<br />

ympäristössä<br />

<strong>Testaussuunnitelma</strong> v. <strong>1.1</strong><br />

Päivitetty 12.12.2000 klo 12:03


Tik-76.115 Projektiryhmä:<br />

TeamAhma<br />

Projekti: Tekijä: Sivu:<br />

Käyttäjien tunnistaminen ja<br />

käyttöoikeuksien hallinta hajautetussa<br />

ympäristössä<br />

Mikko Viljainen 2 (14)<br />

Dokumentti: Versio: Päivämäärä:<br />

TESTAUSSUUNNITELMA <strong>1.1</strong> 12.12.2000<br />

Dokumentin versiohistoria<br />

Versio Päivämäärä Tekijä / muutoksen tekijä Selite<br />

<strong>1.1</strong> 12.12.2000 Mikko Viljainen, Janne<br />

Kankaanpää<br />

Täydennetty teknisten<br />

määritelmien perusteella,<br />

muutoksia lähes jokaisessa<br />

luvussa<br />

1.01 9.11.2000 Janne Kankaanpää Kappalenumerointi ja<br />

kappaleiden tasaus<br />

1.0 6.11.2000 Mikko Viljainen, Janne<br />

Kankaanpää<br />

Projektin testaussuunnitelman<br />

ensimmäinen versio<br />

www.niksula.cs.hut.fi/~jjkankaa/TeamAhma/<br />

TESTAUSSUUNNITELMA 2


Tik-76.115 Projektiryhmä:<br />

TeamAhma<br />

Projekti: Tekijä: Sivu:<br />

Käyttäjien tunnistaminen ja<br />

käyttöoikeuksien hallinta hajautetussa<br />

ympäristössä<br />

Mikko Viljainen 3 (14)<br />

Dokumentti: Versio: Päivämäärä:<br />

TESTAUSSUUNNITELMA <strong>1.1</strong> 12.12.2000<br />

Sisällys<br />

DOKUMENTIN VERSIOHISTORIA ................................................................................................................... 2<br />

1. JOHDANTO........................................................................................................................................ 4<br />

<strong>1.1</strong>. VIITTEET ....................................................................................................................................... 4<br />

2. TESTAUKSEN KOHTEET.................................................................................................................. 5<br />

3. TESTATTAVAT OMINAISUUDET...................................................................................................... 5<br />

3.1. SOVELLUSKEHIKKO......................................................................................................................... 5<br />

3.2. DEMOSOVELLUS............................................................................................................................. 6<br />

4. TESTAAMATTA JÄTETTÄVÄT OMINAISUUDET ............................................................................. 7<br />

5. MENETELMÄT ................................................................................................................................... 7<br />

5.1. YKSIKKÖTESTAUS........................................................................................................................... 7<br />

5.2. INTEGRAATIOTESTAUS .................................................................................................................... 8<br />

5.3. JÄRJESTELMÄTESTAUS.................................................................................................................... 8<br />

5.4. REGRESSIOTESTAUS ...................................................................................................................... 8<br />

5.5. HYVÄKSYMISTESTAUS ..................................................................................................................... 9<br />

6. HYVÄKSYMIS-/HYLKÄYSKRITEERIT............................................................................................... 9<br />

7. TESTAUKSEN KESKEYTTÄMISKRITEERIT SEKÄ UUDELLEENALOITUS.................................... 9<br />

8. TESTAUKSEN TUOTTAMAT DOKUMENTIT .................................................................................... 9<br />

9. TESTAUKSEN TOIMENPITEET .......................................................................................................10<br />

9.1. TESTAUSPROSESSI........................................................................................................................10<br />

10. YMPÄRISTÖVAATIMUKSET.........................................................................................................11<br />

11. VASTUUT ......................................................................................................................................11<br />

12. HENKILÖSTÖ JA KOULUTUSTARPEET .....................................................................................11<br />

13. AIKATAULU...................................................................................................................................11<br />

14. RISKIENHALLINTA.......................................................................................................................12<br />

15. HYVÄKSYMINEN...........................................................................................................................12<br />

LIITE 1. TESTAUKSEN FOLLOW-UP -POHJA .......................................................................................13<br />

LIITE 2. TESTIRAPORTIN KANSILEHTI.................................................................................................14<br />

www.niksula.cs.hut.fi/~jjkankaa/TeamAhma/<br />

TESTAUSSUUNNITELMA 3


Tik-76.115 Projektiryhmä:<br />

TeamAhma<br />

Projekti: Tekijä: Sivu:<br />

Käyttäjien tunnistaminen ja<br />

käyttöoikeuksien hallinta hajautetussa<br />

ympäristössä<br />

Mikko Viljainen 4 (14)<br />

Dokumentti: Versio: Päivämäärä:<br />

TESTAUSSUUNNITELMA <strong>1.1</strong> 12.12.2000<br />

1. Johdanto<br />

Tämä testaussuunnitelma liittyy TKK:n kurssiin Tik-76.115, ohjelmistoprojektiin.<br />

Tämä testaussuunnitelma on A-Ware Oy:n tilaamaa TeamAhma -ryhmän<br />

projektityötä, "Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa<br />

ympäristössä", varten. Itse tuote tulee koostumaan kahdesta erillisestä osasta.<br />

Toinen on sovelluskehikko, varsinainen asiakkaan tilaama tuote, joka huolehtii<br />

käyttäjien todentamisesta. Toinen on ryhmän itse laatimasta demosovellus, joka<br />

on projektinhallintaohjelma. Tämä dokumentti kattaa kaiken ryhmän puolesta<br />

tehtävän testaustoiminnan ja se on laadittu noudattaen IEEE:n standardia IEEE<br />

Std 829-1998 soveltuvin osin. Testauksessa tuotetta verrataan ryhmän laatimiin<br />

määritelmiin sekä vaatimusmäärittelyihin tarkoituksena varmistaa testattavan<br />

ohjelmiston laatu.<br />

Tässä dokumentissa kuvataan testauksen laajuus, resurssit, riskit, aikataulu sekä<br />

testattavat ominaisuudet ja testausmenetelmät.<br />

Tätä dokumenttia tullaan tarpeen mukaan päivittämään projektin jokaisessa<br />

vaiheessa. Erityisesti muutoksen kohteina tulevat olemaan luku 3, joka muuttuu<br />

teknisiä määrittelyjä parannettaessa, luku 9, joka muuttuu testausprosessin<br />

kehittyessä sekä Liitteet samasta syystä.<br />

<strong>1.1</strong>. Viitteet<br />

[1] IEEE std 829-1998<br />

[2] Tik-76.613 Software Testing and Validation Luentomonisteet, syksy 2000,<br />

Jukka Paakki<br />

[3] Tik-76.115 Projektisuunnitelma v. 2.2; Käyttäjien tunnistaminen ja käyttöoikeuksien<br />

hallintahajautetussa ympäristössä, Päivitetty 7.11 2000, Jussi<br />

Isotupa<br />

[4] Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä;<br />

Vaatimusmäärittely v. 1.0, Päivitetty 16.10.2000, Tomas Björnfot.<br />

[5] Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä;<br />

Tekninen määrittely v. 1.5, Päivitetty 12.12.2000, Tomas Björnfot.<br />

[6] Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä;<br />

Demosovelluksen tekninen määrittely v. 0.6, Päivitetty 1<strong>1.1</strong>2.2000, Mickey<br />

Shroff.<br />

[7] Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä;<br />

Riskienhallintasuunnitelma v. 1.0, Päivitetty 12.12.2000, Jussi Isotupa.<br />

[8] Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä;<br />

Toiminnallinen määrittely v. 1.0, Päivitetty<br />

[9] Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä;<br />

Demosovelluksen toiminnallinen määrittely v. <strong>1.1</strong>, Päivitetty 1<strong>1.1</strong>2.2000,<br />

Timo Lämsä<br />

[10] Sovelluskehikon UML-malli<br />

www.niksula.cs.hut.fi/~jjkankaa/TeamAhma/<br />

TESTAUSSUUNNITELMA 4


Tik-76.115 Projektiryhmä:<br />

TeamAhma<br />

Projekti: Tekijä: Sivu:<br />

Käyttäjien tunnistaminen ja<br />

käyttöoikeuksien hallinta hajautetussa<br />

ympäristössä<br />

Mikko Viljainen 5 (14)<br />

Dokumentti: Versio: Päivämäärä:<br />

TESTAUSSUUNNITELMA <strong>1.1</strong> 12.12.2000<br />

2. Testauksen kohteet<br />

Testattavana ovat käyttäjien todentamiseen luotava sovelluskehikko, sekä tämän<br />

päälle tehtävä projektinhallinta-demosovellus. Testaus perustuu dokumentteihin,<br />

jotka määrittelevät ohjelman toiminnan, kuten vaatimusmäärittelyyn sekä teknisiin<br />

määritelmiin.<br />

3. Testattavat ominaisuudet<br />

Kaikki määritellyt ominaisuudet testataan. Järjestelmästä testataan niin demosovelluksen<br />

ominaisuudet kuin itse tuotteen toiminta ja geneerisyys.<br />

Seuraavassa esitettyä osuutta tullaan vielä päivittämään projektin myöhemmissä<br />

vaiheissa.<br />

3.1. Sovelluskehikko<br />

3.<strong>1.1</strong>. Pakkaus: fi.aware.AHMA<br />

CreateCommand -metodilla luodaan:<br />

a) sallittu komento<br />

b) jo olemassa oleva komento.<br />

Execute -metodilla kysytään käyttöoikeuksia:<br />

a) Olemassa olevaan komentoon, johon käyttäjällä on oikeus. Ohjelma<br />

reitittää komennon edelleen.<br />

b) Olemassa olevaan komentoon, johon käyttäjällä ei ole oikeuksia. Ohjelma<br />

nostaa SecurityExeption -poikkeuksen<br />

c) Olemattomaan komentoon, jolloin ohjelma nostaa poikkeuksen.<br />

3.1.2. Pakkaus: fi.aware.AHMA.commandmap<br />

GetTarget -metodilla pyydetään referenssi:<br />

a) olemassa olevaan komentoon, jonka se palauttaa<br />

b) olemattomaan komentoon, jolloin se nostaa poikkeuksen.<br />

3.1.3. Pakkaus: fi.aware.AHMA.securitymanager<br />

CreateSession -metodilla luodaan istunto. Palauttaa Principal -olion<br />

PasswordAuthenticationCommand pyritään todentamaan:<br />

a) olemassa oleva salasana, jolloin palautetaan<br />

PasswordAuthenticationResponse, joka sisältää käyttäjäolion<br />

b) virheellinen salasana, jolloin PasswordAuthenticationResponse palautetaan<br />

ilman käyttäjäoliota.<br />

www.niksula.cs.hut.fi/~jjkankaa/TeamAhma/<br />

TESTAUSSUUNNITELMA 5


Tik-76.115 Projektiryhmä:<br />

TeamAhma<br />

Projekti: Tekijä: Sivu:<br />

Käyttäjien tunnistaminen ja<br />

käyttöoikeuksien hallinta hajautetussa<br />

ympäristössä<br />

Mikko Viljainen 6 (14)<br />

Dokumentti: Versio: Päivämäärä:<br />

TESTAUSSUUNNITELMA <strong>1.1</strong> 12.12.2000<br />

IsValid -metodi palauttaa totuusarvon:<br />

a) tosi kysyttäessä voimassaolevaa tapausta<br />

b) epätosi kysyttäessä ei-voimassaolevaa tapausta<br />

3.1.4. Pakkaus: fi.aware.AHMA.exceptions<br />

Pakkauksesta ei ole dokumentin tässä versiossa vielä suunnitelmaa.<br />

3.1.5. Pakkaus: fi.aware.AHMA.config<br />

GetValue -metodilla annetaan:<br />

a) olemassa olevan komennon nimi ja ohjelma palauttaa sitä vastaavan<br />

parametrin<br />

b) olemattoman komennon ja ohjelma nostaa poikkeuksen.<br />

3.1.6. Pakkaus: fi.aware.AHMA.datasources<br />

Authenticate -metodille annetaan:<br />

a) tunnistetiedot, jotka löytyvät tietolähteestä. Tällöin palautetaan Principal<br />

olio<br />

b) tunnistetiedot, jotka eivät löydy tietolähteestä. Tällöin nostetaan poikkeus<br />

3.1.7. Pakkaus: fi.aware.AHMA.log<br />

Pakkauksesta ei ole dokumentin tässä versiossa vielä suunnitelmaa.<br />

3.2. Demosovellus<br />

3.2.1. Worktime-moduuli<br />

Testataan normaali toiminta, poikkeukset sekä se, että tarkistetaan, että wwwselaimesta<br />

saatu data on tietokannan määrittelyn mukainen.<br />

3.2.2. Report-moduuli<br />

Testataan ohjelman normaali toiminta sekä poikkeukset.<br />

3.2.3. Authority-moduuli<br />

Testataan ohjelman normaali toiminta, poikkeustilanteet sekä se, että tarkistetaan<br />

välitettävän datan oikeellisuus.<br />

www.niksula.cs.hut.fi/~jjkankaa/TeamAhma/<br />

TESTAUSSUUNNITELMA 6


Tik-76.115 Projektiryhmä:<br />

TeamAhma<br />

Projekti: Tekijä: Sivu:<br />

Käyttäjien tunnistaminen ja<br />

käyttöoikeuksien hallinta hajautetussa<br />

ympäristössä<br />

Mikko Viljainen 7 (14)<br />

Dokumentti: Versio: Päivämäärä:<br />

TESTAUSSUUNNITELMA <strong>1.1</strong> 12.12.2000<br />

4. Testaamatta jätettävät ominaisuudet<br />

Kaikki määritellyt ominaisuudet tullaan testaamaan.<br />

5. Menetelmät<br />

Jokainen koodaaja on itse vastuussa koodinsa virheettömyydestä ja laadusta.<br />

Koodin tulee olla hyvin kommentoitua ja selkeää. Koodin oikeellisuudelle<br />

minimivaatimus on se, että ohjelma voidaan kääntää. Mitä vakaampi ohjelma on,<br />

sitä tehokkaammin testaus onnistuu. Siihen, miten kukin koodaaja toteuttaa<br />

käytännössä koodinsa laadun ja virheettömyyden, ei tässä dokumentissa puututa.<br />

Tähän vastuuseen kuuluu myös se, että kukin koodaaja debuggaa oman koodinsa.<br />

Testaamiseen käytettävät työkalut ovat JUnit -testausohjelma, josta saatavilla on<br />

versio 3.2. Tällä ohjelmalla nauhoitetaan testitapauksia. Kuormitus- ja vastaavaan<br />

testaukseen Microsoft Web Application Stress tool. Bugien raportointiin käytetään<br />

Burana -ohjelmistoa. A-Ware tarjoaa ryhmän käyttöön testiympäristön.<br />

Testauksen vastuu on testauspäälliköllä. Kustakin testitapauksesta hän laatii<br />

yhdessä kunkin osion vastaavan (moduulitestauksessa koodaajan,<br />

integraatiotestauksessa arkkitehtuuripäällikön jne.) henkilön kanssa<br />

tapauskohtaisen suunnitelman sekä toimintaohjeet, jotka toimitetaan testaajalle.<br />

Näiden dokumenttien tulee olla niin selkeitä, että kuka tahansa ryhmän jäsen<br />

pystyy suorittamaan testauksen niiden perusteella.<br />

5.1. Yksikkötestaus<br />

Tässä testaamisen vaiheessa testataan jokainen yksikkö erikseen. Koska yksiköt<br />

eivät ole yksinään toimivia, saatetaan tarvita ajureita ja tynkiä simuloimaan muita<br />

yksiköitä, joiden kanssa kyseisellä yksiköllä on vuorovaikutusta. Tämä<br />

testaaminen muodostaa perustan seuraaville testeille ja näin ollen tulisi toteuttaa<br />

erityisen huolellisesti. Yksikkötestauksessa ei moduuleita ole mielekästä viedä<br />

testiympäristöön testattavaksi, vaan ne voidaan testata esimerkiksi koneella, jolla<br />

ne on koodattu. Järjestelmäriippumattomuus todennetaan testauksen<br />

myöhemmissä vaiheissa. Jotta yksikkötestaus olisi inhimillisesti mahdollista, tulisi<br />

yksiköiden olla reippaasti alle 1000 rivin mittaista, hyvin kommentoituja ja selkeää<br />

koodia. Suunnitteluvaiheessa myös moduuleihin jakoperusteissa sekä niiden<br />

suunnittelussa tulisi ottaa huomioon niiden testattavuus.<br />

Varsinainen testaaminen alkaa lasilaatikkotestauksella. Vaiheen yksiköiden koko<br />

on luokkatasoa. Tässä testauksessa tarkastellaan koodia metoditasolla ja sen<br />

perusteella kirjoitetaan testitapaukset, joilla tulisi käydä läpi kaikki ohjelman iflauseet,<br />

while-silmukat ja vastaavat. Kattavuus tulisi olla, mikäli mahdollista<br />

100%.<br />

Yksikkötestauksen toisena osana on mustalaatikkotestaus, jossa yksiköiden koko<br />

on enemmänkin pakettitasoa. Tämä on siis eräänlaista integraatiotestausta (katso<br />

seuraava kohta) suhteessa lasilaatikkotestaukseen. Tässä testaustavassa<br />

annetaan valittuja syötteitä ohjelmalle ja vertaillaan yksikön palauttamaa tietoa<br />

www.niksula.cs.hut.fi/~jjkankaa/TeamAhma/<br />

TESTAUSSUUNNITELMA 7


Tik-76.115 Projektiryhmä:<br />

TeamAhma<br />

Projekti: Tekijä: Sivu:<br />

Käyttäjien tunnistaminen ja<br />

käyttöoikeuksien hallinta hajautetussa<br />

ympäristössä<br />

Mikko Viljainen 8 (14)<br />

Dokumentti: Versio: Päivämäärä:<br />

TESTAUSSUUNNITELMA <strong>1.1</strong> 12.12.2000<br />

yksikön määrittelyihin. Testaustapaukset tulisi olla seuraavanlaisia: normaali<br />

syöte, virheellinen syöte sekä rajatapaukset.<br />

Nämä kaksi vaihetta yhdistetään suunnittelutasolla siten, että jokaiselle<br />

pakkaukselle laaditaan oma testaussuunnitelma. Tässä suunnitelmassa tehdään<br />

kuitenkin 2 erillistä osiota, joista toisessa testaus tehdään koodin ja toisessa<br />

toiminnan suhteen. Tämän jälkeen voidaan samat tapaukset poistaa toisesta.<br />

Yksikkötestauksen suunnittelee koodaaja itse yhdessä testauspäällikön kanssa.<br />

Itse testauksen suorittaa vapaana oleva koodaaja tai testauspäällikkö.<br />

5.2. Integraatiotestaus<br />

Integraatiotestauksen tarkoituksena on tarkastaa alijärjestelmien toimivuus<br />

moduulien kompositiona. Vaikka kaikki yksiköt on jo testattu tässä vaiheessa, on<br />

tärkeää kuitenkin todentaa yksiköiden välisen kommunikaation oikeellisuus sekä<br />

laitteistoriippumattomuus. Tämän vuoksi ohjelman moduulit viedään<br />

testiympäristöön ja testataan siellä. Testauksessa käytetään bottom-up -<br />

kokoonpanomenetelmää, eli siis arkkitehtuuria lähdetään toteuttamaan ikään kuin<br />

alhaalta päin. Testaus tehdään mustalaatikko-menetelmällä ja siinä käytetään<br />

arkkitehtuuriin liittyvää dokumenttiaineistoa (katso [10] sovelluskehikon UML-malli)<br />

sekä jossain määrin toiminnallisia määrittelyjä (katso [8,9]). Tämä testaus voidaan<br />

suorittaa, ja tulisi aloittaa vielä, kun koodaaminen on kesken. Testin suunnittelevat<br />

arkkitehtuuripäällikkö ja testauspäällikkö. Itse testaus suoritetaan vapailla<br />

resursseilla. Tässä vaiheessa luodaan myös sovelluskehikon testaamiseen<br />

tarkoitettu Testaussovellus-niminen tynkä.<br />

5.3. Järjestelmätestaus<br />

Tässä testin vaiheessa on tarkoitus testata koko järjestelmä. Tässä vaiheessa<br />

tuotetta verrataan vaatimusmäärittelyyn. Tässä vaiheessa testataan<br />

laatuatribuutteja ainakin seuraavilla testeillä:<br />

Luotettavuustestaus<br />

Turvallisuustestaus<br />

Rasitustestaus<br />

Voluumitestaus<br />

Geneerisyystestaus<br />

Kuten aiemmin jo mainittiin, koostuu TeamAhman tuote kahdesta erillisestä<br />

osasta: sovelluskehikosta ja demosovelluksesta. Tällä pyritään varmistamaan<br />

sovelluskehikon riippumattomuus demosovelluksesta. Jotta sovelluskehikko olisi<br />

testattavissa, sille tehdään yksi tai useampi tynkä, testaussovellus.<br />

Tämä testaus tehdään käyttäen mustalaatikko-menetelmää.<br />

5.4. Regressiotestaus<br />

Debuggausten jälkeen tulee tarkastaa, että suoritetut korjaukset ovat riittävät,<br />

eivätkä muuttaneet jonkun muun koodin osan toimintaa. Tämän testauksen nimi<br />

on regressiotestaus. Regressiotestauksen laajuus ei pidä olla liian suuri, koska se<br />

varsinkin myöhemmissä vaiheissa on aikaa vievää, mutta kuitenkin riittävän laaja,<br />

jotta tuotteen toimivuudesta voidaan olla varmoja. Regressiotestauksessa tulisi,<br />

www.niksula.cs.hut.fi/~jjkankaa/TeamAhma/<br />

TESTAUSSUUNNITELMA 8


Tik-76.115 Projektiryhmä:<br />

TeamAhma<br />

Projekti: Tekijä: Sivu:<br />

Käyttäjien tunnistaminen ja<br />

käyttöoikeuksien hallinta hajautetussa<br />

ympäristössä<br />

Mikko Viljainen 9 (14)<br />

Dokumentti: Versio: Päivämäärä:<br />

TESTAUSSUUNNITELMA <strong>1.1</strong> 12.12.2000<br />

mikäli mahdollista, käyttää vanhoja, JUnitilla tallennettuja testitapauksia. Testin<br />

suunnittelevat testauspäällikkö sekä bugin korjaaja. Testi suoritetaan vapailla<br />

resursseilla.<br />

5.5. Hyväksymistestaus<br />

Asiakas suorittaa hyväksymistestauksen kurssin päätteeksi ja se ei kuulu tämän<br />

dokumentin aihepiiriin.<br />

6. Hyväksymis-/hylkäyskriteerit<br />

Kun kaikki sovelluskehikon testitapaukset sekä testit mukaan lukien<br />

regressiotestaus on käyty läpi ja hyväksytty ja kaikki tunnetut korjaamattomat bugit<br />

ovat merkityksettömiä (minor) (katso luku 9), voidaan tuote hyväksyä.<br />

Demosovelluksen luonteen vuoksi voidaan tuote hyväksyä vaikka<br />

Demosovelluksessa olisi kriittisiäkin (critical) bugeja. Käytännössä tottakai nämä<br />

tullaan korjaamaan. Tuotteen määritelmien perusteella määritellään/ryhmitellään<br />

testattavat ominaisuudet ja näille kullekin omat hyväksymis-/hylkäämiskriteerit.<br />

7. Testauksen keskeyttämiskriteerit sekä<br />

uudelleenaloitus<br />

Testaus voidaan lopettaa työpäivän päättyessä arkipäivinä, joskin osapuolten<br />

suostumuksella sitä voidaan jatkaa. Laitteisto-, ohjelmisto- sekä ulkopuoliset<br />

häiriöt, kuten luonnonmullistukset keskeyttävät testauksen, kuin myös testaajien<br />

uupumus. Testaus keskeytetään lisäksi, kun bugi estää testaamisen jatkamisen.<br />

Tällöin bugi määritellään kriittiseksi (critical) (katso luku 9). Testausta voidaan<br />

jatkaa, kun testauksen keskeyttänyt olosuhde on poistunut. Testausta uudelleen<br />

käynnistettäessä tulee käynnistää ja testata testiympäristö. Tämä käy siten, että<br />

Websphere on päällä ja toimii oikein sekä että tietolähteet toimivat oikein. Nämä<br />

voidaan varmentaa ajamalla vanhoja nauhoitettuja testejä. Tämän jälkeen kaikki<br />

keskeytyneet testit sekä niihin liittyvät muut testit on tehtävä uudelleen.<br />

8. Testauksen tuottamat dokumentit<br />

<strong>Testaussuunnitelma</strong>n (tämä dokumentti) tarkoituksena on määritellä testaaminen<br />

ja testaamisen tarkoitus.<br />

Lisäksi jokainen testaus tuottaa seuraavat dokumentit:<br />

Testitapauskohtainen suunnitelma, testiraportti (sisältäen kansilehden, follow-upin<br />

ja lyhyen kuvauksen) ja työkalujen kuvaus.<br />

Sekä mahdollisesti seuraavat:<br />

Burana-bugiraportti, syöte- ja tulostedata.<br />

Kun ohjelma on saatu valmiiksi ja testattu, kirjoitetaan testauksen loppuraportti.<br />

www.niksula.cs.hut.fi/~jjkankaa/TeamAhma/<br />

TESTAUSSUUNNITELMA 9


Tik-76.115 Projektiryhmä:<br />

TeamAhma<br />

Projekti: Tekijä: Sivu:<br />

Käyttäjien tunnistaminen ja<br />

käyttöoikeuksien hallinta hajautetussa<br />

ympäristössä<br />

Mikko Viljainen 10 (14)<br />

Dokumentti: Versio: Päivämäärä:<br />

TESTAUSSUUNNITELMA <strong>1.1</strong> 12.12.2000<br />

9. Testauksen toimenpiteet<br />

Ennen varsinaista testausta, prototyyppivaiheessa, testataan demosovellusta ja<br />

sovelluskehikkoa vain prototyypissä sovellettavin osin eräänlaisella<br />

integraatiotestauksella. Testauksen tarkoituksena on välttyä demottaessa ikäviltä<br />

kömmähdyksiltä. Tätä testausta ei toteuteta aivan tarkasti muitten, virallisempien<br />

testausten malliin, joskin se dokumentoidaan kunnolla, sillä sitä tullaan<br />

mahdollisesti käyttämään varsinaisessa testausvaiheessa.<br />

Varsinainen testaus alkaa yksikkötestauksella, jossa lasi- ja<br />

mustalaatikkotestauksin varmistetaan jokaisen moduulin toimivuus, mahdolliset<br />

bugit korjataan ja suoritetaan regressiotestaus. Tämän jälkeen, osittain<br />

samanaikaisesti edellisen vaiheen kanssa aloitetaan järjestelmän kokoaminen ja<br />

sen toimivuus varmistetaan integraatiotestauksella. Jälleen bugit korjataan ja<br />

korjaukset varmistetaan regressiotestauksella. Tämän jälkeen/osittain<br />

samanaikaisesti laatuatribuutit varmennetaan järjestelmätestauksella, puutteet<br />

korjataan ja korjaukset varmennetaan regressiotestauksella.<br />

9.1. Testausprosessi<br />

Kaiken testaustoiminnan aluksi testaus suunnitellaan kunnolla. Testauksen<br />

suunnittelu aloitetaan kirjoittamalla ja tarkastamalla testaussuunnitelma (tämä<br />

dokumentti). Koodaajan toimitettua ja selvitettyä valmiin koodin testauspäällikölle<br />

kirjoitetaan testille tapauskohtainen suunnitelma. Suunnitelman ja määritelmien<br />

perusteella laaditaan JOKAISELLE testitapaukselle oma Follow-up -kaavio (kts.<br />

Liite 1). Kaavion tulee olla niin yksityiskohtainen, että sen perusteella pystyy testin<br />

suorittamaan ja toistamaan ilman erityistä perehtymistä. Tämä Follow-up<br />

toimitetaan varsinaiselle testaajalle, joka ensimmäisenä täyttää<br />

testaussuunnitelman kansilehden (kts. Liite 2). Tämän dokumentin merkitys on<br />

identifioida paitsi testattava ohjelma, sen versio ja testattava ominaisuus, niin<br />

myös itse testi. Tämän tehtyään testaaja tarkastaa testiympäristön. Testin hän<br />

suorittaa follow-up -listan mukaan merkiten läpimenneet ja hylätyt tapaukset ja<br />

raportoi tarpeen mukaan Buranaan. Burana jakaa bugit neljään luokkaan<br />

seuraavasti:<br />

Minor = Lähinnä kosmeettinen virhe. Ei vaikutusta ohjelman<br />

toiminnallisuuteen<br />

Normal = Normaali virhe.<br />

Serious = Huomattava virhe, joka ei kuitenkaan estä testauksen testaamisen<br />

jatkamista<br />

Critical = Huomattava virhe, joka estää ohjelman testauksen jatkamisen (kts.<br />

Luku 7 Testauksen keskeyttämiskriteerit sekä uudelleenaloitus)<br />

Muista tapauksessa mahdollisesti käytettävistä työkaluista kuin Buranasta on<br />

maininta tapauskohtaisessa testaussuunnitelmassa. Testauksen päätyttyä testaaja<br />

kirjoittaa pienen yhteenvedon testistä ja täyttää kansilehden. Nämä hän sitten<br />

toimittaa testauspäällikölle.<br />

Testaamisen päätyttyä testauspäällikkö kirjoittaa testauksen loppuraportin, jonka<br />

projektipäällikkö hyväksy.<br />

Testiympäristön ylläpidosta huolehtii A-Ware.<br />

www.niksula.cs.hut.fi/~jjkankaa/TeamAhma/<br />

TESTAUSSUUNNITELMA 10


Tik-76.115 Projektiryhmä:<br />

TeamAhma<br />

Projekti: Tekijä: Sivu:<br />

Käyttäjien tunnistaminen ja<br />

käyttöoikeuksien hallinta hajautetussa<br />

ympäristössä<br />

Mikko Viljainen 11 (14)<br />

Dokumentti: Versio: Päivämäärä:<br />

TESTAUSSUUNNITELMA <strong>1.1</strong> 12.12.2000<br />

10. Ympäristövaatimukset<br />

Ohjelma toimii Java 2 -yhteensopivassa Java-virtuaalikoneessa. Se tarvitsee<br />

J2EE-kirjaston toimiakseen. Sovelluspalvelimen tulee toteuttaa vähintään Java<br />

Servlet Development Kit 2.1:n, Java Server Pages 1.0:n ja Enterprise Java Beans<br />

<strong>1.1</strong>:n.<br />

A-Ware tarjoaa ryhmän käyttöön testausympäristön. Se sisältää IBM Websphere<br />

Application Server 3.5, HTTP-serverinä Apachen ja tietolähteenä Oracle 8.<strong>1.1</strong>6.<br />

Käyttöjärjestelmänä on Windows NT 2000.<br />

11. Vastuut<br />

Ryhmän jokaiselle jäsenelle on jaettu oma vastuualueensa ja testaus on<br />

testauspäällikön vastuulla. Aiemmin, luvussa 5 määritellyt testauspäällikköä<br />

avustavat henkilöt toimivat testaajina. Testauspäällikkö on vastuussa kaikesta<br />

testaukseen liittyvästä dokumentaatiosta, joiden oikeellisuudesta vastaa<br />

dokumentointipäällikkö. Koodin saatavuudesta vastaa kukin koodaaja itse.<br />

Testiympäristön toimivuudesta vastaa projektipäällikkö A-Waren edustajana.<br />

12. Henkilöstö ja koulutustarpeet<br />

Henkilöstö koostuu kuudesta TKK:n opiskelijasta. Testaukseen suorittamiseen<br />

tarvittavan koulutuksen/opastuksen antaa testauspäällikkö. Tämä koostuu<br />

esimerkiksi käytettävien työkalujen käyttöohjeina ja on tyypiltään itseopiskelua.<br />

13. Aikataulu<br />

Seuraavia deadlineja noudatetaan:<br />

Vaihe T1: 19.10.-10.11.2000<br />

<strong>Testaussuunnitelma</strong> (tämä dokumentti) 07.11.2000<br />

Vaihe T2: 1<strong>1.1</strong>1.-15.12.2000<br />

Täydennetty testaussuunnitelma<br />

Prototyypin toimivuuden todentaminen<br />

Testausta 48 h<br />

Vaihe T3: 17.12. 2000-16.2.2001<br />

Testausta 54 h,<br />

www.niksula.cs.hut.fi/~jjkankaa/TeamAhma/<br />

TESTAUSSUUNNITELMA 11


Tik-76.115 Projektiryhmä:<br />

TeamAhma<br />

Projekti: Tekijä: Sivu:<br />

Käyttäjien tunnistaminen ja<br />

käyttöoikeuksien hallinta hajautetussa<br />

ympäristössä<br />

Mikko Viljainen 12 (14)<br />

Dokumentti: Versio: Päivämäärä:<br />

TESTAUSSUUNNITELMA <strong>1.1</strong> 12.12.2000<br />

johon sisältyy 30 h sovelluskehikon testausta, 16 h demosovelluksen testausta<br />

sekä 8 h testiraporttien kirjoittamista.<br />

Vaihe T4: 17.2.-23.3.2001<br />

Testausta<br />

Vaihe Luovutus: 24.3.-27.4.2001<br />

Testauksen loppuraportti<br />

Tässä vaiheessa tuntiarviot ovat vielä niin arvauksenomaisia, että niitä ei tähän<br />

ole kirjattu. Periaatteena kuitenkin on, että testaamiseen tulee varata vähintään<br />

yhtä paljon aikaa kuin koodaamiseen.<br />

14. Riskienhallinta<br />

Testauksen suhteen projektissa on monia riskejä. Aikatauluun liittyvät riskit ovat<br />

se, että joku aiempi työvaihe, kuten koodaus venyy taikka testaus myöhästyy.<br />

Näitä riskejä voidaan eliminoida aikatauluttamalla ja suunnittelemalla hyvin, sekä<br />

mikäli riski on toteutumassa, voidaan ainakin testaukseen tuoda lisää henkilöstöä,<br />

koska uusien henkilöiden tuonti, toisin kuin esim. koodauksessa ei vaadi<br />

kovinkaan suurta perehdyttämistä ja näin sido resursseja. Ohjelman geneerinen<br />

luonne ja sen testaus myös synnyttää riskin. Geneerisyyttä on vaikea ja työläs<br />

testata. Tämä saattaa aiheuttaa sen, että testaus myöhästyy. Tämän vuoksi tulee<br />

geneerisyyden testaus aloittaa tärkeimmistä ympäristöistä ja edetä sitten ajan<br />

puitteissa. Testaamatta jääneet/testatut osat tulee sitten raportoida loppuraporttiin.<br />

Lisäksi turvallisuuden testaus luo samankaltaisen riskin, mutta sen testaaminen<br />

voidaan aloittaa jo aikaisemmassa vaiheessa. Myöhäisessä vaiheessa havaitut<br />

bugit ovat myös riski, koska niiden korjaus/korjauksen tarkastus vievät aikaa.<br />

Tämän välttämiseksi ohjelma tulee suunnitella ja testata aiemmissa vaiheissa<br />

hyvin. Ohjelman abstraktius luo myös riskin, koska sitä ei välttämättä ole helppo<br />

testata. Tämä riski huomioidaan ottamalla jo suunniteltaessa testattavuus<br />

huomioon. Riskejä on myös avainhenkilöiden äkillinen sairastuminen, jota varten<br />

on luotu työparijärjestelmä. Muita riskejä olisi luonnonmullistukset ym. Force<br />

Mayor-riskit, joihin ei ole mielekästä varautua. Projektiin liittyviä riskejä on<br />

käsitelty tarkemmin riskienhallintasuunnitelmassa [7].<br />

15. Hyväksyminen<br />

Projektipäällikkö hyväksyy tämän suunnitelman.<br />

www.niksula.cs.hut.fi/~jjkankaa/TeamAhma/<br />

TESTAUSSUUNNITELMA 12


Tik-76.115 Projektiryhmä:<br />

TeamAhma<br />

Projekti: Tekijä: Sivu:<br />

Käyttäjien tunnistaminen ja<br />

käyttöoikeuksien hallinta hajautetussa<br />

ympäristössä<br />

Mikko Viljainen 13 (14)<br />

Dokumentti: Versio: Päivämäärä:<br />

TESTAUSSUUNNITELMA <strong>1.1</strong> 12.12.2000<br />

Liite 1. Testauksen Follow-up -pohja<br />

Testattava ohjelma: ____Demosovellus______<br />

Testattava ominaisuus: Käyttäjän login______<br />

(virheellinen login)<br />

Askel Nro. Kuvaus Toimenpide/syöte Odotettu tulos Hyväksytty(V) /<br />

hylätty(X)<br />

1 Login-sivun lataus Kirjoita URL<br />

selaimen<br />

osoitekenttään.<br />

2 Virheellinen login Kirjoita<br />

käyttäjätunnukseksi<br />

illegal ja<br />

salasanaksi<br />

donthave.<br />

Login sivu latautuu<br />

Virheilmoitus "login<br />

incorrect".<br />

Kentässä 1 on-- kunkin askeleen numero (1, 2, 3…). Kenttässä 2 kirjoitetaan lyhyt<br />

kuvaus askeleen toimenpiteestä. Kenttä 3 on tarkka ja yksityiskohtainen<br />

toimintaohje. Kentässä 4 on odotettavissa oleva, määritelmien mukainen tulos ja<br />

kenttään 5 merkitsee testaaja V:llä, mikäli saatu tulos vastasi odotettua ja X:llä,<br />

mikäli ei. Tällöin tulee myös täyttää Burana-raportti.<br />

www.niksula.cs.hut.fi/~jjkankaa/TeamAhma/<br />

TESTAUSSUUNNITELMA 13


Tik-76.115 Projektiryhmä:<br />

TeamAhma<br />

Projekti: Tekijä: Sivu:<br />

Käyttäjien tunnistaminen ja<br />

käyttöoikeuksien hallinta hajautetussa<br />

ympäristössä<br />

Mikko Viljainen 14 (14)<br />

Dokumentti: Versio: Päivämäärä:<br />

TESTAUSSUUNNITELMA <strong>1.1</strong> 12.12.2000<br />

Liite 2. Testiraportin kansilehti<br />

Case #N: <br />

[1] Tuote: Sovelluskehikko / Demosovellus<br />

[2] Versio: <br />

[3] Testin #: <br />

[4] Testausympäristö: <br />

[5] Käytetyt ohjelmat: <br />

[6] Käytetyt tyngät/ajurit: <br />

[7] Päivämäärä: ____.____.200__ <br />

[8] Aloitusaika: ____:____ <br />

[9] Lopetusaika: ____:____ <br />

[10] Testaaja: _____________<br />

[11] Muuta:<br />

www.niksula.cs.hut.fi/~jjkankaa/TeamAhma/<br />

TESTAUSSUUNNITELMA 14

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!