T Ohjelmistotuotannon seminaari. Agile Processes. XP:n hyväksymistestit

Koko: px
Aloita esitys sivulta:

Download "T Ohjelmistotuotannon seminaari. Agile Processes. XP:n hyväksymistestit"

Transkriptio

1 T Ohjelmistotuotannon seminaari Agile Processes XP:n hyväksymistestit Mikko Pasanen 49159H Tik N mspasane@cc.hut.fi

2 Tiivistelmä 2 Extreme Programming on kevyt ohjelmistokehityksen metodologia, jonka testauskäytäntö koostuu kahdesta tasosta: yksikkö- ja hyväksymistesteistä. Ohjelmoijien ylläpitämillä ja ajamilla automatisoiduilla yksikkötesteillä pyritään helpottamaan integraatiota ja varmistumaan toteutuksen virheettömyydestä. Hyväksymistestit puolestaan määrittelee asiakas testaajan avustuksella. Hyväksymistesteillä asiakas varmistuu siitä, että haluttu toiminnallisuus löytyy tuotteesta. Hyväksymistestit toimivat myös projektin seurannan ja dokumentoinnin välineenä. V-mallin mukaiseen testaukseen verrattuna XP-testaus tuntuisi tarjoavan tavan parantaa projektiryhmän ja asiakkaan välistä kommunikaatiota. Se pyrkii lisäksi käytäntöjensä avulla välttämään perinteisen testauksen ongelmakohtia kuten riittämätöntä kehityksen aikaista tai matalan tason testausta. Toisaalta V-malliin verrattuna koko XP-testauksen lähestymistapa on erilainen se painottaa toiminnallisuuden löytämistä testauksen kattavuuden sijaan. XP:n hyväksymistesteillä voidaan katsoa olevan joitakin rajoitteita, jotka johtuvat niiden lähestymistavasta. Niiden ei katsota soveltuvan hyvin kriittisten järjestelmien tai laajaa rinnakkaisuutta sisältävien ohjelmistojen testaamiseen. Toisaalta tämäkin riippuu paljon asiakkaan painotuksista ja asiantuntemuksesta. Lisäongelmia hyväksymistestaukseen tuovat sekä projektiryhmän että asiakkaan sitoutuminen noudatettavaan prosessiin. Tietyt XP-käytännöt, kuten yksikkötestaus ja jatkuva integrointi, ovat edellytyksiä hyväksymistestien onnistumiselle. Haasteita aiheuttavat myös asiakkaan kiireisyys ja osaamistaso testauksen suhteen.

3 Sisällysluettelo 3 1 Johdanto Tutkimuksen tausta Tutkimusongelma Tutkimuksen tavoitteet Tutkimuksen laajuus Tutkimusmenetelmät Raportin rakenne Mitä on extreme Programming? Ketterät prosessit Historiaa XP lyhyesti XP:n testauskäytännöt Yksikkötestit Hyväksymistestit XP:n roolit hyväksymistestien kannalta Asiakas Testaaja Ohjelmoija Nykytilanne Ohjelmistojen testauksen perusteita Peruskäsitteitä Testauksen V-malli XP-testauksen vertailu V-malliin Yhteistyö asiakkaan kanssa Lähestymistapa Riskialttius XP:n hyväksymistestikäytännön ongelmia Tuotteen laatu Projektiryhmän XP - prosessi Asiakas Yhteenveto Lähdeluettelo...23

4 4 1 Johdanto Extreme Programming eli XP on ketterä ohjelmistojen kehitysmetodologia. Se pyrkii vastaamaan nopeasti muuttuvan ympäristön asettamiin haasteisiin (Beck 2000). Tämä tutkimus keskittyy XP:n hyväksymistestikäytäntöön. 1.1 Tutkimuksen tausta Testaus XP:ssä on jaettu kahteen tasoon. Laajalla automatisoidulla yksikkötestauksella pyritään varmistamaan yksittäisten moduulien toimivuus. Toisen tason muodostavat asiakkaan määrittelemät hyväksymistestit, joiden tarkoitus on auttaa asiakasta arvioimaan tuotteen valmiusastetta. XP:stä on käyty paljon keskustelua viime vuosina, mutta sen hyväksymistesteistä ei ole kirjoitettu kovin paljon. Ne ovat kuitenkin tärkeä osa XP:tä, sillä niitä käytetään osana vaatimusmäärittelyä ja dokumentointia. Etenkin XP-projektin päätösvaiheessa hyväksymistestit ovat tärkeitä, koska niitä pidetään ohjelmiston valmiusasteen mittareina. (Jeffries 2001) Lisäksi XP:tä käsittelevä kirjallisuus on keskittynyt kuvaamaan prosessia vahvasti kehittäjien kannalta ja jättänyt asiakkaan prosessin vähemmälle huomiolle. Usenetin XPkeskusteluissa XP:tä on myös arvosteltu siitä, ettei sitä kehittämässä ole ollut testauksen ammattilaisia. 1.2 Tutkimusongelma XP-projektissa asiakkaan rooli on huomattavasti erilainen kuin perinteisessä

5 ohjelmistoprojektissa; häneltä odotetaan täysipäiväistä läsnäoloa ja osallistumista 5 projektiin. Tämä tulee ilmi XP:n hyväksymistestikäytännössä, jossa asiakkaan odotetaan aktiivisesti osallistuvan testien määrittelyyn. Tätä voidaan odottaa myös perinteisessä projektissa, mutta se on harvinaista. Tutkimuksen tarkoitus on selvittää, mitä XP:n hyväksymistesteihin kuuluu kirjallisuuden perusteella. 1.3 Tutkimuksen tavoitteet Tutkimuksen tavoitteena on ensiksi selvittää, miten hyväksymistestit on määritelty XPkirjallisuudessa. Toiseksi tarkastellaan sitä, millä tavoin XP-testauskäytännöt eroavat V- mallin mukaisesta testauksesta. Kolmas tavoite on tutkia miten hyväksymistesteihin liittyvät roolit on määritelty kirjallisuudessa ja tarkastella asiakkaan ja projektiryhmän välisen yhteistyön mekanismeja. 1.4 Tutkimuksen laajuus Ensisijaisesti tutkimus keskittyy XP:n hyväksymistestien ymmärtämiseen. Vaikka hyväksymistestit liittyvät läheisesti XP:n suunnittelupeliin, ei siihen puututa yksityiskohtaisella tasolla. Tutkimus ei puutu testien automatisointiin. Testien automatisointi on jo sinänsä niin laaja tutkimusalue, että sen huomioon ottaminen jättäisi XP:n hyväksymistestikäytännön varjoonsa. Niinikään perinteistä testauksen V-mallia noudattelevan testauksen yksityiskohtiin tai eri lähestymistapoihin ei puututa.

6 1.5 Tutkimusmenetelmät 6 Tutkimus on toteutettu kirjallisuustutkimuksen keinoin. Käytetty materiaali koostuu pitkälti XP-sarjan kirjoista, joiden lisäksi lähteinä on käytetty Cockburnin kirjaa ketteristä metodologioista sekä Polin ym. teosta, joka käsittelee testauksen perusteita. Kirjojen lisäksi materiaalina on haettu akateemisista lehdistä. Materiaali on käyty läpi keskittyen hyväksymistestaukseen ja asiakkaan prosessiin liittyviin seikkoihin. 1.6 Raportin rakenne Paperin loppuosa rakentuu seuraavasti: toisessa luvussa esitellään ketterien prosessien yhteisiä piirteitä, XP:n toimintaa ja sen testauskäytännöt sekä niihin liittyvät roolit. Kolmannessa luvussa käydään läpi ohjelmistojen testauksen peruskäsitteitä sekä testauksen V-mallia. Neljäs luku keskittyy vertaamaan XP:n testauskäytäntöjä V-mallin mukaiseen testaukseen ja viidennessä luvussa pyritään tunnistamaan joitakin ongelmakohtia XP-testauksessa. Paperin lopussa on yhteenveto ja lähdeluettelo. 2 Mitä on extreme Programming? Extreme Programming on nk. ketterä prosessi, joka korostaa asiakkaan tyytyväisyyttä ja tiimityötä. Se on tarkoitettu pienikokoisille kehitystiimeille ja soveltuu hyvin tilanteeseen, jossa asiakkaan vaatimukset ovat epäselviä tai ne muuttuvat nopeasti. 2.1 Ketterät prosessit Termi "ketterä prosessi" tulee englannin kielen sanoista "agile process". Ilmaisu ei ole vielä vakiintunut suomen kielessä, mutta tässä paperissa käytetään sitä. Ketteriksi

