Testaus. tulosavaruus. Testaus

Koko: px
Aloita esitys sivulta:

Download "Testaus. tulosavaruus. Testaus"

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!

Ohjelmiston testaus ja laatu. Testaustasot

Ohjelmiston 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ätiedot

Ohjelmiston testaus ja laatu. Testausmenetelmiä

Ohjelmiston 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ätiedot

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

Verifioinnin 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ätiedot

Testaus elinkaaressa. Testaustasot ja vaiheet

Testaus 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ätiedot

Testaaminen ohjelmiston kehitysprosessin aikana

Testaaminen 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ätiedot

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Ohjelmistotuotanto 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ätiedot

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015

CT60A4150 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ätiedot

GLOW projekti ja sen hyväksymistestaus

GLOW 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ätiedot

Järjestelmätestauksen vaatimukset. 6. Järjestelmätestaus (B, 14) Järjestelmätestauksen korkean tason testausstrategia

Jä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ätiedot

3.5 Hyväksymistestaus

3.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ätiedot

Ohjelmistotekniikka - Luento 9 Jouni Lappalainen

Ohjelmistotekniikka - 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ätiedot

Testaussuunnitelma. Pizzeria - Pitseria HAAGA-HELIA ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma. WebPizza

Testaussuunnitelma. 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ätiedot

Mihin kaikkeen voit törmätä testauspäällikön saappaissa?

Mihin 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ätiedot

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002

JReleaser 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ätiedot

Toisessa viikkoharjoituksessa on tavoitteena tutustua JUnit:lla testaukseen Eclipse-ympäristössä.

Toisessa 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ätiedot

Ohjelmistotestauksen perusteita II

Ohjelmistotestauksen 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ätiedot

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Copyright 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ätiedot

Ohjelmistotestaus -09

Ohjelmistotestaus -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ätiedot

Testaus-tietoisku: Tärkeimpiä asioita testauksesta projektityökurssilaisille

Testaus-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ätiedot

9. Luento: Ohjelmistotyö. Tommi Mikkonen, tommi.mikkonen@tut.fi

9. 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ätiedot

Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

Tik-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ätiedot

Ohjelmistojen virheistä

Ohjelmistojen 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ätiedot

Wipron Suomen toimipisteen ohjelmistotestauksen kehittäminen. Marko Isoaho

Wipron 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ätiedot

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Ohjelmointitekniikka 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ätiedot

OHJELMISTON TESTAUKSEN AUTOMATISOINTI

OHJELMISTON TESTAUKSEN AUTOMATISOINTI OHJELMISTON TESTAUKSEN AUTOMATISOINTI Pentti Pohjolainen Pro gradu -tutkielma Tietojenkäsittelytieteen laitos Kuopion yliopisto Joulukuu 2003 2 KUOPION YLIOPISTO, informaatioteknologian ja kauppatieteiden

Lisätiedot

Testausprosessin vaatimukset. 2. Testausprosessi (Artikkelit) Vesiputousmallin ongelmia. V-mallin neljä osavaihetta. Testausprosessimalli V-malli

Testausprosessin 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ätiedot

Tapahtuipa Testaajalle...

Tapahtuipa 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ätiedot

Testaus osana ohjelmistojen elinkaarta II

Testaus 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

Vakuutusyhtiöiden testausinfo

Vakuutusyhtiö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ätiedot

Ohjelmiston testaus ja laatu. Testaus yleistä

Ohjelmiston testaus ja laatu. Testaus yleistä Ohjelmiston testaus ja laatu Testaus yleistä Määritelmä Testaus on systemaattinen lähestymistapa ohjelmistoissa esiintyvien virheiden löytämiseksi ohjelmaa suorittamalla. Testattaessa pyritään luomaan

Lisätiedot

Kombinaatiotestauksen tekniikat. 5. Kombinaatiotestaus (P&Y: 11) Luokittelutestauksen algoritmi. Luokittelutestaus. Pankkiautomaattiin kirjautuminen

Kombinaatiotestauksen tekniikat. 5. Kombinaatiotestaus (P&Y: 11) Luokittelutestauksen algoritmi. Luokittelutestaus. Pankkiautomaattiin kirjautuminen Ohjelmistojen testaus luentokalvot 5. Kombinaatiotestaus (P&Y: 11) Toiminnallinen määrittely palvelee hyvin erilaisia sidosryhmiä, joista testaajat ovat vain yksi. Näin määrittely ei yleensä ole sellaisessa

Lisätiedot

UML- mallinnus: Tilakaavio

UML- mallinnus: Tilakaavio UML- mallinnus: Tilakaavio Karkea kuvaus UML- kaavioiden käytöstä ohjelmistonkehityksen eri vaiheissa ja tehtävissä. Mallinnus tilakaavioilla Tilakaaviolla kuvataan yhden luokan olioiden tilan muuttumista

Lisätiedot

Ohjelmistojen testaus

Ohjelmistojen testaus Ohjelmistojen testaus Mika Katara, Matti Vuori ja Antti Jääskeläinen Tampereen teknillinen yliopisto, Tietotekniikan laitos 25.8.2014 Ohjelmistojen testaus, 2014 1(507) Mitä testaus on? Erilaisia näkökulmia

Lisätiedot

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015 CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015 EDELLISELLÄ KERRALLA TAPAHTUNUTTA Täydellinen testaus on mahdotonta. Testataan, koska virheiden löytyminen ajoissa

Lisätiedot

A274101 TIETORAKENTEET JA ALGORITMIT

A274101 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ätiedot

Onnistunut Vaatimuspohjainen Testaus

Onnistunut Vaatimuspohjainen Testaus Onnistunut Vaatimuspohjainen Testaus Kari Alho Solution Architect Nohau Solutions, Finland Sisältö Mitä on vaatimuspohjainen testaus? Vaatimusten ymmärtämisen haasteet Testitapausten generointi Työkalujen

Lisätiedot

Määrittelydokumentti NJC2. Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Määrittelydokumentti NJC2. Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Määrittelydokumentti NJC2 Helsinki 11.2.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä Eero Anttila Olli

Lisätiedot

Ohjelmistojen testaus ja virheenjäljitys

Ohjelmistojen testaus ja virheenjäljitys Ohjelmistojen testaus ja virheenjäljitys Hannu Virkanen Pro gradu tutkielma Tietojenkäsittelytiede Kuopion yliopisto Informaatioteknologian ja Kauppatieteiden tiedekunta Joulukuu 2002 TIIVISTELMÄ KUOPION

Lisätiedot

Ohjelmiston toteutussuunnitelma

Ohjelmiston toteutussuunnitelma Ohjelmiston toteutussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä luku antaa yleiskuvan koko suunnitteludokumentista,

Lisätiedot

Ohjelmistotestauksen perusteita I Luento 1 Antti-Pekka Tuovinen

Ohjelmistotestauksen perusteita I Luento 1 Antti-Pekka Tuovinen Ohjelmistotestauksen perusteita I Luento 1 Antti-Pekka Tuovinen 12 March 2013 1 Luennon oppimistavoitteet Mitä ohjelmistojen testaaminen on? Mitä tarkoittavat virhetoiminto, vika ja erehdys? Mikä on testauksen

Lisätiedot

Testaus teoriassa ja käytännössä. Jukka Paakki Helsingin yliopisto Tietojenkäsittelytieteen laitos

Testaus teoriassa ja käytännössä. Jukka Paakki Helsingin yliopisto Tietojenkäsittelytieteen laitos Testaus teoriassa ja käytännössä Jukka Paakki Helsingin yliopisto Tietojenkäsittelytieteen laitos Teoria = tutkimus IEEE Transactions on Software Engineering, 2000-2002 Software Testing, Verification &

Lisätiedot

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2016

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2016 CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET Jussi Kasurinen (etu.suku@lut.fi) Kevät 2016 VIIME KERRALLA MENETELMIÄ Musta laatikko Valkea laatikko Harmaa laatikko Regressio Automaatio Rasitus (kuormitus)

Lisätiedot

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015

CT60A4150 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 VIIME KERROISTA TESTAUSTASOT Testauksen tasot: Yksikkötestaus Integrointitestaus Järjestelmätestaus Hyväksymistestaus

Lisätiedot

Testaus elinkaaressa

Testaus elinkaaressa Testaus elinkaaressa Järjestelmätestaus Järjestelmätestaus Tarkoittaa koko järjestemän laajuuteen kohdistuvaa testausta, koko järjestelmän toiminnan näkökulmasta Järjestelmän ei tarvitse olla valmis vaan

Lisätiedot

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI Vesa Tenhunen Tarkastusmenettelyt Keino etsiä puutteita ohjelmakoodeista, dokumenteista ym. ohjelmistoprosessissa syntyvästä materiaalista Voidaan käyttää kaikissa

Lisätiedot

Ohjelmistotestaus: Testausprosessin luonti ja. kehittäminen

Ohjelmistotestaus: Testausprosessin luonti ja. kehittäminen Ossi Savolainen Ohjelmistotestaus: Testausprosessin luonti ja kehittäminen Tietojärjestelmätieteen Kandidaatin tutkielma 3.3.2005 Jyväskylän yliopisto Tietojenkäsittelytieteen laitos Jyväskylä 2 Tiivistelmä

Lisätiedot

CASE Varma Testauksen haasteet moniuloitteisessa testiympäristössä. 5.11.2015 Tuukka Vähäpassi

CASE Varma Testauksen haasteet moniuloitteisessa testiympäristössä. 5.11.2015 Tuukka Vähäpassi CASE Varma Testauksen haasteet moniuloitteisessa testiympäristössä 5.11.2015 Tuukka Vähäpassi Varman esittely Keskinäinen työeläkevakuutusyhtiö Varma on Suomen suurin työeläkevakuutusyhtiö ja yksityinen

Lisätiedot

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14

Arkkitehtuurikuvaus. Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy. Ryhmä 14 Arkkitehtuurikuvaus Ratkaisu ohjelmistotuotelinjan monikielisyyden hallintaan Innofactor Oy Ryhmä 14 Muutoshistoria Versio Pvm Päivittäjä Muutos 0.4 1.11.2007 Matti Eerola 0.3 18.10.2007 Matti Eerola 0.2

Lisätiedot

Kuntokirjuri. Testausraportti. Miika Alonen Jarkko Laine Jesse Honkanen Veli Matti Huovinen Jani Jäntti. Versio 1.1 16.5.2008

Kuntokirjuri. Testausraportti. Miika Alonen Jarkko Laine Jesse Honkanen Veli Matti Huovinen Jani Jäntti. Versio 1.1 16.5.2008 Kuntokirjuri Testausraportti Miika Alonen Jarkko Laine Jesse Honkanen Veli Matti Huovinen Jani Jäntti Versio 1.1 16.5.2008 Jakelu: Asiakas Jukka Rantala Ohjaaja Erkki Pesonen Opponoiva ryhmä 1 Kuopion

Lisätiedot

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015 CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015 JATKUU VIIME KERRASTA OHJELMISTOTUOTANTO JA OHJELMISTOTESTAUS Ohjelmistotuotannon prosessi Suunnittelu Määrittely Toteutus

Lisätiedot

Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti Tik-76.115 Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu TESTAUSSUUNNITELMA LiKe Liiketoiminnan kehityksen tukiprojekti Versio: 2.1 Tila: hyväksytty Päivämäärä: 12.12.2000

Lisätiedot

@Tampereen Testauspäivät (2012-06)

@Tampereen Testauspäivät (2012-06) @Tampereen Testauspäivät (2012-06) Testausodotukset räätälöityjen järjestelmien projekteissa Maaret Pyhäjärvi, testausasiantuntija Twitter: maaretp Testausvastaava @ Granlund Oy Yrittäjä

Lisätiedot

Rajapinta (interface)

Rajapinta (interface) 1 Rajapinta (interface) Mikä rajapinta on? Rajapinta ja siitä toteutettu luokka Monimuotoisuus ja dynaaminen sidonta Rajapinta vs periytyminen 1 Mikä rajapinta on? Rajapintoja käytetään, kun halutaan määritellä

Lisätiedot

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

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä www.niksula.cs.hut.fi/~jjkankaa// Testaussuunnitelma v. 1.1 Päivitetty 12.12.2000 klo 12:03 Mikko Viljainen 2 (14) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite 1.1 12.12.2000

Lisätiedot

UML -mallinnus TILAKAAVIO

UML -mallinnus TILAKAAVIO UML -mallinnus TILAKAAVIO SISÄLLYS 3. Tilakaavio 3.1 Tilakaavion alku- ja lopputilat 3.2 Tilan nimi, muuttujat ja toiminnot 3.3 Tilasiirtymä 3.4 Tilasiirtymän vai tilan toiminnot 3.5 Tilasiirtymän tapahtumat

Lisätiedot

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin.

Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet suoritetaan peräkkäin. 2. Ohjausrakenteet Ohjausrakenteiden avulla ohjataan ohjelman suoritusta. peräkkäisyys valinta toisto Koottu lause; { ja } -merkkien väliin kirjoitetut lauseet muodostavat lohkon, jonka sisällä lauseet

Lisätiedot

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

TIE-21200 Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori TIE-21200 Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4 Antti Jääskeläinen Matti Vuori Vaiheet 3 & 4: Järjestelmätestaus 27.10.2014 2 Päämäärä jedit-ohjelmointieditorin järjestelmätestaus

Lisätiedot

KONEAUTOMAATION LAATU JA TURVALLISUUS. 4.6.2015 Marko Varpunen

KONEAUTOMAATION LAATU JA TURVALLISUUS. 4.6.2015 Marko Varpunen KONEAUTOMAATION LAATU JA TURVALLISUUS 4.6.2015 Marko Varpunen TLJ ja automaatio Rautatie, metro, teollisuus-laitokset, kaivoskoneet, vesi, n. 90 henkeä Mikkeli Turvallisuusjohtaminen konsultointi riskienarviointi

Lisätiedot

Java-kielen perusteita

Java-kielen perusteita Java-kielen perusteita valintalauseet 1 Johdantoa kontrollirakenteisiin Tähän saakka ohjelmissa on ollut vain peräkkäisyyttä eli lauseet on suoritettu peräkkäin yksi kerrallaan Tarvitsemme myös valintaa

Lisätiedot

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy Laadunvarmistuksen suunnitelma Ryhmä ExtraTerrestriaLs Aureolis Oy Versio Päiväys Tekijä Kuvaus 1.0 8.11.2004 Risto Kunnas Ensimmäinen versio 1.1 8.11.2004 Risto Kunnas Korjauksia 1.2 9.11.2004 Mika Suvanto

Lisätiedot

Laadunvarmistus, tarkastukset ja testaus

Laadunvarmistus, tarkastukset ja testaus Laadunvarmistus, tarkastukset ja testaus Mitä on laatu? Miten varmistua laadusta? Laatumittaus Testaus Tarkastusmenettely Laatujärjestelmä Liiketoiminta, johtaminen Laatujärjestelmä Hankkeiden hallinta

Lisätiedot

OHJ-4301 Sulautettu Ohjelmointi

