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

Koko: px
Aloita esitys sivulta:

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

Transkriptio

1 Sisältö Integrointitestaus Antti Tevanlinna, tutkija, Helsingin yliopisto, Tietojenkäsittelytieteen laitos Yleinen teoreettinen pohja Mitä on integrointitestaus Integrointitestauksen tarve Integrointitestauksen rajat Klassinen näkemys Ylhäältä alas vai toisinpäin? Tyngistä Lähestymistapoja eri tilanteisiin 2 Integrointitestaus Yleinen teoreettinen pohja Integroida (eng. integrate); yhdistää, laittaa yhteen Integrointitestaus on Erillisten ohjelmiston (yksikköinä testattujen) osien (metodi, luokka, komponentti, ohjelma, ) vuorovaikutuksen, yhteistoiminnan ja muodostuvan kokonaisuuden oikeellisuuden arviointia Laajentaa Laajennos BLuokka m1() m2() Ohjelmistokehys Komponentti ALuokka Käyttää/ laajentaa,.. Ohjelma a Putkitus, ORB-kutsu Ohjelma b Kutsuu metodia() metodib() 4 Skooppi, focus ja locus Integrointitestaus prosessina Elementti (focus) Metodi Luokka Ryväs Alijärjestelmä Skooppi, konteksti (scope) Luokka Ryväs Alijärjestelmä (komponentti) Järjestelmä Yhteystyyppi (virheiden locus) Muuttujat ja Metodikutsut Luokkien väliset viestit (LVV), jaetut muuttujat LVV, jaetut muuttujat, IPC LVV, IPC, RPC, ORB- ja KJ-palvelut Integrointitestaus on osa testausta Integrointitestausprosessi on testausprosessin aliprosessi Integrointitestausprosessi vastaa samoihin kysymyksiin kuin testausprosessi Mitä, kuka, miten, milloin, millä työkaluilla? Aliprosessit jälleen eri skoopeille Metodi, luokka jne. Tuottaa virheraportteja ja tietoa järjestelmän tai sen osien laadusta eri konteksteissa Luokkatasolta aina arkkitehtuuritasolle Jos (automatisoituja) integrointitestejä on valmiina ennen toteutusta, testit tuottavat hyödyllistä tietoa ohjelmoinnin etenemisestä Hyödynnettäessä arkkitehtuuri- ja suunnittelutason dokumentteja niistä voidaan paikantaa epäselvyyksiä, puutteita ja jopa virheitä 5 6 1