7 prosesseiksi kutsutaan ohjelmistotuotannon metodologioita, jotka: 7 painottavat yksilöitä ja näiden välistä kommunikaatiota prosessin ja dokumentaation sijaan, pitävät toimivaa ohjelmistoa merkkinä edistymisestä, korostavat yhteistyötä projektin asiakkaan kanssa ja pitävät olennaisena kykyä vastata muutokseen (Cockburn 2001). Edellä mainitut periaatteet määriteltiin vuonna 2001 nk. "Agile Manifestossa" (mm. Cockburn 2001), joka oli eri ketterien metodologioiden asiantuntijoiden tapaamisen lopputulos. Ketteriksi metodologioiksi lasketaan mm. XP, SCRUM, DSDM, Crystal Methodologies ja FDD. 2.2 Historiaa XP on pitkälti Kent Beckin aikaansaannos. Se on ohjelmistotuotannon metodologia, joka sai alkunsa vuonna 1996 Beckin kokeillessa ideoitaan paremmasta tavasta tuottaa ohjelmistoja eräässä Daimler Chryslerin projektissa. Nykyään Beckin ajatuksia kuvaamaan käytettäisiin ketterän prosessin käsitettä. Hän keräsi vuosien varrella hyväksi kokemansa työtavat yhteen ja muodosti niistä kevyen metodologian. (Beck 2000) 2.3 XP lyhyesti Beck on määritellyt XP:n koostuvan tietyistä käytännöistä. Käytäntöjä on kaikkiaan 12, ja niiden kaikkien soveltamista suositellaan (Beck 2000).

8 XP-ohjelmistokehitys koostuu ketterille prosesseille tyypillisistä lyhyistä kehitysjaksoista, 8 joiden pituus voi vaihdella yhdestä viikosta pariin kuukauteen. Kunkin jakson alussa projektin asiakas ja projektiryhmä sopivat jakson tavoitteista. Asiakas määrittelee "tarinoita", joiden toteuttamiseen kuluvan ajan projektiryhmä arvioi. Sitten asiakas päättää, mitkä tarinat jaksossa toteutetaan. Lyhyiden kehitysjaksojen ideana on antaa asiakkaalle jatkuvaa palautetta projektin tilasta. Tavoitteena on, että kunkin kehitysjakson lopussa asiakkaalle voidaan esittää jollakin tasolla toimiva tuote. Toteutuksen suunnittelussa ovat yksikkötestit keskeisessä asemassa. XP:n testauskäytännön mukaan ne tulisi kirjoittaa ennen varsinaista koodia, jolloin ne ohjaavat toteutusta. Yksikkötestien tulee myös olla riittävän kattavia, jolloin niistä muodostuu osa projektin dokumentaatiota. XP:n perusajatuksia on toteutuksen pitäminen yksinkertaisena. Toteutuksessa lähdetään toteuttamaan tarinoita yksinkertaisimmalla mahdollisella tavalla, joka voi toimia. Yksinkertaisuuden vaatimusta tuetaan refaktorointi-käytännöllä, joka tarkoittaa jo kirjoitetun koodin muokkausta yksinkertaisempaan suuntaan. Varsinaiseen ohjelmointiin liittyviä käytäntöjä XP:ssä on useita. Näkyvin näistä on pariohjelmointi, jossa yhden koneen ääressä istuu kaksi ohjelmoijaa. Toinen kirjoittaa koodia, toinen tarkkailee kirjoitettua koodia ja ajattelee "strategisesti" (Wake 2002). Kirjoitettu koodi on kollektiivista omaisuutta, jolloin kuka tahansa projektiryhmästä voi muuttaa mitä tahansa koodista. Koodin kääntäminen ja osajärjestelmien integrointi tapahtuu XP:ssä usein, jopa useita kertoja päivässä. Tämä takaa sen, etteivät integroinnille tyypilliset ongelmat kasaudu iteraation loppuun.

9 Asiakkaan ja projektiryhmän välisen kommunikaation parantamiseksi vaaditaan XP:ssä 9 asiakkaan kokopäiväistä läsnäoloa. Tällöin asiakas on aina paikalla, kun projektiryhmällä on häntä koskeva ongelma, mikä nopeuttaa projektin etenemistä. 2.4 XP:n testauskäytännöt XP:n testauskäytäntö on jaettu kahteen osaan: yksikkö- ja hyväksymistesteihin. Yksikkötestit ovat projektiryhmän ja hyväksymistestit asiakkaan vastuulla. XP:n pariohjelmointikäytännön voisi ajatella kolmanneksi testausmuodoksi, sillä sen voi nähdä eräänä staattisen testauksen muotona. Se on kuin reaaliaikainen koodikatselmus, koska koodin kirjoittajan lisäksi paikalla on jatkuvasti toinen henkilö tarkkailemassa kirjoitettua koodia. XP:n testauskäytäntöjä leimaava seikka on testien kirjoittaminen ennen koodia. Tämä pätee sekä yksikkö- että hyväksymistesteihin. Koska molempia testejä ajetaan usein, niiden automatisoimista suositellaan. Tosin Chryslerin C3 projektissa, jossa XP-käytäntöjä kokeiltiin ensimmäistä kertaa suuressa mittakaavassa, testit pyrittiin julkaisemaan samaan aikaan koodin kanssa (Anderson 1998). Tästä on sittemmin siirrytty testauslähtöisempään ajattelutapaan toteutuksen suunnittelussa Yksikkötestit Yksikkötesteillä pyritään varmistamaan moduulitason toteutuksen virheettömyys. Testit kohdistetaan niihin ohjelman osiin, jotka eivät mahdollisesti toimi oikein (Wake 2002, s.129). Kaikkea ei siis testata yksikkötesteillä. Joka tapauksessa yksikkötestit ovat hyvin kattavia ja niitä ajetaan aina, kun ohjelmaa on muokattu. Näin yksikkötestit puolestaan tukevat integraatiotestausta, joka sellaisenaan puuttuu XP:stä.

