Rakenteellinen testaus (white box)

Samankaltaiset tiedostot
Ohjelmistotuotanto, s

Ohjelmistotuotanto, s2001 2/27/2003

Testaus ja laadunvarmistus

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:

Kontrollipolkujen määrä

Dynaaminen analyysi III

Dynaaminen analyysi III Luento 5 Antti-Pekka Tuovinen

Yhteenveto. Menettelytavat

Ohjelmiston testaus ja laatu. Testausmenetelmiä

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

58160 Ohjelmoinnin harjoitustyö

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi. Verifiointi- ja validointitekniikat. Verifiointi- ja validointitekniikat II

Onnistunut Vaatimuspohjainen Testaus

Laadunvarmistustekniikat

811120P Diskreetit rakenteet

Harjoitustyön testaus. Juha Taina

Ohjelmistotuotanto s

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Menetelmäraportti Ohjelmakoodin tarkastaminen

Lohtu-projekti. Testaussuunnitelma

811120P Diskreetit rakenteet

Ohjelmien analysointi. ER-kaaviot

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Dynaaminen analyysi IV

Ohjelmistotuotantoprojekti

Testaussuunnitelma Labra

Dynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

Convergence of messaging

Testaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Testaussuunnitelma. Asdf. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Yksikkötestaus. Kattava testaus. Moduulitestaus. Ohjelman testaus. yksikkotestaus/ Seija Lahtinen

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Ohjelmistotuotanto, kurssikoe , H. Laine Arvostelu

Tietorakenteet ja algoritmit - syksy

Kuopio Testausraportti Asiakkaat-osakokonaisuus

7. Verifiointi ja validointi

Ohjelmistojen mallintaminen Olioiden yhteistyö Harri Laine 1

Test-Driven Development

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen

Systemaattinen apina ja miten se tehdään fmbt:llä

DOORS 7.1 Test Tracking Toolkit

Testaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

TAMPEREEN TEKNILLINEN YLIOPISTO

Test-Driven Development

Testaussuunnitelma. Ohjelmistotuotantoprojekti Nero. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Ohjelmistotuotanto, verifiointi ja validointi Syksy Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi

Testaussuunnitelma. Ohjelmistotuotantoprojekti XPerf. Helsingin yliopisto. Tietojenkäsittelytieteen laitos

UML -mallinnus TILAKAAVIO

Algoritmit 1. Luento 10 Ke Timo Männikkö

Ohjelmiston testaus ja laatu. Testaustasot

Ohjelmiston testaussuunnitelma

Muistutus aikatauluista

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Testaussuunnitelma. Opeapuri. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

TAMPEREEN TEKNILLINEN YLIOPISTO

Ohjelemistotuotanto, syksy 1998 /Prosessi Prosessimallit

TESTIRAPORTTI - XMLREADER-LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 2)

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Algoritmit 2. Luento 11 Ti Timo Männikkö

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto)

Dynaaminen analyysi I

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

Avaa ohjelma ja tarvittaessa Tiedosto -> Uusi kilpailutiedosto

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito

Ohjelmistojen mallintaminen kertausta Harri Laine 1

Ohjelmoinnin perusteet Y Python

Automaattinen yksikkötestaus

Staattinen testaus. Luento 5 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

ELM GROUP 04. Teemu Laakso Henrik Talarmo

P e d a c o d e ohjelmointikoulutus verkossa

Ohjelmistojen mallintaminen Tietovuokaaviot Harri Laine 1

Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen

TIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori

BlueJ ohjelman pitäisi löytyä Development valikon alta mikroluokkien koneista. Muissa koneissa BlueJ voi löytyä esim. omana ikonina työpöydältä

Tietojärjestelmän osat

Ohjelmistojen mallintaminen

Tilastollisten menetelmien soveltaminen ohjelmistojen luotettavuuden analysoinnissa

T Testiraportti - järjestelmätestaus

