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

Samankaltaiset tiedostot
Testauksen suunnittelu. Faculty of Science 30 April

Dynaaminen analyysi IV

Dynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen

Dynaaminen analyysi III Luento 5 Antti-Pekka Tuovinen

Dynaaminen analyysi I

Dynaaminen analyysi III

Dynaaminen analyysi II

Kontrollipolkujen määrä

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2016

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

Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen

Tapahtuipa Testaajalle...

Ohjelmistotestaus -09

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

58160 Ohjelmoinnin harjoitustyö

Onnistunut Vaatimuspohjainen Testaus

Ohjelmistojen mallintaminen. Luento 11, 7.12.

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

T Testiraportti - järjestelmätestaus

Ohjelmistotuotantoprojekti

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

Testidatan generointi

Testiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt

Ohjelmistotestauksen perusteita II

Lohtu-projekti. Testaussuunnitelma

T Testiraportti - integraatiotestaus

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

Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta

T Testiraportti - integraatiotestaus

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

Ohjelmiston testaus ja laatu. Testausmenetelmiä

Ohjelmiston testaus ja laatu. Testaustasot

statbeatmobile PROJECT REVIEW iteration 1

Ohjelmointi 1 / syksy /20: IDE

Harjoitustyön testaus. Juha Taina

Laadunvarmistustekniikat

Ohjelmistotuotanto s

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

Tekoälyä testauksessa ja hyvän softan teossa

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

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

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

Testaaminen ohjelmiston kehitysprosessin aikana

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

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

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

Testaustyökalut Sini Mäkelä

Työkalujen merkitys mittaamisessa

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

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

Turvakriittisen projektin menetelmät ja työkalut

Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta

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

Työkalut ohjelmistokehityksen tukena

Kuopio Testausraportti Asiakkaat-osakokonaisuus

Convergence of messaging

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Oleelliset vaikeudet OT:ssa 1/2

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1

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

Tietojärjestelmän osat

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

Automatisoinnilla tehokkuutta mittaamiseen

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

statbeatmobile FINAL PROJECT REVIEW

Hieman lisää malleista ja niiden hyödyntämisestä

Ohjelmoinnin peruskurssien laaja oppimäärä

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

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

Testi generaattori. Testien ajotyökalu. Kuva 1. Offline mallipohjainen testaus

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

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

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

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0

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

Ohjelmistotekniikan menetelmät, Ohjelmistotuotannon työkaluista

Testaussuunnitelma Labra

Testaussuunnitelma. Oppimistavoitteiden hallintajärjestelmä harri

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

Hirviö Laadunvarmistussuunnitelma

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

Ohjelmiston testaus ja laatu. Testaus yleistä

Projektityö

Ohjelmistojen testaus

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Rinnakkaisten ohjelmien testaus Keskeisiä periaatteita ja strategioita

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

Algoritmit 1. Luento 3 Ti Timo Männikkö

COTOOL dokumentaatio Testausdokumentit

Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle

L models. Testisuunnitelma. Ryhmä Rajoitteiset

Staattinen testaus Dynaaminen testaus I Luento 3 Antti-Pekka Tuovinen

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

T Testitapaukset TC-1

Laadunvarmistusdokumentti

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

TIE Ohjelmistojen suunnittelu

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

Sähköinen äänestämisen testaus

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Transkriptio:

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 Työkalujen käytön tavoitteet Käsin tehtävän, samanlaisena mekaanisesti toistuvan ja/tai aikaa vievän työn automatisointi (ihmiset ovat huonoja automaatteja) Sellaisten testien tekeminen, joita on vaikeaa tai mahdotonta tehdä manuaalisesti (rasitus- ja suorituskykytestit) Inhimillisten virheiden riskin vähentäminen esimerkiksi suurten testi- ja tulosdatamäärien käsittelyssä 25 April 2013 3 Työkalutyyppejä Testien suorituksen automatisointi, testidatan generointi, testitapausten generointi, testausprosessin hallinta, testin kohteen monitorointi, monikäyttötyökalut, jne. Yleiskäyttöisiä ja hyvin erikoistuneita Kaupallisia ja avoimia Esimerkiksi OSS työkaluja löytyy osoitteesta http://www.opensourcetesting.org/ Muita http://www.imbus.de/english/test-tool-list/ 25 April 2013 4 2

Testauksen hallintatyökalut Testitapausten määrittely, luokittelu, priorisointi ja muu hallinta Testien suorituksen tilan seuranta Mahdollisesti linkitys vaatimushallintaan Vikaraporttien luonti- ja seurantatyökalut ovat välttämättömiä (incident management, bug tracking) Hallintatyökalujen integrointi muihin Testiraporttien ja dokumenttien generointi 25 April 2013 5 Testauksen hallintatyökalut Testia Tarantula demo http://www.youtube.com/watch?v=e6dxwpjxij Y 25 April 2013 6 3

