4.2 Tekniikat Kuka testaa?

Koko: px
Aloita esitys sivulta:

Download "4.2 Tekniikat Kuka testaa?"

Transkriptio

1 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 Beta-testaus: käyttäjätesti asiakkaan tiloissa Sisällöllinen asiantuntijatestaus (subject-matter expert testing): ohjelmisto annetaan sellaisen henkilön testattavaksi (ei välttämättä käyttäjä), joka tuntee jonkin ohjelmiston toteuttaman osa-alueen kuin omat taskunsa Tuloksena löytyneitä vikoja, kritiikkiä ja joskus myös kehujakin Mika Katara: Ohjelmistojen testaus, Pariohjelmoinnin (à la extreme Programming) soveltaminen testaukseen: Tapa I: kaksi testaajaa testaavat yhdessä yhden tietokoneen ääressä ja vaihtavat koneenkäyttäjää aina välillä Tapa II: kehittäjä A luo testitapaukset kehittäjän B speksistä ennen kuin B toteuttaa speksin, ja toisin päin Bugi-kekkerit (bug bashes): toimittajan tiloissa hieman ennen ohjelmiston julkistusta järjestettävä esim. puoli päivää kestävä tilaisuus, johon kaikki työntekijät (myös ohjelmoijat, myyntimiehet, sihteerit ) voivat osallistua Onnistuminen riippuu varmasti paljon organisaatiosta Mika Katara: Ohjelmistojen testaus,

2 Eat your own dogfood: toimittaja ottaa omassa organisaatiossaan hyötykäyttöön ohjelmiston esiversion Vasta kun ohjelmisto on havaittu omassa käytössä tarpeeksi luotettavaksi, se toimitetaan asiakkaalle Ad hoc testaus (kokeilutestaus) Edellä kuvatut menetelmät eivät korvaa kokemusta ja intuitiota Kokenut testaaja tietää, mitkä ovat ohjelmoijille hankalia kohtia testaaja voi oppia tuntemaan yksittäisen ohjelmoijan heikkoudet Esim. mikäli tarkoituksena on testata päivämääräohjelmaa, voisivat järjestelmälliset testausmenetelmät pommittaa päivämääriä muotoa ja 31.6., mutta kokeilutestit sen sijaan voisivat testata erityisesti karkauspäivän toteutusta syötteillä ja Vrt. tutkiva testaus Mika Katara: Ohjelmistojen testaus, Tekniikat Mitä ohjelman osaa testataan? Coverage-based Funktiotestaus: testataan funktiot yksi kerralla Testataan jokainen funktio niin hyvin, että voidaan sanoa sen toimivan kuten pitäisi Kannattaa tehdä ennen monimutkaisempia testejä, joissa testitapaukset kattavat useampia funktioita Ominaisuustestaus (feature testing): testataan ominaisuuksia, jotka tyypillisesti on toteutettu usean eri funktion yhteistoimintana Menutestaus (menu tour): graafisen käyttöliittymän menut ja dialogit käydään läpi ja testataan kaikki valinnat Mika Katara: Ohjelmistojen testaus,

3 Logiikkatestaus: testaan ohjelman muuttujien välisiä riippuvuuksia Esim. mikäli muuttujan Ikä arvo on suurempi kuin 50 ja muuttujan Tupakoi arvo on True, muuttujan TarjoaHenkivakuutusta arvo tulee olla False Tavoitteena on testata jokainen looginen suhde ohjelman muuttujien välillä (mikä on usein kuitenkin mahdotonta) Tilapohjainen testaus: käydään läpi suuri määrä ohjelman mahdollisia tilamuutoksia ja tarkastetaan, että jokaisessa tilassa ohjelma hyväksyy vain oikeat syötteet ja siirtyy niiden seurauksena oikeaan tilaan Konfiguraatiokattavuustestaus: testataan ohjelmiston erilaisia konfiguraatioita (esim. laitteisto, muu ympäristö) ja mitataan kuinka suuri osa kaikista mahdollisuuksista on katettu Mika Katara: Ohjelmistojen testaus, Vaatimustestaus: testataan vaatimusmäärittelyssä mainitut vaatimukset yksitellen yrittäen näyttää, että ne joko on täytetty tai sitten ei Vaatimuskattavuusmatriisia voidaan hyödyntää testauksen kattavuutta mitattaessa Spesifikaatio-pohjainen testaus: testataan ohjelmiston spesifikaatioissa esitettyjä sellaisia vaatimuksia, joiden toteutumiseen voidaan vastata joko kyllä tai ei Spesifikaatioiksi voidaan laskea myös käyttöohjeet, mainokset yms. Mika Katara: Ohjelmistojen testaus,

4 Ekvivalenssiluokat Minimoidaan tarvittavien testitapausten määrää osittamalla ohjelman syöteavaruus ekvivalenssiluokkiin, joille pätee että kun jokin luokan edustaja aiheuttaa häiriön, myös mikä tahansa muu ko. luokan edustaja aiheuttaa saman häiriön kun jokin luokan edustaja ei aiheuta häiriötä, ei mikään muukaan ko. luokan edustaja aiheuta häiriötä Koko luokan testaamisen sijasta luotetaan siis siihen, että voidaan valita yksi edustaja Mika Katara: Ohjelmistojen testaus, Esim. kuuluisan kolmioesimerkin testauksessa voidaan ekvivalenssiluokaksi valita tasasivuiset kolmiot, joissa sivujen pituus > 0 luokasta voidaan valita edustajaksi esim. kolmio, jonka sivujen pituus on 5 ja oletetaan, että muita luokan tapauksia kuten sivun pituus 7 ei tarvitse testata koska jokaisesta luokasta tarvitsee testata vain yhtä edustaa, voidaan keskittyä luokkien etsimiseen ja itse testaukseen valittujen edustajien avulla Mika Katara: Ohjelmistojen testaus,