Luokkatestauksen piirteitä: metodit. 4. Luokkatestaus (B, 10) Luokkatestauksen piirteitä: yliluokat. Luokan valmistelu. Alfa-Omega syklin vaiheet

Ohjelmistojen suunnittelu

Ohjelmiston toteutussuunnitelma

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

Datatähti 2019 loppu

TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN Virtuaaliyhteisöjen muodostaminen Versio 1.0

Kuopio Testausraportti Kalenterimoduulin integraatio

Yksittäishyväksyntä ja komponenttiluettelo

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Algoritmit 2. Luento 2 To Timo Männikkö

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä

T SEPA päiväkirja

Transkriptio:

Rakenteellinen testaus (white box) Rakenteellinen testaus erustuu ohjelman rakenteen hyväksikäyttöön - tieto ja kontrollivuoesityksiin tietovuo (data flow) - tiedon kulku kontrollivuo (ontrol flow) - kontrollin kulku Kontrollin kulkua voidaan kuvata erinteisellä kulkukaaviolla (flowhart, käsiteltiin suunnittelun yhteydessä) juntion ase Kontrollin kulku vuokaavio 1-1 vastaavuus ohjelmakoodin kanssa jokainen lause näkyy kaaviossa liian yksityiskohtainen testauksen kannalta vuoverkko (flowgrah) abstraktio vuokaaviosta kontrollin haarautumis- ja yhtymiskohdat esitetään verkon solmuina (node) eräkkäiset suoritettavat lauseet yhdistyvät yhdeksi rosessiksi Harri Laine 129

ohjelmasta vuoverkoksi roedure sort begin while reords_remain begin end; end while; end; read reord; reord.field1 = 0 then begin roess reord; store in buffer; Inrement ounter; end else begin reord.field2=0 then begin reset ounter; end else begin roess reord; store in file; end; ohjelmaa vastaava kulkukaavio read while Harri Laine 229

kohti vuoverkkoa - lauseet rosesseiksi read while kohti vuoverkkoa - haarautumasolmut read while Harri Laine 329

kohti vuoverkkoa - rosessisolmut read while jotkut esitykset esim. Pressman jättävät vuoverkon tällaiseksi kohti abstraktia vuoverkkoa - rosessit särmiin 1 3 read 2 while 4 roess store inrement 6 5 7 Harri Laine 429

vuoverkon käsitteitä vuoverkon olku (ath), reitti: jono linkkien yhdistämiä solmuja sama solmu voi esiintyä olulla useaan kertaan (silmukat) segmentti: olun osajono segmentin ituus: segmentin solmujen lukumäärä täydellinen olku (omlete ath): olku, joka alkaa vuoverkon alkusolmusta ja äättyy sen lousolmuun alkusolmu: ei sisääntulevia linkkejä (esimerkissä 1) lousolmu: ei ulosmeneviä linkkejä (esimerkissä 7) vuoverkon käsitteitä 1 alkusolmu 2 4 3 7 lousolmu 6 5 lyhin täydellinen olku: 1,2,7 silmukallinen täydellinen olku: 1,2,3,6,2,7 Harri Laine 529

vuoverkon käsitteitä MCaben komleksisuusmitta (ylomati omlexity) merk. V(G) verkolle G ohjelman vuoverkon alueiden määrä V(G)= E-N+2, missä E=särmien määrä ja N=solmujen määrä V(G)= P+1, missä P on verkon haarautumasolmujen lukumäärä käytetään mittaamaan ohjelman monimutkaisuutta käytetään laskettaessa tarvittavien testien lukumäärää vuoverkon käsitteitä - MCaben komlesisuusmitta haarautumasolmut 1 4 3 2 7 5 V(G)= E-N+2= 9-7+2 =4 V(G)= P+1 = 3+1 =4 Harri Laine 629