2 Integrointitestauksen tarve Integrointitestausta tarvitaan teoreettisesti Antidekompositioaksiooma: järjestelmä on enemmän kuin mitä sen ulkokuori antaa ymmärtää Antikompositioaksiooma: järjestelmä on enemmän kuin sen osat yhteensä Käytännössä vähentämään kokonaisen ohjelman testaustarvetta Vähentämään testien määrää Nostamaan testaustehokkuutta Pienentämään havaittavien vikojen etsintäaluetta Aikaisempi korkean tason virheiden löytäminen Testauksen systematisointi Esimerkkivirhe Testienvalmistelija Luo testitapauksen Asettaa mm. luokkapolun Kääntäjä kääntää Testitapauksen käyttäen Testitapauksen tietoja Kääntäjä kaatuu, jos luokkapolku on null Virhe Kääntäjän oletuksissa Testienvalmistelijasta tai Testienvalmistelijan oletuksissa Kääntäjästä Riippuu määritelmistä (, jos ne ottavat tilanteen huomioon) XML XML Testienvalmistelija valmistatesti() asetacp( CP c ) annacp() Kääntäjä käännä() 7 8 Integrointivirheitä Arvoaluevirheet Väärät parametrit viestissä Väärän metodin kutsuminen / väärän luokan käyttö Operaation/luokan esiehtojen rikkominen Väärä käyttöprotokolla Viestin vastaanottaja väärä aliluokka Virheellinen olion alustus Muistinhallinta Väliohjemiston tai KJ:n väärä käyttö Prosesseihin liittyvät virheet Konfigurointivirheet (tiedostot, lähdekoodi, ) Tiedon eheys tietovarastossa Resurssien loppuminen Palvelija Virhe Integrointitestauksen rajat Antidekompositio- ja antikompositioaksiooma Integrointitestaus ei ole tehokasta korkean tason eitoiminnallisien ominaisuuksien puutteiden havaitsemisessa, vaikkakin näitäkin voidaan havaita Suorituskyky Luotettavuus Integrointitestaus on vaikeata tai jopa mahdotonta, kun ohjelmiston rakenne ei salli sen hajottamista osiin. Esimerkiksi spagettikoodi, vahva ja turha kytkentä estävät tehokkaan integrointitestauksen Modulaarisuus ja design for testability (testattavuus) Käyttöliittymät useimmiten vaikeita integrointitestata Suunnittele testattava ydin ja minimaalinen käyttöliittymä Älä sekoita käyttöliittymäkoodia toiminnalliseen koodiin 9 10 Yksikkö-, Integrointi ja järjestelmätestaus Yksikkötestaus on kiinnostunut yhden osan toiminnan oikeellisuudesta Järjestelmätestaus on kiinnostunut koko järjestelmän toiminnasta Suoritetaan järjestelmän tarjoamien käyttörajapintojen kautta Testaustasojen raja on häilyvä Korkean tason integrointitestit kelpaavat järjestelmätesteiksi Korkean tason yksikkötestit kelpaavat integrointitesteiksi Testejä voi käyttää uudelleen eri tasoilla Huomattava tarkistaa onko testillä tehoa uudella tasollaan 11 Yksikkö-, Integrointi ja järjestelmätestaus Inkrementaalisessa ohjelmistokehityksessä (kuten olioohjelmointi) integrointitestaus sekoitetaan usein yksikkötestaukseen Uusi luokka (yksikkö)testataan kontekstissaan Korkean tason integrointitestaus suoritetaan osana järjestelmätestausta Mm. alkuperäinen XP ei sisällä vastinetta integrointitestaukselle Jatkuva integrointi Toimii pienessä mittakaavassa Yksikkötason ja järjestelmätason väli on pieni TDD, Tuoteperheet 12 2

3 Kytkentä ja integrointi Integrointitestausjärjestyksiä ja tynkiä Ohjelmiston osien yhteistyö on mahdollista (vain) kytkennän avulla Ohjelmiston osat voivat olla kytkettyinä toisiinsa mm. oikean puolen taulukon tavoilla Lista ei ole täydellinen, koska erityyppisiä yhteyksiä voidaan aina ohjelmoida lisää Koostaminen Perintä Globaali muuttuja API-kutsut Palvelinoliot Parametrinä annetut oliot (kopiointi ja viitteet) Geneeristen luokkien tyyppiparametrit Tiedostot, tietokannat 14 Integrointitestaus on kytkentäpohjaista Integrointitestauksen ensimmäisiä toimintoja on kytkentöjen löytäminen Näiden perusteella muodostetaan erillisten yhdistämis- ja testausjärjestys lasilaatikkomenetelmä Tietolähteitä Arkkitehtuuri (looginen ja kehitysnäkymä) Suunnittelu (luokkakaaviot) Koodi Ihmiset Löytämistapoja Takaisinmallinnustyökalut (UML-työkalut, Rita, Rigi, Eclipse, ) Dokumenttien lukeminen Käsityö Kirjoittaa Lukee Kytkentäkaaviot käytännössä Integrointitestausesimerkit ovat aina karkeita yksinkertaistuksia Esimerkiksi järjestelmä joka sisältää luokkaa ja 500 metodia ja sen jokainen luokka käyttää kahta muuta luokkaa sekä jokainen metodi käyttää kahta muuta metodia Sisältää 200 luokkayhteyttä ja 0 metodiyhteyttä Suuret järjestelmät sisältävät jopa tuhansien luokkien alijärjestelmiä Toisin kuin esimerkeissä, kaaviot ovat syklisiä verkkoja eivätkä puita start abst. execute rollback execute Alhaalta ylöspäin -integrointitestaus Aloitetaan riippuvuuspuun lehdistä. Asetetaan testatuksi joukoksi lehdet Loop kunnes ei testaamattomia solmuja Kasvatetaan testattavaa joukkoa puun solmuilla (tai solmulla), jotka käyttävät vain testatun joukon tarjoamia palveluita Testataan testattava joukko Asetetaan testattava joukko testatuksi joukoksi Ajurit kutsuvat integroitavien puiden juuria

4 Ylhäältä alaspäin -integrointitestaus Aloitetaan riippuvuuspuun juuresta Asetetaan testatuksi joukoksi juuri Asetetaan testattavaksi joukoksi juuri Loop kunnes ei testaamattomia solmuja Kasvatetaan testattavaa joukkoa puun testaamattomilla solmulla (solmuilla), joiden palveluita käyttää (ainoastaan) testattu joukko Testataan testattava joukko Asetetaan testattava joukko testatuksi joukoksi Ajurit kutsuvat integroidun puun juurta Etuja ja haittoja Alhaalta ylös -integrointi Ei tarvita tynkiä (paitsi muuten saavuttamattomien tilanteiden, kuten poikkeusten, aiheuttamiseen) Kontrollihierarkiassa matalan tason virheet löytyvät aikaisin Mahdollistaa erillisten ryppäiden rinnakkaisen integroinnin Testaus voidaan aloittaa kontrollihierarkian lehtien valmistuttua Korkean tason ongelmat ja niiden korjaukset voivat vaatia muutoksia jo testattuun matalan tason toiminnallisuuteen Oraakkelit tarkastavat matalan tason sopimusten toteutumisen Testitapaukset ovat riippuvaisia toteutuksesta Testitapaukset muistuttavat yksikkötestejä Toteutuksen muuttuessa useita testejä joudutaan muokkaamaan Etuja ja haittoja Ylhäältä alas -integrointi Ohjelman prototyyppi käytössä testauksen ajan Virheet korkean tason kontrollissa tulevat esiin aikaisessa vaiheessa On ongelmallista suunnitella testitapauksia, jotka saavuttavat matalan tason toiminnallisuuden käyttäen ainoastaan korkealta tason palveluita kontrollihierarkiassa Testaus voidaan aloittaa kontrolli-hierarkian juuren valmistuttua Vaikka korkean tason kontrolli testataan aikaisin, muutokset matalalla tasolla voivat vaatia muutoksia testatussa osassa Testitapauksen ilmoittaessa virheestä on selvitettävä johtuiko se tyngistä vai testattavasta tuotteesta Oraakkelit tarkastavat korkean tason yhteistoiminnan onnistumisen Testitapaukset muistuttavat järjestelmätestejä Testitapaukset eivät ole erityisen riippuvaisia toteutusyksityiskohdista Tyngät Ylhäältä alas integroinnissa testataan osaa saavutettavasta riippuvuuspuusta Jotta osa olisi suoritettavissa on sen riippuvuuksia eliminoitava Riippuvuuksia poistavia ohjelmiston osia kutsutaan tyngiksi Stub (eng.) Minimaalinen toteutus tarvittavalle palvelulle Asetetaan vastaanottamaan asiakkaana olevan metodin, olion tai komponentin lähettämät viestit Tarjoaa yleensä ennalta määritellyn paluuarvon ilman algoritmia Voi ohjata asiakkaansa toimintaa palauttamalla asiakkaan toimintaan vaikuttavia arvoja