5 Ekvivalenssiluokkien identifiointi Valitaan jokin syöteavaruuden ehto, ja jaetaan se kahteen tai useampaan luokkaan Jokaista ehtoa kohden synnytetään kahdenlaisia luokkia, niitä joiden edustajat ovat laillisia syötteen arvoja ja niitä, joiden edustajat ovat laillisten syötearvojen ulkopuolella Muutamia suuntaviivoja ekvivalenssiluokkien valintaan: jos syöteavaruuden ehto määrittelee välin laillisia arvoja tyyliin kappalemäärä on väliltä 1-999, synnytetään kolme ekvivalenssiluokkaa: (1 kpl 999), (kpl < 1) ja (999 < kpl) Mika Katara: Ohjelmistojen testaus, jos ehto määrittelee arvojen lukumäärän tyyliin ajoneuvolla voi olla yhdestä kuuteen omistajaa, synnytetään yksi luokka vastaamaan laillisia arvoja ja kaksi luokkaa vastaamaan laittomia arvoja ei omistajaa ja enemmän kuin kuusi omistajaa mikäli ehto määrittelee joukon arvoja, joiden käsittelyn voi olettaa olevan erilainen, synnytetään jokaista arvoa kohti oma luokkansa sekä yksi luokka vastaamaan laitonta arvoa esim. ajoneuvo voi olla joka linja-auto, rekka, henkilöauto tai moottoripyörä synnyttää neljä laillisia arvoja vastaavaa luokkaa sekä luokan, joka vastaa laittomia arvoja esim. perävaunu tai muut ajoneuvot Mika Katara: Ohjelmistojen testaus,

6 mikäli kyseessä on ehdoton vaatimus tyyliin ensimmäisen kirjaimen pitää olla iso kirjain, luodaan kaksi luokkaa, toinen vastaamaan laillista arvoa iso alkukirjain ja toinen laitonta arvoa pieni alkukirjain mikäli on syytä epäillä, että kaikkia ekvivalenssiluokan edustajia ei käsitellä ohjelmassa samalla tavalla, pitää luokka jakaa edelleen niin moneen pienempää luokkaan kuin tarpeellista Kun jako luokkiin on tehty, luokkien edustajista luodaan testitapauksia laittomien testitapausten pitäisi testata vain yhtä laitonta ekvivalenssiluokkaa kerrallaan Mika Katara: Ohjelmistojen testaus, toisaalta, laillisia arvoja vastaavien uusien testitapausten pitäisi kattaa mahdollisimman monta laillista, mutta vielä kattamatonta ekvivalenssiluokkaa eräs vaihtoehto on luoda kaikkien ekvivalenssiluokkien, sekä laillisten että laittomien, kaikkia kombinaatioita vastaavat testitapaukset tuloksena kattavampi testaus, mutta hintana paljon suurempi määrä testitapauksia, joiden ajamiseen voi kulua liikaa aikaa Ekvivalenssiluokkien käyttökelpoisuus ei rajoitu ainoastaan syötteisiin, vaan tekniikkaa voidaan käyttää myös lähtien tulosten arvoalueista Mika Katara: Ohjelmistojen testaus,

7 Raja-arvoanalyysi Kokemus on osoittanut, että ohjelmoijat tekevät helposti virheitä muuttujien ja parametrien arvoalueiden (esim. ekvivalenssiluokkien) rajoilla esim. käytetään operaattorin sijasta operaattoria < tai silmukkamuuttujan alkuarvo on off by one silmukassa saatetaan pyöriä yksi kerta liian vähän Joukosta parametreja valitaan tyypillisesti kerralla yksi, jonka raja-arvoja testataan, muiden parametrien arvojen ollessa normaaleja (nominal) eli tiukasti arvoalueen (esim. ekvivalenssiluokan) sisällä Mika Katara: Ohjelmistojen testaus, Valitaan arvo-alueen minimiä (min) ja maksimia (max) sekä arvoja hieman suurempi kuin minimi (min+) ja hieman pienempi kuin maksimi (max-) vastaavat tapaukset Näin saadaan aikaiseksi 4n+1 testitapausta, jossa n on parametrien määrä (jälkimmäinen termi vastaa tapausta, jossa kaikki arvot ovat normaaleja) Raja-arvoanalyysi toimii parhaiten silloin, kun tarkasteltavana on joukko parametreja, joilla ei ole keskinäisiä riippuvuussuhteita ja jotka kuvaavat esim. lukumääriä tai fyysisiä suureita kuten lämpötilaa, painetta, nopeutta, painoa jne. Mika Katara: Ohjelmistojen testaus,

