Testing av objektorienterte systemer Testplanlegging Ivar Andreas Bonsaksen Remi Karlsen Jonas Lepsøy Stian Rostad Per Øyvind Solhaug Andreas Tønnesen Software engineering Gruppe 4 http://www.ia-stud.hiof.no/master_grp_4/
Testing av objektorienterte systemer #1 Testing av kode Still følgende spørsmål: - Koden forventer unik verdi Finnes det en sti som gir unikt resultat? - Koden tar flere mulige verdier Gir stiene unikt resultat? - Finnes det nyttige tilfeller som ikke blir håndtert? Søk opp: - Manglende objekter - Unødvendige klasser - Manglende eller unødvendige assosiasjoner - Feilplasserte assosiasjoner eller attributter
Testing av objektorienterte systemer #2 Forskjell mellom OO og tradisjonell testing #1 Kompleksiteten i OO-systemer ligger ofte i koblingen mellom objektene. Enhetstester Enkelt Integrasjonstesting Komplekst En arvet metode krever ekstra testing dersom: Metoden blir redefinert Metoden har en spesiell oppførsel i en subklasse Andre metoder i klassen skal være konsistente
Testing av objektorienterte systemer #2 Forskjell mellom OO og tradisjonell testing #2
Testplanlegging #1 Faser i en testplan Testplaner hjelper oss til å designe og organisere testene som skal utføres på systemet, og kan deles inn i følgende faser: Finne testobjektiver Designe testtilfeller Skrive testtilfeller Teste testtilfeller Utføre tester Evaluere testresultater
Testplanlegging #2 Hensikten med en testplan Fungerer som en guide/organisator for alle testaktiviteter i form av: Hvem utfører de forskjellige testene Hvorfor blir testene utført Hvordan blir testene gjennomført Når skal testene utføres Testplanen er med på å vise oppdragsgiver at systemet fungerer som det skal, altså at ønsket funksjonalitet er testet ut i henhold til kravspesifikasjonen.
Testplanlegging #3 Testplanens innhold