5 Tynkien hinta Tynkien valmistukseen ja ylläpitoon käytetyt resurssit muodostavat suuren osan integrointitestauksen kuluista Otettava huomioon testausta suunniteltaessa Pahimmassa tapauksessa useita tynkiä joudutaan tuottamaan jokaista testitapausta kohden Tynkäkoodi ei lisää ohjelmiston toiminnallisuutta Tynkien valmistus on aikaavievää, mahdollisesti vaikeaa ja useimmiten suorastaan tylsää Tynkiä on pidettävä yllä luokkien ja rajapintojen muuttuessa Tynkiä on vaikeampi valmistaa koodin tuottamisen loputtua Esim. Java-kielen final-metodien syrjäyttäminen Huonosti hallittuna muuttuu käyttökelvottomaksi yhtä lailla kuin tuotekoodi Uudelleenkäyttö Tynkä(suunnittelu)malleja versio1 Luokkatynkä versio2 Valitaan käännös-, linkitys- tai latausaikana Perintätynkä Tynkä voi olla luokka, komponentti tai alijärjestelmä tynkä Tynkä Tynkä(suunnittelu)malleja Testitapauksen ja tyngän yhteys mahdollista myös asiakkaan iteraktioden Varmistaminen (yksikkötestaus) Tynkä Mock-olio Self-shunt Alustaa testitilaan voi olla luokka, komponentti tai alijärjestelmä Kontrolloitu edustaja Käyttää Edustaja (proxy) Delegoi jos ei ole testitilassa Tyngät käyttöön helposti Vältä olioiden luotikoodin sekoittamista muuhun koodiin Tällöin on helppoa vaihtaa käytetty palveleva olio tynkään Käytä esimerkiksi Factory method suunnittelumallia Vältä staattista koodia, jota ei voi syrjäyttää Käytä rajapintoja (täysin abstrakteja luokkia) kohdissa, joissa tynkien käyttö on todennäköistä Rajapinnalle on huomattavasti helpompi tehdä tynkiä Modernit kehitystyökalut tukevat tynkien valmistusta rajapinnan eristäminen tyngän luonti muuttujan tyypin muuttaminen rajapinnan tyyppiseksi Modernien ohjelmointikielten ominaisuuksia voidaan hyödyntää Tynkiä voi luoda puoliautomaattisesti ajoaikana Mock objects mm. Java- ja.net-ympäristöissä Aspect oriented programming Ohjelman suorituksessa mm. metodikutsujen kohteisiin ja paluuarvoihin voi vaikuttaa Big Bang -integrointitestaus Testataan kaikki järjestelmän osat kerralla Pistetään järjestelmä päälle ja katsotaan toimiiko se ; Tietenkään se ei toimi Ongelmia Testaus ei ole keskittynyttä Virheen aiheuttajaa on vaikeata paikallistaa Silti toimiva Pienessä mittakaavassa (esim. Ryväs) Koodin muuttuessa vain osin (regressiotestaus) Ei tarvita tynkiä eikä osittaisia testattavia konfiguraatioita Nopea suorittaa (tosin voi olla tehoton) Mahdollista myös jakamattomalle spagettikoodille Osoittaa järjestelmän tai sen osan minimaalisen valmiuden järjestelmätestauksen tai laajemman kontekstin integrointitestauksen aloittamiseen

