Testaus. tulosavaruus. Testaus
|
|
- Kauko Otto Katajakoski
- 8 vuotta sitten
- Katselukertoja:
Transkriptio
1 Testaus Johdanto: Mitä testaus on (ja mitä se ei ole) Testauksen ongelmia Testaustasot, V-malli Testitapausten valinta Testauksen kattavuus Työkalut Suunnittelu, seuranta ja dokumentointi Oliokeskeisyys ja testaus Kansanviisauksia Esimerkki Testaus Testing Testing is is the the process process of of exercising exercising a a program program with with the the specific specific intent intent of of finding finding errors errors prior prior to to delivery delivery to to the the end end user. user.
2 Testaus ohjelma syöteavaruus ohjelmakoodi tulosavaruus X Y sisäinen tila Johtopäätös? Syöteavaruuden koko ja mahdollisten tilojen määrä on niin valtava, ettei edes pienen ohjelman kattava testaus ei ole käytännössä mahdollista. Reaaliaikajärjestelmän tapauksessa tilanne on kertaluokkaa ongelmallisempi. Testaamalla voi siis osoittaa, että ohjelmassa on virheitä, ei sen virheettömyyttä. Testaus Testaus on systemaattista virheiden etsimistä -- ei sattumanvaraista ohjelman kokeilua. Testauksen tarkoitus on osoittaa että ohjelmassa on virheitä. Mitä enemmän virheitä löytyy, sitä onnistuneempi testi on. Virhe on ristiriita spesifikaation ja toteutuksen välillä. Virheiden jäljitys eli debuggaus ei ole testausta. Tehtäviä... Testaussuunnitelman laatiminen. Ensimmäinen versio jo määrittelyvaiheessa. Testauksen tavoitteet kussakin testissä. Testikohtaisesti testitapausten suunnittelu. Testausympäristöjen luonti. Testauksen suoritus. Tulosten tarkastelu.
3 Error, fault, failure Virhe (error, kansanomaisesti bugi) ihmisen tekemä möhläys, esimerkiksi ohjelmointivirhe tai virhe dokumentissa. ohjelmiston poikkeaminen sen spesifikaatiosta Kun virheellinen ohjelmankohta suoritetaan, se saattaa aiheuttaa vian (fault). Järjestelmä on nyt tilassa, joka ei ole sen määrittelyn mukainen. Vika puolestaan voi aiheuttaa häiriön (failure), joka on vian ilmeneminen järjestelmän ulkoisessa käyttäytymisessä. kaikki viat eivät johda virheeseen Testauksesta Virheiden määrä? hyvä ohjelmoija tuottaa noin yhden virheen / 200 riviä koodia keskikokoisessa ohjelmistossa helposti satoja virheitä! Virheen poistaminen testauksessa kuluttaa noin 12 työtuntia testaus on tehoton ja kallis tapa varmistua ohjelmiston toimivuudesta testauksella ei voida koskaan osoittaa ohjelmiston tomivuutta, vain virheellisyys Missä virheet sijaitsevat? 25% ohjelmakoodin lauseissa 22% tietorakenteissa 16% spesifikaation tulkinnassa 9% modulien integroinnissa... 8% spesifikaatioissa
4 Testauksen ongelmia Asenne: testauksella yritetään osoittaa ohjelman toimivuus, ei toimimattomuus. Testauksen aliarvostus: "ne jotka eivät muuta osaa, testaavat". Milloin testaus voidaan lopettaa: kun rahat/aika loppuu? Onko kaikki testattu? Mihin tehdyt korjaukset vaikuttavat? Testien toistaminen korjausten jälkeen (regressiotestauksen työmäärä). Testin toistettavuus (ajastukset ja muut hallitsemattomat ilmiöt), esimerkkejä: osoittimien käyttö (yllättävän usein) reaaliaikajärjestelmä, hajautettu järjestelmä ja graafinen käyttöliittymä....testauksen ongelmia Moduulitestauksessa testausympäristö. Testaustyökalujen vaikutus järjestelmän toimintaan. Järjestelmä on maantieteellisesti laaja (hajautettu). Poikkeamien havaitseminen on vaikeaa (esimerkiksi niiden pienuuden takia) Ei tiedetä, mikä oikean tuloksen pitäisi olla. Tilanteet, jota ei voida testitilanteessa järjestää (ohjelmistoissa on lähes aina tällaisia osia). Tulosten toteaminen oikeaksi, kun järjestelmän toimintaa ei voida seurata ulkopuolelta.
5 Testauksen V-Malli Määrittely Arkkitehtuurisuunnittelu Moduulisuunnittelu Testauksen suunnittelu ja tulosten verifiointi Moduulitestaus Integrointitestaus Järjestelmätestaus Ohjelmointi V-malli yksikkötestaus, modulitestaus (unit testing) testataan jokainen komponentti (moduli, luokka,...) spesifikaatiotaan vastaan (jos sellainen on tehty) yleensä white box testausta integrointitestaus (integration test) komponenttien yhteistoiminta validointitestaus (validation testing) ohjelmiston vastaavus vaatimusmäärittelyyn pääsääntöisesti järjestelmätestaus (system testing) koko järjestelmän testaus asennettuna laitteistot mukana black box V-malli kytkee rakennus ja testausvaiheen toisiinsa, testaussuunnitelma laaditaan testausvaihetta vastaavassa rakentamisvaiheessa käytännössä useita pieniä V-malleja iteratiivisen vaiheistuksen sisällä
6 V-malli Moduulitestauksessa testausympäristö. Testaustyökalujen vaikutus järjestelmän toimintaan. Järjestelmä on maantieteellisesti laaja (hajautettu). Poikkeamien havaitseminen on vaikeaa (esimerkiksi niiden pienuuden takia) Ei tiedetä, mikä oikean tuloksen pitäisi olla. Tilanteet, jota ei voida testitilanteessa järjestää (ohjelmistoissa on lähes aina tällaisia osia). Tulosten toteaminen oikeaksi, kun järjestelmän toimintaa ei voida seurata ulkopuolelta. Moduulitestaus Testattava moduli Testitulokset Ohjelmistosuunnittelija (yleensä) Testitapaukset (testcase) Moduulitestaus (module testing, unit testing) varmistaa, että yksittäiset moduulit toimivat määrittelynsä mukaisesti irrallisena kokonaisuutena. esim. toimivatko paikalliset tietorakenteet Ohjelmoija tekee yleensä itse, tosin korkeaa virheettömyyttä vaativissa sovelluksissa käytetään ulkopuolista testaajaa.
7 Moduulitestausympäristö Ajuri Moduli rajapinta lokaalit tietorakenteet rajatapaukset suorituspolut virheelliset syötteet Tynkä Tynkä Testitapaukset RESULTS Testiajuri (driver) ajaa testitapauksia Puuttuvat testattavan modulin tarvitsemat modulit korvataan tynkämoduleilla (stub) Integrointitestaus Integrointitestaus testaa moduulien välisiä liittymiä. toimiiko tiedonvälitys rajapinnoissa toimiiko modulien kytkentä (ajoitukset realiaikajärjestelmissä) kokonaisuutta tekeekö modulijoukko kokonaisuutena mitä pitää testaus tehdään teknistä määrittelyä vastaan mitä aiemmin aloitetaan, sitä aiemmin nähdään ongelmia arkkitehtuurissa Testaus etenee usein rinnan moduulitestauksen kanssa joko kokoavasti (bottom up) tai jäsentävästi (top down). Jäsentävässä integroinnissa joudutaan rakentamaan kutsuttavia funktioita varten tynkämoduuleita (test stubs). Kokoavassa vaihtoehdossa tarvitaan usein testipetejä (test bed, test driver). Reaaliaikajärjestelmän ohjelma koostuu tavallisesti useista tehtävistä (task, multitasking) => myös tynkäprosessien käyttö on usein hyvä idea. Kaksi perusstrategiaa Inkrementaalinen "Big bang" on yleensä ongelmallinen
8 Inkrementaalinen integrointitestaus A T1 A T1 A T1 T2 B T2 T2 B T3 B T3 C T3 T4 C T4 D T5 Test sequence 1 Test sequence 2 Test sequence 3 Integrointitestaus top down A Ylin moduli testataan tynkien avulla B F G Tynkämodulit korvataan oikeilla yksi kerrallaan C D E Lisättäessä uusia moduleita, Aikaisemmat testit ajetaan uudelleen (ainakin osa) Tynkämoduleilla on sama rajapinta kuin varsinaisella, mutta rajallinen funktionaalisuus
9 Integrointitestaus bottom up A B F G C Testiajurit korvataan testatuilla klustereilla Yksi kerrallaan Moduleista kootaan klustereita D E cluster modulit implementoidaan ja testataan aloittaen hierarkian alaosasta moduleista kootaan klustereita (tyypillisesti jonkin toiminnon toteuttavia) integraatiotestauksessa koko järjestelmä näkyy testiajurina Integrointitestaus testauksen eteneminen Level 1 Testing Level 1 sequence... Level 2 Level 2 Level 2 Level 2 Level 2 stubs top down bottom up Level 3 stubs T est d ri vers Lev el N L evel N L e vel N Lev el N Lev e l N Testin g s eq uen ce T est d ri v ers Lev el N 1 L ev el N 1 Lev el N 1
10 Integrointitestaus Suurin ongelma integrointitestauksessa on löytyneiden virheiden lokalisointi - mistä anomalia testin tulosteessa johtuu? interaktiot modulien välillä ovat kompleksisia, käyttääkö joku moduli toisen rajapintaa väärin? onko kyseessä modulin sisäinen virhe jota ei löydetty modulitestauksessa? Virheen lokalisointia helpottaa inkrementaalinen integraatio ja testaus sopimuspohjainen ohjelmointi (onko vika kutsujassa vai kutsuttavassa) realiteetteja järjestelmän ominaisuuksien implementaatio saattaa jakaantua usealle modulille, jollon integroinnin inkrementti on iso virheitä saattaa löytyä uuden modulin lisäyksen seurauksena jo integroiduista ja testatuista osista järjestelmää rajapintavirheiden korjaus vaatii usein koko integraatiotestauksen uudelleensuorittamista koska rajapintaa käyttävät muutkin kuin s e moduli jonka yhteydessä virhe tuli esille Top-down vs. bottom up vertailukriteerejä Arkkitehtuurin testaus top-down löytää todennäköisemmin virheitä arkkitehtuurista aikaisessa vaiheessa bottom-up testing ei vaadi arkkitehtuurin kiinnittämistä XP-tyyppinen ohjelmistoprosessi mahdollinen Järjestelmän toiminta top-down antaa toimivan tynkä järjestelmän heti alussa demonstraatio (feasibility), protoilu, psykologinen motivaattori validointitestaus voi alkaa ennen kuin koko integraatio on tehty Testien toteuttaminen top-down vaatii tynkämodulien toteuttamisen, mikä saattaa olla työlästä bottom-up vaatii ajurien toteutuksen, usein helpompaa Tulosten kerääminen top-down rakentamisessa yleensä ylimmät (kontrolli-) tasot eivät tuota mitään näkyvää tulostetta pitää toteuttaa ylimääräisiä toimintoja raportoimaan mitä järjestelm ässä tapahtuu bottom-up vaatii usein ajureihin testattavien modulien toimintaa tarkkailevia ja tuloksia kerääviä osia. Käytännössä käytetään melkein aina yhdistelmää molemmista strategioista
11 Järjestelmätestaus Järjestelmätestauksessa varmistetaan, että järjestelmä toimii määrittelynsä mukaisesti (ja käyttöohjeensa). Testauksen voi suorittaa ulkopuolinen ryhmä (suositeltavaa) Virheiden korjaus kallista. testataan ei toiminnalliset ominaisuudet: luotettavuus-, toipumis-, turvallisuus- ja kuormitustestit (vasteajat, volyymit). Yhteensopivuus muiden järjestelmien kanssa. Muita testauksen muotoja kenttätestaus hyväksymistestaus alfatestaus betatestaus regressiotestaus release testing käytettävyystestaus suorituskykytestaus...
12 Testitapausten valinta Testidata syöte ohjelmalle testaustarkoitukseen Testitapaus (test case) testidata testausjärjestelmään ja sitä vastaava spesifikaatioiden perusteella tehty ennustus suorituksen tuloksesta mikäli ohjelmisto toimii oikein Perusstrategioita testitapausten valintaan Lasilaatikkotestaus, rakenteellinen-, sisäinen testaus (white-box testaus, classbox testing) ohjelman rakenne (koodi) tunnetaan polkutestaus (paht testing): testitapaukset valitaan siten että mahdolliset suorituspolut koodissa tulevat kattavasti läpikäytyä täysi kattavuus ei ole mahdollista Harmaalaatikkotestaus tunnetaan ohjelman toteutusperiaatteita joita käytetään hyväksi testitapausten valinnassa Testitapausten valinta Mustalaatikkotestaus, toiminnallinen-, ulkoinen testaus (Black-box testaus, functional testing) testaus perustuu ohjelman ulkoisesti havaittavaan toimintaan testitapaukset valitaan spesifikaatioiden perusteella, ohjelmasta ei tiedetä mitään (musta laatikko) syöte suoritus tulos ok? avainkysymys on testitapausten valinta siten että virheiden löytyminen on todennäköistä ekvivalenssi-ositus ek vivalenssiositus: jaetaan syötteet (ja tulosteet) ekvivalenssiluokkiin, mikä tahansa arvo luokassa edustaa koko luokkaa. Valitaan joka luokasta yksi arvo. raja-arvoanalyysi: Valitaan ekvivalenssiluokista rajatapaukset. voidaan soveltaa sekä syöteavaruuteen että tulosavaruuteen. Virheenarvaus (tarkastuslista tavallisimmista virheistä).
13 Testauksen kattavuus white box Valittu polku 14 Tällä modulilla on 10 erilaista Suorituspolkua! loop < 20 X Käytetään kontrolloitua polkutestausta, pyritään kattavuuteen muilla määritelmillä loop < 20 X Polkutestaus - testauksen riittävyys kattavuusmitoilla Polkutestauksessa testitapaukset valitaan siten että tietty kattavuuskriteeri saadaan täyttymään testauspolitiikka määrää kattavuuden Kattavuusmittoja polkutestaukselle Lausekattavuus: Int palkka 100% => jokainen lause suoritetaan vähintään kerran. if ehto {... Palkka=123...} Heikkoudet return Palkka Ei ota huomioon haarautumisia kontrollirakenteissa joten paljon jää suorittamatta ei ota huomioon modulin sisäisen tilan vaikutusta lauseen suoritukseen
14 Testauksen riittävyys kattavuusmitoilla Päätöskattavuus (haarakattavuus, decision coverage): jokainen ehtolauseke saa vähintään kerran molemmat arvonsa (T/F), ts. ehdollisen rakenteen molemmat haarat suoritetaan. McCaben kompleksisuusmitta antaa testiajojen vähimmäismäärän Yleisesti vaadittava minimikattavuus Heikkous: ehtojen kaikkia osia, saatikka sitten kombinaatioita ei testata If (palkka>1000) orf (ylitoita andf paivitaylityot()>1000) {...} else {...} Testiaineistot: palkka=1234 (ehtolauseke tosi) ja palkka=0, ylitoita=epätosi (ehtolauseke epätosi) (orf = &&, andf = ) Testauksen riittävyys kattavuusmitoilla Ehtokattavuus (condition coverage): jokainen ehtolausekkeen osa (or/and-yhdistämä) saa vähintään kerran molemmat arvonsa (T/F). Ei impilikoi välttämättä päätöskattavuutta: If (palkka>1000) and (ylitoita) {...} else {...} Testiaineistot: palkka=1234 ja ylitoita=epätosi (ehtolauseke epätosi) ja palkka=0, ylitoita=tosi (ehtolauseke epätosi) (huom : and on tässä normaali and-operaatio, ei c-tyylinen oikoevaluointi) Vaatimalla sekä päätös/ehtokattavuus korjataan yo. ongelman.
15 Testauksen riittävyys kattavuusmitoilla Moniehtokattavuus (multiple condition coverage): jokainen päätös evaluoidaan vähintään kerran kaikilla mahdollisilla ehtojen totuusarvojen yhdistelmillä. If (palkka>1000) orf (ylitoita andf paivitaylityot()>1000) {...} else {...} palkka>0 T F F F ylitoita - F T T paivitaylityot()> T F Päätös/moniehtokattavuus vaatii lisäksi päätöskattavuuden. Testauksen riittävyys kattavuusmitoilla Polkukattavuus: kaikki suorituspolut (lukukumäärä, silmukoiden käsittely). Montako polkua? i=0 while i<20 loop if ehto1 then if ehto2 then L1 else L2; else if ehto3 then L3 else L4; end while Funktiokattavuus: onko rajapinnan kaikkia funktioita testattu. Kutsukattavuus: onko kaikki funktiokutsut suoritettu. Silmukkakattavuus: silmukat suoritettu 0, 1 ja monta kertaa. Tilakattavuus: kaikki tilat&tilasiirtymät Poikkeuskattavuus...
16 Kattavuusmitat käytännössä Kannattaa mitata: tarkoituksena on löytää puutteita testiaineistossa, ei niinkään todistaa testauksen perusteellisuutta. Prosenttilukujen tulkinnassa kannattaa olla varovainen suuri kattavuus ei välttämättä tarkoita hyvää testausta mitat eivät välttämättä ole keskenään vertailukelpoisia 100% kattavuus käytännössä usein mahdottomuus Yleensä tavoitteena esimerkiksi 85% kattavuus (lause- tai päätöskattavuus) Kattavasti testattu ei ole kattavasti testattu. Kattavuus ei ota huomioon olion tilaa. Milloin testattu riittävästi?
17 Milloin testattu riittävästi? Mutkikkuusmitat: Voidaan arvioida mm. koodin laatua (esimerkiksi alihankinnat), ohjelman "rispaantumista" ylläpidossa ja testauksen vaativuutta. Halsteadin mitta: lähinnä historiallista merkitystä McCaben syklomaattinen numero G on ohjelman kontrolliverkko ja c päätösten määrä Ohjelman syklomaattinen numero v(g) = c+1 Virheiden kylväminen Ohjelmassa X virhettä (X tuntematon). Kylvetään N virhettä. Testauksessa löytyy X' oikeaa virhettä ja N' kylvettyä virhettä. Oletetaan, että X'/X = N'/N. Siis ohjelmassa on yhteensä X = X'N/N' virhettä, joista vielä X-X' kpl on löytämättä. sovellettavissa myös tarkastusmenettelyyn Black Box - Testauksen kattavuus (toiminnallinen testaus) Testattavan syöteavaruuden kattaminen on mahdotonta Arvoaluetestaus (domain testing) Arvoalue syntyy syötemuuttujan tyypistä sekä spesifikaatiossa määritellyistä rajoista, modulin käyttörajapinnan esiehdoista Esim. kokonaislukusyöte x, sallitut arvot x? [0, 200] Valitaan testitapauksiin Tapaus arvoalueen sisältä Arvoalueen rajat Tapaukset heti arvoalueiden ulkopuolelta Esimerkissä testitapauksiksi tulisivat arvot 50, 0, 200, -1, 201 Ekvivalennsitestaus Arvoalueet jaetaan ekvivalenssiluokkiin joille on voimassa Jokainen ekvivalenssiluokan arvo antaa saman testituloksen (toimii oikein tai ei) Käytännössä: paljastaa virheen samalla todennäköisyydellä Testitapauksia valitaan yksi jokaisesta ekvivalenssiluokasta Ekvivalenssiluokan rajat valitaan myös testitapauksiksi
18 Black Box - Testauksen kattavuus Ekvivalenssiluokkien määrittely Aiempi arvoalueen jakaminen: arvoalueen sisältä ja ulkoa Syötteet ovat jollain perusteella samaan luokkaan kuuluvia Tulosteet ovat jollain perusteella samaan luokkaan kuuluvia Luokittelu sellaisten ominaisuuksien mukaan jotka todennäköisimmin aiheuttavat virheitä Modulin (julkisesta) määrittelystä Syötteet jotka ovat esiehdon mukaisia Syötteet jotka eivät ole esiehdon mukaisia Syötemuuttujien rakenteesta Esim. vektorista tyhjä vektori, yksialkioinen, monialkioinen, järjestetty, Black Box testitapausten valinta esimerkki: binäärihaku procedure Search (Key : ELEM ; T: ELEM_ARRAY; Found : in out BOOLEAN; L: in out ELEM_INDEX) ; Pre-condition -- the array has at least one element T FIRST <= T LAST Post-condition -- the element is found and is referenced by L ( Found and T (L) = Key) or -- the element is not in the array ( not Found and not (exists i, T FIRST >= i <= T LAST, T (i) = Key ))
19 Esimerkki jatkuu syötteen ekvivalenssipartitiot 1) Esiehdot täyttyvät, etsitty arvo taulukossa 2) Esiehdot täyttyvät, etsitty arvo ei taulukossa 3) Esiehdot eivät täyty, etsitty arvo taulukossa 4) Esiehdot eivät täyty, etsitty arvo ei taulukossa 5) Taulukossa vain yksi alkio 6) Taulukossa parillinen määrä alkioita 7) Taulukossa pariton määrä alkioita 8) Etsitty arvo taulukossa ensimmäisenä, viimeisenä 9)... Kohdat 5-9 voidaan lukea myös rakenteelliseen testaukseen, sillä näiden ekvivalenssiluokkien perusteet löytyvät koodista Syötteen ekvivalenssipartitiot ja testitapaukset Array Single value Single value More than 1 value More than 1 value More than 1 value More than 1 value Element In sequence Not in sequence First ele ment in sequence Last element in sequence Middle element in sequence Not in sequence Inp ut sequ ence (T) Key (Key) Output (Found, L) true, false,?? 17, 29, 21, true, 1 41, 18, 9, 31, 30, 16, true, 7 17, 18, 21, 23, 29, 41, true, 4 21, 23, 29, 33, false,??
20 Testaustyökalut Testikattavuusanalysaattorit Purify, Bounds Checker: osoitinongelmat, muistivuodot Profilointiohjelmat Vertailuohjelmat Testipetigeneraattorit, testiskriptit Emulaattorit, simulaattorit Nauhoitustyökalut, kuormageneraattorit Testauksen automatisointi? Testausympäristö, testipenkki testidatan generaattori spesifikaatio lähde koodi testipeti testidata oraakkeli profiloija testattava ohjelma testi tulokset testi ennusteet suoritus raportti simulaattori vertaaja raportti generaattori Testin tulosraportti
21 Testausprosessi Määrittelydokumentaatio Kokemus, tarkastuslistat Suunnitteludokumentaatio Laatujärjestelmän ohjeistus Vanha testaussuunnitelma Testauksen suunnitelu Testisuunnitelma Testaus Testiraportit Testauksen suunnittelu Projektisuunnitelma: mitä dokumentteja tuotetaan, kuka tuottaa ja milloin Sopimus ja/tai sen liitteet: Hyväksymiskoesuunnitelma joka kuvaa hyväksymiskriteerit, joita asiakas testaa hyväksymistestissä. Testauksesta saattaa olla hyvä tuottaa erillinen yleissuunnitelma: kuka vastaa ja mistä (mm. testiympäristöjen pystyttäminen jne.). Järjestelmätestaussuunnitelma: määrittelydokumentissa tai erillisenä dokumenttina. Integrointitestaussuunnitelma: suunnitteludokumentissa tai erillisenä dokumenttina. Moduulitestaus: Kunkin moduulin määrittelyyn liittyy testiympäristön määrittely ja testitapausten määrittely. Voi olla yleisohje, ei välttämättä erillistä suunnitelmaa
22 Testaussuunnitelma 1. Johdanto. 2. Testauksen kohde ja tavoitteet. 3. Testausympäristö. 4. Testauksen organisointi ja raportointi. 5. Testausstrategia ja integrointisuunnitelma. 6. Testattavat toiminnot. 7. Toimintojen testitapaukset, hyväksymiskriteerit. 8. Ei-toiminnallisten ominaisuuksien testaus. 9. Erikoistilanteet. 10. Ominaisuudet, joita ei testata. 11. Testauksen lopettamiskriteeri Seuranta Testeistä syntyy testiraportteja poislukien modulitestaus Asiakasreklamaatiot dokumentoitava. Laatujärjestelmän kehittämiseksi virheet on analysoitava ja tilastoitava virheiden löytymis-, syntymis- ja korjausajankohdat, testauksen kattavuusmitat, virheiden luokittelu (mild, moderate, annoying, disturbing, serious, very seriuos, extreme, intolerable, catastrophic, infectious) testauksen riittävyyttä voidaan parhaiten arvioida kokemukseen nojautuen
23 Oliokeskeisyyden vaikutus testaukseen Suurin vaikutus moduli- ja integraatiotestaus vaikea erottaa toisistaan Olioparadigmassa käytetään usein inkrementaalisia prosessia Ei eroja järjestelmätestaustasolla (?) Top-Down? Onko Top tasoa olemassa? Bottom-up? Onko edes hierarkiaa olemassa? Klusteritestaus! Alemmilla testaustasoilla lisäongelmia aiheuttavat periytyminen ja dynaaminen sitominen. Kun jotain on peritty, onko se testattava uudelleen? Vastaus näyttäisi (ikävä kyllä) olevan myönteinen. Vain hyvin yksinkertaisten funktioiden tapauksessa voi olla varma, että kantaluokalle tehty testaus riittää. Jos perityssä funktiossa käytetään dynaamista sitomista, ei voida olla varmoja funktion toimivuudesta uudessa ympäristössä. Kattavuus? Kaikki dynaamista sitomista sisältävät pitää testata päätöskattavasti (kutsukohtahan on tavallaan ehdollinen haarautuminen olion tyypin perusteella). OO testaus Luokan testaus vastaa modulitestausta Integrointitestauksessa kolme strategiaa Integroitavat ja testattavat klusterit pitää löytää jollakin tavalla sillä selvää hierarkiaa ei ole. Kolme tapaa Use-case testing (tai skenaariotestaus) Integroitavat ja testattavat klusterit muodostetaan suoraan käyttötapauksista Thread testing Integroidaan ja testataan tapahtumia (event) vastaan luokat jotka suorittuvat yhdessä säikeessä Klusteri testaus Ideana testata modulien (luokkien) klustereita jotka yhdessä aikaansaavat jotkut tietyt palvelut (one collaboration)
24 OO testaus Testaustasot Olioiden operaatioiden testaus (vastaa jotakuinkin funktion whitebox testausta) Luokkien testaus Kattavuusmitat? Kaikki operaatiot Kaikkien attribuuttien arvon asetus ja luku Kaikkien olion mahdollisten tilojen läpikäynti Yhteistyöklustereiden testaus (black box) Koko järjestelmän testaus (ei oo-erityispiirteitä) Luokkatestaus (esimerkki) WeatherStation identifier reportweather () calibrate (instruments) test () startup (instruments) shutdown (instruments) Test cases are needed for all operations Use a state model to identify state transitions for testing Examples of testing sequences Shutdown? Waiting? Shutdown Waiting? Calibrating? Testing? Transmitting? Waiting Waiting? Collecting? Waiting? Summarising? Transmitting? Waiting
25 Integrointitestaus (Skenaario perustainen esimerkki) :CommsController request (report) acknowledge () report () :WeatherStation summarise () :WeatherData send (report) reply (report) acknowledge () Thread of methods executed CommsController:request? WeatherStation:report? WeatherData:summarise Inputs and outputs needed for the test Input of report request with associated acknowledge and a final output of a report Can be tested by creating raw data and ensuring that it is summarised properly Use the same raw data to test the WeatherData object Interface testing (~rajapintatestaus) Osa integrointitestausta testataan integroitavien modulien, luokkien tai alijärjestelmien rajapintojen yhteensopivuus pyritään havaitsemaan virheitä joko rajapintojen toteutuksessa tai väärissä oletuksissa ja tulkinnoissa Erityisen tärkeä oliosuuntautuneissa järjestelmissä, modulit määritellään rajapintojensa kautta Test cases A B C
26 Interface testing rajapinta- ja virhetyyppejä Parametrirajapinta normaali datan välitys modulista toiseen Jaettuun muistiin perustuva rajapinta Metodi-rajapinta Tavallinen olion (tai ADT:n) julkinen rajapinta Viestivälitykseen perustuva rajapinta Palvelupyyntö viestinä, tulokset paluuviestinä Jotkut oliojärjestelmät, client-server arkkitehtuurit Väärin käytetty rajapinta kutsuva komponentti käyttää rajapintaa väärin Väärin ymmärretty rajapinta kutsuja olettaa rajapinnan palveluista jotain mikä ei pidä paikkansa Ajoitusvirheet kutsuja ja kutsuttava toimivat eri nopeuksilla, tarjolla oleva informaatio on vanhentunutta (esimerkiksi) Interface testing suunnittelun ohjeita Käytä testejä jotka aiheuttavat kutsuissa parametreille arvoja arvoalueen rajoilta Jos rajapinnassa välitetään osoittimia, testaa aina null-osoitin. Käytä testejä jotka aiheuttavat varmasti epäonnistumisen. Poikkeustilanteiden käsittely on yleisin rajapinnoissa väärin tulkittu alue. Viestinvälitykseen perustuvat rajapinnat on testattava suurilla volyymeillä, stress testing. Lisäät todennäköisyyttä löytää ajoitusvirheitä. Jaettuun muistiin perustuvissa rajapinnoissa, rajapintaa käyttävien modulien aktivointijärjestystä pitää vaihdella.
27 Kansanviisauksia Testauksen suorittaa joku muu kuin tekijä. Teoksessa [Kit 1995] on esitetty otsakkeen The Six Essentials of Software Testing alla seuraavat perusperiaatteet. The quality of the test process determines the success of the test effort. Prevent defect migration by using early life-cycle testing techniques. The time for software testing tools is now. A real person must take responsibility for improving the testing process. Testing is a professional discipline requiring trained, skilled people. Cultivate a positive team attitude of creative destruction. Tuotekehitysprojektissa järjestelmätestauksen loppuvaihe kestää pitempään, kuin osaat kuvitella edes pahimmissa painajaisunissasi. Kokeile, mutta älä luule, että se on testausta, suunnitelmallisuus on valttia. Test now or pay later; the later you find it, the more you pay.... kansanviisauksia A good test can never save a bad program. Älä poista testauspiirteitä ohjelmasta. Suorita "apinatestejä, ota pistoke irti seinästä. Tee/testaa muutokset ja lisäykset riittävän pieninä annoksina. Virheet kasaantuvat: jos jostain on löytynyt useita virheitä, lähistöllä on niitä vielä lisää. Dynaamisen muistin määrän kehityksestä kannattaa pitää kirjaa (roskaantuminen, satunnaiset kuormitushuiput). Tarkasta vielä kerran laskennan virhetilanteet: nollalla jako, yli/alivuodot sekä liukulukujen pyöristys. Tee myös testipetit kunnolla, suurin osa ajasta kuluu muuten virheiden hakuun testipeteistä. Jos poikkeustilanteita käsittelevää koodia on vähän, kaikkia poikkeustilanteita ei ole vielä otettu huomioon.
28 Reaaliaikajärjestelmien testauksen kansanviisaudet Motto: sulautetun ohjelmiston testaus alkaa siitä, mihin tavallisen ohjelmiston testaus loppuu. Testattavuus on otettava jo suunniteltaessa huomioon ja ohjelmoitava järjestelmään mukaan. Tuotantoversiossakin voi olla testauspiirteitä, jotka saa tarvittaessa kytkettyä toimintaan. Ensin sarjallisesti mahdollisimman perusteellisesti. Mahdollisimman pitkään kehityslaitteistossa ja sitten simulaattoreita ja emulaattoreita hyväksikäyttäen. Kriittiset osat on katselmoitava huolellisesti ja mahdollisesti todistettava oikeiksi (tai edes perusteltava vakuuttavasti, miksi kuviteltu riski ei pääse toteutumaan). Seuraa CPU:n käyttöastetta varsinkin muutosten jälkeen. Seurannan voi toteuttaa joko kellokeskeytyskäsittelijässä tai matalimman prioriteetin taustaprosessina. Kerää tilastoa poikkeustapauksista: menetetyt kellokeskeytykset ja oheislaitteiden ohjauksessa sekä tiedon siirrossa tapahtuneet virheet. Seinäkelloa voi tarpeen mukaan nopeuttaa tai hidastaa. Nopeuttamalla kelloa saadaan esimerkiksi koko vuosi nopeasti testattua. Tärkein asia viimeiseksi Automatisoi Testing is the testaus process mahdollisimman of exercising pitkälle a program with the specific intent of finding Automatisoitu errors prior to testaus delivery on to kääntäjän the end user. laajennos joka tarkistaa ohjelmistosi semantiikan!
Laadunvarmistustekniikat
Laadunvarmistustekniikat Ohjelmistojen laadunvarmistustekniikoita: testaus (testing) ohjelman suorittamista tarkoituksena löytää virheitä tarkastukset (inspections, reviews) asiantuntijoiden suorittamia
LisätiedotTestaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:
Testaus käsite Sekalaista asiaa Sami Kollanus 15.11.2006 Jos ajatellaan, että = V&V, voidaan erottaa: Staattinen Dynaaminen Toisaalta voidaan määritellä Myersin (1979) mukaan: Testaus on ohjelman suoritusta,
LisätiedotOhjelmistotuotanto s
Laadunvarmistustekniikoita Ohjelmistotuotanto 1 testaus (testing) ohjelman suorittamista tarkoituksena löytää virheitä tarkastukset (inspections, reviews) asiantuntijoiden suorittamia dokumentin (voi olla
LisätiedotKontrollipolkujen määrä
Testaus Yleistä Testaus on suunnitelmallista virheiden etsimistä Tuotantoprosessissa ohjelmaan jää aina virheitä, käytettävistä menetelmistä huolimatta Hyvät menetelmät, kuten katselmoinnit pienentävät
LisätiedotOhjelmiston testaus ja laatu. Testaustasot
Ohjelmiston testaus ja laatu Testaustasot Testauksen vaihejako Tarpeet / sopimus Järjestelmätestaus Hyväksymiskoe Määrittely testauksen suunnittelu ja tulosten verifiointi Arkkitehtuurisuunnittelu Moduulisuunnittelu
LisätiedotOhjelmiston testaus ja laatu. Testausmenetelmiä
Ohjelmiston testaus ja laatu Testausmenetelmiä Testausmenetelmiä - 1 Testauksen menetelmien päälähestymistapoina ovat black-box testi testaaja ei voi tutkia lähdekoodia testaus perustuu sovellukselle suunnitteluvaiheessa
LisätiedotTestausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testausdokumentti Kivireki Helsinki 17.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Anu Kontio Ilmari
LisätiedotVerifioinnin ja validoinnin ero. 7. Verifiointi ja validointi. Verifiointi- ja validointitekniikat. Verifiointi- ja validointitekniikat II
7. Verifiointi ja validointi Verifiointi ja validointi (V&V) on ohjelmistotuotannon työvaihe, missä varmistetaan, että ohjelmisto täyttää sille asetetut implisiittiset ja eksplisiittiset vaatimukset ja
LisätiedotTestaus elinkaaressa. Testaustasot ja vaiheet
Testaus elinkaaressa Testaus kehittämisen tukena Yksikkötestaus Integrointitestaus Testaustasot ja vaiheet Testaustaso = tietyn testauksen kohteen ja tavoitteen mukainen testaus joka jatkuu koko ajan tai
LisätiedotTestaaminen ohjelmiston kehitysprosessin aikana
Testaaminen ohjelmiston kehitysprosessin aikana 04.02.2004 http://cs.joensuu.fi/tsoft/ Sisällys 1. Johdanto 2. Yksikkö- ja integrointitestaus 3. Järjestelmätestaus 4. Hyväksymistestaus http://cs.joensuu.fi/tsoft/
LisätiedotDynaaminen analyysi I
Dynaaminen analyysi I Luento 6 Antti-Pekka Tuovinen 4 April 2013 1 Tavoitteet Testitapausten suunnittelun ja suorituksen perusteet Black-Box testitapausten suunnittelu Ekvivalenssiluokat Raja-arvo (reuna-arvo)
LisätiedotDynaaminen analyysi III Luento 5 Antti-Pekka Tuovinen
Dynaaminen analyysi III Luento 5 Antti-Pekka Tuovinen www.cs.helsinki.fi 16 April 2018 1 Tavoitteet White box testitapausten suunnittelutekniikat Lausekattavuus Haarautumakattavuus Ehto- ja polkukattavuus
LisätiedotDynaaminen analyysi III
Dynaaminen analyysi III Luento 8 Antti-Pekka Tuovinen 16 April 2013 1 Tavoitteet White box testitapausten suunnittelutekniikat Lausekattavuus Haarautumakattavuus Ehto- ja polkukattavuus Huomioita white
LisätiedotLaadunvarmistustekniikoita. Ohjelmistotuotanto. Testaus termejä. Testaus periaatteita. Testaus havaintoja. Testaus havaintoja
Laadunvarmistustekniikoita Ohjelmistotuotanto Ohjelmistojen testaus 1 Testaus (testing) ohjelman suorittamista tarkoituksena löytää virheitä Tarkastukset, katselmukset (inspections, reviews) asiantuntijoiden
LisätiedotTestaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testaussuunnitelma PULSU Syksy 2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 op) Projektiryhmä Heikki Manninen Noora Joensuu
LisätiedotConvergence of messaging
Convergence of messaging Testaussuunnitelma The Converge Group: Mikko Hiipakka Anssi Johansson Joni Karppinen Olli Pettay Timo Ranta-Ojala Tea Silander Helsinki 20. joulukuuta 2002 HELSINGIN YLIOPISTO
LisätiedotOhjelmistotuotantoprojekti
Ohjelmistotuotantoprojekti Ryhmä Muppett TESTAUSDOKUMENTTI Helsinki 5.8.2008 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti, kesä 2008 Projekti: Muutos- ja korjauspyyntöjen
LisätiedotOhjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus
Yhteenveto Ohjelmistotuotanto vs. muut insinööritieteet Monimutkaisuus Näkymättömyys (Usein näennäinen) luotettavuus ja edullisuus Muunnettavuus Epäjatkuvuus virhetilanteissa Skaalautumattomuus Copyright
LisätiedotTestaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science
Testaustyökalut Luento 11 Antti-Pekka Tuovinen 25 April 2013 1 Tavoitteet Työkalutyyppejä Testauksen hallinta Testien määrittely Staattinen analyysi Dynaaminen testaus 25 April 2013 2 1 Työkalut ja testaus
LisätiedotTestaussuunnitelma Labra
Testaussuunnitelma Labra Helsinki 25.8.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 Kurssi 581260 Ohjelmistotuotantoprojekti (9+1op) Projektiryhmä Anssi Kapanen,
LisätiedotHarjoitustyön testaus. Juha Taina
Harjoitustyön testaus Juha Taina 1. Johdanto Ohjelman teko on muutakin kuin koodausta. Oleellinen osa on selvittää, että ohjelma toimii oikein. Tätä sanotaan ohjelman validoinniksi. Eräs keino validoida
LisätiedotOhjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit
Ohjelmiston testaus ja laatu Ohjelmistotekniikka elinkaarimallit Vesiputousmalli - 1 Esitutkimus Määrittely mikä on ongelma, onko valmista ratkaisua, kustannukset, reunaehdot millainen järjestelmä täyttää
Lisätiedot58160 Ohjelmoinnin harjoitustyö
58160 Ohjelmoinnin harjoitustyö Testaus 30.3.2009 Tuntiop. Sami Nikander sami.nikander@helsinki.fi 58160 Ohjelmoinnin harjoitustyö, Sami Nikander 30.3.2009 1 Testaus Ohjelman systemaattista tutkimista
LisätiedotTestaussuunnitelma. Koskelo. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testaussuunnitelma Koskelo Helsinki 16.12.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Tom Bertell Johan
LisätiedotTestaustyökalut Sini Mäkelä
Testaustyökalut Sini Mäkelä Helsinki 26.11.2000 Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisällys 1 Johdanto...1 2 Testausprosessi...1 2.1 Testauksen tasot...1
LisätiedotTestaussuunnitelma. PUSU-ryhmä. Helsinki Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testaussuunnitelma PUSU-ryhmä Helsinki 13.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 op) Projektiryhmä Jussi Hynninen
LisätiedotDynaaminen analyysi IV
Dynaaminen analyysi IV Luento 9 Antti-Pekka Tuovinen 16 April 2013 1 Tavoitteet Kokemusperäinen testitapausten suunnittelu Yhteenvetoa suunnittelutekniikoista 16 April 2013 2 1 Testitapausten kokemusperäinen
LisätiedotDynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen
Dynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen 23 April 2018 1 Tavoitteet Kokemusperäinen testitapausten suunnittelu Yhteenvetoa suunnittelutekniikoista 23 April 2018 2 Testitapausten kokemusperäinen
LisätiedotOhjelmistotuotanto, s
Rakenteellinen testaus (white box) Ohjelmistotuotanto Testaus Rakenteellinen testaus perustuu ohjelman rakenteen hyväksikäyttöön - tieto ja kontrollivuoesityksiin tietovuo (data flow) - tiedon kulku kontrollivuo
LisätiedotTestausraportti. Oppimistavoitteiden hallintajärjestelmä harri
Testausraportti Oppimistavoitteiden hallintajärjestelmä harri Helsinki 13.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
LisätiedotCT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015
CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015 NOPEA KERTAUS TESTAUS HYVIN LYHYESTI Miten normaali testaajan arki ohjelmistoprojektissa sitten rullaa? Käytännössä
Lisätiedot7. Verifiointi ja validointi
7. Verifiointi ja validointi Verifiointi ja validointi (V&V) on ohjelmistotuotannon työvaihe, missä varmistetaan, että ohjelmisto täyttää sille asetetut implisiittiset ja eksplisiittiset vaatimukset ja
LisätiedotOhjelmistotuotanto, verifiointi ja validointi Syksy Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi
7. Verifiointi ja validointi Verifiointi ja validointi (V&V) on ohjelmistotuotannon työvaihe, missä varmistetaan, että ohjelmisto täyttää sille asetetut implisiittiset ja eksplisiittiset vaatimukset ja
LisätiedotHirviö Laadunvarmistussuunnitelma
Hirviö Laadunvarmistussuunnitelma Jani Heikkinen Anssi Kalliolahti Jukka Larja Kim Nylund Liia Sarjakoski Samuli Sorvakko Timo Toivanen 30. marraskuuta 2004 1 Sisältö 1 Johdanto 3 1.1 Testauksen tavoitteet
LisätiedotTestaussuunnitelma. Ohjelmistotuotantoprojekti Nero. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testaussuunnitelma Ohjelmistotuotantoprojekti Nero Helsinki 5.11.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä
LisätiedotSEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3
AgilElephant SEPA Diary Petri Kalsi 55347A Heikki Salminen 51137K Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: PK&HS Sivu 1 / 7 Dokumenttihistoria Revisiohistoria Revision päiväys: 29.11.2004 Seuraavan
LisätiedotGLOW projekti ja sen hyväksymistestaus
GLOW projekti ja sen hyväksymistestaus Rönnquist, Olavi 2009 Leppävaara Laurea ammattikorkeakoulu Laurea Leppävaara GLOW projekti ja sen hyväksymistestaus Olavi Rönnquist Tietojenkäsittelyn koulutusohjelma
LisätiedotT Testiraportti - integraatiotestaus
T-76.115 Testiraportti - integraatiotestaus 16. huhtikuuta 2002 Confuse 1 Tila Versio: 1.1 Tila: Päivitetty Jakelu: Julkinen Luotu: 19.03.2002 Jani Myyry Muutettu viimeksi: 16.04.2002 Jani Myyry Versiohistoria
LisätiedotTestausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testausraportti Orava Helsinki 5.5.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Juhani Bergström Peter
LisätiedotOhjelmistojen mallintaminen. Luento 11, 7.12.
Ohjelmistojen mallintaminen Luento 11, 7.12. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,
LisätiedotOhjelmistotuotanto, s2001 2/27/2003
2. Rakenteellinen testaus (white-box) Ohjelmistotuotanto Ohjelmistojen testaus 2 Rakenteellinen testaus perustuu ohjelman rakenteen hyväksikäyttöön tieto- ja kontrollivuoesityksiin tietovuo (data flow)
LisätiedotT Testiraportti - järjestelmätestaus
T-76.115 Testiraportti - järjestelmätestaus 18. huhtikuuta 2002 Confuse 1 Tila Versio: 1.0 Tila: Päivitetty Jakelu: Julkinen Luotu: 18.04.2002 Jani Myyry Muutettu viimeksi: 18.04.2002 Jani Myyry Versiohistoria
LisätiedotMihin kaikkeen voit törmätä testauspäällikön saappaissa?
Mihin kaikkeen voit törmätä testauspäällikön saappaissa? Arto Stenberg Copyright Kuntien Tiera Oy Kuntien Tiera Copyright Kuntien Tiera Oy Tieran toiminta perustuu osaamisverkoston rakentamiseen, mikä
LisätiedotTestaussuunnitelma. Pizzeria - Pitseria HAAGA-HELIA ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma. WebPizza
Testaussuunnitelma Pizzeria - Pitseria HAAGA-HELIA ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma Versio 1.0 Ehdotus Laatija Raine Kauppinen VERSIOHISTORIA Versionotyyppi Versio- Päiväys Tekijä
LisätiedotOhjelmiston testaussuunnitelma
Ohjelmiston testaussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä lukaa antaa yleiskuvan koko testausdokumentista.
LisätiedotJReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002
JReleaser Yksikkötestaus ja JUnit Mikko Mäkelä 6.11.2002 Sisältö Johdanto yksikkötestaukseen JUnit yleisesti JUnit Framework API (TestCase, TestSuite) Testien suorittaminen eri työkaluilla Teknisiä käytäntöjä
LisätiedotTestauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen
Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen 23 April 2018 1 Tavoitteet Yleiskuva seuraavista aiheista Testauksen organisointi Testaussuunnittelma Testauksen kustannukset Testausstrategia
LisätiedotT Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1
T-76.115 Tietojenkäsittelyopin ohjelmatyö Sisältö Tästä dokumentista ilmenee T1-vaiheessa suoritettu testaus, sen tulokset ja poikkeamat testisuunnitelmasta. Päivämäärä 1.12.2002 Projektiryhmä Keimo keimo-dev@list.hut.fi
LisätiedotOhjelmistotekniikka - Luento 9 Jouni Lappalainen
Ohjelmistotekniikka - Luento 9 Jouni Lappalainen Luku 17: Testausstrategiat V-malli ja vaiheet yksikkö- ja integrointitestaus validointitestaus järjestelmätestaus debuggaus Luku 18: Perinteisten sovellusten
LisätiedotJärjestelmätestauksen vaatimukset. 6. Järjestelmätestaus (B, 14) Järjestelmätestauksen korkean tason testausstrategia
. Järjestelmätestaus (B, ) Järjestelmätestaus (system testing) tehdään integrointitestauksen jälkeen. Siinä järjestelmää testataan kokonaisuutena, johon kuuluvat ohjelmiston lisäksi laitteisto ja järjestelmän
Lisätiedot3.5 Hyväksymistestaus
3.5 Hyväksymistestaus Hyväksymistestauksen perusteella voidaan päätellä onko tuote sopimusten mukainen Mikäli kehitys on ulkoistettu, saatetaan hyväksymistestaussuunnitelma ja siihen liittyvät testitapaukset
LisätiedotTestaussuunnitelma. Asdf. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testaussuunnitelma Asdf Helsinki 22.2.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Kuisma Sami Louhio
LisätiedotTESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0
TESTIRAPORTTI - VYM JA KANTA Versio 1.0 i Sisällysluettelo 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin 2 2. SUORITETTAVA TESTI 3 2.1. Testauksen
LisätiedotYhteenveto. Menettelytavat
Yhteenveto Ohjelmistotuotanto: Luotettavien ja tehokkaiden ohjelmistojärjestelmien tuottamista noudattaen hyviksi havaittuja menettelytapoja. Menettelytavat Prosessimalli (vesiputous/spiraali/kasvattava)
LisätiedotToisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä.
Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä. JUnit-ympäristö 1. Luo tests -pakkaukseen uusi luokka. Nimeä VHTestit. 2. Laita VHTestit periytymään TestCase:sta
LisätiedotTestaus osana ohjelmistojen elinkaarta I
Testaus osana ohjelmistojen elinkaarta I Luento 3 Antti-Pekka Tuovinen www.cs.helsinki.fi 19 March 2013 1 Oppimistavoitteet Ohjelmistokehityksen V-malli Testauksen tasot Komponenttitestaus Integrointitestaus
LisätiedotTIE Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori
TIE-21204 Ohjelmistojen testaus 2015 Harjoitustyö Vaiheet 1 ja 2 Antti Jääskeläinen Matti Vuori Työn yleiset järjestelyt 14.9.2015 2 Valmistautuminen Ilmoittaudu kurssille Lue harjoitustyön nettisivut
LisätiedotYksikkötestaus. Kattava testaus. Moduulitestaus. Ohjelman testaus. yksikkotestaus/ Seija Lahtinen
Yksikkötestaus Kattava testaus Moduulitestaus Ohjelman testaus 1 Kattava testaus Testauksen perimmäinen tarkoitus on LÖYTÄÄ VIRHEITÄ Testaus pitäisi olla täydellinen: - Jokainen pyydetty arvo pitäisi testata
Lisätiedot9. Luento: Ohjelmistotyö. Tommi Mikkonen, tommi.mikkonen@tut.fi
9. Luento: Ohjelmistotyö Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Johdanto Ristikäännös Testaus ja virheen jäljitys Yleensä Kehitysympäristössä Käyttöympäristössä Laitteiston testaus Iteratiivisesta
LisätiedotKäyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä
www.niksula.cs.hut.fi/~jjkankaa// Testauksen loppuraportti v. 1.0 Päivitetty 23.4.2001 klo 19:05 Mikko Viljainen 2 (14) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite 1.0
LisätiedotOhjelmistotestauksen perusteita II
Ohjelmistotestauksen perusteita II Luento 2 Antti-Pekka Tuovinen 14 March 2013 1 Luennon oppimistavoitteet Testausprosessin perustoiminnot Testauksen psykologiaa Testauksen seitsemän periaatetta 14 March
LisätiedotOhjelmistojen virheistä
Ohjelmistojen virheistä Muutama sana ohjelmistojen virheistä mistä niitä syntyy? Matti Vuori, www.mattivuori.net 2013-09-02 1(8) Sisällysluettelo Ohjelmistojen virheitä: varautumattomuus ongelmiin 3 Ohjelmistojen
LisätiedotHyväksymistestauksen tarkistuslista järjestelmän hankkijalle
Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle Tarkistuslista on suunniteltu käytettäväksi hyväksymistestauksen suunnittelussa, valmiuksien arvioinnissa ja katselmoinnissa.tämä tarkistuslista
LisätiedotTik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti
Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu TESTIRAPORTTI LiKe Liiketoiminnan kehityksen tukiprojekti Versio: 1.1 Tila: hyväksytty Päivämäärä: 13.2.2001 Tekijä:
LisätiedotCopyright by Haikala. Ohjelmistotuotannon osa-alueet
Copyright by Haikala Ohjelmistotuotannon osa-alueet Ohjelmiston elinkaari 1. Esitutkimus, tarvekartoitus, kokonaissuunnittelu, järjestelmäsuunnittelu (feasibility study, requirement study, preliminary
LisätiedotTestaussuunnitelma. Opeapuri. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testaussuunnitelma Opeapuri Helsinki 2.4.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Krister Eklund
LisätiedotLohtu-projekti. Testaussuunnitelma
Lohtu-projekti Testaussuunnitelma Versiohistoria: 1.0 19.2.2003 1. versio Mari 1.1 20.2.2003 Muutoksia Mari 1.2 25.2.2003 Katselmoinnissa esiin tulleet Mari muutokset 1.3 17.3.2003 2. syklissä tehtävät
LisätiedotKuopio Testausraportti Kalenterimoduulin integraatio
Kuopio Testausraportti Kalenterimoduulin integraatio Kuopio, testausraportti, 22.4.2002 Versiohistoria: Versio Pvm Laatija Muutokset 0.1 22.4.2002 Matti Peltomäki Ensimmäinen versio 0.9 22.4.2002 Matti
LisätiedotOhjelmistotestaus -09
Ohjelmistotestaus Testaustyökalut- ja automaatio Testaustyökalut ja -automaatio Testaustyökaluilla tuetaan testaustyötä sen eri vaiheissa Oikea työkalu oikeaan tarkoitukseen Testausautomaatio perustuu
LisätiedotHirviö Laadunvarmistussuunnitelma
Hirviö Laadunvarmistussuunnitelma Jani Heikkinen Anssi Kalliolahti Jukka Larja Kim Nylund Liia Sarjakoski Samuli Sorvakko Timo Toivanen 8. helmikuuta 2005 1 Sisältö 1 Johdanto 3 1.1 Testauksen tavoitteet
LisätiedotTestaus-tietoisku: Tärkeimpiä asioita testauksesta projektityökurssilaisille
1(23) Testaus-tietoisku: Tärkeimpiä asioita testauksesta projektityökurssilaisille Matti Vuori, Tampereen teknillinen yliopisto 30.10.2012 Sisällysluettelo 1/2 Esityksen tarkoitus 4 Laatu on tärkeää, ei
LisätiedotTestaussuunnitelma. Ohjelmistotuotantoprojekti XPerf. Helsingin yliopisto. Tietojenkäsittelytieteen laitos
Helsingin yliopisto Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti XPerf Testaussuunnitelma Tommi Koivula Antti Levomäki Juha Mondolin Timo Suomela Versio 1.0 28. maaliskuuta 2003 Versiohistoria
LisätiedotMihin kaikkeen voit törmätä testauspäällikön saappaissa?
Mihin kaikkeen voit törmätä testauspäällikön saappaissa? Arto Stenberg Copyright Kuntien Tiera Oy Kuntien Tiera Copyright Kuntien Tiera Oy Tiera on vuonna 2010 perustettu yli 200:n kuntatoimijan omistama
LisätiedotCoMa - Testausdokumentti
CoMa - Testausdokumentti Mindmap - Kari Velling Helsinki 16.12.2005 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä
LisätiedotOhjelmistotekniikka - Luento 3
Ohjelmistotekniikka - Luento 3 Luku 17: Testausstrategiat V-malli ja vaiheet yksikkö- ja integrointitestaus validointitestaus järjestelmätestaus debuggaus Luku 18: Perinteisten sovellusten testaus testattavuus
LisätiedotKuopio Testausraportti Asiakkaat-osakokonaisuus
Kuopio Testausraportti Asiakkaat-osakokonaisuus Kuopio, testausraportti, 25.3.2002 Versiohistoria: Versio Pvm Laatija Muutokset 0.1 11.2.2002 Matti Peltomäki Ensimmäinen versio 0.9 11.2.2002 Matti Peltomäki
LisätiedotOhjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA
Ohjelmointitekniikka lyhyesti Survival Kit. Vesiputousmalli ELINKAARIMALLEISTA. Ohjelmiston elinkaari Ohjelmiston elinkaarella (life cycle) tarkoitetaan aikaa, joka kuluu ohjelmiston kehittämisen aloittamisesta
LisätiedotTestaussuunnitelma. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie
Testaussuunnitelma Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie Helsinki 14.7.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti
LisätiedotOlio-ohjelmointi Syntaksikokoelma
C++-kielen uusia ominaisuuksia Olio-ohjelmointi Syntaksikokoelma 31.10.2008 Bool-tietotyyppi: Totuusarvo true (1), jos ehto on tosi ja false (0) jos ehto epätosi. Dynaaminen muistinvaraus: Yhden muuttuja
Lisätiedot13. Loogiset operaatiot 13.1
13. Loogiset operaatiot 13.1 Sisällys Loogiset operaatiot AND, OR, XOR ja NOT. Operaatioiden ehdollisuus. Bittioperaatiot. Loogiset operaatiot ohjausrakenteissa. Loogiset operaatiot ja laskentajärjestys.
LisätiedotOhjelmistotekniikka - Luento 10 Jouni Lappalainen
Ohjelmistotekniikka - Luento 10 Jouni Lappalainen Luku 17: Testausstrategiat V-malli ja vaiheet yksikkö- ja integrointitestaus validointitestaus järjestelmätestaus debuggaus Luku 18: Perinteisten sovellusten
LisätiedotOhjelmoinnin perusteet Y Python
Ohjelmoinnin perusteet Y Python T-106.1208 2.3.2009 T-106.1208 Ohjelmoinnin perusteet Y 2.3.2009 1 / 28 Puhelinluettelo, koodi def lue_puhelinnumerot(): print "Anna lisattavat nimet ja numerot." print
LisätiedotWipron Suomen toimipisteen ohjelmistotestauksen kehittäminen. Marko Isoaho
0 Wipron Suomen toimipisteen ohjelmistotestauksen kehittäminen Marko Isoaho Tampereen yliopisto Tietojenkäsittelytieteiden laitos Tietojenkäsittelyoppi Pro gradu -tutkielma Ohjaaja: Marko Helenius Toukokuu
LisätiedotVakuutusyhtiöiden testausinfo
Vakuutusyhtiöiden testausinfo ATJ:n ulkoisten liittymien testaaminen Jonna Hannukainen ja Markku Noukka 12. ja 17.5.2006 (Päivitetty 18.5.2006) ATJ:n integraatiotestaus vakuutusyhtiöiden kanssa Testauksen
LisätiedotTapahtuipa Testaajalle...
Tapahtuipa Testaajalle... - eli testaus tosielämässä 09.10.2007 Juhani Snellman Qentinel Oy 2007 Agenda Minä ja mistä tulen Testauksen konteksti Tapauksia tosielämästä ja työkaluja 2 Minä Juhani Snellman
LisätiedotTESTIRAPORTTI - XMLREADER-LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 2)
TESTIRAPORTTI - XMLREADER-LUOKKA Versio 1.0 (luonnos 2) Copyright Comptel Oyj i Sisällysluettelo 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin
LisätiedotOhjelmistotekniikan menetelmät, toteutuksesta ja testauksesta
582101 - Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta 1 Toteutuksesta ja testauksesta Suunnitteluprosessista Tarkan tason luokkasuunnittelu Siirtyminen UML-kaavioista Java-toteutukseen
LisätiedotOhjelmoinnin peruskurssien laaja oppimäärä, kevät
Ohjelmoinnin peruskurssien laaja oppimäärä, kevät Luento 1: Testaus, ohjelman suunnittelutapoja Riku Saikkonen (osa kalvoista on suoraan ei-laajan kurssin luennoista) 14. 1. 2013 Sisältö 1 Ohjelmien testaustapoja
LisätiedotTestausprosessin vaatimukset. 2. Testausprosessi (Artikkelit) Vesiputousmallin ongelmia. V-mallin neljä osavaihetta. Testausprosessimalli V-malli
2. ausprosessi (Artikkelit) Nykyisin useimpien prosessimallien lähtökohta on, että testaus on oleellinen osa ohjelmistotuotantoprosessia. Itse asiassa huolellinen testaus vie helposti 50% tai enemmän käytettävistä
LisätiedotOHJELMISTON TESTAUKSEN AUTOMATISOINTI
OHJELMISTON TESTAUKSEN AUTOMATISOINTI Pentti Pohjolainen Pro gradu -tutkielma Tietojenkäsittelytieteen laitos Kuopion yliopisto Joulukuu 2003 2 KUOPION YLIOPISTO, informaatioteknologian ja kauppatieteiden
LisätiedotTestauspäällikön tarinoita Arto Stenberg
Testauspäällikön tarinoita Arto Stenberg 2.12.2013 A software foundry that helps companies create breakthrough product innovations. We help our clients to: 1. Create new products 2. Scale out their product
LisätiedotA274101 TIETORAKENTEET JA ALGORITMIT
A274101 TIETORAKENTEET JA ALGORITMIT PERUSTIETORAKENTEET LISTA, PINO, JONO, PAKKA ABSTRAKTI TIETOTYYPPI Tietotyyppi on abstrakti, kun se on määritelty (esim. matemaattisesti) ottamatta kantaa varsinaiseen
LisätiedotOhjelmistotekniikka - Luento 10
Ohjelmistotekniikka - Luento 10 Luku 17: Testausstrategiat V-malli ja vaiheet yksikkö- ja integrointitestaus validointitestaus järjestelmätestaus debuggaus Luku 18: Perinteisten sovellusten testaus testattavuus
LisätiedotOhjelmien testaustyökalut
Ohjelmien testaustyökalut Antti Hämäläinen Helsinki 13.11.2000 Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ohjelmien testaustyökalut Antti Hämäläinen Ohjelmistotuotantovälineet
LisätiedotOhjelmistotestauksen suunnittelu - Case: A-lehdet Oy:n laskujen tulostusohjelma
Ohjelmistotestauksen suunnittelu - Case: A-lehdet Oy:n laskujen tulostusohjelma Eija Rauhala Tietojenkäsittelyn koulutusohjelma 2010 Tiivistelmä Koulutusohjelma Tekijät Eija Rauhala Opinnäytetyön nimi
LisätiedotTarkastusten rakenne. 10. Tarkastukset. Tuotoksen tekijän rooli. Tarkastustiimi. Tarkastusprosessin vaiheet. Tarkastusprosessi
10. Tarkastukset Tarkastus (inspection) on tehokas analyysitekniikka, jota voidaan käyttää minkä tahansa projektin tuotoksen läpikäyntiin. Tarkastus on systemaattinen ja yksityiskohtainen katselmointi
Lisätiedot10. Tarkastukset. Tarkastusten rakenne
10. Tarkastukset Tarkastus (inspection) on tehokas analyysitekniikka, jota voidaan käyttää minkä tahansa projektin tuotoksen läpikäyntiin. Tarkastus on systemaattinen ja yksityiskohtainen katselmointi
LisätiedotTestaussuunnitelma. HenTyLi. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos
Testaussuunnitelma HenTyLi Helsinki 8.12.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 Johdanto... 4 2 Testauksen tavoite... 4 3 Testausstrategia... 4 4 Testauksen
LisätiedotTestaus osana ohjelmistojen elinkaarta II
Testaus osana ohjelmistojen elinkaarta II Luento 4 Antti-Pekka Tuovinen www.cs.helsinki.fi 21 March 2013 1 Oppimistavoitteet Ohjelmistoversioiden testaus Testityyppejä www.cs.helsinki.fi 21 March 2013
Lisätiedot