Testaus osana ohjelmistojen elinkaarta Luento 2 Antti-Pekka Tuovinen

Koko: px
Aloita esitys sivulta:

Download "Testaus osana ohjelmistojen elinkaarta Luento 2 Antti-Pekka Tuovinen"

Transkriptio

1 Testaus osana ohjelmistojen elinkaarta Luento 2 Antti-Pekka Tuovinen 19 March

2 Oppimistavoitteet Ohjelmistokehityksen V-malli Testauksen tasot (test level) Inkrementaalinen (ketterä) kehitys ja testaus Testityyppejä (test type) testauksen kohteena olevien ominaisuuksien ja tarkoituksen mukaan jaoteltuna 19 March

3 Ohjelmistokehityksen V-malli 19 March

4 Ohjelmistokehitysprosessit 19 March

5 Ohjelmistokehityksen V-malli 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

6 Ohjelmistokehityksen V-malli Nostaa testauksen muitten kehitysaktiviteettien rinnalle tärkeydessä Korostaa testauksen suunnitelmallisuutta V:n vasen haara edustaa ohjelmiston ja sen osien kehitysprosessia ja oikea haara integrointia ja testauksen suoritusta Malli tunnistaa ohjelmiston eri rakennetasot, jotka vaativat omanlaisensa testauksen Tavoitteet, tekniikat, osaaminen Testauksen suunnittelu ja valmistelu etenee rinnan vastaavan kehitystason työn aikana 19 March

7 V-mallin Veet Validointi soveltuuko ohjelma ajateltuun käyttöönsä? Verifiointi onko ohjelman osa toteutettu määrittelynsä mukaisesti? Validoinnin rooli korostuu V-mallin ylemmillä testaustasoilla 19 March

8 Testaustasot Test level 19 March

9 Testaustasot - Komponenttitestaus A.k.a Yksikkötestaus Ohjelman pienimpien toiminnallisten rakenneosien testausta Luokka, moduuli, funktio, skripti, 19 March

10 Komponenttitestauksen lähtökohdat Komponentit testataan yksitellen ja erillään muista komponenteista Löydetyt häiriöt johtuvat testattavassa komponentissa olevista vioista Testataan komponentin sisäistä toimintaa ja käyttäytymistä White-box testauksen rooli korostuu 19 March

11 Komponenttitestauksen ympäristö Testaus täytyy tehdä läheisessä yhteistyössä kehittäjien kanssa - usein kehittäjät tekevät yksikkötestauksen itse Tarvitaan testiajuri (test driver), joka Alustaa testitapausten suorituksen Kutsuu komponentin palveluja/toimintoja Vastaanottaa kutsujen tuottamat tulokset ja vertaa niitä odotettuihin arvoihin Kirjaa testien suorituksen ja tulokset (pass/fail) 19 March