6 Yhteistyöpohjainen integrointitestaus Määritellään yhteistyö loogiseksi järjestelmän osien toiminnaksi vastauksena syötteeseen (kuten näppäimen painallukseen) Loop kunnes ei testaamattomia yhteistöitä Asetetaan testattavaksi joukoksi yhteistyöhön osallistuvat solmut tai Kasvatetaan testattavaa joukkoa yhteistyöhön osallistuvilla solmuilla Testataan testattava yhteistyö Asetetaan yhteistyö testatuksi Ajurit kutsuvat integroitavan yhteistyön juurta Jos yhteistyö testataan erikseen on vielä tehtävä kokonaisen järjestelmän integrointi Käytännössä yhteistyön Big bang Mahdollista myös alhaalta ylös integrointi yhteistyön sisällä Päivitäkurssit Nostarahaa Keskuspankki Integrointitestaus luokalle Lähestymistapoja eri skooppeihin Entry-kriteerit Luokan metodit testattu yksiköinä Integrointistrategia Alhaalta ylös integrointi luokan sisällä voidaan suorittaa metodien käyttöjärjestyksessä (konstruktorit, aksessorit, muuttajat, iteraattorit, tuhoajat) Big bang integrointi luokan sisällä ten suunnitteluun tarvittava tieto Luokkasuunnitelmat Lasilaatikkotieto käytettyjen palveluiden löytämiseksi ja suorittamiseksi Exit-kriteerit iteraatiossa Suunnitellut testitapaukset suoritettu päätöskattavuus integroitavassa osassa ja kutsukattavuus (kannattaa myös harkita vahvempaa integrointikattavuutta) integroitavan osan ja muun rakenteen välillä 34 Integrointitestaus ryppäälle Entry-kriteerit Luokat testattu yksiköinä Integrointistrategia Esitellyt strategiat sovellettavissa. Ylhäältä alas vain jos ryppäällä on selvä käyttörajapinta ten suunnittelu Luokkassuunnitelmat, arkkitehtuuri Tarvittaessa lasilaatikkotieto kytkennän muihin ryppäisiin löytämiseksi ja suorittamiseksi Exit-kriteerit iteraatiossa Suunnitellut testitapaukset suoritettu Lause- ja kutsukattavuus integroitavassa osassa ja polymorfinen kutsukattavuus integroitavan ja muiden rakenteiden välillä Integrointitestaus järjestelmälle Entry-kriteerit Komponentit/alijärjestelmät testattu yksiköinä Integrointistrategia Ylhäältä alas (ohjelmistokehykset) Yhteistyöpohjainen Alhaalta ylös ten suunnittelu Arkkitehtuuri, käyttötapaukset, vaatimusskenaariot Tarvittaessa lasilaatikkotieto alijärjestelmien sekä näiden suhteiden löytämiseksi ja suorittamiseksi Exit-kriteerit iteraatiossa Suunnitellut testitapaukset suoritettu Kutsukattavuus integroitavan ja integroidun osan välillä

7 Integrointistrategian muistilista Tunnista ja määrittele integrointitestaus osaksi testausprosessia Tue ohjelmiston kehitystä jatkuvasti tuottamalla tietoa ohjelmiston osien integroinnin laadusta Integrointitestaus ei ole saareke testausvaiheessa Integroi integrointitestaus osaksi tuotantoprosessia Harkitse säännöllistä integrointitestausta päivittäin, viikoittain, kuukausittain Valitse sopivat integrointistrategiat Säädä inkrementin koko strategiassa Pienet inkrementit: paljon kierroksia, ja testikoodia sekä useita testattavia konfiguraatioita Suuret inkrementit: suurempi alue katettavana inkrementissä ja pidempi inkrementin suoritusaika Integrointistrategian muistilista Minimoi ajuri- ja tynkäkoodin määrää Hallitse kuten tuotekoodia ja käytä uudelleen myös näitä Valitse sopiva testitapausten suunnittelutapa Sopivia malleja löydettävissä mm. Binderin kirjasta osista luokat, komponentit, alijärjestelmät ja järjestelmät Yleensä mustalaatikkomenetelmä, mutta riippuen tavoitteista myös lasilaatikkomenetelmiä on sovellettavissa Testattavuus maksaa lisäkulunsa takaisin Tarkasta kattavuus mahdollisuuksien mukaan Valitse tehokkaat työkalut riippuvuuksien löytämiseen, konfiguraationhallintaan, testien suoritukseen ja kattavuuden laskentaan Kiitti Käyttäkää Rita-työkalua Integrointitestauksen harjoitustehtäviä on huomattavasti helpompi tehdä työkalun avulla Osallistukaa tutkimukseen Integrointitestauslähteitä Kirjoja Binder: Testing object-oriented systems Myers: Software reliability Beizer: Software testing techniques McGregor & Sykes: A practical guide to testing object-oriented software Sommerville: Software engineering Pressman: Software engineering Kurssimuistiinpanoja Paakki: Ohjelmistojen testaus Katara: Ohjelmistojen testaus Papereita Jorgensen & Erickson: Object-oriented integration testing CACM 94 numero 9 Hartmann et. Al.: UML-based integration testing ISSTA 00 Mackinnon et. Al.: Endo-testing: Unit testing with Mock objects XP2000 Le Traon et. Al.: Efficient Object-oriented integration and regression testing IEEE Transactions on reliability 00 numero

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

COTOOL dokumentaatio Testausdokumentit

