T Ohjelmistotuotannon seminaari. Agile Processes. XP:n hyväksymistestit
|
|
- Jyrki Halonen
- 8 vuotta sitten
- Katselukertoja:
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. Viime viikolla... Oliosuunnittelun yleiset periaatteet Single responsibility eli luokilla vain yksi vastuu Program to an interface, not to concrete implementation,
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ä
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ää
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
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
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.
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/
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
Ohjelmistotuotantoprojekti
Ohjelmistotuotantoprojekti Ryhmä Muppett TESTAUSDOKUMENTTI Helsinki 5.8.2008 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Ohjelmistotuotantoprojekti, kesä 2008 Projekti: Muutos- ja korjauspyyntöjen
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
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.
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
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ä
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
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ä
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
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
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
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ä
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,
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...
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
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,
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
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
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
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)
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ä:
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
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
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
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
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
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
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.
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
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
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
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;
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
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
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
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
Ohjelmistoprojekteista. Datanomiopiskelijat 2.vuosi
Ohjelmistoprojekteista Datanomiopiskelijat 2.vuosi Yleistä projekteista Projekti on selkeästi asetettuihin tavoitteisiin pyrkivä, ajallisesti rajattu kertaluonteinen hanke, jonka toteuttamisesta vastaa
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
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
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
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
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
COTOOL dokumentaatio Testausdokumentit
Table of Contents Testausraportti.............................................................................. 1 1 Tiivistelmä...............................................................................
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
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
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.
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
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
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
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
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
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
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
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:
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
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
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/
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
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
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
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
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
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
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
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,
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
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
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
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
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
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
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
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)
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.
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
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
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:
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
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
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
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
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
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
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
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
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ä
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
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
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ä
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.
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
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
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: