Staattinen testaus Dynaaminen testaus I Luento 3 Antti-Pekka Tuovinen

Koko: px
Aloita esitys sivulta:

Download "Staattinen testaus Dynaaminen testaus I Luento 3 Antti-Pekka Tuovinen"

Transkriptio

1 Staattinen testaus Dynaaminen testaus I Luento 3 Antti-Pekka Tuovinen 25 March

2 Oppimistavoitteet Staattinen testaus Katselmoinnit Ohjelmakoodin ja spesifikaatioiden staattinen analyysi Dynaaminen testaus I Testitapausten suunnittelun lähtökohdat Black-box ja White-box (tai Glass-box ) Black-Box -testien suunnittelumenetelmiä Ekivalenssiluokat Raja-arvo analyysi 25 March

3 Staattinen testaus 25 March

4 Staattinen testaus Testauksen kohdetta ei suoriteta, vaan sitä tutkitaan ihmismielen ja analyysityökalujen avulla Mitä tahansa kehitysprojektin tuotosta voidaan tutkia manuaalisesti Tavoitteena on nostaa tutkittujen artefaktien (dokumentit, koodi) laatua ja poistaa vikoja mahdollisimman aikaisessa vaiheessa Ongelmien ennaltaehkäisy 25 March

5 Katselmoinnit 25 March

6 Katselmoinnit Käytetään ihmisten analyyttisiä kykyjä mutkikkaiden asioiden arviointiin ja tarkastamiseen Asiantuntijat tutkivat huolellisesti katselmoitavan artefaktin (dokumentti, koodi, suunnitelma tms.) ja yrittävät ymmärtää sen ja löytää siitä ongelmia Löydösten läpikäynti ja johtopäätösten tekeminen on ryhmätyötä, jossa monet eri näkökulmat yhdistyvät 25 March

7 Katselmoinnit Katselmointi (review) on yleistermi ihmisten tekemälle kaikenlaisten artefaktien arvioinnille Sopimukset, vaatimusmäärittelyt, ohjelmakoodi, testaussuunnitelmat, manuaalit jne Tarkastus (inspection) on erityinen muodollinen katselmointi, jolla on omat sääntönsä Katselmoijat ovat yleensä saman työyhteisön jäseniä, joten katselmoinneista käytetään usein engl. termiä peer review (= vertaisarviointi) 25 March

8 Katselmoinnin hyödyt Vikojen vähentäminen, kuten testauksessa yleensä Aikainen vikojen löytyminen vähentää tarvetta analysointiin ja korjauksiin myöhemmin projektissa Kehitysaika lyhenee Koska ohjelmistossa on vähemmän vikoja, dynaamista testausta tarvitsee tehdä vähemmän (uudelleentestaus, regressiotestaus) Kustannukset laskevat koko elinkaaren ajalla Mahdollisuus löytää vikoja, jotka eivät paljastu muilla (dynaamisilla) testaustavoilla Tekninen velka, huono ylläpidettävyys, riskialtis koodi 25 March

9 Katselmoinnin hyödyt Vähemmän käytön aikaisia häiriöitä Organisaatio oppii Tekijät oppivat parantamaan työskentelyään Tieto tulevasta katselmoinnista saa tekijän tuottamaan selkeän dokumentin ja huomaamaan itsekin puutteita Katselmointiin osallistuva ryhmä muodostaa yhteisen näkemyksen dokumentin kuvaamasta asiasta ja tuntee yhteistä vastuuta siitä Kustannukset 10-15% projektin kuluista, säästö 14-25% (katselmoinnit mukaan laskien) 25 March

10 Katselmoinnin kulku Prosessikaavio ja yleiskuvaus IEEE Standard for Software Reviews standardin mukaan (kurssikirjan teksti perustuu samaan) Monivaiheinen ja suhteellisen raskas menetelmä Vaatii aikaa ja resursseja 25 March

11 Katselmointien ongelmia Asiantuntijoiden saatavuus Katselmointeihin ei varata tarpeeksi aikaa tai tulee muuten kiire, jolloin katselmoinnin teho kärsii Väärien katselmoijien valinta Ei ehdi, ei osaa, ei kiinnosta Dokumentaation puutteet Johdon puuttuva tuki Resurssointi, tulosten hyödyntäminen 25 March

12 Katselmointityyppejä Katselmoinnit jaetaan raskautensa mukaan seuraaviin ryhmiin Tarkastukset (inspection) Tekninen katselmointi (technical review) Läpikäynnit (walkthrough) Epämuodollinen katselmointi (informal review) 25 March

13 Tarkastus Kaikkein muodollisin katselmointi Yksityiskohtaiset säännöt ja tarkistuslistat Huolellisesti valitut osallistujat, jotka voivat tarkastella asiaa eri näkökulmista Keskittyy etukäteen päätettyihin asioihin tarkastuksen kohteessa Perusteellinen valmistautuminen ennen katselmointikokousta 25 March

14 Tekninen katselmointi Pääasioina tarkastuksen kohteen Verifiointi spesifikaation suhteen Soveltuvuuden arviointi käyttötarkoitukseensa Standardien mukaisuuden arviointi Katselmoijien valintaperusteena tekninen pätevyys Myös projektin ulkopuolelta on hyvä olla joku asiantuntija mukana Suurin työ tehdään valmistautumisvaiheessa, katselmointikokouksessa kirjataan löydökset Tekijä itse ei osallistu katselmointikokoukseen 25 March

15 Läpikäynti Epämuodollinen katselmointi, jossa tekijä esittelee katselmoinnin kohteen ryhmän arvioitavaksi tavoitteena Poikkeavuuksien löytäminen (anomaliat) Laadun parantaminen Vaihtoehtoisten ratkaisujen löytäminen Standardien ja spesifikaatioiden mukaisuuden arviointi Tärkeimpien käyttötapausten simulointi Tekijä toimii moderaattorina Sopii pienille tiimeille, ei vaadi valmistautumista eikä jälkitöitä 25 March

16 Epämuodollinen katselmointi Katselmoinnin kevytversio Usein katselmoinnin kohteen tekijä itse kutsuu osallistujat ja pyytää heiltä kommentit tiettyyn ajankohtaan mennessä Katselmointikokousta ei välttämättä järjestetä, vaan kukin osallistuja toimittaa havaintonsa tiedoksi tekijälle Nettityökaluja esimerkiksi koodin katselmointiin Yleinen katselmoinnin muoto, jossa on matala osallistumiskynnys Pariohjelmointi, kaveritestaus 25 March

17 Huomioita Katselmointia on monenlaista ja eri tyyppien väliset rajat ovat häilyvät Samoja termejä käytetään eri tarkoituksissa Katselmointikäytännöt räätälöidään organisaation tarpeiden ja katselmoinnin kohteen mukaan Virtuaalikatselmoinnit ja on-line kokoukset helpottavat hajautettujen organisaatioiden toimintaa Kun kehittäjät tutkivat myös toistensa työn tuloksia, vikoja yleensä huomataan enemmän Pariohjelmointi on tavallaan jatkuvaa parikatselmointia 25 March

18 Staattinen analyysi 25 March

19 Staattinen analyysi Kuten katselmoinneissa, tarkoituksena on löytää vikoja tai vioille alttiita kohtia tarkasteltavasta artefaktista ajamatta/kokeilematta sitä Kohteena on lähdekoodi, malli, määrittely jne. Analysointiin käytetään automaattisia työkaluja eli algoritmisia menetelmiä käsin tehtävän analyysin sijaan Analysoitavuus edellyttää, että kohde on koodattu jollain formaalilla kielellä, jota voi automaattisesti käsitellä (Java, XML, UML ) Analyysityökaluja voidaan käyttää myös mittausten tekemiseen kohteesta laadun arvioimiseksi Mittausten tulokset vaativat aina tulkintaa Esimerkki kaupallisesta analysointituotteesta: 25 March

20 Staattinen analyysi Staattinen analyysi ei voi löytää kaikkia vikoja Teoreettinen mahdottomuus (yleisessä tapauksessa) Staattisella analyysillä voidaan kuitenkin löytää seuraavanlaisia potentiaalisesti ongelmallisia rakenteita Syntaksivirheet Poikkeamat koodauskäytännöistä ja standardeista Kontrollivuon poikkeavuudet Datavuon poikkeavuudet Eräät tietoturvan/suorituskyvyn/ylläpidettävyyden kannalta vaaralliset/haitalliset koodirakenteet 25 March

21 Kääntäjä analyysityökaluna Kääntäjä löytää ohjelmasta syntaksivirheet ja muut ohjelmointikielen kieliopin mukaan virheelliset ilmaisut Näiden lisäksi kääntäjä tekee muitakin tarkistuksia ja tuottaa paljon informaatiota Tyyppitarkistukset kielestä riippuen (staattinen tyypitys, tyyppien päättely) Määrittelemättömät ja alustamattomat muuttujat Saavuttamaton koodi jne 25 March

22 Datavuoanalyysi Analysoidaan datan käyttöä eri suorituspoluilla ohjelmayksikön läpi Voidaan havaita erikoisia datan käyttötilanteita (anomaly), jotka voivat johtaa virheelliseen suoritukseen tai sitten ei Tarkastellaan esimerkiksi muuttujien käyttöä ohjelmassa Undefined (u) muuttujan arvo määrittelemätön Defined (d) muuttujalle annetaan arvo (sijoitus) Referenced (r) muuttujan arvoa käytetään 25 March

23 Datavuoanalyysi Anomaliat UR arvoltaan määrittelemättömän (u) muuttujan arvoa käytetään (r) jollain suorituspolulla DU muuttujalle annetaan arvo (d), jota ei käytetä kertaakaan ennen sen muuttumista määrittelemättömäksi (u) DD muuttujalle annetaan uusi arvo (d) ilman, että sen edellistä arvoa on välillä käytetty 25 March

24 Datavuoanalyysi Kurssikirjan esimerkki luvussa Datavuoanalyysin löytämät anomaliat eivät välttämättä johda ohjelman virheelliseen käyttäytymiseen, mutta löydökset kannattaa joka tapauksessa tutkia 25 March

25 Kontrollivuoanalyysi Ohjelman kontrollivuoverkosta voi helposti nähdä riskialttiita rakenteita Hypyt pois silmukan keskeltä Monimutkaiset, sisäkkäiset valintarakenteet Monta erilaista tapaa poistua rakenteesta (return) A B C D E 5 G F 25 March

26 Kompleksisuusmetriikat McCabe cyclomatic number v(g) = e n +2 e = verkon kaarien lukumäärä n = verkon solmujen lukumäärä A B C D E F 5 G 25 March

27 Kompleksisuusmetriikat McCabe:n luku voi osoittaa kohtia ohjelmasta, joiden testaukseen kannattaa kiinnittää enemmän huomiota Yleisestä trendistä poikkeavat tapaukset tutkittava Puuttumiskynnys (raja-arvo) haettava kokemuksen kautta (10, 15, 20,?) Muunkinlaisia metriikoita on kehitetty ja niiden tilastollista yhteyttä löydettyihin vikoihin on analysoitu Kts. Ohjelmistoprosessit ja ohjelmistojen laatu -kurssi Kompleksisuusmetriikat eivät ole absoluuttista laadun mittareita! 25 March

28 Dynaaminen testaus 25 March

29 Dynaaminen testaaminen Ohjelman tai ohjelman osan (test object) suorittamista Tunnetuissa olosuhteissa Tietyillä syötteillä Todeten, vastaako saatu tulos odotettua tulosta 25 March

30 Testien suunnittelu Tuloksellinen ohjelman tai sen osan testaus vaatii järjestelmällistä ja vaiheittaista työtapaa Kiinnitä testin tavoitteet ja reunaehdot Määrittele yksittäiset testitapaukset Päätä, miten testi suoritetaan (automatisointi, testipeti) Muodollisuuden ja dokumentaation määrä sekä automaation aste riippuvat Sovellusalueesta, prosessikäytännöistä, aikarajoitteista, osaamisesta ja teknologisesta valmiudesta jne. 25 March

31 Testin tavoitteet ja reunaehdot Mitä pitää testata ja miten? Testausstrategia Vaatimusten täyttymisen osoittaminen Esiehdot ja olosuhteet Esim. testidatan saatavuus Jäljitettävyys Mitä vaatimuksia testit koskevat? 25 March

32 Testitapausten määrittely Syötteiden (test input) määrittely Esi- ja jälkiehdot ennen ja jälkeen testitapauksen suorituksen Odotetun tuloksen/käyttäytymisen määrääminen 25 March

33 Testitapausten suunnittelutekniikat Suunnittelutekniikat jaetaan kahteen peruskategoriaan Black-box eli musta laatikko -tekniikat White-box eli lasilaatikko tekniikat (joskus myös Glass-box) 25 March

34 Black-box Testitapausten suunnittelu perustuu testin kohteen spesifikaatioon Toiminnot, käyttäytyminen Testin kohteen rakennetta ja implementaatiota ei oteta huomioon Testin kohteesta nähdään vain sen ulkoinen käyttäytyminen ja sen tuottamat tulokset annetuilla syötteillä, ei sen sisäistä tilaa (Point of Observation) Kohteen käyttäytymistä voidaan kontrolloida vain syötteillä (Point of Control) 25 March

35 White-box Testin kohteen sisäisen toteutuksen huomioon ottava tekniikka Kontrolli- ja datavuot Kohteen sisäistä tilaa havainnoidaan ja sitä voidaan manipuloida testin suorituksen aikana Tavoitteena testin kohteen rakenteen kattava testaus 25 March

36 Black box vs. White box [4] Andreas Spillner, Tilo Linz, Hans Schaefer: Software testing foundations - a study guide for the certified tester exam : foundation level, ISTQB compliant, 4th Edition. Santa Barbara, CA : Rocky Nook, Inc., March

37 Black box vs. White box Black box -tekniikat sopivat kaikkien testaustasojen testien suunnitteluun White box -tekniikat sopivat paremmin komponentti- ja integraatiotestien suunnitteluun 25 March

38 Black box -tekniikat Ekvivalenssiluokkiin jako Raja-arvo analyysi 25 March

39 Ekvivalenssiluokkiin jaon lähtökohdat Testin suunnittelun perusteena on testin kohteen toiminnallinen määrittely Syötteet, tulosteet, ulkoisesti havaittava käyttäytyminen Kurssin alussa nähtiin, että pienenkin funktion täydellinen testaaminen sen kaikilla mahdollisilla syötteillä on mahdotonta Testien suunnittelijan on valittava järkevä joukko syötteitä testitapauksiinsa Määrä ja (oletettu) kyky löytää vikoja 25 March

40 Ekvivalenssiluokkiin jaon perusidea Jokaisen syötteenä olevan erillisen parametrin tai syöte-elementin koko arvoalue jaetaan ekvivalenssiluokkiin Jaon perusteena on oletus, että testin kohde käsittelee kaikki samaan ekvivalenssiluokkaan kuuluvat arvot samalla tavoin - esimerkiksi Tuottaa tulosarvon käyttäen samaa laskentakaavaa Antaa virheilmoituksen väärästä syötteestä 25 March

41 Ekvivalenssiluokkiin jaon perusidea Testattaviksi syötearvoiksi riittää siis valita vain yksi edustaja kustakin ekvivalenssiluokasta Testin suorittaminen jollain toisella saman ekvivalenssiluokan arvolla ei aiheuta oleellisesti erilaista testikohteen reaktiota tai käyttäytymistä Myös epävalidit eli väärät syötteet täytyy jakaa ekvivalenssiluokkiin! 25 March

42 Ekvivalenssiluokkiin jako Esimerkki kurssikirja, luku March

43 Ekvivalenssiluokkien määrittely 1. Vaihe syötteiden ekvivalenssiluokiin jako Määritetään jokaisen syöte-elementin (parametrin, syötekentän) mahdollisten arvojen alue (input domain) Arvoalue jaetaan alustavasti kahteen ekvivalenssiluokkaan Oikeat syötteet, jotka testin kohde käsittelee spesifikaationsa mukaan Väärät syötteet 25 March

44 Ekvivalenssiluokkien määrittely 2. Vaihe ekvivalenssiluokkien tarkentaminen Tutkitaan testin kohteen spesifikaatiota tarkemmin, ja jokaista eri tavalla käsiteltävää syötearvojoukkoa kohden määritellään uusi ekvivalenssiluokka Kun jako ei enää tarkennu, valitaan kustakin ekvivalenssiluokasta yksi arvo luokan edustajaksi eli testitapauksissa käytettäväksi konkreettiseksi syötearvoksi myös luokan raja-arvot on syytä testata Testitapausten laatu eli kyky löytää virheitä riippuu siitä, miten hyvin eri ekvivalenssiluokat on tunnistettu ja miten luokkien edustajat on valittu 25 March

45 Ekvivalenssiluokkien määrittely Esimerkki kurssikirjasta s (luku 5.1.1) 25 March

46 Joukkojen ja diskreettien arvoalueiden ekvivalenssiluokat Ekvivalenssiluokat primitiivisille tietotyypeille löytyvät yleensä melko helposti (esim. luvuille) Syötteenä voi olla myös rakenteisia olioita ja dataa tai joukkojen alkioita Ekvivalenssiluokat pitää tällöin määritellä tapauskohtaisesti järkevällä tavalla Syöteolioiden niitten ominaisuuksien (property, attribute) perusteella, jotka vaikuttavat olion käsittelyyn testin kohteessa Esim. matkustajan alennusryhmän vaikutus matkan hinnan laskentaan 25 March

47 Testitapausten määrittely Testin kohteella on yleensä useita syötteitä (parametreja), joista jokaisella on vähintään kaksi ekvivalenssiluokkaa (validit ja väärät syötteet) ja jokaisella luokalla yksi tai useampi edustaja Konkreettisissa testitapauksissa jokaiselle eri syöteparametrille pitää antaa jokin arvo Täytyy siis valita, mitkä erillisten syötteiden ekvivalenssiluokkien edustajat yhdistetään testitapausten syötteiksi 25 March

48 Syötekombinaatioiden valinnan perussäännöt Kaikki valideja syötteitä edustavien ekvivalenssiluokkien edustajien kombinaatiot on testattava Positiiviset eli validit testitapaukset 25 March

49 Syötekombinaatioiden valinnan perussäännöt Jokainen ei-validi eli vääriä syötteitä edustava ekvivalenssiluokka on myös testattava, mutta niiden edustajia ei saa yhdistää toisten ei-validien luokkien edustajien kanssa Valitaan siis jokin positiivinen testitapaus, johon vaihdetaan täsmälleen yksi väärä syöte, jolloin saadaan negatiivinen eli ei-validi testitapaus Jos vääriä syötteitä on useita, voi olla vaikea todentaa, minkä syötteen käsittely aiheuttaa havaitun virheilmoituksen tai poikkeuksen Jokin poikkeuskäsittely voi myös jäädä testaamatta! 25 March

50 Kombinaatioiden määrän hallinta Jos syöteparametreja on useita ja valideja ekvivalenssiluokkia on monta, kombinaatioiden määrä kasvaa nopeasti Määrää voidaan rajoittaa seuraavilla heuristiikoilla Järjestetään ja priorisoidaan kombinaatiot k.o. tapausten oletetun esiintymistiheyden mukaan (tyypilliset tapaukset testataan) Suositaan ekvivalenssiluokkien raja-arvoja sisältäviä kombinaatioita Tarkastellaan parametreja pareittain ja valitaan niiden ekvivalenssiluokkien edustajien kaikki pariyhdistelmät sisältävät kombinaatiot Jokaisen ekvivalenssiluokan jokainen edustaja on vähintään yhdessä testitapauksessa mukana 25 March

51 Testauksen lopetusehto Ekvivalenssiluokkien avulla voidaan määritellä testauksen lopetusehto EL-kattavuus = (testattujen EL:ien lukumäärä / EL:ien kokonaismäärä) * 100 % 25 March