COTOOL dokumentaatio Testausdokumentit Table of Contents Testausraportti.............................................................................. 1 1 Tiivistelmä...............................................................................

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

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

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T

4.12.2005. SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA REFAKTOROINTI Antti Ahvenlampi, 57408L Erik Hakala, 57509T SEPA: REFAKTOROINTI 2 (9) SEPA: REFAKTOROINTI 3 (9) VERSIOHISTORIA Version Date Author Description 0.1 2.12.2005 Erik Hakala Ensimmäinen

Lisätiedot

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton

812347A Olio-ohjelmointi, 2015 syksy 2. vsk. IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton 2015 syksy 2. vsk IX Suunnittelumallit Proxy, Factory Method, Prototype ja Singleton Sisältö 1. Johdanto luontimalleihin 2. Proxy 3. Factory Method 4. Prototype 5. Singleton Suunnittelumallit Proxy et.

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

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

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

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

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

Olio-ohjelmien testaamisesta

Olio-ohjelmien testaamisesta Olio-ohjelmien testaamisesta Mika Katara et. al. Ohjelmistotekniikan laitos Tampereen teknillinen yliopisto 13.8.2013 Ohjelmistojen testaus, 2013 1(32) Sisällysluettelo 1/2 Olio-ohjelmien testaamisesta

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

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

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä

Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Oliosuunnitteluesimerkki: Yrityksen palkanlaskentajärjestelmä Matti Luukkainen 10.12.2009 Tässä esitetty esimerkki on mukaelma ja lyhennelmä Robert Martinin kirjasta Agile and Iterative Development löytyvästä

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

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

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

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

Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen

Tarjolla tänää: Ohjelmiston toteutuksesta. Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit. Testilähtöinen kehittäminen JOT2007. Uudelleenrakentaminen Tarjolla tänää: Ohjelmiston toteutuksesta JOT2007 CRC-kortit Testilähtöinen kehittäminen Uudelleenrakentaminen Voisiko ohjelmointi olla sittenkin suunnittelua? Kuinka tulla hyväksi ohjelmoijaksi? CRC-kortit

Lisätiedot

3. Testaus osana ohjelmistoprosessia

3. Testaus osana ohjelmistoprosessia 3. Testaus osana ohjelmistoprosessia Ohjelmistotuotanto on paljon muutakin kuin testaamista. Mutta miten testaus liitetään ohjelmistoprosessiin? Tässä kohdassa esitellään ns. testauksen V-malli ja siihen

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

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

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

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

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

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

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Ylläpitodokumentti. Boa Open Access. Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ylläpitodokumentti Boa Open Access Helsinki 2.5.2006 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Ilmari

Lisätiedot

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

Lakki. Lisää ot sik k o osoit t am alla. Nöyrästi vain lakki kourassa... Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi 2010

Lakki. Lisää ot sik k o osoit t am alla. Nöyrästi vain lakki kourassa... Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi 2010 Lakki Nöyrästi vain lakki kourassa... Jussi Vänskä Espotel Oy vierailuluentosarja OTM kurssi 2010 2.luento: ohjelmistokehityksen päivärutiinit Lisää ot sik k o osoit t am alla Siitä vain reunasta Miten

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

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

Hakemistojen sisällöt säilötään linkitetyille listalle.

Hakemistojen sisällöt säilötään linkitetyille listalle. Harjoitustyö 1 Harjoitustyö Tehtävä: ohjelmoi Java-kielellä komentoikkunaa (komentotulkkia, komentoriviä) simuloiva olioperustainen ohjelma. Hakemistojen sisällöt säilötään linkitetyille listalle. Työ

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

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

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

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

15. Ohjelmoinnin tekniikkaa 15.1

15. Ohjelmoinnin tekniikkaa 15.1 15. Ohjelmoinnin tekniikkaa 15.1 Sisällys For-each-rakenne. Geneerinen ohjelmointi. Lueteltu tyyppi enum. 15.2 For-each-rakenne For-rakenteen variaatio taulukoiden ja muiden kokoelmien silmukoimiseen:

Lisätiedot

