www.niksula.cs.hut.fi/~jjkankaa// Testauksen loppuraportti v. 1.0 Päivitetty 23.4.2001 klo 19:05
Mikko Viljainen 2 (14) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite 1.0 23.4.2001 Janne Kankaanpää Ulkoasu 0.9 23.4.2001 Mikko Viljainen Koko dokumentti www.niksula.cs.hut.fi/~jjkankaa// TESTAUKSEN LOPPURAPORTTI 2
Mikko Viljainen 3 (14) Sisällys DOKUMENTIN VERSIOHISTORIA...2 1. JOHDANTO...4 1.1 VIITTEET...4 2. KATTAVUUS...4 3. YHTEENVETO TULOKSISTA...5 4. VERSIOT...5 5. ARVIOINTI...6 6. YHTEENVETO TOIMENPITEISTÄ...6 7. HYVÄKSYMINEN...7 www.niksula.cs.hut.fi/~jjkankaa// TESTAUKSEN LOPPURAPORTTI 3
Mikko Viljainen 4 (14) 1. Johdanto Tämä testausraportti liittyy TKK:n kurssiin Tik-76.115, ohjelmistoprojektiin. Tämä testaussuunnitelma on A-Ware Oy:n tilaamaa -ryhmän projektityötä, "Käyttäjien tunnistaminen ja ", varten. Tuote on sovelluskehikko, joka huolehtii käyttäjien todentamisesta. Tämä dokumentti kattaa kaiken ryhmän puolesta tehtävän testaustoiminnan ja se on laadittu noudattaen IEEE:n standardia IEEE Std 829-1998 soveltuvin osin. Raportin tarkoitus on luoda yleiskuvaus tehtyyn testaukseen ja arvioida sitä. 1.1 Viitteet [1] IEEE std 829-1998 [2] Tik-76.613 Software Testing and Validation Luentomonisteet, syksy 2000, Jukka Paakki [3] Tik-76.115 Testaussuunnitelma v. 1.1; Käyttäjien tunnistaminen ja käyttö-oikeuksien hallinta hajautetussa, Päivitetty 12.12. 2000, Janne Kankaanpää, Mikko Viljainen [4] Testausraportit [5] Hayabusan opponointiraportti [6] Case-kohtaiset testaussuunnitelmat. 2. Kattavuus Kaikki testattavaksi suunnitellut osiot testattiin. www.niksula.cs.hut.fi/~jjkankaa// TESTAUKSEN LOPPURAPORTTI 4
Mikko Viljainen 5 (14) 3. Yhteenveto tuloksista Ohjelmasta löydettiin integrointi- ja järjestelmätestausvaiheessa 4 huomattavaa bugia, joista kaikki on korjattu. Löydetyt merkittävät bugit; 1. Hidas Thread-testauksessa ohjelma toimi hitaasti. Satunnaisluvun generointi vei erityisesti aikaa. Tämä optimoitiin myöhemmin. 2. Autentikointinumerointi Thread-testauksessa ilmeni, että mikäli useampi käyttäjä loggaa sisälle samalla millisekunnilla, saavat he saman istunnonnumeron. Tämä korjattiin muuttamalla nimeämistapaa. 3. Killer-thread ei toimi Ei-aktiivisia istuntoja poistava thread ei poistanut istuntoja. Korjattiin. 4. Metodirajapinta ei toimi Metodirajapinnassa oli kriittinen bugi, joka keskeytti testaamisen. Tämä korjattiin. Näiden lisäksi löytyi joukko pienempiä bugeja, jotka korjattiin kaikki paikan päällä heti, kun ne havaittiin. 4. Versiot Ohjelmaa testattiin ja korjattiin yhtäaikaisesti ja näin versionhallintaan, varsinkaan muutoksenhallintaan, ei kiinnitetty tarpeeksi huomiota. Tämä aiheuttikin lopulta hieman ongelmia. www.niksula.cs.hut.fi/~jjkankaa// TESTAUKSEN LOPPURAPORTTI 5
Mikko Viljainen 6 (14) 5. Arviointi Ohjelma testattiin kattavasti sekä ryhmän että opponenttien toimesta. Yhtään tunnettua bugia ei jäänyt korjaamatta. Geneerisyyden testaaminen jäi kuitenkin vähemmälle kuin ajateltiin. Ohjelmaa ei päästy testaamaan kuin muutaman eri tietolähteen kanssa. Tämä ei kuitenkaan ole mitenkään vakava puute, sillä kyseessä ovat rajapinnat. Varsinainen ohjelman ydin ei ole näistä riippuvainen. Muutokset ryhmän kokoonpanossa aiheuttivat sen, että alkuperäisessä testaussuunnitelmassa ei pysytty. Erityisesti demosovellusta varten tehdyt osiot jäivät pois, yksikkötestausta oli kevennettävä eikä alun perin käytettäväksi suunniteltuja työkaluja otettu käyttöön, vaan tehtiin 2 sopivampaa luokkaa sekä Log4j-loki. Testauksen päätyttyä ohjelma on varmistettu olevan määritelmien mukainen ja asiakkaan vaatimukset täyttävä. 6. Yhteenveto toimenpiteistä Riskeistä toteutui henkilöstöriski. Yksi ryhmän jäsen jätti kurssin kesken. Tämä aiheutti suuria mullistuksia projektissa. Alun perin suunniteltu demosovelluksen testaus jäi lopulta kokonaan pois ja henkilöstön väheneminen aiheutti työpaineita ryhmän jäsenille. Aikataulujen kiristyminen näkyi erityisesti testauksessa, johon kaikki kasautui. Testausraportti myöhästyi palautuksesta kerran tämän vuoksi. Testausprosessia yksinkertaistettiin ja kevennettiin. Pääpaino siirtyi integraatio- ja järjestelmätestaukseen. Moduulitestaus jäi kunkin moduulin tekijälle. Tämä järjestelmä toimi ilmeisen hyvin, sillä opponenttiryhmä ei löytänyt testatessaan yhtään virheitä. Testauksen toimenpiteet: Moduulitestaus: Kukin koodaaja vastasi itse koodinsa oikeellisuudesta ja testasi omat moduulinsa ja korjasi ne. Integraatiotestaus: www.niksula.cs.hut.fi/~jjkankaa// TESTAUKSEN LOPPURAPORTTI 6
Mikko Viljainen 7 (14) Testaus rakentui TestClassin ympärille, joka kehittyi koko ajan testin edetessä. TestClassin alkumuotoja on luettavissa testcasesuunnitelmista ja sen lopullista muotoa käytettiin hyväksi käyttöohjeen esimerkeissä. Käyttöohje kirjoitettiin integraatiotestauksen yhteydessä. Testaus suuntautui aina joillekin tietyille ennaltavalituille osa-alueille lukuunottamatta viimeisiä regressiotestauksia. Testauksessa läsnä olivat aina testaaja sekä osa-alueesta vastannut koodaaja. Bugit paikallistettiin ja korjattiin aina heti paikan päällä. Järjestelmätestaus: Testaus rakentui ThreadClassin ympärille. Alkuperäisessä versiossa tapahtui 100 käyttäjän samanaikainen sisäänkirjoittautuminen ja komentojen suorittaminen. Tätä luokkaa muuttamalla testattiin järjestelmän turvallisuutta ja suorituskykyä. Integraatiotestauksen TestClassia käytettiin geneerisyyden testaamiseen. 7. Hyväksyminen Ryhmän omaksumat käytännöt näyttivät toimivan hyvin. Koodaajien suorittama yksikkötestaus toimi moitteettomasti. Koodaajan osallistuminen testaukseen oli suureksi avuksi testaajalle. Lisäksi bugien korjaaminen paikan päällä heti löydettäessä toimi hyvin. Tällöin bugit oli helposti jäljitettävissä ja korjaukset voitiin varmentaa heti. Tämä toimi nopeasti. Riskienhallinta toimi myös hyvin ja ainoa näkyvä seuraus kokoonpanon muutoksesta oli aikatauluongelmat testauksessa. Se mitä testauksessa jäi parannettavaa, oli muutoksenhallinta. Kaksi eri ryhmää muutti samaa koodia samanaikaisesti. Vahingot jäivät kuitenkin pieniksi. Projektipäällikkö hyväksyy tämän dokumentin ja näin koko testauksen. www.niksula.cs.hut.fi/~jjkankaa// TESTAUKSEN LOPPURAPORTTI 7