Testien määrittelytyökalut Testitapauksen määrittelyyn kuuluvat esi- ja jälkiehdot, syöte ja odotettu tulos Testitapausten ja datan generointityökalut helpottavat testien laatijan työtä tuottamalla testisyötteitä tai kokonaisia testitapauksia automaattisesti 25 April 2013 7 Testitapausten generoinnin peruste Tietokantarakenteen määrittely (data base schema) Tuotetaan skeeman mukainen testitietokanta Testikohteen koodi (white box) Testioraakkeli tarvitaan Pelkkä koodi (toteutus) on huono lähtökohta testaukselle 25 April 2013 8 4

Testitapausten generoinnin peruste Testikohteen rajapinta (black box) Automaattinen ekvivalenssiluokkiin jako ja raja-arvo analyysi rajapinnan määrittelyn perusteella (API, GUI) Negatiivisten testitapausten automaattinen generointi Testioraakkeli tarvitaan Testikohteen (formaali) spesifikaatio Model based testing Testisyötteiden ja tulosten generointi UML mallin avulla Malli toimii oraakkelina 25 April 2013 9 Esimerkki AgitarOne Junit yksikkötestien automaattinen generointi Yhdistää black box ja white box analyysejä Kaupallinen työkalu Demo http://www.agitar.com/downloads/demos/agitaronevs_ legacy/agitaronevslegacy.html Mentelmän yksityiskohdat ja analyysialgoritmit liikesalaisuuksia, mutta tutkimustietoa toki aihepiiristä löytyy 25 April 2013 10 5

Staattisen testauksen työkalut Katselmoinnit Spesifikaatioiden ja mallien staattinen analyysi Model checking UML-mallin täydellisyys ja ristiriidattomuus Koodin staattinen analyysi Datavuoanomaliat, turvallisuusongelmat ja kymmeniä muita, katso. esimerkiksi http://findbugs.sourceforge.net/bugdescriptions.html 25 April 2013 11 Testien suorittamisen automatisointi Testitapaukset syötteineen ja odotettuine tuloksineen koodataan testiskripteiksi tai ohjelmiksi (JUnit - testitapausluokat) Työkalu ajaa testit automaattisesti ja kirjaa tulokset (JUnit laajennokset NetBeans ja Eclipse - ympäristöissä) Debuggerit Kehittäjän työkaluja pääasiassa, mutta voivat olla tarpeellisia tiettyjen virhetilanteiden luomiseksi 25 April 2013 12 6

Testikehikot ja ajurit (test framework, test harness) Testiympäristön automaattinen generoiminen testikohteen analysoinnin perusteella Tuki ajurien kirjoittamista varten Riippuvuuksien analysointi ja tynkien (stubs) tai jäljittelijöiden (mock object) automaattinen (osittainen) generointi http://en.wikipedia.org/wiki/mock_object Google Test C++ testing framework http://code.google.com/p/googletest/wiki/primer 25 April 2013 13 Simulaattorit, emulaattorit Testausrobotit (capture and replay) Käyttöliittymätapahtumien nauhoitus ja toisto testitapausten määrittelyn avuksi Selenium on suosittu työkalu selaimessa toimivien sovellusten testitapausten muodostamiseen ja suorittamiseen http://www.youtube.com/watch?v=oeyey6gadvg 25 April 2013 14 7

Datalähtöinen testaus (data driven testing) Periaatteessa sama testitapaus suoritetaan monta kertaa peräkkäin vain syötteiden vaihtuessa Syötedata ja odotettu tulos talletetaan tiedostoon, tietokantaan tai taulukkon, josta testiskripti lukee datarivit ja ajaa testitapauksen Komento- tai avainsanatestaus (command/keyword driven testing) Testitapaukset ja -skenaariot koostuvat abstrakteista toiminnoista ( enter login credentials ) ja niiden syötteistä Testiä suoritettaessa abstrakti toiminto korvataan konkreettisella testikohteen toiminteella/dialogilla 25 April 2013 15 Vertailijat (comparator) Suurien tietomassojen vertailuun (testin tuottama tulosdata vs. oraakkelin tuottama data) Dynaamiset analysaattorit testikohteen suorituksen aikana Muistin käyttö jne. Kattavuusanalyysi testitapausten suorituksesta Lause- ja haarautumakattavuus jne. Työkaluissa paljon eroja Esimerkiksi EclEmma coverage plugin for Eclipse 25 April 2013 16 8

Suorituskyvyn testaus ja monitorointi Kuormitustestaus, vasteajat Datan ja tapahtumien generointi Määrä, frekvenssi Monitorointi Testin aikaisen käyttäytymisen mittaaminen ja mittausdatan kerääminen Profilointi Vaatii erikoistuneita ja joskus kalliita välineitä Turvauhkien testaus http://www.metasploit.com/index.jsp 25 April 2013 17 9