8 Esim. totuusarvoiselle tai loogista arvoa kuvaavalle parametrille ei yleensä voi eikä kannata tehdä raja-arvoanalyysiä Esimerkki fyysisten suureiden tärkeydestä: kesäkuussa 1992 Phoenixin kansainvälinen lentokenttä jouduttiin sulkemaan kun lentäjät eivät voineet tehdä tiettyjä säätötoimenpiteitä; instrumentit hyväksyivät korkeimmaksi mahdolliseksi ilman lämpötilaksi 120 F lämpötilan ollessa 122 F ( 50 C) Myös oletus riippumattomuudesta on tärkeä; mikäli näin ei voida olettaa, voivat tulokset jäädä laihoiksi Mika Katara: Ohjelmistojen testaus, Robustisuustestaus Yksinkertainen raja-arvoanalyysin laajennus Otetaan testitapauksiin mukaan myös arvot min- ja max+ eli arvot hieman alle alarajan ja hieman yli ylärajan Testitapauksia yhteensä 6n+1 Mitä ohjelma tekee, jos se saa syötteenä päivämäärän 32. toukokuuta? Entä mitä hissi tekee, jos sen suurin sallittu kuorma ylitetään? Robustisuustesteillä voidaan löytää virheitä esim. poikkeustenkäsittelystä Mika Katara: Ohjelmistojen testaus,

9 Worst case -testaus Mikäli luovutaan oletuksesta, että häiriöt eivät synny useiden samanaikaisten virheiden sattuessa, pitää pahimmassa tapauksessa kaikki mahdolliset kombinaatiot raja-arvoista testata Kun kaikkien parametrien raja-arvoista (min, min+, nominal, max-, max) arvoista otetaan karteesinen tulo, saadaan aikaiseksi 5 n testitapausta Raja-arvoanalyysin perusversion tuottamat 4n+1 testitapausta ovat luonnollisesti tämän osajoukko Testitapausten suuresta määrästä johtuen worst case -testaus kannattaa yleensä vain mikäli vaaditaan korkeaa luotettavuutta tai miten olisi robusti versio worst case testauksesta: 7 n testitapausta Mika Katara: Ohjelmistojen testaus, Tulosten ja muuttujien arvoalueiden hyödyntäminen Kuten jo edellä mainittiin, näitä menetelmiä ei kannata käyttää pelkästään syötelähtöisesti Virheitä löydetään myös käyttämällä niitä tulosten ja ohjelman käyttämien muuttujien arvoalueiden kanssa Esim. mikäli tiedetään, että tuloksen arvo on väliltä niin testataan syötteillä, jotka tuottavat tulokset 1, 2, 99 ja 100 Esim. mikäli silmukka voi pyöriä ympäri nollasta kymmeneen kertaan, testataan syötteillä, jotka saavat sen pyörimään 0, 1, 9 ja 10 kertaa Esim. testataan syötteillä joiden pitäisi tuottaa virheilmoituksia Mika Katara: Ohjelmistojen testaus,

10 Kombinatorinen lähestymistapa Edellä huomattiin, että mikäli halutaan testata kaikki mahdolliset ekvivalenssiluokkien kombinaatiot, kasvaa testitapausten määrä helposti liian suureksi toinen vaihtoehto olisi testata siten, että jokainen luokka tulee testattua vain vähintään kerran valitettavasti tämä ei ole kovin tehokasta virheiden löytymisen kannalta näiden kahden ääripään väliin jää käyttökelpoinen vaihtoehto: sen sijaan, että pyrittäisiin kattamaan kaikki mahdolliset kombinaatiot, katetaankin kaikki luokista muodostuvat parit tai kolmikot Mika Katara: Ohjelmistojen testaus, Esimerkki (mukailtu lähteestä [Pezzè&Young 07]): tarkoituksena testata kuvitteellista www-sivustoa erilaisissa ympäristöissä: Kieli Väri Näyttömoodi Fontti Näytön koko suomi monochrome grafiikka mini PDA englanti värikartta teksti standardi läppäri ranska 16-bit rajoitettu kaistanleveys dokumenttiriippuvainen täysikokoinen espanja True-color Mika Katara: Ohjelmistojen testaus,

11 Jos halutaan kattaa kaikki mahdolliset kombinaatiot, tarvitaan 432 testitapausta Mikäli esim. tekstin luettavuutta ruudulla arvioimaan tarvitaan ihminen, on 432 testitapausta useimmiten liian paljon Mikäli tyydytään kokeilemaan vain jokaista vaihtoehtoa kerran, tarvitaan vain neljä testitapausta Vaikka testitapaukset valittaisiinkin hyvin, jää testaus kovin ylimalkaiseksi Mikäli järjestelmään lisättäisiin uusia parametreja, esim. kaistanleveys, jälkimmäisessä tapauksessa voitaisiin selvitä lisäämättä uusia testitapauksia, mutta ensimmäisessä tapauksessa testitapausten määrä kasvaisi eksponentiaalisesti Mika Katara: Ohjelmistojen testaus, Kultainen keskitie: katetaan kaikki mahdolliset parit (parikattavuus) Kaikkien kombinaatioiden testauksessa tarvitaan jokaista kombinaatiota kohti oma testitapauksensa Nyt esim. testitapaus {ranska, 16-bit, teksti, standardi, PDA} kattaa useamman kuin yhden parin: (ranska, 16-bit), (teksti, standardi) jne. Kaikki parit pystytään esimerkkitapauksessa kattamaan 16 testitapauksella, jotka on listattu seuraavalla sivulla merkintä - tarkoittaa, että valinnalla ei ole parikattavuuden kannalta väliä esitetty ratkaisu on minimaalinen, ts. pienemmällä testitapausten joukolla ei ole mahdollista saavuttaa 100% parikattavuutta Mika Katara: Ohjelmistojen testaus,