Polkutestaus Polkutestauksessa on tarkoitus valita testiaineistot siten, että ne aiheuttavat tiettyjen vuoverkon olkujen suorituksen On määritelty erilaisia kattavuusmittoja olkutestaukselle: olkukattavuus (ath overage) käydään läi kaikki mahdolliset täydelliset olut (olku/ testiajo) usein mahdotonta koska olkuja on liian aljon Polkutestaus lausekattavuus (statement overage) käydään jokaisessa ohjelman lauseessa, eli jokaisessa vuoverkon solmussa ja rosessisärmässä, vähintään kerran testiajojen yhteydessä haara- eli äätöskattavuus (branh/deision overage) käydään ohjelman jokaisen ehdon kaikki arvot (kaikki vuoverkon särmät) läi vähintään kerran testiajojen aikana MCaben komleksisuusmitta antaa tällöin tarvittavien testiajojen vähimmäismäärän yleisesti tavoitelty kattavuus Harri Laine 729

Polkutestaus ehtokattavuus (ondition overage) ohjelman jokaisen äätöksen kaikkien osaehtojen on saatava kaikki arvonsa testiajojen aikana moniehtokattavuus (multile ondition overage) testaus on suoritettava ohjelman jokaisen aatöksen osaehtojen kaikilla arvoyhdistelmillä silmukkatestaus (loo testing) suoritetaan ohjelman toistolauseita (vuoverkon silmukallisia olkuja) useamaan kertaan saman testiajon aikana (koska virheet kasautuvat silmukoihin) 0 kertaa, 1 kerta, tyyillinen määrä, maksimimäärä, mäksimi+1 kertaa tarkentaa haarakattavaa testausta Polkutestaus täydellistä kattavuutta voi olla mahdoton saavuttaa a<100 then begin b:=a; ---- ---- ei sijoituksia b:lle ---- b>100 then begin ------- end; end; saavuttamaton kohta Harri Laine 829

Polkutestaus Esimerkki: (x!=0) and (z>=0) then y:= z/x; end; (x!=0) and (z>=0) yes y:= z/x no Lausekattavuus: x=1, z=0: yes 1 testiajo Päätöskattavuus: x=1, z=0: yes x=1, z=-1: no 2 testiajoa Polkutestaus Esimerkki: (x!=0) and (z>=0) then y:= z/x; end; (x!=0) and (z>=0) yes y:= z/x no Ehtokattavuus: x=0: no, z=0: yes: no x=1: yes, z=-1: no: no 2 testiajoa mutta yes-haara jää testaamatta Harri Laine 929

Polkutestaus Esimerkki: (x!=0) and (z>=0) then y:= z/x; end; (x!=0) and (z>=0) yes y:= z/x no Moniehtokattavuus: x=0: no, z=0: yes: no x=0: no, z=-1: no: no x=1: yes, z=0:yes: yes x=1: yes, z=-1: no: no 4 testiajoa Tietovuotestaus Tarkastellaan tietorakenteiden tilamuutoksia ohjelman suorituksen aikana tarkentaa olkutestausta tilamuutokset arvon asettaminen (definition) arvon hyväksikäyttö (use) erustuu ohjelmaa vastaavan tietovuoverkon (data flowgrah) systemaattiseen läikäyntiin tietovuoverkko on vuoverkko, jota on täydennetty tietyn tietorakenteen tilamuutosten kuvauksilla Harri Laine 1029

Tietovuotestaus tietorakenteet tilat d: tietorakenne saa uuden arvon u: tietorakennetta käytetään : laskennassa : äätöksenteossa (haarautumisehdossa) k: tietorakenteen tuhoaminen, rakenne tulee määrittelemättömäksi (killed) Tietovuotestaus roedure sort begin while reords_remain begin end; end while; end; read reord; reord.field1 = 0 then begin roess reord; store in buffer; Inrement ounter; end else begin reord.field2=0 then begin reset ounter; end else begin roess reord; store in file; end; Harri Laine 1129