52 Ekvivalenssitekniikan arviointia Ekvivalenssiluokkien määrittely on kriittinen tekijä testitapausten tehon kannalta Puutteellinen analyysi voi jättää luokkia löytymättä Johtaa vaatimuksissa esiintyvien ehtojen ja rajoitusten kattavaan testaukseen Minimoi turhia testitapauksia (kustakin ekvivalenssiluokasta poimitaan vain muutama edustaja) Voidaan soveltaa kaikilla testaustasoilla Ei ota huomioon riippuvuuksia ja vuorovaikutuksia eri syöteparametrien välillä Voidaan käsitellä tulosteiden ekv.-luokkien kautta 25 March

53 Raja-arvo analyysi Ekvivalenssiluokkia täydentävä tekniikka Lähtökohtana havainnot, joiden mukaan vikoja esiintyy usein ekvivalenssiluokkien rajoilta peräisin olevilla syötearvoilla Rajoja ei ole ehkä määritelty selvästi Ohjelmoija on ymmärtänyt väärin, missä luokkien rajat kulkevat Loogisten lausekkeiden koodausvirheet Ei voida käyttää parametreille, joiden e-luokilla ei ole reuna-alkioita (joukot) 25 March

54 Raja-arvo analyysi Jos e-luokalla on tunnistettava raja (reuna-alkio), testataan 1) Raja-arvolla 2) Raja-arvoa lähimpänä olevalla samaan e-luokkaan kuuluvalla arvolla 3) Raja-arvoa lähimpänä olevalla e-luokan ulkopuolisella arvolla Jos varsinaista raja-arvoa ei ole olemassa, testataan 2) ja 3) Liukulukuarvoille täytyy määritellä tarkkuus (pienin arvon muutos), jolla raja-arvotestaus tehdään 25 March

55 Vinkkejä raja-arvo analyysiin Syötteen pituus on rajoitettu 1 ja 100 alkion välille; testataan 1, 100, 0 ja 101 alkion mittaisilla syötteillä Jos testin kohteen tuottamalla tuloksella (output) on tietty arvoalue rajoineen, kannattaa yrittää löytää syötteet, jotka tuottavat raja-arvot sekä niiden lähimmät arvot Järjestettyjen kokoelmien ensimmäiset ja viimeiset alkiot ovat kiinnostavia Tyhjät kokoelmat ja taulukot ovat hyviä syötteitä Samoin täydet kokoelmat ja taulukot 25 March

56 Vinkkejä raja-arvo analyysiin Hyvin suuret syötteenä annettavat tietorakenteet ja datamäärät testaavat kohteen käsittelykapasiteetin rajoja Hyvin lähellä toisiaan olevat arvot sekä toisistaan hyvin kaukana olevat arvot testaavat numeeristen funktioiden erottelukykyä 25 March

57 Testauksen lopetusehto RA-kattavuus = (testattujen RA:jen lukumäärä / RA:jen kokonaismäärä) * 100 % 25 March

58 Raja-arvo analyysin arviointia Hyvin tehokas menetelmä yhdessä ekvivalenssiluokkien kanssa käytettynä Vikojen löytymisen todennäköisyys on suurin rajatapausten käsittelyssä Raja-arvot ja niiden lähimmät arvot riittävät teoriassa e-luokkien edustajiksi Tekniikka vaikuttaa yksinkertaiselta, mutta syötearvojen määrittely ei ole aina helppoa rajatapausten käsittelyn liipaisemiseksi testikohteessa 25 March

Dynaaminen analyysi I

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

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

Staattinen testaus. Luento 5 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science Staattinen testaus Luento 5 Antti-Pekka Tuovinen 26 March 2013 1 Oppimistavoitteet Katselmointien käyttö vikojen löytämiseen Ohjelmakoodin ja spesifikaatioiden staattinen analyysi 26 March 2013 2 1 Staattinen

Lisätiedot

Dynaaminen analyysi IV

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

Dynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen

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

Dynaaminen analyysi III Luento 5 Antti-Pekka Tuovinen

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

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

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

Dynaaminen analyysi III

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

Harjoitustyön testaus. Juha Taina

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

Dynaaminen analyysi II

Dynaaminen analyysi II Dynaaminen analyysi II Luento 7 Antti-Pekka Tuovinen 9 April 2013 1 Tavoitteet Black-box testitapausten suunnittelutekniikat II Tilamallien käyttö Syys-seurausverkot ja päätöstaulut Käyttötapaukset Yhteenveto

Lisätiedot

Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen

Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen www.cs.helsinki.fi 9 April 2018 1 Tavoitteet Black-box testitapausten suunnittelutekniikat II Tilamallien käyttö Syy-seurausverkot ja päätöstaulut Kombinaatioiden

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

Kontrollipolkujen määrä

Kontrollipolkujen 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ä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

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

Testausdokumentti. 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ä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

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

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

58160 Ohjelmoinnin harjoitustyö

58160 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ä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

Ohjelmistotestauksen perusteita Luento 1 Antti-Pekka Tuovinen

Ohjelmistotestauksen perusteita Luento 1 Antti-Pekka Tuovinen Ohjelmistotestauksen perusteita Luento 1 Antti-Pekka Tuovinen 12 March 2018 1 Luennon oppimistavoitteet Mitä ohjelmistojen testaaminen on? Mikä on testauksen suhde ohjelmiston laatuun? Mitä tarkoittavat