12 suomi monochrome grafiikka mini PDA suomi värikartta teksti standardi täysikokoinen suomi 16-bit raj. kaistaleveys - täysikokoinen suomi True-color teksti dok. riippuvainen läppäri englanti monochrome raj. kaistaleveys standardi läppäri englanti värikartta grafiikka dok. riippuvainen täysikokoinen englanti 16-bit teksti mini - englanti True-color raj. kaistanleveys standardi PDA ranska monochrome - dok. riippuvainen täysikokoinen ranska värikartta raj. kaistanleveys mini PDA ranska 16-bit grafiikka standardi läppäri ranska True-color teksti - PDA espanja monochrome teksti standardi - espanja värikartta - mini läppäri espanja 16-bit raj. kaistanleveys dok. riippuvainen PDA espanja True-color grafiikka mini täysikokoinen Mika Katara: Ohjelmistojen testaus, Kattamalla parien sijaan kaikki mahdolliset kolmikot saadaan kattavampi testaus, mutta testitapausten määrä pysyy silti useimmiten kohtuullisena Koska parien tai kolmikkojen generointi voi olla kovin työlästä, on niiden etsimiseen kehitetty joukko algoritmeja ja työkaluja Ennen käyttöä kannattaa selvittää mahdolliset patenttikiemurat Mika Katara: Ohjelmistojen testaus,

13 Mikäli jokin tärkeä kombinaatio puuttuu 100 % parikattavasta testitapausten joukosta, kannattaa se siihen lisätä, vaikka se ei enää lisäisikään parikattavuutta Toisaalta, mikäli kombinaatioille on rajoituksia, tyyliin värivaihtoehto monochrome on laillinen vain kun näytön koko on PDA, voidaan ensin tuottaa kaikki parit ja poistaa sitten laittomat vaihtoehdot Koska poistettu vaihtoehto saattoi edustaa laillisiakin pareja, täytyy mahdollisesti lisätä uusia testitapauksia kattamaan tällaiset parit Lisätietoja: Mika Katara: Ohjelmistojen testaus, Tekniikat Minkä tyyppisiä ongelmia etsitään? Problem-based Riskiperustainen testaus: käytetään riskianalyysiä sen selvittämiseen mitä testataan seuraavaksi Testaus priorisoidaan sen perusteella, millä todennäköisyydellä jokin ohjelman ominaisuus ei toimi ja toimimattomuuden mahdollisilla seuraamuksilla Mitä suurempi riski johonkin ominaisuuteen liittyy, sen aikaisemmin ja täydellisemmin se pitää testata Mika Katara: Ohjelmistojen testaus,

14 Riskiperustaisen testauksen lisäksi pitää testata myös sellaisia alueita, joihin ei riskianalyysin perusteella pitäisi keskittyä Ikinä ei voi olla varma siitä, kuinka hyvin analyysi on tehty on olemassa riski siitä, että riskianalyysi on väärässä Mikäli jokin riski on jäänyt analyysissä huomaamatta, tulee toteutusta testattua tältä osin edes hieman Esim. kannattaa testata ajoitus- ja rinnakkaisuusriippuvaisia ominaisuuksia vaikka niihin ei riskianalyysissä olisikaan kiinnitetty huomiota Esim. mikäli tapahtuma A tapahtuu yleensä ennen tapahtumaa B, yritetään etsiä tilanteita, joissa B tapahtuukin ennen A:ta Mika Katara: Ohjelmistojen testaus, Saippuaoopperatestaus: laaditaan ryhmätyönä käyttötapaus, mutta liioitellaan yksityiskohtia muuten testaamatta jäävien kohtien kattamiseksi Ahto S. vuokraa auton työmatkalle kolmeksi päiväksi. Vuokrauksen seurauksena hänestä tulee autovuokraamon kanta-asiakas. Seuraavana päivänä hän pidentää vuokra-aikaa viikolla. Seitsemän päivää myöhemmin hän ilmoittaa, että auto on varastettu. Hän vaatii nyt kanta-asiakkaille kuuluvana etuna, että toinen auto toimitetaan hänelle paikan päälle, vaikka hän ei ollutkaan kanta-asiakas ennen vuokra-ajan alkamista. Toinen auto toimitetaan hänelle. Kahta päivää myöhemmin hän ilmoittaa, että varastettu auto on löytynyt; itse asiassa hän oli vain unohtanut mihin oli sen pysäköinyt. Hän haluaa nyt, että toinen auto tullaan noutamaan pois ja siihen liittyvä laskutus katkaistaan. Sitten vielä yksi juttu: Asiakas löysi varastetun auton kun peruutti sen kylkeen vara-autolla. Molemmat ovat siis nyt siis korjauksen tarpeessa. (Brian Marickia mukaillen) Mika Katara: Ohjelmistojen testaus,