12 Komponenttitestauksen ympäristö Yksikkötestauskehikot (test framework, test fixture) testiajurien toteuttamiseen xunit arkkitehtuuri JUnit Javalle ( Esimerkki JUnit:n käytöstä Eclipse kehitystyökalussa: c 19 March

13 Komponenttitestauksen yleiset tavoitteet Toiminnallisuuden verifiointi Varmistetaan oikea toiminta valituilla testitapauksilla eli syöte/tulos kombinaatioilla Vikasietoisuuden (robustness) testaus Testataan toimintaa virheellisillä (ja määrittelemättömillä) syötteillä Testataan toimintaa muissa poikkeustilanteissa Engl. negative tests 19 March

14 Komponenttitestauksen erityiset tavoitteet muut laatupiirteet Nämä ovat esimerkkejä komponenttikohtaisista testeistä (vaihtelevat komponenteittain) Tehokkuus Laskentaresurssien käyttö, suoritusnopeus Vain kriittisille komponenteille (sulautetut ohjelmistot, tiukat aikavaatimukset) Ylläpidettävyys Käytetään staattista analyysiä (työkaluja, katselmointia), ei ohjelman suorittamista (dyn. testausta) Koodin rakenne, modulaarisuus, kommentointi, koodauskonventioiden noudattaminen, ymmärrettävyys jne March

15 Komponenttitestauksen strategia Testitapausten suunnittelu on yleensä komponentin ohjelmoijan tehtävät Hänellä on tarvittava tieto toteutuksen yksityiskohdista White-box suunnittelumenetelmien pääasiallinen käyttökohde Tavoitteena usein saavuttaa riittävä kooditason kattavuus testitapauksilla (tähän palataan myöhemmin) Käytännössä testien suunnittelussa käytetään usein black-box menetelmiä (koska white-box menetelmiä voi olla vaikea käyttää oikein?) 19 March

16 Komponenttitestauksen strategia Testilähtöinen kehitys Test Driven Development (TDD) Suosittu iteratiivisessa ja ketterässä kehityksessä Koodattavan moduulin/luokan yksikkötestit kirjoitetaan ensin Aluksi testi epäonnistuu, koska implementaatiota ei vielä ole Koodausta jatketaan, ja kun kaikki testit lopulta menevät läpi, implementaatio on valmis Testit automatisoidaan ja ne ajetaan koodin muuttuessa 19 March

17 Testaustasot - Integrointitestaus Integrointi = komponenttien/yksiköiden koostaminen suuremmiksi rakenneyksiköiksi (alijärjestelmiksi) Integroitavat komponentit on jo testattu Tavoitteena on löytää vikoja yhdistettyjen komponenttien Rajapinnoista (interface) Vuorovaikutuksesta (interaction) 19 March

18 Testaustasot - Integrointitestaus Eri tiimien toteuttamien komponenttien vuorovaikutus/yhteistoiminta on altis puutteellisen määrittelyn, väärinymmärrysten ja heikon kommunikaation aiheuttamille vioille Eri tahtiin etenevä kehitystyö asettaa haasteensa komponenttien yhteistoiminnan toteutttamiselle Erityisen hankalia ovat tapaukset, joissa vieraat komponentit käyttävät sisäisiksi (ei-julkiksi) tarkoitettuja rajapintoja (tai muita elementtejä), jotka voivat muuttua odottamatta 19 March

19 Integrointitestauksen lähtökohdat Testitapausten pohjana käytetään arkkitehtuurisuunnittelua Arkkitehtuuri / järjestelmäarkkitehtuuri Käyttötapaukset Työnkulkujen kuvaukset (workflow) Valmisohjelmistojen/komponenttien (COTS) vuorovaikutus itse kehitettyjen komponenttien kanssa kuuluu integraatiotestauksen piiriin 19 March

20 Integrointitestauksen ympäristö Pyritään käyttämään hyväksi komponenttitestauksen testiajureita Komponentit tarjoavat palvelunsa rajapintojen kautta, joita komponenttitestauksenkin ajurit käyttävät Integroitujen komponenttien yhteistoiminnan seurantaa varten tarvitaan monitoreita (monitor) Komponenttien välisen dataliikenteen ym. lukeminen ja kirjaaminen lokiin 19 March

21 Integrointitestauksen tavoitteet Integroitavien komponenttien yhteistoiminnan vikojen ja ristiriitojen löytäminen Käännösaikaiset (staattiset) rajapintamäärittelyjen ristiriidat löytyvät usein koostamisen (build) aikana Dynaamiset ohjelmointikielet vaativat testausta staattisesti tyypitettyjä enemmän Suoritusaikaiset (protokolla-) viat löytyvät vain testaamalla 19 March

22 Integrointitestauksen tavoitteet Tyypillisiä kommunikaatioon liittyviä vikoja Syntaktisesti vääränmuotoisen datan lähettäminen tai datan lähettämättä jättäminen aiheuttaa poikkeuksen vastaanottavassa komponentissa Datan välitys toimii, mutta komponentit tulkitsevat datan merkityksen eri tavoin Tiedonsiirrossa on ajoitusongelmia Väärään aikaan, liian myöhään, liian tiheään 19 March

23 Integrointitestauksen tavoitteet K: Voisiko komponenttitestauksen jättää pois, ja ajaa kaikki testit vasta integroinnin jälkeen? V: Ei ole järkevää Häiriön aiheuttavan vian paikallistaminen hankalaa, kun on monta osallistuvaa komponenttia Yksittäisten komponenttien toimintaa on vaikea tai mahdotonta ohjata ja valvoa Integrointitestausympäristössä voi olla vaikeaa saada aikaan tilannetta, joka laukaisee tietyn poikkeustilanteen käsittelyn komponentissa 19 March

24 Integrointistrategioista Komponentit valmistuvat usein eri tahtiin, jolloin voi olla vaikea etukäteen tietää, milloin integraatiotestausta päästään tekemään Testauspäällikön (test manager) on tehtävä integrointitestausta varten suunnitelma, joka ottaa huomioon ohjelmiston testausstrategian, arkkitehtuurin ja projektisuunnitelman Parhaassa tapauksessa testaustarpeet otetaan jo huomioon projektisuunnitelmassa ja komponenttien implementointijärjestyksessä 19 March

25 Yleisiä integrointistrategioita Top-down Bottom-up Ad hoc Backbone / skeleton ja tietysti viimeiseen asti vältettävä, eiinkrementaalinen Big Bang Lähinnä seurausta integrointistrategian puuttumisesta! 19 March

26 Testaustasot Järjestelmätestaus Tuo mukaan asiakkaan ja käyttäjän näkökulman teknisten vaatimusten rinnalle Ohjelmiston tarjoamia palveluja koetellaan todellisessa käytössä Monien toimintojen suorittaminen ja järjestelmän piirteiden havainnointi vaativat kaikkien komponenttien yhteistoimintaa Niitä voidaan testata vain järjestelmätasolla 19 March

27 Järjestelmätestauksen lähtökohdat Järjestelmä- ja ohjelmistovaatimukset, määrittelyt, käyttöoppaat, asennusohjeet, ylläpito-ohjeet jne. Testit suoritetaan mahdollisimman samanlaisessa laitteisto- ja ohjelmistoympäristössä kuin lopullinen käyttöympäristö Ohjelmiston eri konfiguraatiot ja suorituskyky eri tilanteissa on myös testattava 19 March

28 Järjestelmätestauksen lähtökohdat Datan laatu on entistä tärkeämpää nykyisissä ohjelmistoissa Järjestelmän käyttämän datan eheys, täydellisyys ja ajantasaisuus on varmistettava! 19 March

29 Järjestelmätestauksen lähtökohdat Järjestelmätestaus on syytä tehdä erillisessä testausympäristössä ei asiakkaan tuotantoympäristössä Vältetään testattavan ohjelmiston vioista tuotantoympäristöön aiheutuvat vahingot Testausolosuhteita (test condition) voi olla vaikeaa hallita tuotantoympäristössä Testien toistettavuus on parempi 19 March

30 Järjestelmätestauksen tavoitteet Vaatimusten väärästä, epätäydellisestä tai epäyhtenäisestä implementoinnista johtuvien vikojen löytäminen Puuttuvien tai unohdettujen vaatimusten huomaaminen ja tunnistaminen 19 March

31 Järjestelmätestauksen ongelmia Jos vaatimuksia ei ole kirjattu ylös, järjestelmätestien suunnittelijoiden vaikeana tehtävänä on haalia tarvittava informaatio hajallaan olevista lähteistä Tässä tilanteessa paljastuu yleensä myös erilaisia tulkintoja samoista vaatimuksista, jolloin testaajien täytyy ottaa aloite yhteisen näkemyksen muodostamiseksi (testitapausten tuottamiseksi) Näissä olosuhteissa voi olla parasta turvautua tutkivaan testaukseen (exploratory testing) Käsitellään myöhemmin kurssilla 19 March

32 Testaustasot - Hyväksyntätestaus Edellä kuvatut testit tekee ohjelmiston toimittaja Ennen ohjelmiston ottamista käyttöön asiakkaankin on osallistuttava validointiin Asiakkaan/käyttäjän näkökulma ja evaluointi Erityisen tärkeää räätälöidyille ohjelmistoille Vakiintuneen valmisohjelmiston (COTS) hankinnan yhteydessä tehtävät hyväksyntätestaus voi olla kevyempi 19 March

33 Hyväksyntätestauksen lähtökohdat Mikä tahansa järjestelmää käyttäjän/asiakkaan näkökulmasta kuvaava dokumentaatio Käyttötapaukset, liiketoimintaprosessit, lait ja säännökset, tietohallinnon ja ylläpidon säännöt ja prosessit 19 March

34 Hyväksyntätestauksen lähtökohdat Hyväksyntätestejä voidaan tehdä osana muittenkin tasojen testausta Valmisohjelmistojen käyttöä voidaan testata jo integroinnin aikana Käyttöliittymään liittyvien komponenttien käytettävyyttä voidaan testata komponenttitestauksen yhteydessä Prototyyppejä voidaan käyttää uuden toiminnallisuuden testaamiseen jo ennen järjestelmätestausta Asiakkaan ja käyttäjän näkökulman saaminen mukaan projektin alkuvaiheessa on tavoiteltava asia Ketterien menetelmien yksi kulmakivi 19 March

35 Hyväksyntätestauksen muodot 1. Sopimukseen kirjattujen hyväksymisehtojen täyttymisen testaus 2. Loppukäyttäjän hyväksyntätestaus 3. Tuotannon/operoinnin hyväksyntätestaus 4. Kenttätestaus 19 March

36 Hyväksymisehtojen testaus Asiakas varmistaa, että ohjelmistossa ei ole (merkittäviä) puutteita ja että ohjelmisto muuten on tilaussopimuksen mukainen Toimittajan ja asiakkaan välisessä sopimuksessa on usein kirjattu erikseen hyväksymisehdot (acceptance criteria) Toimittajan pitäisi olla testannut ehtojen täyttyminen jo omissa järjestelmätesteissään Yleensä riittää hyväksynnän kannalta riittävien testien toistaminen yhdessä asiakkaan kanssa 19 March

37 Hyväksymisehtojen testaus On tärkeää, että asiakas on itse määritellyt hyväksymistestauksen testitapaukset tai ainakin ne huolellisesti katselmoinut Toisin kuin järjestelmätestaus, hyväksyntätestaus tehdään nyt asiakkaan (tuotanto-)ympäristössä Myös ohjelmiston jakelu ja asennus testataan asiakkaan ympäristössä 19 March

38 Loppukäyttäjän hyväksyntätestaus Asiakas ja loppukäyttäjät voivat olla eri henkilöitä Eri käyttäjäryhmillä on erilaisia tarpeita ja odotuksia Ohjelmistoa päivittäin työssään käyttävät Satunnaiset käyttäjät Ylläpidon ja tuotannon työntekijät, jotka vastaavat ohjelmiston saatavuudesta Johto, jolla on omia seuranta- ja raportointitarpeitaan Asiakkaan tehtävänä on usein valita testitapaukset kullekin käyttäjäryhmälle 19 March

39 Loppukäyttäjän hyväksyntätestaus Tässä vaiheessa havaittujen merkittävien ongelmien ja vikojen korjaaminen voi olla hyvin kallista Siksi on syytä esimerkiksi prototyyppien ja käytettävyystestien kautta varmistua jo projektin aikaisessa vaiheessa, että kehitettävä ohjelmisto tulee täyttämään käyttäjäryhmien tarpeet Yleisimpien käyttäjän tehtävien pitää onnistua helposti ja intuitiivisesti; harvemmin tarvittavien toimintojen käyttämiseen voidaan edellyttää käyttöoppaiden lukemista 19 March

40 Tuotannon/operoinnin hyväksyntätestaus Validoidaan ohjelmiston ominaisuudet ylläpidon (system administration) näkökulmasta Varmistukset Toipuminen vakavista häiriöistä (disaster recovery) Käyttäjien hallinta Turvaominaisuudet Jne March

41 Kenttätestaus Ohjelmistoa voidaan käyttää hyvin monenlaisissa ympäristöissä Kenttätesteillä (field test) tavoitteena on tunnistaa eri käyttöympäristöjen mukanaan tuomat vaikutukset, joita on vaikea ennakoida Tärkeää erityisesti COTS ohjelmille Valituille käyttäjille toimitetaan esiversioita ohjelmistosta, jotka antavat siitä palautetta toimittajalle Alpha-, Beta-testaus 19 March

42 Inkrementaalinen ohjelmistokehitys 19 March

43 Inkrementaalinen ohjelmistokehitys Inkrementaalisen kehityksen idea on tuottaa ohjelmisto sarjana pienempiä peräkkäisiä kehitysaskeleita sen sijaan, että ohjelmisto rakennetaan kerralla valmiiksi Jokainen kehitysaskel eli inkrementti lisää uutta toiminnallisuutta järjestelmään kasvattaen ohjelmistoa siivu siivulta Asiakkaalta mahdollista saada nopeasti palautetta, jonka perusteella voidaan tehdä muutoksia ja korjauksia ketterästi Ohjelmistolla on varhaisesta vaiheesta lähtien jonkinlainen perusrunko tai luuranko (skeleton), johon inkrementtien tuotokset integroidaan 19 March

44 Inkrementaalinen ohjelmistokehitys by Man vyi wikimedia.org 19 March

45 Inkrementaalinen ohjelmistokehitys Inkrementaalinen kehitysprosessi tekee mahdolliseksi asiakkaan osallistumisen jo varhaisessa vaiheessa toimintojen testaukseen Hyväksyntätestausta ja käytettävyystestausta voidaan tehdä koko kehitysprojektin ajan Kunkin iteraation (sprintin) alussa sovitaan toteutettavat piirteet (käyttäjätarinat) ja hyväksyntätestit, joilla toteutuksen toimivuus verifioidaan Asiakkaan osallistuminen testien suunnitteluun on tärkeää validointinäkökulman kannalta 19 March

46 Inkrementaalinen ohjelmistokehitys Muukin testaus on mukautettava jatkuvaan muutokseen Yksikkötestien läpimeno edellytys koodin viennille versionhallintaan Jatkuva integrointitestaus (frequent integration, continuous integration) Jatkuva regressiotestaus Testitapausten uudelleenkäytettävyys inkrementistä toiseen tärkeää (vaatii myös testien ylläpitoa) 19 March

47 Inkrementtien testaus 1. julkaisu 2. julkaisu 3. julkaisu 19 March

48 Ketterä testaaja ISTQB:n oppisisältö ketterän testaajan koetta varten: March

49 Ketterä testaaja Test automation pyramid March

50 Agile Testing Quadrants Crispin, L., Gregory, J.: Agile Testing - A Practical Guide for Testers and Agile Teams. Addison-Wesley, Figure March

51 Testityyppejä Test types 19 March

52 Testityyppejä On olemassa perustestityyppejä, joita voidaan käyttää useilla eri testaustasoilla Testin kohteena oleva ohjelmiston ominaisuus on testityypin määrittävä tekijä ei kehitysprojektin vaihe tai rakennetaso 19 March

53 Toiminnallinen testaus (functional testing) Toiminnallinen testaus verifioi ohjelmiston tuottamat tulokset ja käyttäytymisen ohjelmiston syötteillä (input-output behavior) Ohjelmistoa tarkastellaan mustana laatikkona (black box) eli tarkastellaan vain sen ulkoisesti havaittavaa käyttäytymistä, ei sen sisäistä tilaa Testien lähtökohtana ovat ohjelmiston toiminnalliset vaatimukset, jotka määritelevät mitä ohjelmisto tekee Tämä testaustyyppi sopii parhaiten järjestelmäja hyväksyntätestaukseen 19 March

54 Kirjattuihin vaatimuksiin perustuva t:nen testaus Jos toimintoja koskevat vaatimukset on kirjattu ylös, testitapaukset suunnitellaan niiden perusteella Jokaista vaatimusta kohden tehdään vähintään yksi testitapaus Usein vaatimukseen sisältyy (eksplisiittisesti tai implisiittisesti) useita mahdollisia tapoja tehdä vaadittu asia (ja poikkeustilanteita), joten testitapauksia tarvitaan yleensä useita 19 March

55 Kirjattuihin vaatimuksiin perustuva t:nen testaus Toiminnallisista vaatimuksista johdetaan usein käyttötapauksia (use case), jotka toimivat käyttöliittymä- ja myös ohjelmistosuunnittelun lähtökohtina Käyttötapaus kuvaa täydellisen vuorovaikutusjakson (skenaarion) ohjelmiston ja ulkoisen aktorin välillä siten, että jokin aktorin tavoite (syy ohjelmiston käytölle) tulee täytetyksi skenaarion aikana Käyttötapaukset ovat hyvä pohja testitapausten suunnittelulle 19 March

56 Liiketoimintaprosesseihin perustuva t:nen testaus Yksittäisiä käyttötapauksia laajempia kuvauksia ovat liiketoimintaprosessien (business process) ja -tapahtumien kuvaukset Liiketoimintatapahtuma kokoaa yhteen useita käyttötapauksia loogiseksi toimintojen ketjuksi, joka täyttää jonkin asiakkaan liiketoiminnan tavoitteen Tapahtuman testaus vaatii oman testiskenaarionsa 19 March

57 Liiketoimintaprosesseihin perustuva t:nen testaus Esim auton myynti liiketoimintatapahtuma koostuu käyttötapauksista 1. autotarjonnan selaus, 2. auton ja lisävarusteiden valinta, 3. [ rahoitustarjouksen pyyntö ], 4. [ vakuutustarjouksen pyyntö ], 5. hankintasopimuksen teko ja tallennus 6. auton ja lisävarusteiden tilauksen toimitus maahantuojalle 19 March

58 Laatuominaisuuksien testaus (non-functional testing) Laatuominaisuuksilla tarkoitetaan järjestelmän toimintaa tai sitä kokonaisuutena määrittäviä laatupiirteitä Laatumalli määrittelee joukon laatupiirteitä (characteristics, quality attributes) joiden suhteen laatua mitataan Esimerkiksi ISO/IEC laatumalli: Viisi laatupiirrettä käytön aikaisen laadun määrittelyyn Kahdeksan laatupiirrettä tuotelaadun määrittelyyn 15 laatupiirrettä datan laatua varten (ISO 25012) 19 March

59 Konkreettisia testauskohteita Käytös kuormituksen (load test) alla Suorituskyky tärkeissä käyttötapauksissa ja kuorman alla Suurten datamäärien käsittely (volume test) Ylikuormitustilanteet (stress test) Turvauhkien käsittely ja torjunta (security) Vakaus ja luotettavuus jatkuvassa käytössä (stability) Käytös virhetilanteissa (robustness) Yhteensopivuus, datamuunnokset (compatibility) Eri laitteisto- ja ohjelmistokonfiguraatiot Käytettävyys Dokumentointi 19 March

60 Laatuominaisuuksien testauksen haasteita Laatua koskevat vaatimukset ovat usein niin epämääräisesti muotoiltu, että konkreettisia testitapauksia ei voi määritellä Ohjelmiston pitää olla helppokäyttöinen Järjestelmän pitää olla nopea Myös laatuvaatimusten pitää olla ilmaistu testattavassa muodossa! 19 March

61 Laatuominaisuuksien testitapaukset?? Valitaan toiminnallisista testeistä skenaario, joka edustaa poikkileikkausta koko järjestelmän toiminnasta (esim. käyttöliittymästä tietokantapalvelimeen asti) Testattavan ei-toiminnallisen ominaisuuden tulee olla havainnoitavissa ja mitattavissa skenaarion suorituksen aikana Jos mittauksen tulos on sallituissa rajoissa tavoitearvoon verrattuna, testin tulos on pass ja muuten fail 19 March

62 Ohjelmiston rakenteen testaus Testitapausten suunnittelussa käytetään hyväksi tietoa ohjelmiston arkkitehtuurista ja sisäisistä tiloista (esim. mallien avulla) Tarkoitus on suunnitella ja ajaa riittävästi testitapauksia kaikkien rakenteiden testaamiseksi 19 March

63 Ohjelmiston muutosten testaus ja regressiotestaus Uudelleentestaus (retesting) muutosten jälkeen Toistetaan aikaisemmat testit sen osoittamiseksi, että korjatut viat ovat todella hävinneet Regressiotestaus muutosten jälkeen Tarkoituksena on osoittaa, että muutokset eivät ole aiheuttaneet uusia vikoja (tai vanhojen vikojen uusiutumista) ohjelmistoon regressio: palautuminen, taantuminen, takautuminen. Kielitoimiston sanakirja 19 March

64 Ohjelmiston muutosten testaus ja regressiotestaus Regressiotestaukseen valitut testitapaukset suoritetaan usein, joten ne on dokumentoitava hyvin Testit kannattaa mahdollisuuksien mukaan automatisoida 19 March

65 Regressiotestauksen laajuus Tärkeää on päättää regressiotestauksen laajuus Suoritetaan uudestaan kaikki testit, jotka löysivät jonkin nyt korjatuista vioista Testataan kokonaan uudelleen kaikki ne ohjelman osta joita on nyt muutettu Testataan kaikki vastikään integroidut ohjelmiston osat Testataan uudelleen koko ohjelmisto 19 March

66 Regressiotestauksen laajuus Ohjelmistomuutoksilla voi olla arvaamattomia sivuvaikutuksia myös niissä ohjelman osissa, joihin ei ole koskettu Osien välillä voi olla suuri määrä suoria ja epäsuoria riippuvuuksia niitä on helppo saada aikaan mutta työlästä poistaa Syynä usein huonosti suunniteltu tai muuten sopimaton arkkitehtuuri ja piittaamattomuus riippuvuuksia koskevista säännöistä Periaatteessa vain koko ohjelmiston täydellinen uudelleentestaus on riittävän laaja regression havaitsemiseen 19 March

67 Regressiotestauksen laajuus Käytännössä koko ohjelmiston uudelleentestaus on kuitenkin liian kallista ja hidasta On siis valittava huomattavasti suppeampi joukko testitapauksia, joitten suoritus tuottaa riittävän varmuuden regression poissaolosta On yritettävä päätellä, mihin ohjelmiston osiin sivuvaikutuksia voisi tulla On muutenkin pyrittävä rajoittamaan ajettavien testitapausten määrä minimiin 19 March

68 Regressiotestauksen laajuus Regressiotestitapausten valintakriteereitä Vain testisuunnitelman korkeimman prioriteetin testit ajetaan Toiminnallisten testien tietyt variantit voidaan jättää pois Rajoitetaan testaus vain tiettyihin tuotekonfiguraatioihin (vain yksi kieliversio ja yksi käyttöjärjestelmä) Testataan vain tietyt alijärjestelmät tai vain tietyt testitasot 19 March

Testaus osana ohjelmistojen elinkaarta I

Testaus osana ohjelmistojen elinkaarta I Testaus osana ohjelmistojen elinkaarta I Luento 3 Antti-Pekka Tuovinen www.cs.helsinki.fi 19 March 2013 1 Oppimistavoitteet Ohjelmistokehityksen V-malli Testauksen tasot Komponenttitestaus Integrointitestaus

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

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

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

Ohjelmiston testaus ja laatu. Testaustasot

Ohjelmiston testaus ja laatu. Testaustasot Ohjelmiston testaus ja laatu Testaustasot Testauksen vaihejako Tarpeet / sopimus Järjestelmätestaus Hyväksymiskoe Määrittely testauksen suunnittelu ja tulosten verifiointi Arkkitehtuurisuunnittelu Moduulisuunnittelu

Lisätiedot

Ohjelmiston testaus ja laatu. 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

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

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

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

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

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

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

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

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

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

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

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

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

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

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri Testausraportti Oppimistavoitteiden hallintajärjestelmä harri Helsinki 13.12.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti

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

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

Testaus elinkaaressa

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

Lisätiedot

Ohjelmistotekniikka - Luento 2

Ohjelmistotekniikka - Luento 2 Ohjelmistotekniikka - Luento 2 Luku 2: Prosessimallit - miten spiraalimalliin päädyttiin - spiraalimallista (R)UP malliin - oman ammattitaidon kehittäminen; PSP ja TSP mallit 1 Luento 2: Prosessimallit

Lisätiedot

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

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015 CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015 NOPEA KERTAUS TESTAUS HYVIN LYHYESTI Miten normaali testaajan arki ohjelmistoprojektissa sitten rullaa? Käytännössä

Lisätiedot

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

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

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

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

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen Ohjelmistotekniikka - Luento 2 Jouni Lappalainen Luku 2: Prosessimallit - miten spiraalimalliin päädyttiin - spiraalimallista (R)UP malliin - oman ammattitaidon kehittäminen; PSP ja TSP mallit 1 Luento

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

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

Testaussuunnitelma. Asdf. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Asdf Helsinki 22.2.2008 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Kuisma Sami Louhio

Lisätiedot

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

Tarkastusten rakenne. 10. Tarkastukset. Tuotoksen tekijän rooli. Tarkastustiimi. Tarkastusprosessin vaiheet. Tarkastusprosessi 10. Tarkastukset Tarkastus (inspection) on tehokas analyysitekniikka, jota voidaan käyttää minkä tahansa projektin tuotoksen läpikäyntiin. Tarkastus on systemaattinen ja yksityiskohtainen katselmointi

Lisätiedot

10. Tarkastukset. Tarkastusten rakenne

10. Tarkastukset. Tarkastusten rakenne 10. Tarkastukset Tarkastus (inspection) on tehokas analyysitekniikka, jota voidaan käyttää minkä tahansa projektin tuotoksen läpikäyntiin. Tarkastus on systemaattinen ja yksityiskohtainen katselmointi

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

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

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

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

Ohjelmiston testaussuunnitelma

Ohjelmiston testaussuunnitelma Ohjelmiston testaussuunnitelma Ryhmän nimi: Tekijä: Toimeksiantaja: Toimeksiantajan edustaja: Muutospäivämäärä: Versio: Katselmoitu (pvm.): 1 1 Johdanto Tämä lukaa antaa yleiskuvan koko testausdokumentista.

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

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

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

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

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

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant AgilElephant SEPA Diary Petri Kalsi 55347A Heikki Salminen 51137K Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: PK&HS Sivu 1 / 7 Dokumenttihistoria Revisiohistoria Revision Numero Revision Päiväys

Lisätiedot

L models. Testisuunnitelma. Ryhmä Rajoitteiset

L models. Testisuunnitelma. Ryhmä Rajoitteiset Teknillinen korkeakoulu T-76.115 Tietojenkäsittelyopin ohjelmatyö Lineaaristen rajoitteiden tyydyttämistehtävän ratkaisija L models Testisuunnitelma Ryhmä Rajoitteiset Versio Päivämäärä Tekijä Muutokset

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

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

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

Juha Taina, Marko Salmenkivi ja Kjell Lemström,

Juha Taina, Marko Salmenkivi ja Kjell Lemström, Verifiointi ja validointi (V & V) Verifiointi ja validointi V&V:n tavoitteena on varmistaa, että Ohjelmisto vastaa määrityksiä (verifiointi) Ohjelmisto täyttää käyttäjän odotukset (validointi) V&V:ta tehdään

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

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

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

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Sisäänrakennettu tietosuoja ja ohjelmistokehitys Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 14. kesäkuuta, 2018 Petri Strandén Manager Cyber Security Services Application Technologies Petri.stranden@kpmg.fi Petri vastaa KPMG:n Technology

Lisätiedot

Verifiointi ja validointi

Verifiointi ja validointi Verifiointi ja validointi 581259 Ohjelmistotuotanto 170 Verifiointi ja validointi (V & V) V&V:n tavoitteena on varmistaa, että Ohjelmisto vastaa määrityksiä (verifiointi) Ohjelmisto täyttää käyttäjän odotukset

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

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

Hirviö Laadunvarmistussuunnitelma

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

Lisätiedot

Sisäänrakennettu tietosuoja ja ohjelmistokehitys

Sisäänrakennettu tietosuoja ja ohjelmistokehitys Sisäänrakennettu tietosuoja ja ohjelmistokehitys Petri Strandén 8. kesäkuuta, 2018 Agenda Ohjelmistokehitys Ohjelmistokehitys vs. konsultointi Vaatimukset Tietosuoja Tietosuoja ohjelmistokehityksessä kiteytettynä

Lisätiedot

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA Ohjelmointitekniikka lyhyesti Survival Kit. Vesiputousmalli ELINKAARIMALLEISTA. Ohjelmiston elinkaari Ohjelmiston elinkaarella (life cycle) tarkoitetaan aikaa, joka kuluu ohjelmiston kehittämisen aloittamisesta

Lisätiedot

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

Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta

Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta 582101 - Ohjelmistotekniikan menetelmät, toteutuksesta ja testauksesta 1 Toteutuksesta ja testauksesta Suunnitteluprosessista Tarkan tason luokkasuunnittelu Siirtyminen UML-kaavioista Java-toteutukseen

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

Test-Driven Development

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

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

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

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

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

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

Sisältö. Integrointitestaus. Yleinen teoreettinen pohja. Integrointitestaus prosessina. Skooppi, focus ja locus

Sisältö. Integrointitestaus. Yleinen teoreettinen pohja. Integrointitestaus prosessina. Skooppi, focus ja locus Sisältö Integrointitestaus Antti Tevanlinna, tutkija, Helsingin yliopisto, Tietojenkäsittelytieteen laitos Yleinen teoreettinen pohja Mitä on integrointitestaus Integrointitestauksen tarve Integrointitestauksen

Lisätiedot

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } } Yksikkötestauksella tarkoitetaan lähdekoodiin kuuluvien yksittäisten osien testaamista. Termi yksikkö viittaa ohjelman pienimpiin mahdollisiin testattaviin toiminnallisuuksiin, kuten olion tarjoamiin metodeihin.

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

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