Tietovuotestaus read d while muuttujan reord tilamuutokset merkittynä vuoverkkoon Tietovuotestaus Määrittelytön segmentti muuttujan x suhteen: x:lle arvon asettavasta linkistä alkava segmentti, joka ei sisällä muita x:lle arvon asettavia tai x:n tuhoavia linkkejä Tietovuotestauksessa ohjelmaa käydään läi tilamuutosten d, u,, ja k ohjaamana Harri Laine 1229

Tietovuotestaus read d while leveä viiva: esimerkki määrittelyttömästä segmentistä Tässä esimerkissä uusi silmukan kierros aloittaa uuden määrittelyttömän segmentin Tietovuotestaus kaikki käytöt strategia (all uses) jokaisen muttujan x suhteen käydään läi vähintäin yksi jokaisesta x:n määrittelystä (d) alkava määrittelytön segmentti jokaiseen kyseisen määrittelyn käyttöön (,) Harri Laine 1329

Tietovuotestaus read while d kaikki reord käytöt tarvitaan ainakin 3 testitietuetta Tietovuotestaus kaikki määrittelyt strategia (all definitions) jokaisen muuttujan suhteen käydään läi vähintäin yksi jokaisesta x:n asetuksesta johonkin x:n käyttöön johtava segmentti lievemi kuin kaikki käytöt Harri Laine 1429

Tietovuotestaus read d while muuttujan reord kaikki määrittelyt - riittää testata yksi olku Tietovuotestaus rogram examle(inut,outut) var x, itseisarvo:integer; begin read(x); x>0 then itseisarvo:=x else begin x.=-x; itseisarvo:=x; end; write(x, itseisarvo); end. Harri Laine 1529

Tietovuotestaus- x:n tietovuoverkko d read <0 >0 d x:=-x Tietovuotestaus- x:n tietovuoverkko jos valitaan vaikkaa arvo 5 tarvitaan vielä toinenkin testiajo jotta kaikki määrittelyt toteutuisi d read <0 >0 d x:=-x Harri Laine 1629

Tietovuotestaus- x:n tietovuoverkko jos valitaan arvo -5 tarvitaan vain yksi testiajo kaikki määrittelyt strategialla d read <0 >0 d x:=-x Tietovuotestaus kaikki du-olut strategia (all du-aths) jokaisen muttujan x suhteen käydään läi kaikki mahdolliset x:n asetuksesta alkavat ja sen käyttöön johtavat määrittelyttömät segmentit tiukemi kaikki käytöt, jotkin -käytöt startegia jokaisen muuttujan suhteen käydään läi vähintään yksi joikaisesta x:n asetuksesta alkava määrittelytön segmentti jokaiseen kyseisen määrittelyn -käyttöön, ellei tällaista ole valitaan vähintään yksi -käyttöön johtava segmentti Harri Laine 1729

Tietovuotestaus- x:n tietovuoverkko all du-aths tarvitaan kaksi testiajoa all - some tarvitaan kaksi testiajoa d read <0 >0 d x:=-x Testauskattavuuksien suhteita vahvemi kaikki du-olut kaikki käytöt kaikki -käytöt/jotkin -käytöt heikomi kaikki määrittelyt haarakattavuus lausekattavuus Harri Laine 1829

Testaus ja virheen aikantaminen blak box moduuli tiedetään - ei tarkemaa sijaintia white box - olkutestaus virhe sijaitsee jossain testatulla olulla white box - tietovuotestaus jokin kuljetun olun d-linkki on virheellinen tai d-linlkki uuttuu Testaussuunnitelmat Testauksen kohde ja sen asema suhteessa ymäristöönsä Testauksen tavoitteet Mihin tavoitteisiin on yritty Mitä on jätetty ulkouolelle Rajoitukset Kriittiset tekijät (aikataulu,resurssit,yms) Kytkennät muihin tuotteisiin Hyväksymiskriteerit (kokonaiskriteerit - yksityiskohdat) Testiymäristö laitteistoymäristö ohjelmistoymäristö mahdolliset erot tuotantoymäristöön Harri Laine 1929