OHJ-4301 Sulautettu Ohjelmointi OHJ-4301 Sulautettu Ohjelmointi (http://www.cs.tut.fi/~sulo/) 5op, to 12-14, TB 109 Arto Salminen, arto.salminen@tut.fi Läpäisyvaatimukset Hyväksytysti suoritetut: Tentti Harjoitustyöt Harjoitustyöt 3

Lisätiedot

KEYAQUA-VERKKOTIETOJÄRJESTELMÄN TESTAUS

KEYAQUA-VERKKOTIETOJÄRJESTELMÄN TESTAUS KARELIA-AMMATTIKORKEAKOULU Tietotekniikan koulutusohjelma Heikki Majoinen KEYAQUA-VERKKOTIETOJÄRJESTELMÄN TESTAUS Opinnäytetyö Toukokuu 2015 OPINNÄYTETYÖ Toukokuu 2015 Tietotekniikan koulutusohjelma Karjalankatu

Lisätiedot

Testaussuunnitelma Versio Päiväys Tekijä Kuvaus

Testaussuunnitelma Versio Päiväys Tekijä Kuvaus Testaussuunnitelma Versio Päiväys Tekijä Kuvaus 0.1 15.11.01 Ville Vaittinen Ensimmäinen luonnos 0.2 10.12.01 Ville Vaittinen Kevyet päivitykset kommenttien perusteella Sisällysluettelo 1. Johdanto...3

Lisätiedot

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit

Esimerkkiprojekti. Mallivastauksen löydät Wroxin www-sivuilta. Kenttä Tyyppi Max.pituus Rajoitukset/Kommentit Liite E - Esimerkkiprojekti E Esimerkkiprojekti Olet lukenut koko kirjan. Olet sulattanut kaiken tekstin, Nyt on aika soveltaa oppimiasi uusia asioita pienen, mutta täydellisesti muotoiltuun, projektiin.

Lisätiedot

Testausautomaation mahdollisuudet käyttöliittymän testauksessa. Anssi Pekkarinen 5.11.2015

Testausautomaation mahdollisuudet käyttöliittymän testauksessa. Anssi Pekkarinen 5.11.2015 Testausautomaation mahdollisuudet käyttöliittymän testauksessa Anssi Pekkarinen 5.11.2015 Agenda Kustannustehokkaan testausautomaation tekemiseen vaikuttavat tekijät Käyttöliittymätestauksen haasteet Uudet

Lisätiedot

Aineistosiirron testauksen aloituksen ohje Trafin sopimuskumppaneille

Aineistosiirron testauksen aloituksen ohje Trafin sopimuskumppaneille TraFin ulkoinen integraatio Aineistosiirron testauksen aloituksen ohje Trafin sopimuskumppaneille Ohje 26.2.2014 Versio 1.1, Hyväksytty Luottamuksellinen Vastuutaho Trafi MUUTOSHISTORIA Versio Päiväys

Lisätiedot

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli

TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op. Assembly ja konekieli TIEP114 Tietokoneen rakenne ja arkkitehtuuri, 3 op Assembly ja konekieli Tietokoneen ja ohjelmiston rakenne Loogisilla piireillä ja komponenteilla rakennetaan prosessori ja muistit Prosessorin rakenne

Lisätiedot

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä Sisällys 11. Javan toistorakenteet Laskuri- ja lippumuuttujat.. Tyypillisiä ohjelmointivirheitä: Silmukan rajat asetettu kierroksen verran väärin. Ikuinen silmukka. Silmukoinnin lopettaminen break-lauseella.

Lisätiedot

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

TIE-21200 Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori TIE-21200 Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4 Antti Jääskeläinen Matti Vuori Vaiheet 3 & 4: Järjestelmätestaus 28.10.2013 2 Päämäärä jedit-ohjelmointieditorin järjestelmätestaus

Lisätiedot

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä Versiohistoria: Versio: Pvm: Laatijat: Muutokset: 0.1 2006 12 09 Jani Eränen Alustava DOKUMENTIN TILA: Alustava Valmis Tarkastettu

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 28.2.2011 T-106.1208 Ohjelmoinnin perusteet Y 28.2.2011 1 / 46 Ohjelmointiprojektin vaiheet 1. Määrittely 2. Ohjelman suunnittelu (ohjelman rakenne ja ohjelman

Lisätiedot

Luento 5. Timo Savola. 28. huhtikuuta 2006

Luento 5. Timo Savola. 28. huhtikuuta 2006 UNIX-käyttöjärjestelmä Luento 5 Timo Savola 28. huhtikuuta 2006 Osa I Shell-ohjelmointi Ehtolause Lausekkeet suoritetaan jos ehtolausekkeen paluuarvo on 0 if ehtolauseke then lauseke

Lisätiedot

Kielioppia: toisin kuin Javassa

Kielioppia: toisin kuin Javassa Object Pascal Pascal kielen oliolaajennus (Inprise/Borland:n oma) luokat Voit uudelleenkäyttää luomiasi objekteja esim. komponentteja Periytyminen Kielioppia: toisin kuin Javassa Ei eroa isojen ja pienien

Lisätiedot

Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä. Simo Tauriainen

Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä. Simo Tauriainen Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä Simo Tauriainen www.ponsse.com 25.8.2011 Ponsse-konserni Ponsse Oyj on tavaralajimenetelmän metsäkoneiden myyntiin, tuotantoon, huoltoon ja

Lisätiedot

Ohjelmistotestauksen perusteet. versio 1.0

Ohjelmistotestauksen perusteet. versio 1.0 Ohjelmistotestauksen perusteet versio 1.0 Sisällysluettelo Sisällysluettelo... 2 Johdanto... 4 Luku 1 Mitä on ohjelmistotestaus?... 5 Testauksen määritelmä... 5 Testauksen psykologia ja tavoitteet... 5

Lisätiedot

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti:

Ohjelmassa henkilön etunimi ja sukunimi luetaan kahteen muuttujaan seuraavasti: 1 (7) Tiedon lukeminen näppäimistöltä Scanner-luokan avulla Miten ohjelma saa käyttöönsä käyttäjän kirjoittamaa tekstiä? Järjestelmässä on olemassa ns. syöttöpuskuri näppäimistöä varten. Syöttöpuskuri

Lisätiedot

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen, tommi.mikkonen@tut.fi 5. Luento: Rinnakkaisuus ja reaaliaika Tommi Mikkonen, tommi.mikkonen@tut.fi Agenda Perusongelmat Jako prosesseihin Reaaliaika Rinnakkaisuus Rinnakkaisuus tarkoittaa tässä yhteydessä useamman kuin yhden

Lisätiedot

Testauksesta ja testaussuunnitelmasta

Testauksesta ja testaussuunnitelmasta Testauksesta ja testaussuunnitelmasta Luennon sisältö Motivointia, testaus projektin eri vaiheissa Yleistä ohjelmistojen testauksesta Testauksen suunnittelu Testaussuunnitelman sisältö ja tarkoitus Lähteinä:

Lisätiedot

Testaussuunnitelma. pokeriv3. Helsinki 10.4.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma. pokeriv3. Helsinki 10.4.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma pokeriv3 Helsinki 10.4.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Anne-Marie Grönroos

Lisätiedot

Testaussuunnitelma. Polku http://code.google.com/p/polku-projekti/ versio 1.0. Projektiryhmä. Janne Pihlajaniemi. Antti Jämsén.

Testaussuunnitelma. Polku http://code.google.com/p/polku-projekti/ versio 1.0. Projektiryhmä. Janne Pihlajaniemi. Antti Jämsén. Testaussuunnitelma Polku http://code.google.com/p/polku-projekti/ versio 1.0 Projektiryhmä Janne Pihlajaniemi Antti Jämsén Maria Hartikainen Pekka Kallioniemi Jorma Laajamäki Panu Tunttunen Nina Tyni Joonas

Lisätiedot

4.2 Tekniikat Kuka testaa?

4.2 Tekniikat Kuka testaa? 4.2 Tekniikat Kuka testaa? People-based Käyttäjätestit: ohjelmistoa testaa sen käyttäjä, joskus mukana myös toimittajan testaustiimin jäsen Alfa-testaus: käyttäjätesti järjestelmän toimittajan tiloissa

Lisätiedot

Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg

Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg Symbio lyhyesti Innovatiivinen tuotekehitys- ja testauskumppani Juuret Suomessa, perustettu 1997 Laadukkaat ohjelmistotoimitukset

Lisätiedot

Muutamia peruskäsitteitä

Muutamia peruskäsitteitä Muutamia peruskäsitteitä Huom. 1: nämä peruskäsitteet eivät muodosta hyvin määriteltyä keskenään yhteensopivien käsitteiden joukkoa, vaan käsitteet ovat osittain päällekkäisiä ja eri yhteyksissä niillä

Lisätiedot

T-76.5158 SEPA päiväkirja

T-76.5158 SEPA päiväkirja T-76.5158 SEPA päiväkirja Ryhmä 14 Automatisoitu yksikkötestaus Mikko Luukkonen, 60549T Lauri Helkkula, 62820H Matti Eerola, 60686A Versiohistoria Versio Pvm Tekijä(t) Kuvaus 0.3 25.11.2007 Luukkonen,

Lisätiedot

TEKNIIKAN JA LIIKENTEEN TOIMIALA. Tietotekniikka. Tietoliikennetekniikka INSINÖÖRITYÖ ATS3-TESTAUSJÄRJESTELMÄN EVALUOINTI

TEKNIIKAN JA LIIKENTEEN TOIMIALA. Tietotekniikka. Tietoliikennetekniikka INSINÖÖRITYÖ ATS3-TESTAUSJÄRJESTELMÄN EVALUOINTI TEKNIIKAN JA LIIKENTEEN TOIMIALA Tietotekniikka Tietoliikennetekniikka INSINÖÖRITYÖ ATS3-TESTAUSJÄRJESTELMÄN EVALUOINTI Työn tekijä: Maarit Kopra Työn valvoja: Timo Kasurinen Työn ohjaaja: Pekka Nuotio

Lisätiedot

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ylläpitodokumentti Boa Open Access Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari

Lisätiedot

Project-TOP QUALITY GATE

Project-TOP QUALITY GATE Project-TOP QUALITY GATE FOR SUCCESSFUL COMPANIES TYÖKALU ERP- JÄRJESTELMIEN TESTAUKSEEN PROJECT-TOP QUALITY GATE Quality Gate on työkalu ERP-järjestelmien testaukseen Huonosti testattu ERP- järjestelmä

Lisätiedot

Hammastankohissin modernisointi. Heikki Laitasalmi

Hammastankohissin modernisointi. Heikki Laitasalmi Hammastankohissin modernisointi Heikki Laitasalmi Loppudemossa Mitä oltiinkaan tekemässä V-malli Modbus viestintä (PLC VFD) Esitellään laitteet Lopuksi Modbusia käytännössä Hammastankohissi Arkkitehtuuri

Lisätiedot

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin AS-0.1103 C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin Raimo Nikkilä Aalto-yliopiston sähkötekniikan korkeakoulu - Automaation tietotekniikan tutkimusryhmä 17. tammikuuta 2013

Lisätiedot

Testaussuunnitelma Luuppi-projekti http://code.google.com/p/luuppi/

Testaussuunnitelma Luuppi-projekti http://code.google.com/p/luuppi/ Testaussuunnitelma Luuppi-projekti http://code.google.com/p/luuppi/ versio 1.0 Projektiryhmä: Panu Tunttunen Petri Ikävalko Mikko Kuivanen Johannes Lampela Eero Jaakonaho Kari Jussila Saila Oldén Päiväys

Lisätiedot

Tietotyypit ja operaattorit

Tietotyypit ja operaattorit Tietotyypit ja operaattorit Luennossa tarkastellaan yksinkertaisten tietotyyppien int, double ja char muunnoksia tyypistä toiseen sekä esitellään uusia operaatioita. Numeeriset tietotyypit ja muunnos Merkkitieto

Lisätiedot

Uudelleenkäytön jako kahteen

Uudelleenkäytön jako kahteen Uudelleenkäyttö Yleistä On pyritty pääsemään vakiokomponenttien käyttöön Kuitenkin vakiokomponentit yleistyneet vain rajallisilla osa-alueilla (esim. windows-käyttöliittymä) On arvioitu, että 60-80% ohjelmistosta

Lisätiedot

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät

Tenttikysymykset. + UML-kaavioiden mallintamistehtävät Tenttikysymykset 1. Selitä mitä asioita kuuluu tietojärjestelmän käsitteeseen. 2. Selitä kapseloinnin ja tiedon suojauksen periaatteet oliolähestymistavassa ja mitä hyötyä näistä periaatteista on. 3. Selitä

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori Testauksen tuki nopealle tuotekehitykselle Antti Jääskeläinen Matti Vuori Mitä on nopeus? 11.11.2014 2 Jatkuva nopeus Läpäisyaste, throughput Saadaan valmiiksi tasaiseen, nopeaan tahtiin uusia tuotteita

Lisätiedot

TESTAUSMENETELMIEN KÄYTTÖ SOVELLUKSEN SYSTEEMITESTAUSVAIHEESSA

TESTAUSMENETELMIEN KÄYTTÖ SOVELLUKSEN SYSTEEMITESTAUSVAIHEESSA Tiina Tersa TESTAUSMENETELMIEN KÄYTTÖ SOVELLUKSEN SYSTEEMITESTAUSVAIHEESSA Tietotekniikan pro gradu -tutkielma Ohjelmistotekniiikan linja 20.8.2002 Jyväskylän yliopisto Tietotekniikan laitos Tekijä: Tiina

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 1.4.2009 T-106.1208 Ohjelmoinnin perusteet Y 1.4.2009 1 / 56 Tentti Ensimmäinen tenttimahdollisuus on pe 8.5. klo 13:00 17:00 päärakennuksessa. Tämän jälkeen

Lisätiedot