15 4.5 Tekniikat Mitä pitää tehdä? Activity-based Skenaariotestaus: testataan testitapauksilla, jotka on johdettu käyttötapauksista (use case) Installaatiotestaus: asenna ohjelmisto eri tavoilla ja eri ympäristöihin Tarkasta mitkä tiedostot lisätään ja mitkä muuttuvat levyllä Toimiiko installoitu ohjelma? Mitä tapahtuu kun poistat asennuksen? Mika Katara: Ohjelmistojen testaus, Kuormitustestaus: kuormitetaan ohjelmistoa siten, että se tarvitsee paljon resursseja (paljon työtä, vähän aikaa) Tämä johtaa luultavasti häiriöön, jonka syiden penkominen saattaa johtaa sellaisten heikkouksien tunnistamiseen, jotka ovat relevantteja myös normaalikäytössä Stressitestaus: lisätään kuormaa vähitellen, kunnes ilmenee häiriö (esim. vasteajat kasvavat sallittua pidemmiksi) Luotettavuustestaus: pitkäkestoinen testi, jonka tarkoituksena on paljastaa vikoja, jotka jäävät nopeissa testeissä helposti huomaamatta Esim. karanneet osoittimet, muistivuodot, pinon ylivuodot yms. Mika Katara: Ohjelmistojen testaus,

16 Suorituskykytestaus: testataan kuinka nopeasti ohjelma toimii, jotta voidaan tarvittaessa optimoida Vikoja voi löytää, jos vertailee keskenään saman testiajon käyttämää aikaa eri kertoina Mikäli suorituskyky yllättäen huononee, on syytä epäillä virhettä virhe voi tällöin löytyä myös kolmannen osapuolen koodista esim. jos kyseessä on Java-ohjelma, voi äkillinen suorituskyvyn heikkeneminen kertoa myös virtuaalikoneen uuden version ongelmista Mika Katara: Ohjelmistojen testaus, Regressiotestaus: uudelleenkäytetään testitapauksia ja testataan niitä käyttäen muutosten jälkeen uudelleen Englanniksi regress = taantua Käytännössä eräs tärkeimmistä ja käytetyimmistä tekniikoista Muutamia käyttötapoja: virheen korjaamisen jälkeen pyritään etsimään tilanne, jossa korjaus ei toimi (bug fix regression) muutoksen jälkeen pyritään osoittamaan, että jokin vanha korjaus ei enää toimi (old bugs regression) muutoksen jälkeen testataan huomattava osa ohjelmistoa sen osoittamiseksi, että jokin osa mikä on ennen toiminut ei enää toimi (side-effect/stability regression) Mika Katara: Ohjelmistojen testaus,

17 Savutesti (smoke testing): regressiotestauksen erikoistapaus, jonka tarkoituksena on osoittaa, että ohjelmiston uusi versio (esim. uusi buildi) ei ole kelvollinen testattavaksi Useimmiten automatisoitu ja standardoitu testi, jolla testataan perustoiminnallisuutta, jonka voi olettaa toimivan keskitytään laajuuteen eikä syvyyteen Esim. mikäli buildiin on linkitetty väärä tiedosto, voi virheen löytää savutestin avulla nopeasti Tarkoituksena ei siis varsinaisesti ole virheiden löytyminen Kannattaa suunnitella yhteistyössä kehittäjien kanssa Testitapaukset yleensä osajoukko regressiotestauksessa käytetyistä Mika Katara: Ohjelmistojen testaus, Savutestin voi tehdä joko kehittäjä tai testaaja tärkeää on tehdä se samassa ympäristössä kuin missä sen jälkeiset testit ajetaan Mikäli vain mahdollista, savutestit kannattaa automatisoida, koska ne joudutaan yleensä toistamaan usein Mika Katara: Ohjelmistojen testaus,

18 4.6 Tekniikat Mistä tiedetään onnistuiko testiajo vai ei? Evaluation-based Vertaaminen spesifikaatioon tai muuhun auktoriteettiin Mikäli eroja löytyy, kyseessä on luultavasti häiriö Vertaaminen talletettujen tulosten kanssa Verrataan esim. regressiotestauksessa tuloksia edellisen ajokerran tuloksiin Jos edelliset olivat oikeita, ja nyt saatiin eri tulos, saattaa kyseessä olla häiriö Mika Katara: Ohjelmistojen testaus, Heuristinen johdonmukaisuus: Ohjelman pitäisi toimia samoin kuin ennenkin kuten muiden ohjelmien vastaavassa tilanteessa kuten ihmiset sanovat sen toimivan (ohjelman pitäisi toimia kuten me luulemme käyttäjien haluavan sen toimivan) sisäisesti johdonmukaisesti, esim. virheenkäsittely on toteutettu samantyyppisissä funktioissa samalla tavalla kuten sen ilmeinen tarkoitus vaatii Mikäli jossakin em. kohdassa havaitaan epäjohdonmukaisuutta, voi kyseessä olla häiriö tai sitten tietoinen suunnittelupäätös Mika Katara: Ohjelmistojen testaus,

19 Oraakkelitestaus Jotta testitapauksen dokumentoinnista olisi jotain hyötyä, pitää sen sisältää odotettavissa olevat tulokset Miten testitapaukseen voidaan liittää tieto siitä, mitä ohjelman pitäisi tehdä annetuilla syötteillä? kaikkea ei ole kuitenkaan speksattu Käytetään oletusta, jonka mukaan ns. testioraakkeli antaa aina oikean tuloksen Testitapauksessa määritellyillä syötteillä oraakkeli tuottaa odotettavissa olevat tulokset Käytännössä oraakkeli voi olla esim. järjestelmän aikaisempi ja luotettavaksi havaittu versio tai asiantunteva käyttäjä ihminen ei yleensä voi toimia oraakkelina kovinkaan monimutkaisissa tapauksissa Mika Katara: Ohjelmistojen testaus, Toiminnallinen vs. ei-toiminnallinen testaus Vaatimukset voidaan jakaa karkeasti toiminnallisiin ja eitoiminnallisiin Esimerkkejä ei-toiminnallisista vaatimustyypeistä: suorituskyky, tietoturva, käytettävyys jne. Yleensä testauksessa käytettävät tekniikat riippuvat voimakkaasti siitä, minkä tyyppisiä vaatimuksia on tarkoitus testata Testiautomaation soveltuvuus täytyy miettiä tapauskohtaisesti Esim. kuormitus- vs. käytettävyystestaus Mika Katara: Ohjelmistojen testaus,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Testitapausten suunnittelu

