Testaussuunnitelma v. 1.1 - Niksula
Testaussuunnitelma v. 1.1 - Niksula
Testaussuunnitelma v. 1.1 - Niksula
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