10 XP:n yksikkötestejä on vaikea jaotella white box- tai black box -testeihin, sillä niiden 10 toteuttaminen edellyttää kyllä tietoa koodissa käytettävistä rajapinnoista, mutta ei sinänsä tietoa muusta koodista. Koska niitä käytetään ohjaamaan toteutusta, eroavat ne perustavanlaatuisesti perinteisistä yksikkötason testeistä. Koska yksikkötestien määrä suuressa projektissa voi muodostua hyvin suureksi, on niiden automatisointi välttämätöntä. Chryslerin C3-projekti raportoi 3000 yksikkötestistä (Anderson 1998). XP-käytäntöihin kuuluva jatkuva integrointi edellyttää sitä, että testien ajaminen on mahdollisimman helppoa ja että se voi parhaassa tapauksessa tapahtua vain yhtä nappia painamalla. Kirjoitetun (julkaistun) koodin tulee läpäistä aina kaikki yksikkötestit (Beck 2000, s.118). Tämä on olennaista, koska yksikkötestit varmistavat, että koodi toimii oikein. Edellisten iteraatioiden testien tulee myös toimia Hyväksymistestit Hyväksymistestit ovat projektin onnistumisen kannalta yksikkötestejä tärkeämpiä (Auer, Miller 2002, s. 233). Tämä johtuu siitä, että toisin kuin yksikkötestit, hyväksymistestit ottavat asiakkaan vaatimukset huomioon: niiden avulla asiakas varmistuu tuotteen oikeellisuudesta ja toimivuudesta. Hyväksymistestit ovat luonteeltaan funktionaalisia black box -testejä. XP:ssä hyväksymistestit määrittelee asiakas mahdollisesti projektiryhmän avulla. Perinteisen testaajan näkökulmasta arvioituna niiden tarkoitukseksi muodostuukin tuotteen kattava testaus käyttäjän näkökulmasta, ei niinkään kaikkien suorituspolkujen

11 läpikäyminen. (Crispin 2001) 11 Kaikkia projektin hyväksymistestejä ajetaan usein. (Wake 2002, s. 126) ehdottaa testejä ajettavaksi päivittäin, (Jeffries 2001) puolestaan viikoittain. Näin varmistutaan siitä, että edellisten iteraatioiden toteutukset toimivat yhä. Ne ajamalla nähdään myös, miten projekti on edistynyt. Tämä vaatimus edellyttää testien automatisoimista niin pitkälle kuin mahdollista. Edellä mainitussa C3-projektissa asiakkaalla oli projektin lopussa noin 6000 funktionaalista testiä (Anderson 1998). Niiden ajaminen päivittäin manuaalisesti lienee kallista. Hyväksymistestit toimivat XP:ssä tärkeänä projektin seurannan välineenä (Auer, Miller 2002, s. 55, 235). Hyväksymistestien läpäisyarvot ovat suoraan verrannolliset toteutettujen tarinoiden määrään, joten niiden perusteella voidaan arvioida koko tuotteen valmiusastetta. Projektin edetessä nousevat läpäisyarvot lisäävät asiakkaan luottamusta projektiin. XP:ssä varsinainen dokumentointi jää paljolti koodin ja sen kommentoinnin varaan. Tämän lisäksi tärkeän osan XP-dokumentaatiota muodostavat hyväksymistestit. Ne määrittelevät yksityiskohtaisesti, mitä asiakas haluaa tuotteen tekevän. Kun tuote läpäisee testit, kertovat testit, mitä tuote tekee. Näin hyväksymistesteistä tulee osa projektin dokumentaatiota. Hyväksymistestit ovatkin yksi XP:n tavoista kommunikoida asiakkaan vaatimukset ohjelmoijille. Toisin kuin yksikkötestien, hyväksymistestien tulosten ei odoteta olevan jatkuvasti 100% läpäisyn tasolla (Beck 2000, s.118). Tämä on luonnollista, koska tarinoiden toteuttamisessa on kyse moduuleja suuremmista kokonaisuuksista. Toiminnallisuuden

12 toteuttamiselle on varattu aikaa yhden iteraation verran, joten iteraation lopussa tuote 12 optimitapauksessa läpäisee kaikki hyväksymistestit. 2.5 XP:n roolit hyväksymistestien kannalta XP määrittelee roolit projektiin osallistuville henkilöille. Hyväksymistestien kannalta kaksi roolia ovat olennaisia: asiakas ja testaaja. Asiakas on roolin nimen mukaisesti projektin asiakkaan edustaja. Testaajan rooli puolestaan kuuluu jollekin projektiryhmän jäsenistä, mutta tälle henkilölle voi kuulua myös jokin muu rooli (esim. ohjelmoija) Asiakas Asiakkaan tehtävä on hyväksymistestien määrittely. Hän määrittelee jokaiselle tarinalle vastaavat hyväksymistestit. Asiakas voi työskennellä projektiryhmän kanssa oppiakseen, minkälaiset testitapaukset ovat hyviä. Asiakas voi saada apua testien määrittelyyn projektiryhmältä. (Beck 2000) (Wake 2002) tarjoaa joitakin lisäyksiä asiakkaan rooliin. Testien määrittelyn lisäksi asiakkaan tehtävänä olisi niiden ajaminen. Lisäksi kaikkien iteraatiossa toteutettavien tarinoiden hyväksymistestit ajettaisiin päivittäin ja niiden tulokset raportoitaisiin projektiryhmälle Testaaja Testaajan rooli XP:ssä keskittyy paljolti asiakkaaseen. Testaajan tehtävänä on auttaa asiakasta kirjoittamaan ja valitsemaan hyväksymistestitapauksia. Testaajaa tarvitaan, koska asiakkaalla ei välttämättä ole testaamiseen tarvittavia taitoja. Testaaja muuntaa

13 asiakkaan testi-ideat oikeiksi, automatisoiduiksi testeiksi ja auttaa myös testien 13 ajamisessa. (Beck 2000) Lisäksi testaaja raportoi testien tuloksista, refaktoroi testejä ja pyrkii ohjaamaan koko projektia oikeaan suuntaan. (Crispin 2001) Ohjelmoija Ohjelmoijilla ei ole suurta roolia hyväksymistestien suhteen XP-sarjan kirjallisuuden mukaan. Sen sijaan (Crispin 2001) ehdottaa, että testaaja kävisi asiakkaan kanssa määrittämänsä yksikkötestit läpi jonkin projektiryhmän ohjelmoijan kanssa. Tämä sen vuoksi, että jotkin hyväksymistesteistä on mielekkäämpää toteuttaa yksikkötesteinä. Lisäksi Crispin esittää, että myös ohjelmoijat osallistuvat hyväksymistestien automatisointiin. 2.6 Nykytilanne Tällä hetkellä XP-metodologian soveltamisesta käytäntöön ei ole saatavilla kovinkaan paljon kokemusraportteja. XP:stä on kuitenkin keskusteltu paljon viime vuosina ja se on herättänyt mielenkiintoa sekä akateemisissa että kaupallisissa piireissä. Nykyisen käsityksen mukaan XP soveltuu hyvin pienikokoisiin projekteihin. 3 Ohjelmistojen testauksen perusteita Ohjelmistotuotteet eroavat perinteisistä teollisuustuotteista perustavanlaatuisesti. Ne ovat hyvin abstrakteja tuotteita ja niissä olevia vikoja voi olla vaikea havaita. Lisäksi ohjelmistojen täydellinen testaaminen on usein taloudellisesti kannattamatonta, sillä

14 tyypillisessä ohjelmassa on hyvin suuri määrä erilaisia suorituspolkuja. Koska 14 ohjelmistojen virheettömyyden todistaminen on työlästä, on ohjelmistotestauksen pääpaino virheiden löytämisessä. 3.1 Peruskäsitteitä Ohjelmistojen testaukseen on kaksi lähestymistapaa: black box ja white box -testaus. Black box -testauksella tarkoitetaan testausta tietämättä sitä, miten ohjelma on toteutettu. White box -testauksessa puolestaan tutkitaan ohjelman lähdekoodia ja laaditaan sen perusteella testitapaukset. Näiden lisäksi ohjelmistotestaus voidaan jakaa staattiseen ja dynaamiseen testaukseen. Staattinen testaus ei suorita testattavaa koodia, vaan testaus tapahtuu koodia tutkimalla. Staattista testausta ovat esim. koodikatselmukset ja kääntäjän virheilmoitukset. Dynaamisessa testauksessa koodia suoritetaan. Ohjelmiston kehitysvaiheen aikana joudutaan usein suorittamaan samoja testitapauksia uudestaan. Tätä kutsutaan regressiotestaukseksi ja sitä tehdään sen vuoksi, että koodin muuttaminen yhdessä paikassa voi johtaa odottamattomiin seurauksiin toisessa. Siksi on järkevää suorittaa kaikki olennaiset testitapaukset uudelleen. Tietyntyyppiset testitapaukset voidaan helposti automatisoida. Automatisointi nopeuttaa testien ajamista, ja on hyödyllistä esim. regressiotestausta tehtäessä. 3.2 Testauksen V-malli Perinteisessä ohjelmistotestauksessa testausprosessia kuvaamaan käytetään nk. V- mallia. Malli on esitetty kuvassa 1. Se kytkee testauksen eri tasot ohjelmistokehityksen elinkaareen (Pol, ym. 2002). Malli jakaa testauksen kolmeen tasoon:

15 hyväksymistesteihin, joiden tarkoitus on varmistaa asiakkaan vaatimusten 15 toteutuminen tuotteessa, systeemitesteihin, jotka kohdistuvat koko järjestelmään, ja yksikkö- ja integraatiotesteihin, joilla pyritään varmistumaan yksittäisten moduulien ja niiden integroinnin virheettömyydestä. Tässä mallissa funktionaalisen määrittelyn validoivat hyväksymis- ja systeemitason testit, teknisen määrittelyn puolestaan yksikkö- ja integraatiotason testit. Malli kuvaa testauksen etenemistä etenkin vesiputousmallin mukaisessa projektissa. Kuva 1. Testauksen V-malli.

16 4 XP-testauksen vertailu V-malliin 16 XP-tyyppisen testauksen vertaaminen perinteiseen testaustapaan on mielenkiintoista, koska lähestymistavat ovat perustavanlaatuisesti erilaiset. 4.1 Yhteistyö asiakkaan kanssa Asiakkaan ja projektiryhmän välisen yhteistyön mekanismit ovat hyvin erilaiset. Ketterien prosessien testaukselle on tyypillistä, että kommunikaatio asiakkaan kanssa on sujuvaa ja viiveetöntä (Marick 2001). Koska kehitys XP:ssä on muutenkin asiakaslähtöistä, osallistuu tämä myös testaukseen määrittelemällä hyväksymistestit. Perinteisesti testaus on perustunut paljolti määrittelydokumentteihin, joiden pohjalta laaditaan testitapaukset. Yksikkötesteistä huolehtivat organisaation ja projektin koosta riippuen yleensä kehittäjät, muusta testaamisesta erillinen henkilö, tiimi tai muu ulkopuolinen taho. Pienemmissä organisaatiossa eri testauksen vaiheet voivat olla samojen ihmisten suoritettavana, esim. kehittäjät tekevät kaiken testaamisen. Tieto toteuttajien, testaajien ja asiakkaan välillä liikkuu pahimmillaan ainoastaan dokumenttien välityksellä. XP:ssä ei tällaisia dokumentteja ole, vaan ohjelmistoa suunnitellaan pienissä osissa kerrallaan. Lisäksi ei ole olemassa erillisiä testaajia, vaan kaikki osallistuvat testaamiseen joko yksikkö- tai hyväksymistestien parissa. Kehittäjien ja asiakkaan välinen kommunikaatio perustuu siihen, että kaikki työskentelevät samassa huoneessa. XP:ssä vaatimuksien jäljitettävyyttä lähestytään melko kevyesti. Vaatimuksia ei pyritä jäljittämään koodiin asti, vaan riittää että jokaiseen vaatimukseen voidaan yhdistää hyväksymistesti. (Beck, Fowler 2001, s. 49)

17 4.2 Lähestymistapa 17 Lähestymistapa testauksen kattavuuteen on hieman erilainen perinteisen ja XP-tyyppisen testauksen välillä. Perinteisesti on ajateltu kaiken mahdollisen testaamisen olevan mahdotonta mitä se tietysti onkin ja valittu testauksen painopisteet riskin odotusarvon mukaan. Sen laskemiseen on käytetty esimerkiksi ohjelman osan käyttötiheyttä ja toimimattomuudesta aiheutuvaa haittaa. XP:ssä pyritään kaikkea testaamaan mahdollisimman kattavasti, mutta ei kovin systemaattisesti. Testaus perustuu hyvin pitkälle toiminnallisuuden löytämiseen koodista (Crispin 2001). Koska yksikkötestit toimivat myös määrittelynä kirjoitettavalle koodille, varmistavat ne vain sen, että koodi toteuttaa halutun toiminnallisuuden. Ne eivät siis käy läpi kaikkia mahdollisia suorituspolkuja tms., joilla toiminnan viat voitaisiin havaita. Sama pätee hyväksymistesteihin, joilla asiakas pyrkii varmistumaan siitä, että ohjelmisto vastaa hänen vaatimuksiaan. Tässä suhteessa XP asettaa asiakkaalle paljon vastuuta. Asiakkaan odotetaan priorisoivan testattavat asiat omien tarpeittensa mukaan. Vikojen korjaamisessa lähestymistavat ovat samantyyppiset. Perinteisesti havaitut viat priorisoidaan ja niistä korjataan tärkeimmät. XP:ssä vikojen korjaaminen luetaan "tarinoiden" joukkoon, jonka asiakas voi valita toteutettavaksi. 4.3 Riskialttius Perinteisessä testauksessa riskialttiutta lisääviä tekijöitä ovat muun muassa: kokemattomat kehittäjät, käyttäjien riittämätön osallistuminen, riittämätön laadunvarmistus kehityksen aikana, riittämätön matalan tason testien laatu, uudet kehitystyökalut tai - ympäristöt, suuret kehitystiimit, huono kommunikaatio kehittäjien välillä sekä ristiriitaiset asiakasvaatimukset (Pol ym. 2002, s. 137). Useat XP-käytännöt tuntuvat puuttuvan

18 18 suoraan näihin ongelmiin: XP:n testausmalli ja XP sinänsä korostavat jatkuvaa testausta yksikkötestauskäytännön ja päivittäin ajettavien hyväksymistestien muodossa; yksikkötestien kirjoittaminen ennen koodia oletettavasti parantaa näiden testien laatua; XP:ssä kehitystiimi on pieni ja työskentelee samassa huoneessa, näin ollen sen sisäinen kommunikaatiokyky on hyvä. Välillisesti pariohjelmoinnin käyttäminen alentaa kokemattomien kehittäjien aiheuttamaa riskiä, jos heidän annetaan työskennellä kokeneiden kehittäjien kanssa. Lisäksi ristiriitaisiin asiakasvaatimuksiin pyritään vaikuttamaan vaatimalla yhdeltä asiakasorganisaation edustajalta kokopäiväistä läsnäoloa, jolloin tämän on otettava esille nouseviin ongelmiin kantaa. Toisaalta XP-tyylisestä testauksesta aiheutuu joukko uusia riskejä, jotka saattavat olla aivan yhtä haitallisia projektin kannalta. Tällaisia riskejä ovat muun muassa se, että yksikkötestikäytäntöä ei omaksuta, projektin asiakas on liian kiireinen osallistuakseen testaukseen jne. Se että yksikkötestauskäytäntöä ei omaksuta, on riski myös perinteisessä testauksessa, mutta XP:ssä tämä riski on suurempi sillä koko testausmalli rakentuu yksikkötestien noudattamisen pohjalle. 5 XP:n hyväksymistestikäytännön ongelmia Vaikka kokemusraportteja XP:n käytöstä on julkaistu melko vähän, on XP-testauksen hyväksymistestikäytännössä tunnistettavissa joitakin ongelmakohtia. Näiden ongelmien käsittely on tässä jaettu tuotteen laatuun, XP-prosessiin ja projektin asiakkaaseen liittyviin kappaleisiin.