Testitapausten suunnittelu Testitapausten suunnittelu Sytyke-risteily 3.9.2002 Anna-Liisa Sihvonen Ohjelmistotestauksen kaksi perusongelmaa Testipaketin luominen olemassaolevan kuvauksen perusteella Erillisten testitapausten määrä

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

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

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

SEPA päiväkirja. BetaTeam. Juho Mäkinen, 57796V, Jari Leppä, 42710V, Versio Pvm Tekijä Kuvaus

SEPA päiväkirja. BetaTeam. Juho Mäkinen, 57796V, Jari Leppä, 42710V, Versio Pvm Tekijä Kuvaus SEPA päiväkirja BetaTeam Juho Mäkinen, 57796V, jvmakine@cc.hut.fi Jari Leppä, 42710V, jleppa@cc.hut.fi Versio Pvm Tekijä Kuvaus 0.1 10.11.2005 Juho Mäkinen Johdanto 1. 0.2 11.11.2005 J.Mäkinen, Käytäntöön

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

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

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

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

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

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 4 Supremum ja inmum Tarkastellaan aluksi avointa väliä, Tämä on joukko, johon kuuluvat kaikki reaaliluvut miinus yhdestä yhteen Kuitenkaan päätepisteet eli luvut ja

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

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

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

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

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

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

TOIMINNALLINEN MÄÄRITTELY MS

TOIMINNALLINEN MÄÄRITTELY MS TOIMINNALLINEN MÄÄRITTELY 11.11.2015 MS YLEISTÄ 1/2 jäsennelty etenee yleiskuvauksesta yksityiskohtiin kieliasultaan selkeä kuvaa myös tulevan järjestelmän ympäristöä tarpeellisella tarkkuudella kuvaa

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

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// Testauksen loppuraportti v. 1.0 Päivitetty 23.4.2001 klo 19:05 Mikko Viljainen 2 (14) Dokumentin versiohistoria Versio Päivämäärä Tekijä / muutoksen tekijä Selite 1.0

Lisätiedot

Laadunvarmistustekniikat

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

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 PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma PULSU Syksy 2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (9 op) Projektiryhmä Heikki Manninen Noora Joensuu

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

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

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

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

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

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 Tieran toiminta perustuu osaamisverkoston rakentamiseen, mikä

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

4.3. Matemaattinen induktio

4.3. Matemaattinen induktio 4.3. Matemaattinen induktio Matemaattinen induktio: Deduktion laji Soveltuu, kun ominaisuus on osoitettava olevan voimassa luonnollisilla luvuilla. Suppea muoto P(n) : Ominaisuus, joka joka riippuu luvusta

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

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

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

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9 Tuntitehtävät 9-10 lasketaan alkuviikon harjoituksissa ja tuntitehtävät 13-14 loppuviikon harjoituksissa. Kotitehtävät 11-12 tarkastetaan loppuviikon

Lisätiedot

Sopisiko testiautomaatio yritykseesi juuri nyt? Testiautomaation soveltuvuuden arviointiopas

Sopisiko testiautomaatio yritykseesi juuri nyt? Testiautomaation soveltuvuuden arviointiopas Sopisiko testiautomaatio yritykseesi juuri nyt? Testiautomaation soveltuvuuden arviointiopas www.valagroup.fi TESTITAUTOMAATIO SINUN YRITYKSEESI? Testauksen automatisointi ei sovellu kaikkiin tilanteisiin;

Lisätiedot

SUBSTANTIIVIT 1/6. juttu. joukkue. vaali. kaupunki. syy. alku. kokous. asukas. tapaus. kysymys. lapsi. kauppa. pankki. miljoona. keskiviikko.

SUBSTANTIIVIT 1/6. juttu. joukkue. vaali. kaupunki. syy. alku. kokous. asukas. tapaus. kysymys. lapsi. kauppa. pankki. miljoona. keskiviikko. SUBSTANTIIVIT 1/6 juttu joukkue vaali kaupunki syy alku kokous asukas tapaus kysymys lapsi kauppa pankki miljoona keskiviikko käsi loppu pelaaja voitto pääministeri päivä tutkimus äiti kirja SUBSTANTIIVIT

Lisätiedot

DOORS 7.1 Test Tracking Toolkit

DOORS 7.1 Test Tracking Toolkit DOORS 7.1 Test Tracking Toolkit 4.8.2004 SoftQA Pekka Mäkinen Pekka.Makinen@softqa.fi Test Tracking Toolkit Test Tracking Toolkit on osa vakio-doorsia versiossa 7.1. Ohjelmisto sisältää toiminnat pienimuotoiseen

Lisätiedot

Test-Driven Development

