Kontrollipolkujen määrä

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

Ohjelmistotuotanto s

Laadunvarmistustekniikat

Ohjelmiston testaus ja laatu. Testaustasot

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

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

58160 Ohjelmoinnin harjoitustyö

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

Laadunvarmistustekniikoita. Ohjelmistotuotanto. Testaus termejä. Testaus periaatteita. Testaus havaintoja. Testaus havaintoja

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

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

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

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Suunnitteluvaihe prosessissa

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

Ohjelmistotuotantoprojekti

Convergence of messaging

Ohjelmiston testaus ja laatu. Testausmenetelmiä

Dynaaminen analyysi I

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

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

Testaussuunnitelmat. Luennon tavoitteista. Motivointia. Haikala ja Märijärvi, Ohjelmistotuotanto. Pressman, Software Engineering

Lohtu-projekti. Testaussuunnitelma

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

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

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

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

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

Dynaaminen analyysi IV

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

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

Dynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen

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

Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle

Kuopio Testausraportti Asiakkaat-osakokonaisuus

Ohjelmistojen mallintaminen. Luento 11, 7.12.

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Dynaaminen analyysi III Luento 5 Antti-Pekka Tuovinen

Harjoitustyön testaus. Juha Taina

Testaussuunnitelma. Oppimistavoitteiden hallintajärjestelmä harri

Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen

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

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

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

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

Ohjelmiston testaussuunnitelma

Kuopio Testausraportti Kalenterimoduulin integraatio

Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg

Ohjelmoinnin perusteet Y Python

Testaussuunnitelma Labra

T Testiraportti - integraatiotestaus

Algoritmit 1. Luento 10 Ke Timo Männikkö

Dynaaminen analyysi III

Testaustyökalut Sini Mäkelä

Ohjelmiston toteutussuunnitelma

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Dynaaminen analyysi II

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

ELM GROUP 04. Teemu Laakso Henrik Talarmo

Ohjelmistotekniikka - Luento 10 Jouni Lappalainen

Ohjelmistotestauksen suunnittelu - Case: A-lehdet Oy:n laskujen tulostusohjelma

Testaus elinkaaressa. Testaustasot ja vaiheet

9.6 Kannettava testilaite

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

Algoritmit 1. Luento 1 Ti Timo Männikkö

Lohtu-projekti. Testiraportti. Versiohistoria: syklin toteutuksen testit. 1. ajo Virve

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

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1

Ohjelmistotekniikka - Luento 9 Jouni Lappalainen

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

Testaussuunnitelma. Ohjelmistotuotantoprojektin tietojärjestelmä OhtuTie

Versio Päiväys Tekijä Kuvaus Tikkanen varsinainen versio

Laatukustannukset. Laadun hallinta. Laadun kustannuksista

@Tampereen Testauspäivät ( )

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

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

7. Verifiointi ja validointi

Ohjelmistotekniikka - Luento 2

Testiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt

Juha Taina, Marko Salmenkivi ja Kjell Lemström,

Verifiointi ja validointi

Algoritmit 1. Luento 3 Ti Timo Männikkö

Laadun hallinta. Laatukustannukset. Laadun kustannuksista. Sami Kollanus TJTA330 Ohjelmistotuotanto

Laadun hallinta. Laatukustannukset. Sami Kollanus TJTA330 Ohjelmistotuotanto

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

Graafinen käyttöliittymä lintujen rengastusjärjestelmään

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

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

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

Testiraportti - Koordinaattieditori

Wipron Suomen toimipisteen ohjelmistotestauksen kehittäminen. Marko Isoaho

Ohjelmistotekniikka - Luento 3

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

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

10. Tarkastukset. Tarkastusten rakenne

Tarkastusten rakenne. 10. Tarkastukset. Tuotoksen tekijän rooli. Tarkastustiimi. Tarkastusprosessin vaiheet. Tarkastusprosessi

T Testiraportti - järjestelmätestaus

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Oleelliset vaikeudet OT:ssa 1/2

Transkriptio:

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 testauksen tarvetta Testaus pystyy todistamaan ainoastaan ohjelman virheellisyyden, ei virheettömyyttä Testi on onnistunut, kun tulos on oikea ja ohjelman (tai testattavan osan) sisäinen tila on muuttunut oikein

Kontrollipolkujen määrä 5 solmua 120 permutaatiota 10 solmua 3 628 800 permutaatiota 20 solmua 2,4 x 10 18 permutaatiota -> 1 mrd suoritusta sekunnissa = 77 vuotta

Testaukseen riittävästi resursseja! 1 2 3 4 5 6 7 Vaihe Vaatimukset Määrittely Suunnittelu Koodaus Moduulitestaus Integrointi Ylläpito Kustannusosuus 3 % 5 % 7 % 6 % 7 % 6 % 67 %