19 5.1 Tuotteen laatu 19 XP-testauksessa asiakkaiden kanssa luodut testit keskittyvät toiminnallisuuden, eivät bugien löytämiseen tuotteesta (Crispin 2001). Tämän lähestymistavan vuoksi on tärkeää, ettei asiakkaalla ole ylimitoitettuja vaatimuksia saavutetun laadun suhteen, etenkin kun yksikkötestit nojaavat samaan periaatteeseen. XP-tyyppisen testauksen soveltuvuudesta erilaisiin käyttötarkoituksiin on keskusteltu jonkin verran. Yksimielisyys tuntuu vallitsevan siitä, että se sopii huonosti sellaisten järjestelmien testaamiseen, joista riippuu ihmisten henki. Tällaisten järjestelmien tulee olla täysin virheettömiä, mikä edellyttää systemaattisempaa lähestymistapaa niiden testaamiseen. Toinen sovelluskohde, johon tämä testausmuoto soveltuu huonosti ovat paljon rinnakkaisuutta sisältävät ohjelmistot. Näissä voi tyypillisesti tulla esiin lukuisia odottamattomia tilanteita, joiden havaitseminen saattaa edellyttää formaalia analyysiä. Tosin mikään ei estä asiakasta vaatimasta tällaisiin tilanteisiin sopivaa testausmuotoa, mutta se edellyttää valveutunutta asiakasta tai aktiivista testaajaa. V-mallin mukaisessa testauksessa tärkeäksi koettu asia on ulkopuolinen näkökulma testaukseen. Siihen on pyritty antamalla tuote erillisen testaajan tai testaajaryhmän arvioitavaksi. Näin tehdään sen vuoksi, että koodin kirjoittanut henkilö ajattelee koodin toimintaa eri tavalla ja ehkä toivoo sen olevan virheetön. Tällainen ulkopuolinen näkökulma puuttuu XP:n hyväksymistestikäytännöstä yksikkötesteistä puhumattakaan. Hyväksymistesteihin ulkopuolista näkökulmaa tuo asiakas, mutta varsinainen testaukseen liittyvä osaaminen tulee kehittäjäryhmän sisältä (testaaja-rooli). Koska projektin asiakas ei välttämättä ole tuotteen loppukäyttäjä, ei hänellä välttämättä ole tarpeeksi ulkopuolista näkemystä tuotteeseen. On epäselvää, millä tavoin ulkopuolisen näkökulman puuttuminen vaikuttaa XP-testaukseen.

20 5.2 Projektiryhmän XP - prosessi 20 Jos ohjelmoijat eivät noudata XP:n yksikkötesti- ja integraatiokäytäntöjä, testaajan työ vaikeutuu olennaisesti (Crispin 2001). Tämä johtuu siitä, että hyväksymistestit on tarkoitus ajaa usein, mikä puolestaan edellyttää testattavan ohjelmiston jatkuvaa integrointia ja suhteellista toimivuutta. Näiden XP-käytäntöjen soveltamista voidaan pitää projektiryhmän sisäisenä asiana, mutta se vaikuttaa vahvasti hyväksymistestauksen mielekkyyteen ja aikaisen palautteen saamiseen asiakkaalle. Koska hyväksymistestit tukevat asiakkaan projektiryhmälle toteutettavaksi annettuja tarinoita, olisi ne saatava ohjelmoijille mahdollisimman aikaisessa vaiheessa. Jos iteraation hyväksymistestit annetaan ohjelmoijille kehityskierroksen alkupuolella, nopeuttaa se projektin etenemistä (Jeffries ym. 2001, s. 32). Kuitenkin niiden saaminen valmiiksi iteraation alussa vaikuttaa mahdottomalta (Beck, Fowler 2001, s. 88). Tästä huolimatta (Crispin 2001) mainitsee testaajan tavoitteeksi saada suuri osa iteraation hyväksymistesteistä kirjoitettua iteraation toisen päivän loppuun mennessä. Lienee selvää, että jos testit saadaan valmiiksi vasta iteraation lopussa, ei niistä ole paljon apua projektin edistymisen seurannassa kuluvan iteraation aikana. 5.3 Asiakas XP-kirjallisuus ei selvästi ota kantaa siihen, kuka asiakas lopulta on. Oletus prosessissa on, että asiakas puhuu yhdellä äänellä vaikka edustaisikin suurempaa joukkoa ihmisiä. Tämä ei välttämättä pidä paikkaansa, ellei asiaan ole erikseen puututtu. Etenkin on tärkeää huomata, että asiakas ei välttämättä ole projektissa tuotettavan ohjelmiston käyttäjä. Kuitenkin hyväksymistestit pyrkivät verifioimaan järjestelmää käyttäjän näkökulmasta. Ongelmana on se, että käyttäjien tapa käyttää tuotetta saattaa erota

21 asiakkaan vastaavasta. 21 Lisäongelmia hyväksymistestikäytännössä voi aiheuttaa asiakkaan kokemattomuus testauksen ja XP-prosessin suhteen (Auer, Miller 2002). Vaikka XP-lähestymistapa ei suoranaisesti vaadikaan asiakkaalta tietoja testaustekniikoista, lisää niiden puuttuminen testaajan työtaakkaa. Kokemattomuus voi näkyä myös siinä, että asiakkaan ja projektiryhmän välisen hyvän kommunikaation ylläpitämisen tärkeyttä ei nähdä. Eräs asiakkaan kokemattomuuteen liittyvä haitta on myös se, että etenkin vähemmän teknisesti suuntautuneet asiakkaat kokevat vikojen läsnäolon tuotteessa esteenä seuraavaan iteraatioon siirtymiselle (Crispin 2001). Käytännössä asiakkaat ovat kiireisiä eivätkä ehdi kirjoittamaan hyväksymistestejä (Crispin 2001). Tästä seuraa se, että suuri osa työstä jää testaajan harteille. Tämä on vakava ongelma, koska hyväksymistestit on annettu asiakkaan määriteltäväksi juuri siitä syystä, että tämä tietää, mitä tuotteen tulisi tehdä. Testaaja ei välttämättä tiedä, mitkä tuotteen todelliset käyttäjävaatimukset ovat. Ongelma on oletettavasti melko yleinen ja herättää kysymyksen siitä, pitäisikö erillisen testaustiimin hoitaa XP:n systeemitason testaus. Tässä valossa on ymmärrettävää, että selkeän strategian luominen hyväksymistestaukselle alentaa XP-projektin riskialttiutta (Auer, Miller 2002). 6 Yhteenveto V-mallin mukaiseen testaukseen verrattuna XP-testaus tuntuisi tarjoavan tavan parantaa projektiryhmän ja asiakkaan välistä kommunikaatiota. Se pyrkii lisäksi käytäntöjensä avulla välttämään perinteisen testauksen ongelmakohtia kuten riittämätöntä kehityksen aikaista