Testaussuunnitelmat Yleiskuva testeistä, luettelo ja mahdollinen riorisointi mitkä ennen luovutusta, mitkä jälkeen, luettelo voi toimia ohjana testiraortille Testien yksityiskohdat Mitä testataan, Miten testataan (aineistot,yms.) Hyväksymiskriteerit (konkreettisia true/false tai mittalukuja) Voidaan ryhmitellä suunnitelmassa eri tavoin, esim. testattavan asian mukaisesti Asennustestit, Integrointitestit, Liittymätestit, Toimintotestit, Käyttöliittymätestit, Suojaustestit, Varmistustestit, Resurssirajatestit, Yhteensoivuustestit, Yhdessätoimivuustestit, Dokumentaatiotestit, Elvytystestit, Stressitestit, Luotettavuustestit, Uusittavat testit - kun tehty muutoksia, jne Testaussuunnitelmat Toimintatavat Virheraortointi kenelle ja miten - voi vaihdella taauskohtaisesti Raortointi Tilanneraortit Louraortti yhteenveto testeistä toistojen / taausten määrä / lääisymäärä milloin tulokset Harri Laine 2029

Esimerkki: HYTKY/Tietovuotoimitin Testauksen kohde: Tavoite: Hyväksyminen: Testiymäristöt: Perustoiminnot Osoittaa, että erustoiminnot toimivat määritysten mukaisesti. Kaikki testit hyväksytään kummassakin testiymäristössä. Targa / Intel 486DX/33 MS-Windows 3.11 ja IBM PS2/70 /Intel 386DX/25 MS-Windows 3.1 Esimerkki: HYTKY/Tietovuotoimitin Testit: Perustoiminnot oheisen käyttötaauskaavion mukaisesti Käyttötaaus Testi ----------------------------------------------------------- Tallennus Lataus Syntaksitestit - eri kokoisilla ja tyyisillä aineistoilla Latautuvuustestit - eri kokoisilla ja tyyisillä aineistoilla Latautuvuustestit Kohteen valinta Valintatestit Prosessin luonti Tasotestit Sijaintiaikkatestit jne... ---------------------------------- Harri Laine 2129

Testikuvaus: Tallennus / Syntaksitestit Tarkoitus: Varmistua siitä, että malli tallentuu oikean muotoisena Kriteeri: Muoto määritelty suunnitelman liitteessä 3. Varmistus silmämääräisesti vertaamalla tulostiedostoa muotomäärittelyyn. Riiuvuudet: Kohteiden luontitestit tehtävä ennen näitä. Testitaaukset: 1. Tyhjä malli Tehtävä ennen latautuvuustestejä. Laaditaan vuorovaikutteisesti ohjelmistolla: Tarkistetaan mallitietojen tallentuminen. 2. Yhden rosessin malli Alikaaviotietojen ja rosessitietojen tallentuminen. 3. Yhden tason usean kohteen malli. Kohteiden tiedot tallentuvat 4. 2 tason usean kohteen malli. Kaavioiden välisten riiuvuuksien tallentuminen. 5. 3 tason usean kohteen malli - yksiuolinen ja kaksiuolinen tarkennos Huom. Iisätasot samanlaisia, joten ei tareen testata. Testikuvaus: Tallennus/Lataus Latautuvuustestit Tarkoitus: Kriteeri: Riiuvuudet: Testitaaukset: Varmistua siitä, että lataus ja tallennustoiminnot ovat yhteensoivia. Tallennettu malli latautuu ohjelmistoon samanmuotoisena kuin se oli tallennettaessa ja kohteen valinta sekä sukellusoeraatiot toimivat ladatussa mallissa. Kohteiden valintatestit ja sukellustestit tehtävä ennen näitä.tallennuksen syntaksitestit tehtävä ennen. Testataan tallennuksen syntaksitestin yhteydessä luoduilla tallennustiedostoilla. Harri Laine 2229