Ohjelmistotekniikan menetelmät, kevät 2008

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

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

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0 TESTIRAPORTTI - VYM JA KANTA Versio 1.0 i Sisällysluettelo 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin 2 2. SUORITETTAVA TESTI 3 2.1. Testauksen

Lisätiedot

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

11/20: Konepelti auki

11/20: Konepelti auki Ohjelmointi 1 / syksy 2007 11/20: Konepelti auki Paavo Nieminen nieminen@jyu.fi Tietotekniikan laitos Informaatioteknologian tiedekunta Jyväskylän yliopisto Ohjelmointi 1 / syksy 2007 p.1/11 Tämän luennon

Lisätiedot

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki

Sisällys. JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta. Abstraktin luokan idea. Abstrakti luokka ja metodi. Esimerkki Sisällys JAVA-OHJELMOINTI Osa 7: Abstrakti luokka ja rajapinta Abstrakti luokka ja metodi Rajapintamäärittely (interface) Eero Hyvönen Tietojenkäsittelytieteen laitos Helsingin yliopisto 13.10.2000 E.

Lisätiedot

Integrointi. Ohjelmistotekniikka kevät 2003

Integrointi. Ohjelmistotekniikka kevät 2003 Integrointi Ohjelmistotekniikka kevät 2003 ERP (Toiminnanohjausjärjestelmä) Myynti Henkilöstö, palkanlaskenta Kirjanpito Myynti Myyjät Extranet Tietovarasto Laskutus, reskontrat Asiakas ERP Asiakasrekisteri

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

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

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

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1

Ohjelmistoarkkitehtuurit Syksy 2009 TTY Ohjelmistotekniikka 1 3. Komponentit ja rajapinnat 3.1 Komponenttien idea: ohjelmistotuotannon rationalisointi 3.2 Mikä on ohjelmistokomponentti? 3.3 Komponentit ohjelmistoyksikköinä 3.4 Rajapinnat 3.6 Komponenttien räätälöinti

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

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito

Ylläpito. Ylläpito. Ylläpidon lajeja Ohjelmistotuotanto, syksy 1998 Ylläpito Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective) testausvaiheessa

Lisätiedot

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

Testaussuunnitelma. Karstula. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Testaussuunnitelma Karstula Helsinki 20.4.2007 Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Kurssi 581260 Ohjelmistotuotantoprojekti (6 ov) Projektiryhmä Juha-Pekka Juutilainen

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

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä. Tiedonkätkentä. Aksessorit. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä muuttujia ja vakioita. Esittely

Lisätiedot

(Laajojen) Oliojärjestelmien testaus

(Laajojen) Oliojärjestelmien testaus (Laajojen) Oliojärjestelmien testaus Erkki Pöyhönen, Arto Stenberg erkki.poyhonen@nokia.com, arto.stenberg@nokia.com Nokia Research Center, SW Technology Laboratory 1 NOKIA Laajojen oliojärjestelmien testaus

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

Suunnitteluvaihe prosessissa

Suunnitteluvaihe prosessissa Suunnittelu Suunnitteluvaihe prosessissa Silta analyysin ja toteutuksen välillä (raja usein hämärä kumpaankin suuntaan) Asteittain tarkentuva Analyysi -Korkea abstraktiotaso -Sovellusläheiset käsitteet

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

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

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

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

Testaussuunnitelma. PLAYOFF Jari Anttila Sanna Fröblom Aarno Sandvik Tommi Paavilainen Miikka Kohijoki. Päivi Pääkkö, ohjaaja

Testaussuunnitelma. PLAYOFF Jari Anttila Sanna Fröblom Aarno Sandvik Tommi Paavilainen Miikka Kohijoki. Päivi Pääkkö, ohjaaja Jari Anttila Sanna Fröblom Aarno Sandvik Tommi Paavilainen Miikka Kohijoki Päivi Pääkkö, ohjaaja Helsinki, 10. joulukuuta 2007 Ohjelmistotuotantoprojekti yritysviestinnän oppimateriaalin hallintajärjestelmä

Lisätiedot