22 tai matalan tason testausta. Toisaalta V-malliin verrattuna koko XP-testauksen 22 lähestymistapa on erilainen se painottaa toiminnallisuuden löytämistä testauksen kattavuuden sijaan. Asiakkaan ja projektiryhmän välisen yhteistyön kannalta on tärkeää, että asiakas ymmärtää XP-testauksen rajoitteet. Sen avulla ei esimerkiksi ole järkevää tuottaa ihmishengelle kriittisiä järjestelmiä yms. Lisäksi molemmat XP:n testityypit painottavat toiminnallisuuden löytämistä, eivät toteutuksen virheettömyyttä. Projektin lähtökohtien analysoinnilla voidaan välttää joitakin ongelmia. Projektin koon pitäisi vaikuttaa prosessivalintaan. XP:tä suositellaan käytettäväksi pienissä, noin kymmenen hengen tiimeissä. Suurempi ihmismäärä vaatii jo raskaampaa metodologiaa. Lisäksi tulisi pohtia, voiko XP:tä soveltaa sellaiseen projektiin, jossa se ei ole ollut käytössä alusta asti. Olemassa olevalla projektilla voi olla esimerkiksi miljoonia rivejä koodia, jolle ei ole kirjoitettu ainuttakaan automatisoitua yksikkö- saati sitten hyväksymistestiä. Tällaisista lähtökohdista voi olla vaikeata lähteä tekemään XP-tyyppistä testausta, ellei siihen nimenomaisesti varauduta kohdistamalla testit vain muutettuihin järjestelmän osiin. Asiakkaan sitoutuminen XP-prosessiin ja -käytäntöihin näyttäisi olevan ensisijaisen tärkeää, jotta asiakas osaa suhtautua oman roolinsa vaatimuksiin oikein. Olennaista on myös se, että asiakas aidosti ymmärtää hyväksymistestien olevan olemassa hänen omien etujensa suojelemiseksi. Hyväksymistestejä kannattaakin ajatella eräänlaisina sopimuksina, joissa määritellään toteutettavan ohjelmiston ominaisuudet. Tällöin niiden hyvä määrittely asiakkaan etu.

23 23 Vastaavasti myös projektiryhmän sitouttaminen XP-käytäntöihin on testauksen kannalta tärkeää. XP:ssä tosin kaikkia käytäntöjä ei ole edes tarkoitus soveltaa sellaisenaan, mutta ainakin yksikkötesti- ja integrointikäytäntöjen jättäminen projektin ulkopuolelle voi aiheuttaa ongelmia hyväksymistestauksessa. XP-sarjan kirjallisuus tosin suosittelee kaikkien käytäntöjen mukaan ottamista. Aiheeseen liittyy useita mielenkiintoisia jatkotutkimusaiheita, jotka ovat olennaisia koko XP:n soveltamisen kannalta. Päällimmäinen kysymys on se, millainen on XP:n testausmallilla saavutettava laatu. Aiheesta on keskusteltu Usenetin keskusteluryhmissä jonkin verran, mutta kattavaa tutkimusta ei ilmeisesti ole tehty. Tästä seuraa luonnollisesti jatkokysymys siitä, minkälaisissa projekteissa XP-tyyppistä testausta voi käyttää. Lisäksi tutkittavaa voisi löytyä XP-asiakkaan testausvastuun antamisesta erilliselle testaustiimille. 7 Lähdeluettelo XP-sarja: Auer, K., Miller, R.: Extreme Programming Applied, Pearson Education 2002 Beck, K.: Extreme Programming Explained, Addison-Wesley 2000 Beck, K., Fowler, M.: Planning extreme Programming, Addison-Wesley 2001 Jeffries, R., Anderson, A. ja Hendrickson C.: Extreme Programming Installed, Addison-Wesley 2001 Wake, W.C.: Extreme Programming Explored, Addison-Wesley 2002 Muu kirjallisuus: Cockburn, A: Agile Software Development, 2001 Pol, Martin., Teunissen, Ruud., van Veenendaal, Erik.: Software Testing, A Guide to the TMap Approach, Addison Wesley 2002

24 Artikkelit: 24 Anderson, A. ym.: Case Study: Chrysler Goes To Extremes, Distributed Computing 10/1998 Crispin, L: Extreme Rules of the Road, STQE 6-7/2001, s Crispin, L: The Need for Speed: Automating Acceptance Testing in an Extreme Programming Environment Marick, B: Agile Methods and Agile Testing, STQE Magazine, Vol 3, Number 5

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

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

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

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

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

Tutkittua tietoa. Tutkittua tietoa 1

Tutkittua tietoa. Tutkittua tietoa 1 Tutkittua tietoa T. Dybå, T. Dingsøyr: Empirical Studies of Agile Software Development : A Systematic Review. Information and Software Technology 50, 2008, 833-859. J.E. Hannay, T. Dybå, E. Arisholm, D.I.K.

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

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

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

dokumentin aihe Dokumentti: Testausraportti_I1.doc Päiväys: Projekti : AgileElephant

dokumentin aihe Dokumentti: Testausraportti_I1.doc Päiväys: Projekti : AgileElephant AgilElephant Testausraportti I1 Tekijä: Petri Kalsi Omistaja: ElectricSeven Aihe: Testausraportti Sivu 1 / 5 Dokumentti Historia Muutoshistoria Revision Numero Revision Päiväys Yhteenveto muutoksista Revision

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

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

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

Lyhyt johdatus ketterään testaukseen

Lyhyt johdatus ketterään testaukseen TTY:n Testauspäivät, Tampere 15.8.2006 Lyhyt johdatus ketterään testaukseen eli Ketterän ohjelmistokehityksen laatukäytäntöjä Juha Itkonen SoberIT Teknillinen korkeakoulu Juha.Itkonen@tkk.fi Ketterä ohjelmistokehitys

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

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op)

Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistoprosessit ja ohjelmistojen laatu (4op) 581361 Ohjelmistoprosessit ja ohjelmistojen laatu (4op) Ohjelmistojärjestelmien syventävien opintojen kurssi Myös ohjelmistotekniikan profiilin pakollinen kurssi eli ohjelmistotekniikka-aiheisen gradun

Lisätiedot

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

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

Lisätiedot

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

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

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma TKK/DISKO/Tik-76.115 WCLIQUE Projektiryhmä Clique http://www.hut.fi/jekahkon/wclique/testplan.html WCLIQUE Ohjelmistoprojekti Projektiryhmä Clique: Janne Dufva, 75008T, email: janne.dufva@nokia.com, 75014C,

Lisätiedot

Loppuraportti. Virtuaali-Frami, CAVE-ohjelmisto. Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu. Versio

Loppuraportti. Virtuaali-Frami, CAVE-ohjelmisto. Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu. Versio 1 Loppuraportti Virtuaali-Frami, CAVE-ohjelmisto Harri Mähönen projektiassistentti Seinäjoen ammattikorkeakoulu Versio 1.0 15.1.2006 2 Sisällys Tiivistelmä... 3 1 Johdanto... 4 1.1 Dokumentin tarkoitus...

Lisätiedot

Ohjelmointi 1. Kumppanit

Ohjelmointi 1. Kumppanit Ohjelmointi 1 Kumppanit November 20, 2012 2 Contents 1 Mitä ohjelmointi on 7 2 Ensimmäinen C#-ohjelma 9 2.1 Ohjelman kirjoittaminen......................... 9 A Liite 11 3 4 CONTENTS Esipuhe Esipuhe 5

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

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

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

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

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

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

Onnistunut ohjelmistoprojekti

Onnistunut ohjelmistoprojekti Onnistunut ohjelmistoprojekti 2.12.2008 Hermanni Hyytiälä Reaktor Innovations Oy Agenda Yritysesittely Keinoja onnistuneeseen ohjelmistoprojektiin Ihmiset Menetelmät Käytännöt ja työkalut Tulevaisuuden

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

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

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

Convergence of messaging

Convergence of messaging Convergence of messaging Testaussuunnitelma The Converge Group: Mikko Hiipakka Anssi Johansson Joni Karppinen Olli Pettay Timo Ranta-Ojala Tea Silander Helsinki 20. joulukuuta 2002 HELSINGIN YLIOPISTO

Lisätiedot

Käyttä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

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

Kuopio Testausraportti Kalenterimoduulin integraatio