Oliorakenteen ja olio-ohjelman testaus Suunnitelmatasolla: käyttötaausohjaisten testitaausten läikäynti olioroolielinä (CRC-kortit) olioiden ominaisuudet ja niiden alvelut kuvaavat kortit Perintä ja olymorfismi tuovat mukanaan testausongelmia (mutta oistavat myös joitakin) voi olla vaikea hahmottaa minkä luokan alvelu varsinaisesti suoritetaan ohjelmoijalla on voinut olla väärä käsitys siitä miten alvelu kehittyy luokkahierarkiasssa alvelun valinta erustuu olymorfismiin, jolloin virheelliseen valintaehtoon liittyviä ongelmia ei esiinny Oliorakenteen ja olio-ohjelman testaus Käyttötaausohjaiset testitaaukset - testaavat yhteistyötä testitaaukset käyttötaausten ilmentymiä Yksikkötestausta vastaa luokan testaus metodien satunnaiset suoritusjärjestykset elinkaaritestaus - tilakaavion ohjalta ositus : testataan vain osaa luokasta olion tilaa muuttavat & olion tilan säilyttävät metodit attribuuttierustainen ositus toimintojen kategorisointiin ohjaustuva jaottelu (alustus, laskenta, kysely,., loetus) Harri Laine 2329

Vuorovaikutteisten järjestelmien testauksesta: Käyttäjä ohjaa toimintaa Vaihtoehtoisia olkuja runsaasti Jos syötteet voidaan antaa vain vuorovaikutteisesti, voi tilanteen toisto olla hankalaa nauhoitus komentojono Pohjaksi tarvitaan malli käyttäjän toiminnoista esim. käyttötaausmalliin erustuva malli Ositetaan toiminta riittävän ieniin osiin Vuorovaikutteisten järjestelmien testauksesta: Määritellään testitaaukset osakohtaisesti missä tilassa oltava, voidaan käyttää auna tila-automaattia mitä tehdään mitä itäisi taahtua mistä nähdään, että se mitä iti taahtua todella taahtui Ohjelmat itäisi toteuttaa siten, että toiminta on riiumatonta toimintaketjuista riittää testata erustoiminnot - moodittomuus Harri Laine 2429

Vuorovaikutteisten järjestelmien testauksesta: Tyyillisiä testattavia tilanteita ikkunatasolla: ikkunoiden avautuminen voiko ikkunoiden kokoa muuttaa ystyykö tietoa käsittelemään kaikilla määritellyillä tavoin uudistuuko ikkuna kun se tulee esiin toisen takaa tai kun se alautetaan ovatko kaikki toiminnot käytettävissä ovatko kaikki kontrollit esillä onko ikkunat oikein nimetty onko aktiivinen ikkuna selkesti merkitty äivittyvätkö ikkunat aiheuttavatko toistuvat tai virheelliset hiirivalinnat sivuvaikutuksia sulkeutuuko ikkuna oikein Vuorovaikutteisten järjestelmien testauksesta: Tyyillistä testattavaa valikoihin ja hiirioeraatioihin liittyen ovatko oikeat valikkovaihtoehdot tarjolla kussakin yhteydessä toimivatko valikot asianmukaisesti toimivatko vetovalikot kunnolla ovatko valikkovaihtoehdot valittavissa hiirellä ovatko fontit oikein onko yhteyteen soimattomat toiminnot estetty (harmaannutettu) ovatko vaihtoehtojen nimet kuvaavia toimiiko avustus tunnistaako järjestelmä hiirioeraatiot oikein eri tilanteessa muuttuuko hiirikursori tilanteen mukaisesti Harri Laine 2529

Virheenjäljitys Onnistunut testi johtaa tareeseen jäljittää virhe Varsin huonosti systematisoitu alue virhe voi olla kaukana ulkoisesta ilmenemisaikastaan virheen korjaaminen voi tilaäisesti estää muiden virheiden ilmenemisen virheen syy saattaa olla käyttäjässä virheellistä toimintaa voi olla vaikea toistaa virhe voi johtua ohjelmointikielen tai laitteistoarkkitehtuurin erityisiirteistä Virheenjäljitys Virheenjäljitys on ongelmanratkaisutilanne, johon auttaa kokemus näkökulman vaihto Jäljitysmenetelmiä raaka työ työkalujen mekaaninen käyttö: muistivedokset (dum) suoritusjäljitin (trae, debugger) suuri määrä tulosteita vaikea löytää tarvittavaa tietoa Harri Laine 2629