Testaus elinkaaressa. Testaustasot ja vaiheet

Testaus elinkaaressa. Testaustasot ja vaiheet Testaus elinkaaressa Testaus kehittämisen tukena Yksikkötestaus Integrointitestaus Testaustasot ja vaiheet Testaustaso = tietyn testauksen kohteen ja tavoitteen mukainen testaus joka jatkuu koko ajan tai

Lisätiedot

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

Laadunvarmistusdokumentti

Laadunvarmistusdokumentti Laadunvarmistusdokumentti Dokumentin historia Versio Päiväys Muokkaaja Kuvaus Hyväksytty 1.10 07.11.2005 Rönkkö Kirsi Erotettu omaksi dokumentikseen Sisällysluettelo 1. Koko projektissa...2 1.1. Tavoitteet...2

Lisätiedot

Ohjelmien testaustyökalut

Ohjelmien testaustyökalut Ohjelmien testaustyökalut Antti Hämäläinen Helsinki 13.11.2000 Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ohjelmien testaustyökalut Antti Hämäläinen Ohjelmistotuotantovälineet

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

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

Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita

Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita Yhteenvetoa, pieniä laajennuksia, tulevaisuuden haasteita 581259 Ohjelmistotuotanto 378 Lemström, 2006-2011 581259 Ohjelmistotuotanto Kiitos Tuomolle kuvasta 379 Ohjelmistotuotannon perustehtävät projektinhallinta:

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