Kuopio Testausraportti Kalenterimoduulin integraatio Kuopio Testausraportti Kalenterimoduulin integraatio Kuopio, testausraportti, 22.4.2002 Versiohistoria: Versio Pvm Laatija Muutokset 0.1 22.4.2002 Matti Peltomäki Ensimmäinen versio 0.9 22.4.2002 Matti

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

Sopisiko testiautomaatio yritykseesi juuri nyt? Testiautomaation soveltuvuuden arviointiopas

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

Lisätiedot

TDD Käytännössä Todellinen työkalu vai lehmipoikien laukkaa? Harri Kulmala Solita Oy

TDD Käytännössä Todellinen työkalu vai lehmipoikien laukkaa? Harri Kulmala Solita Oy www.solita.fi solita@solita.fi TDD Käytännössä Todellinen työkalu vai lehmipoikien laukkaa? Harri Kulmala Solita Oy 1 TDD Käytännössä Test Driven Development yleisesti Lupaukset Esimerkki Projektin ja

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

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

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

Ohjelmistoprojekteista. Datanomiopiskelijat 2.vuosi

Ohjelmistoprojekteista. Datanomiopiskelijat 2.vuosi Ohjelmistoprojekteista Datanomiopiskelijat 2.vuosi Yleistä projekteista Projekti on selkeästi asetettuihin tavoitteisiin pyrkivä, ajallisesti rajattu kertaluonteinen hanke, jonka toteuttamisesta vastaa

Lisätiedot

Menetelmäraportti - Konfiguraationhallinta

Menetelmäraportti - Konfiguraationhallinta Menetelmäraportti - Konfiguraationhallinta Päiväys Tekijä 22.03.02 Ville Vaittinen Sisällysluettelo 1. Johdanto... 3 1.1 Tärkeimmät lyhenteet... 3 2. Konfiguraationhallinnan tärkeimmät välineet... 4 2.1

Lisätiedot

Tietojärjestelmän osat

Tietojärjestelmän osat Analyysi Yleistä analyysistä Mitä ohjelmiston on tehtävä? Analyysin ja suunnittelun raja on usein hämärä Ei-tekninen näkökulma asiakkaalle näkyvien pääkomponenttien tasolla Tietojärjestelmän osat Laitteisto

Lisätiedot

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

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

VERSIONHALLINTA. PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D

VERSIONHALLINTA. PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D VERSIONHALLINTA PARIOHJELMOINTI Lari Ahti, 62634M Antti Kauppinen, 58390D Versio Päivä Tekijä Kuvaus 0.1 26.10.2005 Kaarlo Lahtela Ensimmäinen versio 0.2 10.12.2006 Lauri Kiiski Suomennettu 3 (8 ) SISÄLLYS

Lisätiedot

COTOOL dokumentaatio Testausdokumentit

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

Lisätiedot

Oleelliset vaikeudet OT:ssa 1/2

Oleelliset vaikeudet OT:ssa 1/2 Oleelliset vaikeudet OT:ssa 1/2 Monimutkaisuus: Mahdoton ymmärtää kaikki ohjelman tilat Uusien toimintojen lisääminen voi olla vaikeaa Ohjelmista helposti vaikeakäyttöisiä Projektiryhmän sisäiset kommunikointivaikeudet

Lisätiedot

Koekysymyksiä. Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistojen suorituskyky

Koekysymyksiä. Ohjelmistoprosessit ja ohjelmistojen laatu Ohjelmistojen suorituskyky Koekysymyksiä Ohjelmistoprosessit ja ohjelmistojen laatu 30.4.2015 58153003 Ohjelmistojen suorituskyky 1 Kurssikokeeseen tulee neljä koetilaisuudessa vastattavaa kysymystä KOKEESSA VASTATTAVAT KYSYMYKSET

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

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

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy Laadunvarmistuksen suunnitelma Ryhmä ExtraTerrestriaLs Aureolis Oy Versio Päiväys Tekijä Kuvaus 1.0 8.11.2004 Risto Kunnas Ensimmäinen versio 1.1 8.11.2004 Risto Kunnas Korjauksia 1.2 9.11.2004 Mika Suvanto

Lisätiedot

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

Automaattinen regressiotestaus ilman testitapauksia. Pekka Aho, VTT Matias Suarez, F-Secure Automaattinen regressiotestaus ilman testitapauksia Pekka Aho, VTT Matias Suarez, F-Secure 2 Mitä on regressiotestaus ja miksi sitä tehdään? Kun ohjelmistoon tehdään muutoksia kehityksen tai ylläpidon

Lisätiedot

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

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

Harjoituskoe Vastaukset. ISTQB Ketterä testaaja 2015 Perustason sertifikaattisisällön laajennus

Harjoituskoe Vastaukset. ISTQB Ketterä testaaja 2015 Perustason sertifikaattisisällön laajennus Harjoituskoe Vastaukset ISTQB Ketterä testaaja 2015 Perustason sertifikaattisisällön laajennus Alkup. versio 1.0 Käännösversio 1.0 Tekijänoikeushuomautus Tämän dokumentin saa kopioida kokonaisuudessaan

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

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

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

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

Testausoppeja toimialavaihdoksesta

Testausoppeja toimialavaihdoksesta Testausoppeja toimialavaihdoksesta Maaret Pyhäjärvi Email: Gsm: 040-8233777 Erkki Pöyhönen & Maaret Pyhäjärvi Nimeä Attribution (Finland) http://creativecommons.org/licenses/by/1.0/fi/

Lisätiedot

Tutkiva testaus hyväksymistestauksen menetelmänä

Tutkiva testaus hyväksymistestauksen menetelmänä HUT / SoberIT 2004 Kevät T-76.650 Ohjelmistotuotannon seminaari 1 Tutkiva testaus hyväksymistestauksen menetelmänä Erkka Halme Abstrakti Asiakaskohtaisia järjestelmiä kehitettäessä järjestelmän laatuun

Lisätiedot

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen ohjelmointiin Jukka Talvitie Valvoja: Professori Jorma Jormakka Paikka: TietoEnator oyj Ongelma Ideologia Lifebelt

Lisätiedot

Testilähtöinen ohjelmistokehitys. Testilähtöinen ohjelmistokehitys. TDD Testilähtöinen ohjelmistokehitys. Testi! Testi

Testilähtöinen ohjelmistokehitys. Testilähtöinen ohjelmistokehitys. TDD Testilähtöinen ohjelmistokehitys. Testi! Testi Testilähtöinen ohjelmistokehitys Kevät 2008 Jonne Itkonen Jyväskylän yliopisto Testilähtöinen ohjelmistokehitys Test-Driven Development, TDD Tehdään ensin testi, sitten vasta koodi. TDD Testilähtöinen

Lisätiedot

SEPA diary. Dokumentti: SEPA_diary_PK_RI.doc Päiväys: Projekti : AgileElephant Versio: V0.2

SEPA diary. Dokumentti: SEPA_diary_PK_RI.doc Päiväys: Projekti : AgileElephant Versio: V0.2 AgilElephant SEPA Diary Pasi Kallioniemi 49477B Rauli Ikonen 51051V Tekijä: Kallioniemi&Ikonen Omistaja: ElectricSeven Aihe: RI & PK Sivu 1 of 7 Dokumenttihistoria Muutoshistoria Revision päiväys: 1.11.2004

Lisätiedot

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara

Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara Globaalisti Hajautettu Ohjelmistokehitys Mitä, Miksi & Miten? Maria Paasivaara Mitä? Mitä? Yrityksen sisäinen Mitä? Yrityksen sisäinen Alihankinta Mitä? Yrityksen sisäinen Open Source -kehitys Alihankinta

Lisätiedot

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta

OHJ-3010 Ohjelmistotuotannon perusteet. Ohjelmistoprojektin hallinta OHJ-3010 Ohjelmistotuotannon perusteet Ohjelmistoprojektin hallinta 1 Sisältö Projektiorganisaatio ja sidosryhmät Ohjelmistoprojektin kulku Projektin suunnittelu Ositus Osallistujat Työmäärän arviointi

Lisätiedot

Luku 8 Rakennusvaihe. Detailed Design. Programming. Moduulisuunnittelu. Ohjelmointi

Luku 8 Rakennusvaihe. Detailed Design. Programming. Moduulisuunnittelu. Ohjelmointi Luku 8 Rakennusvaihe Moduulisuunnittelu Detailed Design Programming Ohjelmointi Teknisen Complete suunnittelun Technical viimeistely Design Suunnittelukatselmuksen Design Perform suorittaminen Review Yhteisen

Lisätiedot

Miten 333 organisaatiota voi kehittää yhtä yhteistä digitaalista palvelua ja vielä kuunnella kaikkien asiakkaita?

Miten 333 organisaatiota voi kehittää yhtä yhteistä digitaalista palvelua ja vielä kuunnella kaikkien asiakkaita? #finnayhdessä Miten 333 organisaatiota voi kehittää yhtä yhteistä digitaalista palvelua ja vielä kuunnella kaikkien asiakkaita? Riitta Peltonen, johtava käytettävyyssuunnittelija, Finnan 5-vuotisseminaari,

Lisätiedot

Määrittely- ja suunnittelumenetelmät

Määrittely- ja suunnittelumenetelmät Menetelmädokumentti Määrittely- ja suunnittelumenetelmät Versio Päiväys Tekijä Kuvaus 0.01 5.12.01 Pekka Koskinen Alustava sisällysluettelo 0.1 7.12.01 Pekka Koskinen Ensimmäinen luonnos 1.0 11.12.01 Pekka

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

JULKISTEN PALVELUJEN ELINKAARI; HYVÄ PALVELU EILEN, TÄNÄÄN, HUOMENNA MIHIN PALVELUT OVAT MENOSSA? Lauri Helenius, Solita Oy

JULKISTEN PALVELUJEN ELINKAARI; HYVÄ PALVELU EILEN, TÄNÄÄN, HUOMENNA MIHIN PALVELUT OVAT MENOSSA? Lauri Helenius, Solita Oy JULKISTEN PALVELUJEN ELINKAARI; HYVÄ PALVELU EILEN, TÄNÄÄN, HUOMENNA MIHIN PALVELUT OVAT MENOSSA? 24.10.2017 Lauri Helenius, Solita Oy Solitalaisia yli 650 Liikevaihto 2016 67 M Keski-ikä 36 V. Kasvu 2016

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

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 EDELLISELLÄ KERRALLA TAPAHTUNUTTA Täydellinen testaus on mahdotonta. Testataan, koska virheiden löytyminen ajoissa

Lisätiedot

Ohjelmistojen mallintaminen, mallintaminen ja UML

Ohjelmistojen mallintaminen, mallintaminen ja UML 582104 Ohjelmistojen mallintaminen, mallintaminen ja UML 1 Mallintaminen ja UML Ohjelmistojen mallintamisesta ja kuvaamisesta Oliomallinnus ja UML Käyttötapauskaaviot Luokkakaaviot Sekvenssikaaviot 2 Yleisesti

Lisätiedot

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD)

TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) TT00AA12-2016 - Ohjelmoinnin jatko (TT10S1ECD) Ohjelmointikäytännöt 21/3/11 Mikko Vuorinen Metropolia Ammattikorkeakoulu 1 Sisältö 1) Mitä on hyvä koodi? 2) Ohjelmointikäytäntöjen merkitys? 3) Koodin asettelu

Lisätiedot

Ajatuksia ketterästä ohjelmistokehityksestä ja laadusta

Ajatuksia ketterästä ohjelmistokehityksestä ja laadusta Ajatuksia ketterästä ohjelmistokehityksestä ja laadusta 2012-11-26 1 Quality Manager & Specialist, Testing /Cybercom Finland CMMI, TMMI FiSTB:n varapuheenjohtaja ja hallituksen jäsen (http://www.fistb.fi)

Lisätiedot

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

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

Lisätiedot

OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012

OHJ-3010 Ohjelmistotuotannon perusteet, kesä 2012 OHJ-3010 Ohjelmistotuotannon perust eet, kesäkurssi 2012 Ajankoht aist a kurssilla - Harjoitustyöryhmien muodostaminen tänään - Taustatarinat ja tieto parituksesta ryhmille sähköpostitse perjantain 1.6.2012

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

Ville Isomöttönen. Agile. Jyväskylän Yliopisto Sivu 1 Tietotekniikan laitos

Ville Isomöttönen. Agile. Jyväskylän Yliopisto Sivu 1 Tietotekniikan laitos Agile Jyväskylän Yliopisto Sivu 1 Tietotekniikan laitos Manifesto of Agile Software Development(2001): We are uncovering better ways of developing software by doing it and helping others doit.throughthisworkwehavecometovalue:

Lisätiedot

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä Versiohistoria: Versio: Pvm: Laatijat: Muutokset: 0.1 2006 12 09 Jani Eränen Alustava DOKUMENTIN TILA: Alustava Valmis Tarkastettu

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

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008

Verkkopokerijärjestelmä. Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008 Verkkopokerijärjestelmä Loppuraportti Ryhmä Kanat Ohjelmistotuotantoprojekti, syksy 2008 Projektiryhmä Samuli Aalto-Setälä Jukka Kekälainen Jarno Kyykkä Mika Mielonen Mårten Smeds Otto Waltari Ohjaaja

Lisätiedot

Toteutusvaihe T2 Edistymisraportti

Toteutusvaihe T2 Edistymisraportti Toteutusvaihe T2 Edistymisraportti Sisällysluettelo 1. Projektin tila...3 1.1. Suoritetut tehtävät...4 1.2. Käytetyt menetelmät...5 1.3. Ongelmat...6 1.4. Jatkosuunnitelmat...6 Versio- ja muutoshistoria

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

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

Onnistunut ohjelmistoprojekti

Onnistunut ohjelmistoprojekti Onnistunut ohjelmistoprojekti ICT-ajankohtaisseminaari 15.4.2009 Hermanni Hyytiälä Reaktor Innovations Oy Agenda Yritysesittely Keinoja onnistuneeseen ohjelmistoprojektiin Ihmiset Menetelmät Käytännöt

Lisätiedot

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS

IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA LUONNOS 20.4.2015 IT2015 EKT ERITYISEHTOJA OHJELMISTOJEN TOIMITUKSISTA KETTERIEN MENETELMIEN PROJEKTEILLA 1 1.1 SOVELTAMINEN Näitä erityisehtoja sovelletaan ohjelmistojen tai niiden osien toimituksiin ketterien

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

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

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

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002

JReleaser Yksikkötestaus ja JUnit. Mikko Mäkelä 6.11.2002 JReleaser Yksikkötestaus ja JUnit Mikko Mäkelä 6.11.2002 Sisältö Johdanto yksikkötestaukseen JUnit yleisesti JUnit Framework API (TestCase, TestSuite) Testien suorittaminen eri työkaluilla Teknisiä käytäntöjä

Lisätiedot

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

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

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

TIE Ohjelmistojen testaus 2016 Harjoitustyö Vaiheet 1 ja 2. Antti Jääskeläinen Matti Vuori TIE-21201 Ohjelmistojen testaus 2016 Harjoitustyö Vaiheet 1 ja 2 Antti Jääskeläinen Matti Vuori Työn yleiset järjestelyt 20.9.2016 2 Valmistautuminen Ilmoittaudu kurssille Lue harjoitustyön nettisivut

Lisätiedot

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