Testausprosessi Testidata Testitapaukset Testitulokset Testiraportit Suunnittelu Testidatan valmistelu Suoritetaan testi Verrataan tuloksia suunnitelmiin Virheen jäljitys Virheen jäljitys

Testauksen V-malli Päävaatimusten määrittely Järjestelmän spesifikaatio Päävaatimusten speksit Järjestelmän speksit Järjestelmän testaus Arkkitehtuurin speksit Hyväksymistestaus Arkkitehtuurisuunnittelu Integrointitestaus Komponenttisuunnittelu Moduulien speksit Komponenttien testaus Komponenttien koodaus / testaus

Yleisiä suosituksia Toimintojen testaus on komponenttitestausta tärkeämpää Muutoksen jälkeen on tärkeämpää testata vanhat kuin uudet toiminnot On tärkeämpää testata tavanomaiset tapaukset kuin ääritapaukset Testiohjelmatkin on suunniteltava huolellisesti Virheet pyrkivät kasautumaan Testauksen täytyy olla suunnitelmallista Testaaja eri henkilö kuin tekijä

Lähestymistapa integroinnissa Top-down Testataan ensin ylimmän tason moduulit niin, että korvataanalemman tason moduulit tynkämoduuleilla Bottom-up Testataan ensin alemman tason moduulit ja ylempi taso korvataan testiajureilla Käytännössä toteutetaan molempia??

Kaksi päätapaa testauksessa Sisäinen testaus (white-box testing) Algoritmien virheettömyys Otetaan huomioon komponentin rakenne ja tunnistetaan riskikohdat Testiaineisto suunnitellaan niin, että mahdollisimman suuri osa koodista tulee toteutetuksi Ulkoinen testaus (black-box testing) Keskitytään ulospäin näkyvään toimintaan toiminnallisuuksiin Verrataan testattavan kokonaisuuden vastaavuutta vaatimusmäärittelyyn Tutkitaan tulosarvoja (tiloja) suorituksen jälkeen Voidaan suunnitella määrittelyvaiheessa

Käsitteitä Validointitestaus Regressiotestaus muutoksen jälkeen Alfa-testaus Toimittajan luona Beta-testaus Asiakkan luona Julkistustestaus Uusi versio

Sisäinen testaus Kontrollipolkujen läpikäynti Suunnitellaan testitapaukset niin, että mahdollisimman moni tai ainakin yleisimmät polut tulee läpikäytyä Silmukat Ohitus kokonaan Yksi kierros N-1, N ja N+1 kierrosta (esim. taulukoiden rajat) Oliokielissä voi olla vaikeaa

Ulkoinen testaus Puuttuvat tai virheelliset toiminnot Liittymävirheet Virheet tietorakenteissa tai tietokantojen käytössä Alustus- ja lopetusvirheet Suorituskykyongelmat Lukitusongelmat (tieto) syöte tulos

Testisyötteiden valinta Jaetaan testisyötteet ekvivalenssiluokkiin: sallittua väliä pienempi sallitulla välillä sallittua väliä suurempi poikkeukset Esim. päivämäärän syöttö testataan päivät 0, 1, 28-31, 32 testataan kuukaudet 0, 1, 12, 13 erikseen karkausvuosi Tilanne, jolloin rajoitettu tietorakenne tulee täyteen N-1, N, N+1

Testisyötteiden valinta Binäärihaku harmaalaatikkotestaus 1 5 9 14 18 20 23 28 36 Valitaan kriittiset pisteet, jotka tiedetään, kun tunnetaan sisäinen toteutus Testataan myös eri kokoisella taulukolla 1 solu, parillinen määrä, pariton määrä

Virheenjäljitys on ongelmallista Virhe voi olla kaukana havaitsemispaikasta Virheen syy voi olla käyttäjässä Virheellistä toimintaa voi olla vaikea toistaa syy voi olla pitkän toimintosarjan yhteensattumissa Virhe voi johtua esim. kääntäjän tai laitteiston erityispiirteistä (reaalilukujen yhtäsuuruus)

Mietittävä ennen korjausta 1. Voiko samanlaisia virheitä olla muuallakin ohjelmassa? Kannattaa tutkia, jos on aihetta epäilyyn. 2. Voiko korjaus aiheuttaa uusia virheitä? Tarkistetaan riippuvuudet huolellisesti. 3. Olisiko virhe voitu välttää tuotantoprosessissa. Otetaan oppia tulevaisuuteen (virhekanta).

Riittävä testaus Tarvittavan testauksen määrää on vaikea arvioida etukäteen Voidaan jatkaa kunnes rahat loppuvat Varsinkin massatuotteissa tehdään kompromissi, jotta saadaan tuote ajoissa markkinoille Voidaan päättää testauksen lopettamisesta, kun virhekäyrä tasaantuu