Ohjelmistojen testaus, harjoitus 2

17.9. - 21.9.2007
Oppikirja, luvut 9 - 11

1. Käy hakemassa ohjelma jSudoku osoitteesta http://www.cs.helsinki.fi/u/taina/ohte/s-2007/download/jSudoku.tar ja asenna se koneellesi.

2. Osita jSudokun toiminnot riippumattomasti testattaviksi ominaisuusjoukoiksi ja listaa kunkin joukon parametrit arvoalueineen.

(Jos et tehnyt ykköstehtävää, voit kokeilla jSudokua lataamalla sen suoritettavana ohjelmana osoitteesta http://sourceforge.net/projects/jsudoku/.)

3. Oletetaan, että testipaketti A täyttää riittävyysehdon C1 ja testipaketti B täyttää riittävyysehdon C2. Oletetaan lisäksi, että riittävyysehto C2 sisältää (subsumes) riittävyysehdon C1: jos C2 on voimassa, niin myös C1 on voimassa. Voimmeko olla varmoja, että kaikki A:lla löydetyt virheet löydetään myös B:lla?

4. XP-prosessimallissa halutun ominaisuuden kuvaus voi olla yksi lause, mutta toteutuksen ensimmäinen askel on suunnitella ja toteuttaa testitapaukset. Onko tämä ristiriidassa kirjassa esitetyn vaatimuksen kanssa, jonka mukaan testitapaukset johdetaan vaatimusmäärittelydokumentista?

5. Olkoon meillä ohjelma, joka saa syötteenä merkkijonon. Merkkijono tulkitaan suomalaiseksi henkilötunnukseksi. Ohjelma palauttaa tiedon siitä, onko syöte laillinen henkilötunnus. Tee ohjelmalle luokittelutestauksen mukaiset tesitapausmäärittelyt.

Löydät henkilötunnuksen rakenteen Väestörekisterikeskuksen sivuilta.

6. Kirjoita Javalla metodi, joka ratkaisee toisen asteen yhtälön ax^2+bx+c=0 juuret. Kertoimet a, b ja c ovat kokonaislukuja väliltä -100,100. Juuret annetaan double-tyypin lukuina.

Kirjoita JUnitilla metodillesi parittaisen kombinaatiotestauksen mukaiset toiminnalliset testit.

Juuret saat kaavasta x = (-b +/- sqrt(b^2-4ac))/2a, missä sqrt on neliöjuurioperaattori.


Juha.Taina@poistatama.cs.helsinki.fi
Last modified: Thu Sep 13 13:56:09 EEST 2007