Virheenjäljitys eruutus lähdetään havaitusta häiriöstä ja eruutetaan mahdollisia toimintaolkuja itkin tietovuoviialoijaa käyttämällä (esim.hyersoft) ohjelma näyttää miten virhekohtaan johtavat tietovuot ja mahdollistaa niiden seuraamisen syiden eliminointi induktio: kerää virheeseen liittyvät tiedot hyoteesi virheen syystä hyoteesin testaus deduktio: kerää mahdolliset syyt eliminoi syitä havaintojen erusteella Virheiden korjaus Ennen löydetyn virheen korjausta, olisi syytä ohtia: Esiintyykö samantyyinen virhe myös muualla ohjelmassa? jos esiintyy, niin korjataan Aiheuttaako muutos mahdollisesti uusia virheitä ohjelmaan? jäljitetään sivuvaikutukset Mitä olisi itänyt tehdä toisin, ettei virhettä olisi syntynyt vältetään jatkossa, oiva tuotantorosessi Harri Laine 2729

Tarkastukset (insetion, review) Asiantuntijoiden suorittama ohjelmistodokumentin (myös koodi on dokumentti) manuaalinen läikäynti, jolla yritään löytämään virheitä tavoite: laadunvarmistus tuotantorosessin aikana, ennen ohjelmakoodin testausta tarkastukset ovat tehokas taa arantaa laatua kun yksikkötestaus löytää n. 15-50% ja järjestelmätestaus 25-55% virheistä, löytyy määrämuotoisessa suunnittelun tarkastuksessa 45-65% ja määrämuotoisessa koodin tarkastuksessa 45-70% virheistä (Jones: Software defet removal, (IEEE) Comuter, Aril, 1996, 94-95) Tarkastukset (insetion, review) Roolit määrämuotoisessa tarkastuksessa uheenjohtaja (moderator) valvoo, että tarkastus sujuu sääntöjen mukaan huolehtii siitä, että jokainen hoitaa oman tehtävänsä alustaja (reader) johtaa dokumentin tarkastusta toimii esilukijana, selittää/tulkitsee dokumentin sisältöä muulle ryhmälle, valitsee etenemisjärjestyksen tekijä (author) dokumentin laatija selittää kohdat, joita alustaja tai muut ryhmäläiset eivät ymmärrä Harri Laine 2829

Tarkastukset (insetion, review) sihteeri (reorder) kirjaa löytyneet viat auttaa uheenjohtajaa raortoinnissa tarkastaja (insetor) etsii virheitä dokumentista kaikki ryhmän jäsenet ovat tarkastajia Voidaan käyttää määrämuotoisia lomakkeita vikojen raortointiin öytäkirjaksi yhteenvetoihin Tarkastukset (insetion, review) Suunnittelu onko dokumentti tarkastuskunnossa roolien jako ajan ja aikan varaus Toimitus/ esittely tekijä esittelee dokumentin muille tarkastajille, jos tareen dokumentti toimitetaan tarkastajille Tutustuminen huolellinen tutustuminen dokumenttiin virheiden merkintä Harri Laine 2929

Tarkastukset (insetion, review) Tarkastustilaisuus dokumentti käydään läi alustajan johdolla sihteeri kirjaa viat aremi, että tekijä ei ole sihteerinä virheitä ei korjata eikä syitä selvitetä kokouksessa vian vakavuusaste kirjataan Jälkitoimet virheet korjataan mahdollinen uusintatarkastus uheenjohtaja voi hyväksyä korjaukset Harri Laine 3029