Lisätiedot

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Testauksen 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ä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

Lohtu-projekti. Testaussuunnitelma

Lohtu-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ä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

Laadunvarmistustekniikat

Laadunvarmistustekniikat Laadunvarmistustekniikat Ohjelmistojen laadunvarmistustekniikoita: testaus (testing) ohjelman suorittamista tarkoituksena löytää virheitä tarkastukset (inspections, reviews) asiantuntijoiden suorittamia

Lisätiedot

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

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

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

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

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

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

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

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

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

Ohjelmistotuotanto s

Ohjelmistotuotanto s Laadunvarmistustekniikoita Ohjelmistotuotanto 1 testaus (testing) ohjelman suorittamista tarkoituksena löytää virheitä tarkastukset (inspections, reviews) asiantuntijoiden suorittamia dokumentin (voi olla

Lisätiedot

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

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

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

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

LAATU, LAADUNVARMISTUS JA f RISKIEN HALLINTA JOUNI HUOTARI ESA SALMIKANGAS PÄIVITETTY 18.1.2011

LAATU, LAADUNVARMISTUS JA f RISKIEN HALLINTA JOUNI HUOTARI ESA SALMIKANGAS PÄIVITETTY 18.1.2011 LAATU, LAADUNVARMISTUS JA f RISKIEN HALLINTA JOUNI HUOTARI ESA SALMIKANGAS PÄIVITETTY 18.1.2011 TEHTÄVÄ Määrittele laatu Mitä riskien hallintaan kuuluu? Jouni Huotari & Esa Salmikangas 2 LAATU JA LAADUNVARMISTUS

Lisätiedot

Harjoitus 7: NCSS - Tilastollinen analyysi

Harjoitus 7: NCSS - Tilastollinen analyysi Harjoitus 7: NCSS - Tilastollinen analyysi Mat-2.2107 Sovelletun matematiikan tietokonetyöt Syksy 2006 Mat-2.2107 Sovelletun matematiikan tietokonetyöt 1 Harjoituksen aiheita Tilastollinen testaus Testaukseen

Lisätiedot

Kuopio Testausraportti Asiakkaat-osakokonaisuus

Kuopio 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ä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

Ohjelmistojen mallintaminen. Luento 11, 7.12.

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

Algoritmit 1. Luento 3 Ti Timo Männikkö

Algoritmit 1. Luento 3 Ti Timo Männikkö Algoritmit 1 Luento 3 Ti 17.1.2017 Timo Männikkö Luento 3 Algoritmin analysointi Rekursio Lomituslajittelu Aikavaativuus Tietorakenteet Pino Algoritmit 1 Kevät 2017 Luento 3 Ti 17.1.2017 2/27 Algoritmien

Lisätiedot

Käyttötapausanalyysi ja testaus tsoft

Käyttötapausanalyysi ja testaus tsoft Käyttötapausanalyysi ja testaus tsoft 15.09.2004 http://cs.joensuu.fi/tsoft/ Johdanto Use Case analyysi (käyttötapausanalyysi) on yleisesti käytetty järjestelmälle asetettujen toiminnallisten vaatimusten

Lisätiedot

Convergence of messaging

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

Tietojärjestelmän osat

Tietojärjestelmän osat Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto

Lisätiedot

Tietorakenteet ja algoritmit - syksy 2015 1

Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 1 Tietorakenteet ja algoritmit - syksy 2015 2 Tietorakenteet ja algoritmit Johdanto Ari Korhonen Tietorakenteet ja algoritmit - syksy 2015 1. JOHDANTO 1.1 Määritelmiä

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

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

Turvakriittisen projektin menetelmät ja työkalut

Turvakriittisen projektin menetelmät ja työkalut Turvakriittisen projektin menetelmät ja työkalut 1. Vaatimushallinta Vaatimushallintaan kohdistuu turvaluokitelluissa projekteissa paljon odotuksia. Etenkin jäljitettävyys vaatimuksiin, testaukseen ja

Lisätiedot

Ohjelmoinnin perusteet Y Python

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

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy Laadunvarmistuksen suunnitelma Ryhmä ExtraTerrestriaLs Aureolis Oy Versi Päiväys Tekijä Kuvaus o 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

Ohjelmistotuotantoprojekti

Ohjelmistotuotantoprojekti Ohjelmistotuotantoprojekti Ryhmä Muppett TESTAUSDOKUMENTTI Helsinki 5.8.2008 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti, kesä 2008 Projekti: Muutos- ja korjauspyyntöjen

Lisätiedot

Ohjelmistojen suunnittelu

Ohjelmistojen suunnittelu Ohjelmistojen suunnittelu 581259 Ohjelmistotuotanto 154 Ohjelmistojen suunnittelu Software design is a creative activity in which you identify software components and their relationships, based on a customer

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

Testaussuunnitelma Labra

Testaussuunnitelma Labra Testaussuunnitelma Labra Helsinki 25.8.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 Kurssi 581260 Ohjelmistotuotantoprojekti (9+1op) Projektiryhmä Anssi Kapanen,

Lisätiedot

T SEPA - STAATTISET MENETELMÄT Tuomas Tolvanen, 55382U Timo Töyry, 58578B

T SEPA - STAATTISET MENETELMÄT Tuomas Tolvanen, 55382U Timo Töyry, 58578B T-76.5158 SEPA - STAATTISET MENETELMÄT Tuomas Tolvanen, 55382U Timo Töyry, 58578B T-76.5158 SEPA - Pariohjelmointi 2 (7) VERSION HALLINTA Versio Päivä Tekijä Kuvaus 0.1 5.12.2006 Tuomas Tolvanen Ensimmäinen

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

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

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

Katselmoinnit. review) Katselmoinnit (review( Mitä ovat katselmoinnit? Katselmoinnin määritelmä (IEEE 1988)

Katselmoinnit. review) Katselmoinnit (review( Mitä ovat katselmoinnit? Katselmoinnin määritelmä (IEEE 1988) Katselmoinnit Johdatus ohjelmistotekniikkaan Sami Kollanus 19.10.2004 Katselmoinnin määritelmä (IEEE 1988) An evaluation of software element(s) or projects status to ascertain discrepancies from planned

Lisätiedot

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio

Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi, dynaaminen mallintaminen, yhteistoimintakaavio ja sekvenssikaavio Analyysi Tarkentaa ja jäsentää vaatimusmäärittelyä, vastaa kysymykseen MITÄ järjestelmän tulisi tehdä. Suoritetaan seuraavia

Lisätiedot

Automaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure

Automaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure Automaattinen regressiotestaus ilman testitapauksia Pekka Aho, VTT Matias Suarez, F-Secure 2 Mitä on regressiotestaus ja miksi sitä tehdään? Kun ohjelmistoon tehdään muutoksia kehityksen tai ylläpidon

Lisätiedot

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari 1 1. JOHDANTO 1.1 Määritelmiä 1.2 Tietorakenteen ja algoritmin valinta 1.3 Algoritmit ja tiedon määrä 1.4 Tietorakenteet ja toiminnot 1.5 Esimerkki:

Lisätiedot

ELM GROUP 04. Teemu Laakso Henrik Talarmo

ELM GROUP 04. Teemu Laakso Henrik Talarmo ELM GROUP 04 Teemu Laakso Henrik Talarmo 23. marraskuuta 2017 Sisältö 1 Johdanto 1 2 Ominaisuuksia 2 2.1 Muuttujat ja tietorakenteet...................... 2 2.2 Funktiot................................

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

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen 4.2.2004

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen 4.2.2004 Tarkastusmenettelyt ja katselmukset tsoft Vesa Tenhunen 4.2.2004 http://cs.joensuu.fi/tsoft/ Johdanto Yksi tärkeimmistä tekijöistä laadukkaiden ohjelmistojen tuottamisessa on puutteiden aikainen havaitseminen

Lisätiedot

TAMPEREEN TEKNILLINEN YLIOPISTO

TAMPEREEN TEKNILLINEN YLIOPISTO TAMPEREEN TEKNILLINEN YLIOPISTO Digitaali- ja Tietokonetekniikan laitos TKT-3200 Tietokonetekniikka ASSEMBLER: QSORT 11.08.2010 Ryhmä 00 nimi1 email1 opnro1 nimi2 email2 opnro2 nimi3 email3 opnro3 1. TEHTÄVÄ

Lisätiedot

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015 TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 30. marraskuuta 2015 Sisällys t Väitöstilaisuus 4.12.2015 kello 12 vanhassa juhlasalissa S212 saa tulla 2 demoruksia

Lisätiedot

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

C-ohjelmoinnin peruskurssi. Pasi Sarolahti C! C-ohjelmoinnin peruskurssi Pasi Sarolahti Mitä haluan oppia C-kurssilla? ja miksi? Tutustu lähimpään naapuriin Keskustelkaa miksi halusitte / jouduitte tulemaan kurssille 3 minuuttia è kootaan vastauksia

Lisätiedot

Algoritmit 1. Luento 1 Ti Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö Algoritmit 1 Luento 1 Ti 10.1.2017 Timo Männikkö Luento 1 Algoritmi Algoritmin toteutus Ongelman ratkaiseminen Algoritmin tehokkuus Algoritmin suoritusaika Algoritmin analysointi Algoritmit 1 Kevät 2017

Lisätiedot

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

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen ohjelmointiin Jukka Talvitie Valvoja: Professori Jorma Jormakka Paikka: TietoEnator oyj Ongelma Ideologia Lifebelt

Lisätiedot

UCOT-Sovellusprojekti. Testausraportti

UCOT-Sovellusprojekti. Testausraportti UCOT-Sovellusprojekti Testausraportti Ilari Liukko Tuomo Pieniluoma Vesa Pikki Panu Suominen Versio: 0.02 Julkinen 11. lokakuuta 2006 Jyväskylän yliopisto Tietotekniikan laitos Jyväskylä Hyväksyjä Päivämäärä

Lisätiedot

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset 815338A Ohjelmointikielten periaatteet 2015-2016. Harjoitus 3 vastaukset Harjoituksen aiheena ovat imperatiivisten kielten muuttujiin liittyvät kysymykset. Tehtävä 1. Määritä muuttujien max_num, lista,

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

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

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

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

Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi

Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi Good Minton Sulkapalloliiton Kilpailujärjestelmä SEPA: Heuristinen arviointi Versiohistoria: Versio: Pvm: Laatijat: Muutokset: 0.1 2006-11-25 Janne Mäkelä Alustava 1.0 2006-12-10 Janne Mäkelä Valmis 1.

Lisätiedot

Menetelmäraportti Ohjelmakoodin tarkastaminen

Menetelmäraportti Ohjelmakoodin tarkastaminen Menetelmäraportti Ohjelmakoodin tarkastaminen Sisällysluettelo 1. Johdanto...3 2. Menetelmän kuvaus...4 2.1. Tarkastusprosessi...4 2.1.1. Suunnittelu...4 2.1.2. Esittely...5 2.1.3. Valmistautuminen...5

Lisätiedot

T Testiraportti - integraatiotestaus

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

Testiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt

Testiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt Testiautomaatio tietovarastossa Automaattisen regressiotestauksen periaate ja hyödyt Sisältö 2 Testaus kiinteänä osana DW-toteutusta Regressiotestauksen merkitys Robot Framework Automatisoitu DW:n regressiotestaus:

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

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

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

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

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

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

TIE Ohjelmistojen testaus 2016 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori TIE-21201 Ohjelmistojen testaus 2016 Harjoitustyö Vaiheet 1 ja 2 Antti Jääskeläinen Matti Vuori Työn yleiset järjestelyt 20.9.2016 2 Valmistautuminen Ilmoittaudu kurssille Lue harjoitustyön nettisivut

Lisätiedot

Katselmoinnin määritelmä. Katselmoinnit osa 1. ja vielä ajatuksia katselmoinneista. Katselmointi. Katselmointi, katselmus (review) IEEE Std

Katselmoinnin määritelmä. Katselmoinnit osa 1. ja vielä ajatuksia katselmoinneista. Katselmointi. Katselmointi, katselmus (review) IEEE Std Katselmoinnin määritelmä Katselmoinnit osa 1 Sami Kollanus 1.12.2006, katselmus (review) IEEE Std 1028-1988 Ohjelmiston osien tai projektin tilan arviointi (evaluation), jonka tarkoitus on tunnistaa tuotosten

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

Ohjelmistotuotteen hallinnasta

Ohjelmistotuotteen hallinnasta Ohjelmistotuotteen hallinnasta Luennon tavoitteista Luennon sisällöstä Motivointia Lähteinä: Haikala ja Märijärvi, Ohjelmistotuotanto Royce, Software Project Management, A Unified Framework 1 Tavoitteista

Lisätiedot

Tietorakenteet ja algoritmit

Tietorakenteet ja algoritmit Tietorakenteet ja algoritmit Kurssin sisältö pääpiirteittäin Tarvittavat pohjatiedot Avainsanat Abstraktio Esimerkkiohjelman tehtäväkuvaus Abstraktion käyttö tehtävässä Abstrakti tietotyyppi Hyötyjä ADT:n

Lisätiedot

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

Yksikkö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ä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

Automaattinen yksikkötestaus

Automaattinen yksikkötestaus Teknillinen Korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Automaattinen yksikkötestaus Ryhmä Rajoitteiset Versio Päivämäärä Tekijä

Lisätiedot

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

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

Arviointi ja mittaaminen

Arviointi ja mittaaminen Arviointi ja mittaaminen Laatuvastaavien koulutus 5.6.2007 pirjo.halonen@adm.jyu.fi 014 260 1180 050 428 5315 Arviointi itsearviointia sisäisiä auditointeja ulkoisia auditointeja johdon katselmusta vertaisarviointeja

Lisätiedot

SEPA: Staattiset menetelmät Timo Sallinen, 51134F & Risto Kunnas, 50498T. Sisällysluettelo. 1 Johdanto. 2 SEPA harjoittelu käytännössä.

SEPA: Staattiset menetelmät Timo Sallinen, 51134F & Risto Kunnas, 50498T. Sisällysluettelo. 1 Johdanto. 2 SEPA harjoittelu käytännössä. Sivu 1 (5) SEPA: Staattiset menetelmät Timo Sallinen, 51134F & Risto Kunnas, 50498T Versio Päiväys Tekijä Kuvaus 0.1 27.10.2004 Timo Sallinen Ensimmäinen versio 1.0 31.10.2004 Timo Sallinen Korjauksia,

Lisätiedot

T Testiraportti - järjestelmätestaus

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

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

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

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

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

0.47 27.11.2005 Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen

0.47 27.11.2005 Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen Muutoshistoria Versio Pvm Tekijä Kuvaus 0.1 24.10.2005 Elina Kontro Laatuasiat siirretty omaan dokumenttiin jatkotyöstetty 0.2 27.10.2005 Santeri Saarinen Bugien elinkaari yms. asioita jatkettu 0.3 28.10.2005

Lisätiedot

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

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