7. Verifiointi ja validointi

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

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

Testaussuunnitelma. Opeapuri. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Opeapuri Helsinki 2.4.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Krister Eklund

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

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

Testaussuunnitelma. Ohjelmistotuotantoprojekti Nero. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Ohjelmistotuotantoprojekti Nero Helsinki 5.11.2004 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti ( ov) Projektiryhmä

Lisätiedot

ITK130 Ohjelmistojen luonne

ITK130 Ohjelmistojen luonne ITK130 Ohjelmistojen luonne Luennon sisältö Ohjelmistotekniikka ja vaatimukset Ohjelmistotuote Ei-toiminnallisten vaatimusten luokittelu Sisäiset ja ulkoiset vaatimukset Oikeellisuus Luotettavuus Kestävyys

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

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

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

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

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Onnistunut SAP-projekti laadunvarmistuksen keinoin Onnistunut SAP-projekti laadunvarmistuksen keinoin 07.10.2010 Patrick Qvick Sisällys 1. Qentinel 2. Laadukas ohjelmisto täyttää sille asetetut tarpeet 3. SAP -projektin kriittisiä menestystekijöitä 4.

Lisätiedot

Ohjelmistotekniikan menetelmät, kesä 2008

Ohjelmistotekniikan menetelmät, kesä 2008 582101 - Ohjelmistotekniikan menetelmät, kesä 2008 1 Ohjelmistotekniikan menetelmät Methods for Software Engineering Perusopintojen pakollinen opintojakso, 4 op Esitietoina edellytetään oliokäsitteistön

Lisätiedot

2. Ohjelmistotuotantoprosessi

2. Ohjelmistotuotantoprosessi 2. Ohjelmistotuotantoprosessi Peruskäsitteet: prosessimalli: mahdollisimman yleisesti sovellettavissa oleva ohjeisto ohjelmistojen tuottamiseen ohjelmistotuotantoprosessi: yrityksessä käytössä oleva tapa

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

LAATURAPORTTI Iteraatio 1

LAATURAPORTTI Iteraatio 1 LAATURAPORTTI Iteraatio 1 LAATURAPORTTI 2 (7) VERSION HALLINTA Versio Päivä Tekijä Kuvaus 0.1 9.12.2006 Kaarlo Lahtela Ensimmäinen versio 0.2 Kaarlo Lahtela Korjauksia 1.0 Lauri Kiiski Katselmointi ja

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

Testauksen hallinta ja johtaminen

Testauksen hallinta ja johtaminen Testauksen hallinta ja johtaminen Luento 10 Antti-Pekka Tuovinen 18 April 2013 1 Tavoitteet Yleiskuva seuraavista aiheista Testauksen organisointi Testaussuunnittelma Testauksen kustannukset Testausstrategia

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