Testitapausten suunnittelu Sytyke-risteily 3.9.2002 Anna-Liisa Sihvonen
Ohjelmistotestauksen kaksi perusongelmaa Testipaketin luominen olemassaolevan kuvauksen perusteella Erillisten testitapausten määrä
Lisäongelmia Testauksen kattavuus Käytettävissä olevat resurssit Aika
Eräs tapa ratkaista ongelmia: Kehitetty tieteellisen kokeensuunnittelun avuksi, jotta pienimmällä mahdollisella koemäärällä löydettäisiin kaikki riippuvuudet
Miten sitä käytetään ohjelmistotestauksessa? Testitapausten suunnittelu matriisin avulla, jossa muuttujat ja niiden mahdolliset arvot -> luodaan eri kombinaatioita, jotka ovat testitapauksia Tavoite on löytää yhden muuttujan vaikutus tulokseen ja mahdollinen muuttujien yhteisvaikutus
Esimerkki: Neljä muuttujaa, kullakin kolme arvoa Kaikkien kombinaatioiden testaus 3 4 = 81 testitapausta Ortogonaalimatriisilla (vahvuus 2) 9 testitapausta 0000 0112 0221 1011 1120 1202 2022 2101 2210
Miksi tämä (muka) toimii? Jokaisen yksittäisen parametrin vaikutus tulokseen saadaan selville (analysis of means) Muuttujaparien vaikutus saadaan selville Estää ajautumisen ad hoc -testaukseen Käytännössä testitapauksia tulee paljon enemmän kuin ad hoc -metodilla -> kattavampi testaus Statistinen testaus
Huomioonotettavia asioita Parametrit toisistaan riippuvia -> yhdistä riippumattomiksi esim. valtio ja kunta valintalistassa Kaikilla parametreillä ei aina yhtä paljon arvoja Ei ole automaatti, tarvitaan suunnittelua Sarakkeita saa poistaa!
Linkkejä ja kirjallisuutta Library of OA: http://www.research.att.com/~njas/oadir/ OAs in C (Source code): http://lib.stat.cmu.edu/designs/oa.c Taguchi metodi, OA selector: http://www.freequality.org/doc/attach/tamatrix.htm Madhav S. Phadke: Quality Engineering Using Robust Design
Pähkinä purtavaksi: Matkatoimisto ReissuRepe ReissuRepe järjestää matkoja kahteen eri kohteeseen: Timbuktuun ja Ouagadougouhun. Matkan pituus voi olla yksi tai kaksi viikkoa. Matkalla majoitutaan yhden tähden hotelliin. Matkaa ei voi varata ilman majoitusta. Matkaan on liitetty myös ohjelmaa: asiakas voi valita ohjelmatyypiksi seikkailu tai nähtävyydet. Uusi varausjärjestelmä Repe on tilannut töitä helpottamaan uuden varausjärjestelmän, joka toimii firman nettisivujen kautta. Netin kautta asiakas voisi hakea erilaisia matkoja, niiden hintoja ja tehdä varauksen. Ikävä kyllä järjestelmän testaus on jäänyt tekemättä.
Suunnittele testitapaukset asiakkaan haku-toiminnolle kuvauksen perusteella. a) Tee taulukko, johon kokoat muuttujat ja niiden mahdolliset arvot. b) Muodosta kaikki mahdolliset testitapaukset ja laske niiden määrä. c) Valitse testitapauksista osa niin, että muuttujien arvojen muodostaman PARIT esiintyvät vain kerran testitapausten joukossa. d) Vertaa saamaasi tulosta ortogonaalimatriisiin O(4, 3, 2, 2): e) Mikä jäi puuttumaan? 0 0 0 0 1 1 1 0 1 1 1 0
Vastaus a) Muuttujat: Pituus Kohde (Majoitus) Ohjelma Yksi viikko Timbuktu (Hotelli, yhden Seikkailu tähden) Kaksi viikkoa Ougadougou Nähtävyydet
b) Kaikkien kombinaatioiden lukumäärä: 2 3 =8 # Pituus Kohde Ohjelma 1 Yksi viikko Timbuktu Seikkailu 2 Yksi viikko Timbuktu Nähtävyydet 3 Yksi viikko Ougadougou Seikkailu 4 Yksi viikko Ougadougou Nähtävyydet 5 Kaksi viikkoa Timbuktu Seikkailu 6 Kaksi viikkoa Timbuktu Nähtävyydet 7 Kaksi viikkoa Ougadougou Seikkailu 8 Kaksi viikkoa Ougadougou Nähtävyydet
c) Muuttujien arvojen parit: # Pituus Kohde 1 Yksi viikko Timbuktu 2 Yksi viikko Timbuktu 3 Yksi viikko Ougadougou 4 Yksi viikko Ougadougou 5 Kaksi viikkoa Timbuktu 6 Kaksi viikkoa Timbuktu 7 Kaksi viikkoa Ougadougou 8 Kaksi viikkoa Ougadougou # Pituus Ohjelma 1 Yksi viikko Seikkailu 2 Yksi viikko Nähtävyydet 3 Yksi viikko Seikkailu 4 Yksi viikko Nähtävyydet 5 Kaksi viikkoa Seikkailu 6 Kaksi viikkoa Nähtävyydet 7 Kaksi viikkoa Seikkailu 8 Kaksi viikkoa Nähtävyydet # Kohde Ohjelma 1 Timbuktu Seikkailu 2 Timbuktu Nähtävyydet 3 Ougadougou Seikkailu 4 Ougadougou Nähtävyydet 5 Timbuktu Seikkailu 6 Timbuktu Nähtävyydet 7 Ougadougou Seikkailu 8 Ougadougou Nähtävyydet
c) & d) Testimatriisi # Pituus Kohde Ohjelma 1 Yksi viikko Timbuktu Seikkailu 2 Yksi viikko Ougadougou Nähtävyydet 3 Kaksi viikkoa Timbuktu Nähtävyydet 4 Kaksi viikkoa Ougadougou Seikkailu e) Negatiivinen testaus