T-76.5158 SEPA päiväkirja

T-76.5158 SEPA päiväkirja T-76.5158 SEPA päiväkirja Ryhmä 14 Automatisoitu yksikkötestaus Mikko Luukkonen, 60549T Lauri Helkkula, 62820H Matti Eerola, 60686A Versiohistoria Versio Pvm Tekijä(t) Kuvaus 0.3 25.11.2007 Luukkonen,

Lisätiedot

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

TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN Virtuaaliyhteisöjen muodostaminen Versio 1.0 TESTIRAPORTTI - JÄRJESTELMÄ, ADMIN i Sisällysluettelo DUMENTIN VERSIOT 1 1. YLEISTÄ 2 1.1. Dokumentin tarkoitus ja yleisiä toimintaohjeita 2 1.2. Viittaukset muihin dokumentteihin 2 2. SUORITETTAVA TESTI

Lisätiedot

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

Ohjelmistotuotanto, verifiointi ja validointi Syksy Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi 7. Verifiointi ja validointi Verifiointi ja validointi (V&V) on ohjelmistotuotannon työvaihe, missä varmistetaan, että ohjelmisto täyttää sille asetetut implisiittiset ja eksplisiittiset vaatimukset ja

Lisätiedot

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

Ylläpito. Ylläpidon lajeja

Ylläpito. Ylläpidon lajeja Ylläpito Kaikki ohjelmistoon sen julkistamisen jälkeen kohdistuvat muutostoimenpiteet jopa 70-80% ohjelmiston elinkaarenaikaisista kehityskustannuksista Ylläpidon lajeja korjaava ylläpito (corrective)

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

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

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2

Sisällys. Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 4. Attribuutit 4.1 Sisällys Yleistä attribuuteista. Näkyvyys luokan sisällä ja ulkopuolelta. Attribuuttien arvojen käsittely aksessoreilla. 4.2 Yleistä Luokan lohkossa, mutta metodien ulkopuolella esiteltyjä

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

Muusta kuin vesisioista

Muusta kuin vesisioista Muusta kuin vesisioista Janne Käki 8.12.2006 Metodin kuormittaminen (overloading) Samannimisestä metodista on määritelty samassa luokassa (tai samassa yli- ja aliluokkien jatkumossa) useita versioita,

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

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

Versio Päiväys Tekijä Kuvaus Tikkanen varsinainen versio Testiraportti 26.2.2006 1/5 - Noheva II Testiraportti Versio Päiväys Tekijä Kuvaus 1.0 26.2.2006 Tikkanen varsinainen versio 1 Yleistä Toteutusvaiheen 2 virallinen testaus on muodostunut automaattisista

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

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

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

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Rajapinnat ja sisäluokat Rajapinnat Java-kieli ei tue luokkien moniperintää. Jokaisella luokalla voi olla vain yksi välitön yliluokka. Toisinaan olisi

Lisätiedot

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia

Ohjelmistojen mallintaminen, kurssikoe esimerkkivastauksia Ohjelmistojen mallintaminen, kurssikoe 15.12. esimerkkivastauksia Tehtävä 1 a: Ohjelmistotuotantoprosessi sisältää yleensä aina seuraavat vaiheet: määrittely, suunnittelu, toteutus, testaus ja ylläpito.

Lisätiedot

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Pakkaukset ja määreet

Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Pakkaukset ja määreet Opintojakso TT00AA11 Ohjelmoinnin jatko (Java): 3 op Pakkaukset ja määreet Pakkaukset ja määreet Toisiinsa liittyvät luokkatiedostot voidaan koota pakkauksiksi. Luo hierarkiaa ja järjestystä ohjelmistotuotteeseen.

Lisätiedot

SEPA - Design Patterns

SEPA - Design Patterns SEPA - Design Patterns Kimmo Karlsson, 51066R & Antti Pirinen, 51406N 15. maaliskuuta 2005 1 Sisältö 1. Sisältö 2. Johdanto 3. Käyttöönotto 4. Käyttökokemukset 2 Johdanto Valitsemamme ohjelmistonkehityskäytäntö

Lisätiedot