Test-Driven Development Test-Driven Development Ohjelmistotuotanto syksy 2006 Jyväskylän yliopisto Test-Driven Development Testilähtöinen ohjelmistojen kehitystapa. Tehdään ensin testi, sitten vasta koodi. Tarkoituksena ei ole

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

pitkittäisaineistoissa

pitkittäisaineistoissa Puuttuvan tiedon käsittelystä p. 1/18 Puuttuvan tiedon käsittelystä pitkittäisaineistoissa Tapio Nummi tan@uta.fi Matematiikan, tilastotieteen ja filosofian laitos Tampereen yliopisto Puuttuvan tiedon

Lisätiedot

Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana

Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana Muutamia ajatuksia siitä, miten testaus pärjää lama-ajan säästötalkoissa. Laman patologioita ja mahdollisuuksia. Säästämisen strategioita.

Lisätiedot

Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.

Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys. Ei-säännöllisiä kieliä [Sipser luku 1.4] Osoitamme, että joitain kieliä ei voi tunnistaa äärellisellä automaatilla. Tulos ei sinänsä ole erityisen yllättävä, koska äärellinen automaatti on äärimmäisen

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto

811312A Tietorakenteet ja algoritmit 2015-2016. I Johdanto 811312A Tietorakenteet ja algoritmit 2015-2016 I Johdanto Sisältö 1. Algoritmeista ja tietorakenteista 2. Algoritmien analyysistä 811312A TRA, Johdanto 2 I.1. Algoritmeista ja tietorakenteista I.1.1. Algoritmien

Lisätiedot

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n)) Määritelmä: on O(g(n)), jos on olemassa vakioarvot n 0 > 0 ja c > 0 siten, että c g(n) kun n > n 0 O eli iso-o tai ordo ilmaisee asymptoottisen ylärajan resurssivaatimusten kasvun suuruusluokalle Samankaltaisia

Lisätiedot

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1

Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1 Hirviö Järjestelmätestauksen testitapaukset ja suoritusloki I1 Jani Heikkinen Jukka Larja Kim Nylund Liia Sarjakoski 30. marraskuuta 2004 1 Sisältö 1 Sisään- ja uloskirjautuminen 3 1.1 Testitapaus F1-TC1................................

Lisätiedot

Testataanko huomenna?

Testataanko huomenna? Testataanko huomenna? Qentinel Group 2014 Esko Hannula 03.06.2014 Ohjelmistokriisistä testauskriisiin 1985: Ohjelmistot ovat huonolaatuisia ja aina myöhässä Jonkun pitäisi testata, ehkäpä noiden huonoimpien

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

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Matematiikan tukikurssi, kurssikerta 3

Matematiikan tukikurssi, kurssikerta 3 Matematiikan tukikurssi, kurssikerta 3 1 Epäyhtälöitä Aivan aluksi lienee syytä esittää luvun itseisarvon määritelmä: { x kun x 0 x = x kun x < 0 Siispä esimerkiksi 10 = 10 ja 10 = 10. Seuraavaksi listaus

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 3 Supremum ja infimum Tarkastellaan aluksi avointa väliä, ) = { : < < }. Tämä on joukko, johon kuuluvat kaikki reaaliluvut miinus yhdestä yhteen. Kuitenkaan päätepisteet

Lisätiedot

T Testiraportti - integraatiotestaus

T Testiraportti - integraatiotestaus T-76.115 Testiraportti - integraatiotestaus 22. maaliskuuta 2002 Confuse 1 Tila Versio: 1.0 Tila: Päivitetty Jakelu: Julkinen Luotu: 19.03.2002 Jani Myyry Muutettu viimeksi: 22.03.2002 Jani Myyry Versiohistoria

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

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

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

Testi generaattori. Testien ajotyökalu. Kuva 1. Offline mallipohjainen testaus 8.11.2010 1 (5) Mallipohjainen testaus ennen, nyt ja tulevaisuudessa Työtuntien kalleus, tietokoneiden tehojen nousu ja järjestelmien monimutkaistuminen houkuttelee käyttämään tietokonetta myös testauksen

Lisätiedot

Visma Approval Center. Versiosaate 1.3

Visma Approval Center. Versiosaate 1.3 Visma Approval Center Versiosaate 1.3 Visma Approval Center - Versiosaate 1.3 Kaikkia koskettavat kehitykset Muutokset käyttöliittymän välilehdissä Tarkastajat ja hyväksyjät näkevät ylävalikon jatkossa

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

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

Hirviö Laadunvarmistussuunnitelma

Hirviö Laadunvarmistussuunnitelma Hirviö Laadunvarmistussuunnitelma Jani Heikkinen Anssi Kalliolahti Jukka Larja Kim Nylund Liia Sarjakoski Samuli Sorvakko Timo Toivanen 30. marraskuuta 2004 1 Sisältö 1 Johdanto 3 1.1 Testauksen tavoitteet

Lisätiedot

Kombinatorinen optimointi

Kombinatorinen optimointi Kombinatorinen optimointi Sallittujen pisteiden lukumäärä on äärellinen Periaatteessa ratkaisu löydetään käymällä läpi kaikki pisteet Käytännössä lukumäärä on niin suuri, että tämä on mahdotonta Usein

Lisätiedot

OHJE 2(5) 25.8.2015 Dnro LIVI/4495/05.00/2015 1 KITKAN MITTAAMISEN MENETELMÄ... 3

