Ohjelmistojen testaus, harjoitus 5

8.10. - 12.10.2007
Oppikirja, luvut 17, 20, 21
Juhani Snellman pitää vierailuluennon ensi tiistaina 9.10.2007 klo 10:15-12:00 auditoriossa CK112. Tervetuloa!

1. Laajat tulosteet saattavat olla esteenä luonnolliselle vertailuun perustuvan oraakkelin toteutukselle. Esimerkiksi joskus suoritusloki (execution log) voi sisältää niin paljon tietoa, että eri testitapausten lokien ylläpito ei ole käytännössä mahdollista. Esitä tehokkaampia lähestymistapoja vertailupohjaisten oraakkelien toteutukseen tilanteissa, jolloin koko testin tulosteen tallentaminen ei ole mahdollista.

2. Katselmointi (review) on manuaalinen yhteistyöhön perustuva staattisen analyysin tekniikka, jota voidaan käyttää mihin tahansa tuotokseen vaatimusdokumentista lähdekoodiin kautta testaussuunnitelmiin. Lue artikkeli K. E. Wiegers, When two eyes are not enough osoitteesta http://www.processimpact.com/articles/two_eyes.pdf ja kirjoita lyhyt yhteenveto esitellyistä tekniikoista. Mitkä tekniikat sopisivat mielestäsi XP-prosessimallin mukaisiin projekteihin (pariohjelmointi on ilmeinen, mutta entä muut tekniikat)?

3. Oletetaan, että olet ulkopuolisen testausryhmän johtaja. Ryhmänne tarjoaa testauspalveluja projekteille. Testauksessa seuraatte V-mallia. Nyt olette päättäneet parantaa prosessianne.

Suunnittele testausprosessinne ydinkohdat. Mitkä ovat mielestäsi prosessinne ydinasioita? Mitä prosessissanne pitäisi mielestäsi ottaa erityisesti huomioon ja millä tavalla?

Vihje. Tässä on muutamia esimerkkejä prosessin osa-alueista, joita ehkä pitäisi ottaa erityisesti huomioon:

  • Testausstrategia: Miten päätetään, kuka päättää, miten seurataan?
  • Mittaus: Mitä mitataan, miten mittoja tulkitaan?
  • Testaustyökalut: Mitä työkaluja käytetään, miten?
  • Henkilökunta: Miten henkilökuntaa motivoidaan? Miten uudet työntekijät integroidaan tiimiin?
  • Tuotokset: Miten tulokset validoidaan?

4. Eräässä graafisen editorin tekoprojektissa käytettiin COTS-komponenttia (commercial off-the-self) XML-tiedostojen lukemiseen ja kirjoittamiseen. Integrointitestauksessa huomattiin, että ohjelma kaatui tilanteissa, joissa luettiin tyhjää tiedostoa tai sellaista tiedostoa, joka sisälsi syntaksivirheen.

Luokittele edellisen esimerkin mukaiset virheet kirjan luvussa 21.1 (sivu 407, myös luentokalvot, kalvo 146) esitetyllä taksonomialla.

5. Design by contract (DBC) on ohjelmointiparadigma, jonka mukaan suunnittelijoiden pitää määritellä täsmälliset verifioitavissa olevat rajapintamäärittelyt kaikille ohjelmakomponenteille ja sekä palvelun käyttäjän että tarjoajan tulee totella määrittelyjä kaikissa tilanteissa. Onko DBC vastaus integrointitestauksen ongelmiin? Miksi? Miksi ei? Valmistaudu keskustelemaan DBC:n eduista ja haitoista harjoituksissa.

Löydät lisätietoja DBC:sta osoitteesta http://archive.eiffel.com/doc/manuals/technology/contract/

6. Täytä ja palauta kurssikysely osoitteessa http://ilmo.cs.helsinki.fi/kurssit/servlet/Valinta?kieli=fi

Voit halutessasi täyttää kurssikyselyn vasta kurssikokeen jälkeen. Tässä tapauksessa voit merkitä harjoituksen tehdyksi harjoitusryhmässäsi.


"> Juha.Taina@*poistatama*cs.helsinki.fi
Last modified: Thu Oct 4 14:15:45 EEST 2007