Ohjelmistojen testaus, harjoitus 1

10.9. - 14.9.2007
Oppikirja, luvut 1-4

1. Lataa ja asenna JUnit. Löydät JUnitin osoitteesta http://www.cs.helsinki.fi/u/taina/ohte/s-2007/download/. Voit myös halutessasi käyttää sovelluskehittimen yhteydessä olevaa JUnit-pakettia. Tällainen löytyy esimerkiksi Eclipse-sovelluskehittimelle.

2. Kirjoita Javalla metodi painoindeksi, joka saa syötteenä kaksi liukulukua. Ensimmäinen liukuluku tulkitaan painoksi kiloina ja toinen pituudeksi metreinä. Metodi palauttaa saamiensa parametrien mukaisen painoindeksin.

Painoindeksi lasketaan kaavalla wi = w/(l*l), missä w=paino kiloina ja l=pituus metreinä.

Kirjoita JUnitilla testit, jotka mielestäsi testaavat tekemäsi metodin hyvin.

3. Kirjoita Java-ohjelma, joka saa komentoriviltä syötteenä kolme kokonaislukua. Kokonaisluvut tulkitaan kolmion sivujen pituuksiksi. Ohjelma palauttaa tiedon siitä, onko sivujen mukainen kolmio tasasivuinen, tasakylkinen vai epäsäännöllinen.

Kirjoita edelliselle ohjelmalle JUnitilla testit, jotka mielestäsi testaavat ohjelman hyvin.

4. Luennoilla (kalvo 10) ja oppikirjassa (kuva 2.1) on esitelty geneerinen verifioinnin ja validoinnin prosessimalli. Malli näyttää kovasti lineaariselta. Kehitä mallista versio XP-prosessimallille.

5. Pelkkä vaatimuksen kuvaus SRS:ssa ei tee siitä verifioitavaa. Anna kolme esimerkkiä vaatimuksista, jotka eivät ole sellaisenaan verifioitavissa. Muokkaa tämän jälkeen vaatimukset sellaiseen muotoon, että verifiointi on mahdollista tehdä.

Vihje: toiminnot on yleensä kohtuullisen helppo verifioida: katsotaan vain, että ohjelma toteuttaa toiminnon. Helpoimmalla pääset, kun mietit muita vaatimuksia kuin toimintoja.

6. Mitkä A&T:n periaatteet ohjaavat seuraavia päätöksiä?

  1. Käytetään sisäisissäkin tiedostoissa luettavaa rakennetta aina kun vain on mahdollista.
  2. Koodista löydetyt ja poistetut virheet analysoidaan ja luokitellaan tietovarastoon.
  3. Erotellaan testaus ja virheenjäljitys (debugging). Virheenjäljityksessä testillä löydetyn virheen aiheuttaja etsitään koodista.
  4. Erotetaan testien suunnittelu testien suorituksesta.
  5. Tuotetaan yksityiskohtaiset virheraportit.
  6. Käytetään testitapausten suunnittelusta saatua tietoa vaatimusten ja SRS:n parantamiseen.
  7. Tarjotaan rajapinta, jonka kautta luokan tila voidaan tarkistaa täydellisesti.


Juha.Taina@poistatama.cs.helsinki.fi
Last modified: Fri Sep 7 18:09:10 EEST 2007