OHJE 2(5) 25.8.2015 Dnro LIVI/4495/05.00/2015 1 KITKAN MITTAAMISEN MENETELMÄ... 3 OHJE 2(5) Sisällys 1 KITKAN MITTAAMISEN MENETELMÄ... 3 2 LAATUVAATIMUKSET KITKAMITTAREILLE... 3 2.1 Käyttöturvallisuus... 3 2.2 Kalibroitavuus... 3 2.3 Mittaustarkkuus... 4 2.3.1 Mittarien samankaltaisuuteen

Lisätiedot

pitkittäisaineistoissa

pitkittäisaineistoissa Puuttuvan tiedon ongelma p. 1/18 Puuttuvan tiedon ongelma pitkittäisaineistoissa Tapio Nummi tan@uta.fi Matematiikan, tilastotieteen ja filosofian laitos Tampereen yliopisto mtl.uta.fi/tilasto/sekamallit/puupitkit.pdf

Lisätiedot

Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle

Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle Tarkistuslista on suunniteltu käytettäväksi hyväksymistestauksen suunnittelussa, valmiuksien arvioinnissa ja katselmoinnissa.tämä tarkistuslista

Lisätiedot

Mat Tilastollisen analyysin perusteet, kevät 2007

Mat Tilastollisen analyysin perusteet, kevät 2007 Mat-2.2104 Tilastollisen analyysin perusteet, kevät 2007 2. luento: Tilastolliset testit Kai Virtanen 1 Tilastollinen testaus Tutkimuksen kohteena olevasta perusjoukosta esitetään väitteitä oletuksia joita

Lisätiedot

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B.

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B. HY / Avoin yliopisto Johdatus yliopistomatematiikkaan, kesä 2015 Harjoitus 3 Ratkaisuehdotuksia Tehtäväsarja I Seuraavissa tehtävissä harjoitellaan muun muassa kahden joukon osoittamista samaksi sekä joukon

Lisätiedot

Matematiikan tukikurssi

Matematiikan tukikurssi Matematiikan tukikurssi Kurssikerta 8 Väliarvolause Oletetaan, että funktio f on jatkuva jollain reaalilukuvälillä [a, b] ja derivoituva avoimella välillä (a, b). Funktion muutos tällä välillä on luonnollisesti

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

Lähdekoodin suorituksen malli. 2. Äärelliset mallit (P&Y: 5) Ohjausvuokaaviot. Atomiset ehdot OVK:ssa. Atomiset ehdot

Lähdekoodin suorituksen malli. 2. Äärelliset mallit (P&Y: 5) Ohjausvuokaaviot. Atomiset ehdot OVK:ssa. Atomiset ehdot 2. Äärelliset mallit (P&Y: 5) Malli (model) on kuvaus, joka on kuvattavaa kohdetta yksinkertaisempi, mutta joka säilyttää (mahdollisimman hyvin) mallinnettavan kohteen tarkasteltavat ominaisuudet. Hyvä

Lisätiedot

Määrittelydokumentti

Määrittelydokumentti Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta

Lisätiedot

Oodin versiot, havaittujen virheiden korjaus sekä kehitysehdotusten eteneminen

Oodin versiot, havaittujen virheiden korjaus sekä kehitysehdotusten eteneminen Oodin versiot, havaittujen virheiden korjaus sekä kehitysehdotusten eteneminen Laura Vuorinen 17.4.2007 Kehittämisosasto / Opiskelijarekisteri Oodin kehitystarpeet käytännöt muuttuvat, alkuperäiset (1995)

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

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

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

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

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

Laadunvarmistustekniikoita. Ohjelmistotuotanto. Testaus termejä. Testaus periaatteita. Testaus havaintoja. Testaus havaintoja Laadunvarmistustekniikoita Ohjelmistotuotanto Ohjelmistojen testaus 1 Testaus (testing) ohjelman suorittamista tarkoituksena löytää virheitä Tarkastukset, katselmukset (inspections, reviews) asiantuntijoiden

Lisätiedot

2. Äärelliset mallit (P&Y: 5)

2. Äärelliset mallit (P&Y: 5) 2. Äärelliset mallit (P&Y: 5) Malli (model) on kuvaus, joka on kuvattavaa kohdetta yksinkertaisempi, mutta joka säilyttää (mahdollisimman hyvin) mallinnettavan kohteen tarkasteltavat ominaisuudet. Hyvä

Lisätiedot

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu

Liite 1: KualiKSB skenaariot ja PoC tulokset. 1. Palvelun kehittäjän näkökulma. KualiKSB. Sivu 1. Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Liite 1: skenaariot ja PoC tulokset 1. Palvelun kehittäjän näkökulma Tilanne Vaatimus Ongelma jos vaatimus ei toteudu Palvelun uusi versio on Palveluiden kehittäminen voitava asentaa tuotantoon vaikeutuu

Lisätiedot

Todennäköisyyslaskenta I, kesä 2017 Helsingin yliopisto/avoin Yliopisto Harjoitus 1, ratkaisuehdotukset

Todennäköisyyslaskenta I, kesä 2017 Helsingin yliopisto/avoin Yliopisto Harjoitus 1, ratkaisuehdotukset Todennäköisyyslaskenta I, kesä 207 Helsingin yliopisto/avoin Yliopisto Harjoitus, ratkaisuehdotukset. Kokeet ja Ω:n hahmottaminen. Mitä tarkoittaa todennäköisyys on? Olkoon satunnaiskokeena yhden nopan

Lisätiedot