Testaus ohjelmistokehityksen osana Maaret Pyhjrvi ja Erkki Pyhnen

  • Slides: 71
Download presentation
Testaus ohjelmistokehityksen osana Maaret Pyhäjärvi ja Erkki Pöyhönen Julkaisuversio 1. 0 2005 -01 -06

Testaus ohjelmistokehityksen osana Maaret Pyhäjärvi ja Erkki Pöyhönen Julkaisuversio 1. 0 2005 -01 -06 tekijä mainittava http: //creativecommons. org/licenses/by/1. 0/fi/ Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Tiedoksi lukijalle • Tämä materiaali on edelleen työn alla – Varsinainen julkaisu tapahtuu testauskirjan

Tiedoksi lukijalle • Tämä materiaali on edelleen työn alla – Varsinainen julkaisu tapahtuu testauskirjan julkaisun yhteydessä tai jälkeen • Materiaalin hyödyntäminen on vapaata – Erityisesti haluamme tukea yleishyödyllisen ohjelmistotestauksen opetuksen jäsentymistä tarjoamalla materiaalimme vapaasti muokattavaksi pohjamateriaaliksi • Uskomme että kirjallinen materiaali on noin 20 % vastaavasta koulutuksesta puhuttuna – Lisää materiaalia löytyy pään sisältä • Kysyttävää? – Ota yhteyttä maaret. pyhajarvi@iki. fi ja erkki. poyhonen@nokia. com Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

2 – Testaus ohjelmistokehityksen osana Tehokas ohjelmistotestaus Testaustekniikat Testaus ohjelmistokehityksen osana Testauksen suunnittelu ja

2 – Testaus ohjelmistokehityksen osana Tehokas ohjelmistotestaus Testaustekniikat Testaus ohjelmistokehityksen osana Testauksen suunnittelu ja hallinta Virheraportointi ja virheasian ajaminen Testausvälineet ja testauksen automatisointi Katselmoinnit testaustoimintana Testausprosessin muuttaminen Testitapaukset ja testien suorittaminen Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Oppimistavoitteet • Tiedät mitä testausprosessi on suhteessa ohjelmistoprosessiin • Tunnet suunnitelmaohjatun ja ketterän ohjelmistokehityksen

Oppimistavoitteet • Tiedät mitä testausprosessi on suhteessa ohjelmistoprosessiin • Tunnet suunnitelmaohjatun ja ketterän ohjelmistokehityksen sekä testauksen ja ymmärrät tasapainottelun niiden välillä • Osaat välttää perinteisimmät sudenkuopat testausprosessin määrittelyssä ja toteuttamisessa • Tunnet ohjelmistokehityksen dokumenttihierarkian ja ymmärrät että testaus ei perustu vain dokumentteihin • Osaat tehdä vaatimusanalyysin testausprosessissa tuotettavalle testauksen dokumentaatiolle • Tiedät mikä on testaustaso ja testaustyyppi ja osaat käyttää niitä suunnittelussa • Tiedät mitä testattavuus on ja kuinka sitä arvioidaan ja kehitetään • Ymmärrät että riskit riippuvat monista tekijöistä ja muuttuvat sekä ohjelmiston että projektin elinkaaren aikana Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

2 – Testaus ohjelmistokehityksen osana Käsiteltävät asiat Testauksen Vmalli Suunnittelua elinkaaressa Testausprosessi Testattavuus ja

2 – Testaus ohjelmistokehityksen osana Käsiteltävät asiat Testauksen Vmalli Suunnittelua elinkaaressa Testausprosessi Testattavuus ja laatu Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

2 – Testaus ohjelmistokehityksen osana Käsiteltävät asiat V-malli ja testaustyypit Suunnittelua elinkaaressa Testausprosessi Testattavuus

2 – Testaus ohjelmistokehityksen osana Käsiteltävät asiat V-malli ja testaustyypit Suunnittelua elinkaaressa Testausprosessi Testattavuus ja laatu Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Testaustasot ja vaiheet • Testaustaso – Jatkuvaa testaustoimintaa tietyn tyyppisen testaustavoitteen ja testauskohteen ympärillä.

Testaustasot ja vaiheet • Testaustaso – Jatkuvaa testaustoimintaa tietyn tyyppisen testaustavoitteen ja testauskohteen ympärillä. – Testaustoiminnasta tekee oleellisesti jatkuvaa vaatimus uusintatestauksesta muutoksen osalta. – Taso ei ole välttämättä sama asia kuin vaihe. • Testausvaihe - Testaustason sisäinen tai useiden testaustasojen yhteinen tehtäväkokonaisuus, joka on tyypiltään kertaluonteinen eikä jatkuva. Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

V-malli – testauksen tasot Hyväksymistestaus Vaatimukset Määrittely Tekninen suunnittelu Ohjelmointi Järjestelmätestaus Integrointitestaus Yksikkötestaus Tämä

V-malli – testauksen tasot Hyväksymistestaus Vaatimukset Määrittely Tekninen suunnittelu Ohjelmointi Järjestelmätestaus Integrointitestaus Yksikkötestaus Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Tyypilliset testauksen tasot [Craig&Jaskiel 2002] Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä.

Tyypilliset testauksen tasot [Craig&Jaskiel 2002] Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Testaustasojen tyypilliset merkitykset Tyypillinen organisointi kokonaisuus Hyväksymistestaus Testauksen kohteena olevan kokoonpanon laajuus osa Järjestelmätestaus

Testaustasojen tyypilliset merkitykset Tyypillinen organisointi kokonaisuus Hyväksymistestaus Testauksen kohteena olevan kokoonpanon laajuus osa Järjestelmätestaus Integrointitestaus Yksikkötestaus osa Ympäristöjen edustavuus Asiakas/ käyttäjä Testaaja Toteuttajat yhdessä Kukin toteuttaja kaikki Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Yksikkötestaus • Yksikkötestauksella tarkoitetaan koodin toteutukseen kohdistuvaa teknistä testausta – Keskittyy virheisiin, jotka tyypillisesti

Yksikkötestaus • Yksikkötestauksella tarkoitetaan koodin toteutukseen kohdistuvaa teknistä testausta – Keskittyy virheisiin, jotka tyypillisesti syntyvät koodia kirjoittaessa • Yksikkö voi olla: – Tehtävänanto: ”Koodaan ja testaan tämän ominaisuuden” – Komponentti, moduuli, luokka: ”toteutan kaikki toiminnallisuuden näihin kooditiedostoihin” • Laajuuden tulkinnassa paljon vaihtelua – Usein näkee suurissa hankkeissa jaettavan yksikkötestaustaso kahteen osaan, yksikkö- ja komponenttitestaukseen – Tällöin yksikkötestaus kohdistuu kooditiedostolaajuuteen ja komponenttitestaus vastaa kehittäjän omalle komponentilleen tekemää osajärjestelmätestausta ennen integrointia kokonaisjärjestelmään Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Integrointitestaus • Integrointitestauksella tarkoitetaan kaiken tasoisten osajärjestelmien yhdistämiseen kohdistuvaa teknistä testausta • Integrointitestaus usein

Integrointitestaus • Integrointitestauksella tarkoitetaan kaiken tasoisten osajärjestelmien yhdistämiseen kohdistuvaa teknistä testausta • Integrointitestaus usein vaikea erottaa yksikkötestauksesta, koska integrointi voi sisältää ohjelmointitehtäviä – Usein toimiva perussääntö: enemmän kuin yksi toteuttaja integrointitestaustarve – Arkkitehtuuri apuna integrointitestaustarpeiden tunnistamisessa • Testaus kohdistuu integroitavaksi valittujen osajärjestelmien laajuuteen – Integrointitestauksessa osajärjestelmien liittymän näkökulma Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Järjestelmätestaus • Järjestelmätestauksella tarkoitetaan kokonaisjärjestelmän laajuuteen kohdistuvaa testausta – Voi sisältää sekä teknisen että

Järjestelmätestaus • Järjestelmätestauksella tarkoitetaan kokonaisjärjestelmän laajuuteen kohdistuvaa testausta – Voi sisältää sekä teknisen että käyttäjän näkökulman • Testaus kohdistuu kulloinkin olemassa olevaan kokonaisjärjestelmän laajuuteen – Laajuus kasvaa uusien integrointien myötä – Järjestelmätestauksessa kokonaisjärjestelmän näkökulma Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Hyväksymistestaus • Hyväksymistestauksella tarkoitetaan testausnäkökulmaa, jossa tarkastellaan järjestelmää sen todelliseen ympäristöönsä soveltuvuuden kannalta •

Hyväksymistestaus • Hyväksymistestauksella tarkoitetaan testausnäkökulmaa, jossa tarkastellaan järjestelmää sen todelliseen ympäristöönsä soveltuvuuden kannalta • Sopimuspohjainen hyväksymistestaus – Voi olla juuri ennen tuotantoon siirtoa tai keskellä järjestelmätestausta – Etenkin monitoimittajaympäristössä hyväksymistestaus liittyy laskunmaksuun eikä voida odottaa tuotantoon siirtoa – Voi toistua jokaisen uuden alijärjestelmän versioasennuksen jälkeen • Alpha- ja betatestaus, pilotointitestaus – Virhetilanteiden löytäminen, joita on vaikeaa tai kallista löytää laboratorio-olosuhteissa – todellisten ympäristöjen monimuotoisuuden toistaminen haaste Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

V-malli – testauksen tasot Hyväksymistestaus Vaatimukset Määrittely Tekninen suunnittelu Testien suunnittelu Ohjelmointi Järjestelmätestaus Integrointitestaus

V-malli – testauksen tasot Hyväksymistestaus Vaatimukset Määrittely Tekninen suunnittelu Testien suunnittelu Ohjelmointi Järjestelmätestaus Integrointitestaus Yksikkötestaus Testien ajaminen ja korjaustyö Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

V-mallin ydin 1. Pienempien osien testaaminen ennen järjestelmään liittämistä on hyvä lähestymistapa. 2. Testaukselle

V-mallin ydin 1. Pienempien osien testaaminen ennen järjestelmään liittämistä on hyvä lähestymistapa. 2. Testaukselle on useita eri näkökulmia. 3. Testaus voi alkaa suunnittelulla heti kun korkeimman tason vaatimukset on tunnistettu. Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Erityisesti huomioi (1/2) • Suunnittele testit perustuen jokaisen suunnitteluvaiheen tuotokseen, mutta suorita testit siinä

Erityisesti huomioi (1/2) • Suunnittele testit perustuen jokaisen suunnitteluvaiheen tuotokseen, mutta suorita testit siinä järjestyksessä joka on kaikkein järkevin – Testauksen vaiheistus voi olla erilainen kuin tasot peräkkäisinä vaiheina – Pyri saamaan oikea näkökulma, jolla löydetään tärkeät virheet, mukaan suoritukseen mahdollisimman aikaisin • Uusintatestauksella entistä suurempi painoarvo kun lisätään uusia ominaisuuksia olemassa oleviin järjestelmiin – Selvitä minkä testaustason näkökulmasta uusintatestausriski on taloudellisinta hallita Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Erityisesti huomioi (2/2) • Suunnitteluvaiheen tuotos ei välttämättä ole dokumentti – Dokumentti on vain

Erityisesti huomioi (2/2) • Suunnitteluvaiheen tuotos ei välttämättä ole dokumentti – Dokumentti on vain yleinen viestinnän väline • V-mallia käytetään usein perusteluna sellaisten tehtävien tekemisen puuttumiselle, jotka ”olisi pitänyt jo tehdä”’ – Jos näet jonkun muun valmistelevan samoja testejä kuin sinun oletetaan tekevän, miksi tekisit? • Hyväksymistestauksen suunnittelun vaatiminen ennen muita aiheuttaa vaihtelevia reaktioita – ”He testaavat vain nämä, joten emme mekään muuta testaa” – ”He testaavat nämä joten meidän ei tarvitse tehdä sitä” Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Riski: V-mallin aikatauluvaikutus Katselmoi, mieluummin kuin määrittele testitapauksia virheellisiin vaatimuksiin pohjaten. Vertaiskatselmointien virheenpoistoteho 60

Riski: V-mallin aikatauluvaikutus Katselmoi, mieluummin kuin määrittele testitapauksia virheellisiin vaatimuksiin pohjaten. Vertaiskatselmointien virheenpoistoteho 60 % Perspektiivipohjaisesti suunnattujen teho 35 % enemmän. parhailla katselmoijilla 20 % virheistä menee läpi testaukseen saakka. Virheet eivät ole tasaarvoisia. 80 % vältettävissä olevasta korjaustyöstä tulee 20 %: sta koodia. Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

2 – Testaus ohjelmistokehityksen osana Käsiteltävät asiat Testauksen Vmalli Suunnittelua elinkaaressa Testausprosessi Testattavuus ja

2 – Testaus ohjelmistokehityksen osana Käsiteltävät asiat Testauksen Vmalli Suunnittelua elinkaaressa Testausprosessi Testattavuus ja laatu Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Testauksen suunnittelu Testauksen missio ja korkean tason tavoitteet Organisaation odotukset testaustoiminnalle Laatupainotukset sovellusalueella •

Testauksen suunnittelu Testauksen missio ja korkean tason tavoitteet Organisaation odotukset testaustoiminnalle Laatupainotukset sovellusalueella • • Järjestelmä / tuote / palvelukohtainen Useita projekteja saman järjestelmän elinkaaressa • Testausstrategia • Projektikohtainen Projektin lähestymistapa, strategian räätälöinti • Yleistestaussuunnitelma Testitapaukset • Tarkentavat suunnitelmat ryhmittäin • • Testauksen yksityiskohdat Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Testauksen tilannemalli Muokattu [Kaner et al. 2002] Tämä teos on lisensoitu Creative Commons Tekijä

Testauksen tilannemalli Muokattu [Kaner et al. 2002] Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Annettujen määrittelyt • Missio - Täytettävät tavoitteet, jotta testaus olisi sidosryhmiensä näkökulmasta onnistunutta. •

Annettujen määrittelyt • Missio - Täytettävät tavoitteet, jotta testaus olisi sidosryhmiensä näkökulmasta onnistunutta. • Vaatimukset - Onnistuneen järjestelmän kriteerit. • Toteutus ja integrointi - Järjestely, joka tuottaa testattavan järjestelmän. • Testausryhmä - Testaukseen käytössä olevat ihmiset. • Testausympäristöt ja -välineet - Testauksen järjestelmät, työkalut ja materiaalit. Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Annetut tarkemmin Testausympäristöt ja välineet Missio • Testauksen sidosryhmät • Testausympäristöt • Odotukset •

Annetut tarkemmin Testausympäristöt ja välineet Missio • Testauksen sidosryhmät • Testausympäristöt • Odotukset • Tavoitteet Kehitys ja integrointi • Sovellusarkkitehtuuri ja -rakenteet • Testikirjasto Vaatimukset • Testiaineistot • Laatu-aika-ominaisuus painotukset • Testausvälineet • Järjestelmän riskit • Havaintojen seurantajärjestelmä • Laatuominaisuuksien painotukset • Toimistotilat • Järjestelmän tavoitteet (ratkaistava ongelma) Testausryhmä • Kokoonpanonhallinta • Järjestelmän sidosryhmät • Osaaminen • Julkaisunhallinta • Vaatimusdokumentaatio • Virheiden estäminen • Epäsuorien vaatimusten viestintä • Projektin elinkaarimalli ja rytmitys • Projektinhallinta • Kehitysryhmä • Resurssointi • Johtaminen • Työn jakaminen • Motivaatio Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Valinnat • Lähestymistapa Kokoelma ajatuksia, jotka ohjaavat testien ja testauksen suunnittelua. • Käytännöt -

Valinnat • Lähestymistapa Kokoelma ajatuksia, jotka ohjaavat testien ja testauksen suunnittelua. • Käytännöt - Kokoelma ajatuksia, jotka ohjaavat voimavarojen kohdistamista lähestymistapaa toteutettaessa. Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Testauskäsitteiden kohteita Testauskäsite Vastaa kysymyksiin Testauksen missio Mitä? Miksi? Testausstrategia Testaustekniikat Testauskäytännöt Testausorganisaatio Testausympäristö

Testauskäsitteiden kohteita Testauskäsite Vastaa kysymyksiin Testauksen missio Mitä? Miksi? Testausstrategia Testaustekniikat Testauskäytännöt Testausorganisaatio Testausympäristö ja – välineet Mitä? Miksi? Miten? Entä jos? Miten? Kuka? Millä? Testausprosessi Mitä? Kuka? Missä? Milloin? Miten? Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Testaustyyppi • Testaustyyppi – Ryhmä testausaktiviteettejä, joilla on yhteisiä ominaisuuksia joiden perusteella ne voidaan

Testaustyyppi • Testaustyyppi – Ryhmä testausaktiviteettejä, joilla on yhteisiä ominaisuuksia joiden perusteella ne voidaan tunnistaa omana luokkanaan, ja jotka on ryhmitelty arvioimaan yhtä tai useampaa toisiinsa liittyvää laatuominaisuutta. – Voi sijoittua yhdelle tai useammalle testaustasolle ja testausvaiheeseen. – Kaikki eivät aina tarpeellisia - käytännössä testaustyypit muodostavat tarkastuslistan mahdollisesti katettavista asioista • Testaustyypit jakaantuvat toiminnallisiin ja eitoiminnallisiin Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Toiminnallisen testauksen testaustyyppejä • Toiminnallisuustestaus • Poikkeustilannetestaus (functionality testing, feature testing) • Yhtäaikaisuustestaus (concurrency

Toiminnallisen testauksen testaustyyppejä • Toiminnallisuustestaus • Poikkeustilannetestaus (functionality testing, feature testing) • Yhtäaikaisuustestaus (concurrency testing) • Lokalisointitestaus testing) (localization testing) • Asennustestaus (installation testing) • Alustatestaus (platform testing) • Aloitustestaus (build verification testing, • Dokumentaation testaus (documentation testing) • Aineiston laadun testaus smoke testing) • Konfiguraatiotestaus (recovery (data quality testing) (configuration testing) • Yhteensopivuustestaus (compatibility testing) • Rinnakkaistestaus (end-to-end testing) • Rajapintatestaus (interface testing) • • Alfatestaus (alpha testing) Betatestaus (beta testing) Muuntotestaus (conversion testing) Tuotantotestaus (production testing, operational testing) • Standardien testaus (standards testing) Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Ei-toiminnallisen testauksen testaustyyppejä • Luotettavuustestaus (reliability testing) • Suorituskykytestaus (performance Kuormitustestaus (load testing) Rasitustestaus

Ei-toiminnallisen testauksen testaustyyppejä • Luotettavuustestaus (reliability testing) • Suorituskykytestaus (performance Kuormitustestaus (load testing) Rasitustestaus (stress testing) Paljoustestaus (volume testing) Kestävyystestaus (endurance testing) Tietoturvatestaus (security testing) Käyttöturvallisuuden testaus (safety testing) • Käytettävyystestaus (accessibility testing) • • Esteettömyystestaus • Palautettavuustestaus (recoverability testing) • Tuettavuustestaus (supportability testing) • Ylläpidettävyystestaus (maintainability testing) • Siirrettävyystestaus (portability testing) • Koodin laadun testaus (code quality testing) (usability testing) Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Tasot, vaiheet ja tyypit Hyväksymistestaus Järjestelmätestaus Integrointitestaus Yksikkötestaus uusinta Tämä teos on lisensoitu Creative

Tasot, vaiheet ja tyypit Hyväksymistestaus Järjestelmätestaus Integrointitestaus Yksikkötestaus uusinta Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Testausaktiviteettien rytmitys (1/2) • Testien suoritus tarvitsee version ohjelmistosta • Testausryhmä saa ohjelmiston testaukselle

Testausaktiviteettien rytmitys (1/2) • Testien suoritus tarvitsee version ohjelmistosta • Testausryhmä saa ohjelmiston testaukselle tehtyjen julkaisujen kautta (koonnit ja julkaisut) • Ohjelmistoversion sisältö ohjaa ja rajaa tehtävää testausta – Riskien toteutumisen arviointi vaatii pääsyn sopivaan toiminnallisuuteen – Tärkeimmät löydettävissä olevat virheet riippuvat toteutuksen vaiheesta ja kypsyydestä – Testauksen syvyyden pitäisi peilata riskejä, joiden selviämisajankohtaa ei voi määrittää projektin alussa Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Testausaktiviteettien rytmitys (2/2) • Joissain asioissa ajoissa valmistelu ja suunnittelu voi olla liian ajoissa

Testausaktiviteettien rytmitys (2/2) • Joissain asioissa ajoissa valmistelu ja suunnittelu voi olla liian ajoissa – Muutos mitätöi suunnitelman – Muutoksen aiheuttama lisätyö luo haluttomuuttaa testauksen suuntaa • Tavoitteena oikea-aikainen suunnittelu: Tee testauksen suunnittelu juuri ajoissa ilman, että hukkaat aikaisen työn avainhyödyt. Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

In-synch vs. off-synch testaus • Tarvittavien valmistelujen kesto asettaa aktiviteettien rytmin – In-synch testaus

In-synch vs. off-synch testaus • Tarvittavien valmistelujen kesto asettaa aktiviteettien rytmin – In-synch testaus koostuu testaustehtävistä jotka voidaan tehdä samassa rytmissä kuin jossa kehitys etenee, jatkuvaan tyyliin. – Off-synch testaus tarkoittaa tyypillistä näkymää suunniteltuun ja valmisteltuun testaukseen, jonka valmistelu ja suorittaminen vie liikaa aikaa ollakseen luonnollisesti integroitu kehityksen päivittäiseen/viikottaiseen rytmiin. • Rytmin huomioiminen – Tuo rakennetta lyhyen aikavälin suunnitteluun muistuttaen eri aikaväleistä joilla asioita tehdään testauksessa – Tuo joustoa pitkän aikavälin suunnitteluun ottaen kantaa tehtäviin joita ei kannata suunnitella erillisinä. Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Palautteen ajoitus Järjestelmä 1 Järjestelmä 2 Testaus on mekanismi, jolla huomataan jos osa ei

Palautteen ajoitus Järjestelmä 1 Järjestelmä 2 Testaus on mekanismi, jolla huomataan jos osa ei toimi. Kuinka saavuttaa nopea palaute? Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

2 – Testaus ohjelmistokehityksen osana Käsiteltävät asiat Testauksen Vmalli Suunnittelua elinkaaressa Testausprosessi Testattavuus ja

2 – Testaus ohjelmistokehityksen osana Käsiteltävät asiat Testauksen Vmalli Suunnittelua elinkaaressa Testausprosessi Testattavuus ja laatu Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Ohjelmistokehitystoiminnan jäsentäminen Järjestelmän elinkaari Järjestelmäkehityksen elinkaari Hanke Projekti Uuskehitys Jatkokehitys Ylläpito Hankinta Tämä teos

Ohjelmistokehitystoiminnan jäsentäminen Järjestelmän elinkaari Järjestelmäkehityksen elinkaari Hanke Projekti Uuskehitys Jatkokehitys Ylläpito Hankinta Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Kehitys- vs. hankkijaorganisaatio • Kehitysorganisaatio – järjestelmän luominen – toteutus ja testaus • Hankkijaorganisaatio

Kehitys- vs. hankkijaorganisaatio • Kehitysorganisaatio – järjestelmän luominen – toteutus ja testaus • Hankkijaorganisaatio – järjestelmän ostamisen, integroinnin ja/tai käyttöönoton miettiminen • Eroja liiketoimintamallissa: – Tuoteliiketoiminta: myytävä kokonaisuus on tuote – Projektiliiketoiminta: myytävä kokonaisuus on asiakastilausprojekti – Erona: onko hankkijaorganisaatio asiakas (projektiliiketoiminta) vai käyttäjä (tuoteliiketoiminta) Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Ohjelmistokehityksen elinkaarimallit • Ohjelmistokehityksen elinkaarimallit (käytetään myös nimeä ohjelmistoprosessimalli) kuvaavat hankkeen/projektin kehityksen organisointia –

Ohjelmistokehityksen elinkaarimallit • Ohjelmistokehityksen elinkaarimallit (käytetään myös nimeä ohjelmistoprosessimalli) kuvaavat hankkeen/projektin kehityksen organisointia – Aktiviteetteja ja vaiheita • Oleellisesti kolme hyvin erilaista perusrakennetta: – Vesiputousmalli – ”tarvittava kokonaisuus kerralla vaiheistetussa toteutuksessa” – Iteratiivinen ja inkrementaalinen – ”tarvittava kokonaisuus toteutuserissä” – Ketterä – ”inkrementaalinen muutos- ja ihmiskeskeisin arvoin” Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Testausprosessi ja sidosryhmät Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret

Testausprosessi ja sidosryhmät Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Testausprosessi Muokattu: Pol & Van Veenendaal. TMap. Testitapaukset Valmistelu Määrittely Suoritus Lopetus Suunnittelu ja

Testausprosessi Muokattu: Pol & Van Veenendaal. TMap. Testitapaukset Valmistelu Määrittely Suoritus Lopetus Suunnittelu ja hallinta (projektinäkökulma) Strateginen suunnittelu ja hallinta (elinkaarinäkökulma) Testausstrategia Yleistestaussuunnitelma Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Strateginen suunnittelu ja hallinta • Missio ja strategia • Organisaation yhteinen toimintatapa • Projektin

Strateginen suunnittelu ja hallinta • Missio ja strategia • Organisaation yhteinen toimintatapa • Projektin ulkopuolinen testaustoiminta – – – Alustan versioiden hyväksymistestaus Automaatioarkkitehtuurin ylläpito Välinetuki ja hyötyjen arviointi Koulutus Testausprojektin vertailu Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Suunnittelu ja hallinta • Testaussuunnittelu – – Tavoitteet ja laaturiskit Aikatauluraamit Lähestymistapa Resurssointi •

Suunnittelu ja hallinta • Testaussuunnittelu – – Tavoitteet ja laaturiskit Aikatauluraamit Lähestymistapa Resurssointi • Hallinta – – – Seuranta Korjaustoimenpiteet Eskalointi ja ongelmanratkaisu Testauksen laadun arviointi Viestintä sidosryhmille Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Valmistelu • • • Vaatimuskatselmointi Testattavuuskatselmointi Testausvaatimusten tunnistaminen Ympäristöjen valmistelu Aineistojen valmistelu Tiedon kerääminen

Valmistelu • • • Vaatimuskatselmointi Testattavuuskatselmointi Testausvaatimusten tunnistaminen Ympäristöjen valmistelu Aineistojen valmistelu Tiedon kerääminen Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Määrittely • • • Riskien tunnistaminen Testitapausten määrittely Testitapausten priorisointi Testiaineiston määrittely Ympäristöjen pystyttäminen

Määrittely • • • Riskien tunnistaminen Testitapausten määrittely Testitapausten priorisointi Testiaineiston määrittely Ympäristöjen pystyttäminen Testien automatisointi Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Suoritus • • • Julkaisut testaukseen Aloitustestit Testiaineistojen alustaminen Testien suoritus Uusintatestaus Uudelleentestaus Testitapausten

Suoritus • • • Julkaisut testaukseen Aloitustestit Testiaineistojen alustaminen Testien suoritus Uusintatestaus Uudelleentestaus Testitapausten ja automaation ylläpito Testauksen tulosten kirjaaminen Havaintojen käsittely Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Lopetus • • • Testattavuusyhteenveto Testauksen tulosten yhteenveto Testauksen kokemusten yhteenveto Testauksen materiaalien päivitys

Lopetus • • • Testattavuusyhteenveto Testauksen tulosten yhteenveto Testauksen kokemusten yhteenveto Testauksen materiaalien päivitys ja paketointi Testausryhmän purkaminen Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Suunnitelmaohjattu vs. tutkiva testaus • Suunnitelmaohjatussa testauksessa testitapaukset suunnitellaan ennen testien suoritusta – Skriptaus

Suunnitelmaohjattu vs. tutkiva testaus • Suunnitelmaohjatussa testauksessa testitapaukset suunnitellaan ennen testien suoritusta – Skriptaus tuottaa yksityiskohtaisen suunnitelman – Askel-askeleelta prosessi – testausprosessi koostuu vaiheista – ”Mitä testejä pitäisi ajaa? ” • Tutkivassa testauksessa testitapauksia suunnitellaan testejä suoritettaessa – Etukäteen ei voida ennustaa testien yksityiskohtia, jotka riippuvat ohjelmiston tilasta – Usein pohjaa korkeamman tason jäsennykseen – Eteen-taakse prosessi – testausprosessi ei vaiheita, vaan toistettavia tehtäviä – ”Mikä on paras testi, jonka voin suorittaa juuri nyt? ” Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Testauslähestymistapojen vastakkainasettelu • Skriptatussa testauksessa testitapaukset suunnitellaan ja dokumentoidaan ensin. Myöhemmissä vaiheissa ne voidaan

Testauslähestymistapojen vastakkainasettelu • Skriptatussa testauksessa testitapaukset suunnitellaan ja dokumentoidaan ensin. Myöhemmissä vaiheissa ne voidaan suorittaa saman tai eri henkilön toimesta. Testit vs. • Tutkivassa testauksessa testit suunnitellaan ja suoritetaan yhtäaikaisesti ja niitä ei yleensä dokumentoida yksityiskohtaisesti. Testi t Ohjelmisto Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Tutkiva vs. valmistelematon testaus • Valmistelematon testaus (ad hoc testing): Testaustoimintaa, jossa virheiden etsiminen

Tutkiva vs. valmistelematon testaus • Valmistelematon testaus (ad hoc testing): Testaustoimintaa, jossa virheiden etsiminen on valmistelematonta. Testausta ei suunnitella, tavoite testaamiselle ei ole selvillä, tuloksille ei ole odotuksia ja tekemistä ohjaa satunnaisuus. • Joskus jaetaan suunnattuun ja suuntaamattomaan valmistelemattomaan testaukseen, jossa suunnattu valmistelematon testaus on tutkivaa testausta eikä itse asiassa valmistelematonta. Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Tutkiva testaus prosessina Tutkiva Täydentäjä - Suunniteltujen testien laajentajana Sessio - rajatulla ajalla Ryhmä

Tutkiva testaus prosessina Tutkiva Täydentäjä - Suunniteltujen testien laajentajana Sessio - rajatulla ajalla Ryhmä - rajatulla ryhmällä Suunnitelmaohjattu Projekti - Koko toiminnan prosessina Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Vaihtoehtojen punnitsemista testausprosessia suunnitellessa Soveltuvin prosessimuoto Rytmitys in-synch off-synch päivittäinen kehittäjän tekemä testaus testaajakehittäjäparit

Vaihtoehtojen punnitsemista testausprosessia suunnitellessa Soveltuvin prosessimuoto Rytmitys in-synch off-synch päivittäinen kehittäjän tekemä testaus testaajakehittäjäparit työnjakona inkrementaalinen integraatio inkrementaalinen järjestelmätestaus, jossa toteutuserä voi olla projektin sisäinen tai koko projekti tekninen näkökulma käyttäjänäkökulma Tutkivaa testausta Suunnitelmaohjattua testausta Testauksen fokus Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

2 – Testaus ohjelmistokehityksen osana Käsiteltävät asiat Testauksen Vmalli Suunnittelua elinkaaressa Testausprosessi Testattavuus ja

2 – Testaus ohjelmistokehityksen osana Käsiteltävät asiat Testauksen Vmalli Suunnittelua elinkaaressa Testausprosessi Testattavuus ja laatu Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Testattavuuden määritelmä • Testattavuudella tarkoitetaan – kykyä suorittaa kustannustehokasta testausta (Gelperin) – ominaisuuksia jotka

Testattavuuden määritelmä • Testattavuudella tarkoitetaan – kykyä suorittaa kustannustehokasta testausta (Gelperin) – ominaisuuksia jotka vaikuttavat muutetun ohjelmiston varmistamisen työmäärään (ISO 9126) – mahdollisuuksia, jotka muut osapuolet antavat testaaville osapuolille • Testattavuus voi kohdistua: – testattavaan järjestelmään – testauksen pohjana oleviin vaatimuksiin, määrittelyihin ja dokumentaatioon Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Järjestelmän testattavuuden riskitilanne Liiketoimintasuunnittelija Ohjelmistosuunnittelija Testisuunnittelija Ohjelmistokehittäjä Testien kehittäjä Testattava järjestelmä Testausjärjestelmä Tämä teos

Järjestelmän testattavuuden riskitilanne Liiketoimintasuunnittelija Ohjelmistosuunnittelija Testisuunnittelija Ohjelmistokehittäjä Testien kehittäjä Testattava järjestelmä Testausjärjestelmä Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Tavoiteltava testattavuus Liiketoimintasuunnittelija Ohjelmistosuunnittelija Testisuunnittelija Ohjelmistokehittäjä Testien kehittäjä Testattava järjestelmä Testausjärjestelmä Tämä teos on

Tavoiteltava testattavuus Liiketoimintasuunnittelija Ohjelmistosuunnittelija Testisuunnittelija Ohjelmistokehittäjä Testien kehittäjä Testattava järjestelmä Testausjärjestelmä Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Järjestelmän testattavuuden keskeisimmät tekijät • Hallinta – Helppo testata – Liittymä, jota kautta käyttö

Järjestelmän testattavuuden keskeisimmät tekijät • Hallinta – Helppo testata – Liittymä, jota kautta käyttö mahdollista – Kyky käyttää järjestelmän osia hallitusti (syötteet, tapahtumien käynnistys, metodikutsut, GUI-elementtien käyttö, rajapinnat, dedikoitu testausliittymä) – Kyky tuottaa syötteitä ja saavuttaa ohjelmiston tiloja. • Näkyvyys – Helppo tulkita tuloksia – Kyky seurata testattavan ohjelmiston tiloja ja syötteistä seuraavia tuloksia. – Virhetilanteen syiden jäljittäminen helppoa, tapahtumien suhteet selvät – Lasilaatikko, jonka sisälle nähdään (tulokset, tilat, ominaisuudet, järjestelmän vuorovaikutus, resurssien käyttö, virheet) Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Järjestelmän testattavuuden muita tekijöitä • Vakaus – Muutosten laajuus ja muutostapahtumien tiheys – Vaikuttaa

Järjestelmän testattavuuden muita tekijöitä • Vakaus – Muutosten laajuus ja muutostapahtumien tiheys – Vaikuttaa testien ylläpitotarpeeseen • Yhdenmukaisuus – Samanlaiset osat käyttäytyvät samalla tavalla – Mahdollistaa testien uudelleenkäytön eri osissa • Luotettavuus – Järjestelmä tekee mitä oli tarkoituskin – Testien toistaminen samoissa tilanteissa tuottaa samat tulokset, eli saman tilanteet voidaan saada aikaan • Dokumentaatio – Tieto siitä kuinka järjestelmän piti toimia Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Vaatimus vs. Testausvaatimus Vaatimusten testatattavuus: - Kyky nähdä ja ymmärtää vaatimus konkreettisesti toteutettuna -Kyky

Vaatimus vs. Testausvaatimus Vaatimusten testatattavuus: - Kyky nähdä ja ymmärtää vaatimus konkreettisesti toteutettuna -Kyky mitata vaatimuksen toteutumista Vaatimukset ja testausvaatimukset eivät ole 1: 1 tai varsinkaan samat! Vaatimus Näiden välinen yhteensopivuus on vaatimusten testattavuus Vaatimusten testattavuudesta seuraa pienempi kustannus testausta valmistellessa Testausvaatimus Testitapaus Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Vaatimukset testauksessa Lähde: Kaner, Bach, Pettichord. 2002. Lessons Learned in Software Testing. • Vaatimus

Vaatimukset testauksessa Lähde: Kaner, Bach, Pettichord. 2002. Lessons Learned in Software Testing. • Vaatimus on ominaisuus tai asia joka merkitsee jollekulle joka merkitsee • Määritelmä toimii hyvin testaajalle • Osalliset – Eri osapuolilla eri tarpeita – Eivät välttämättä tiedä mitä haluavat – Mitä haluavat muuttuu ajan myötä • Monia muotoja ja lähteitä Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Mistä testaus saa vaatimukset? Lähde: Kaner, Bach, Pettichord. 2002. Lessons Learned in Software Testing.

Mistä testaus saa vaatimukset? Lähde: Kaner, Bach, Pettichord. 2002. Lessons Learned in Software Testing. • ”Jos odotat saavasi vaatimukset paperinippuna joka on leimattu yleispätevän totuuden leimalla, etsi toinen työ” – Parhaissa tapauksissa dokumentaatio on epätäydellistä ja moniselitteistä, mutta silti valaisevaa ja avuksi • Kolme keskeistä tapaa saada vaatimuksia – Keskustelu: Puhu jonkun kanssa jolla on merkitystä siitä millä on merkitystä – Päätelmä: Johda vaatimukset siitä mitä tiedät projektista ja tuotteesta – Maininta: Suorat ja epäsuorat määrittelyt Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Käyttäjätoiveet, vaatimukset, määrittelyt ja tekniset määrittelyt Vaatimukset Käyttäjätoiveet Testausvaatimus Testitapausarkkitehtuuri Liiketoimintavaatimus Testausvaatimus Käyttäjävaatimukset Tekniset

Käyttäjätoiveet, vaatimukset, määrittelyt ja tekniset määrittelyt Vaatimukset Käyttäjätoiveet Testausvaatimus Testitapausarkkitehtuuri Liiketoimintavaatimus Testausvaatimus Käyttäjävaatimukset Tekniset määrittelyt (vaatimusmäärittely) (arkkitehtuuri, komponentit) Testausvaatimus Testien uudelleenkäyttö eri tasoilla Testitapaus Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Vaatimukset vs. Testausnäkökulma vaatimuksiin Dokumentoimaton ”näin sovittiin suullisesti” ”yleiset pelisäännöt ja kikat” ”tekijät eri

Vaatimukset vs. Testausnäkökulma vaatimuksiin Dokumentoimaton ”näin sovittiin suullisesti” ”yleiset pelisäännöt ja kikat” ”tekijät eri mieltä, mutta tekstistä ei huomaa” Dokumentoitu Suora Epäsuora Vaatimusnäkökulma keskittyy tarkkojen vaatimusten dokumentointiin Testaus keskittyy kaikkiin näkökulmiin; toteutus tarvitsee yksinkertaisuutta! Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Laadun ymmärtäminen • Laatua on pyritty jäsentämään laatumalleihin – Mm. ISO 9126 • Laatua

Laadun ymmärtäminen • Laatua on pyritty jäsentämään laatumalleihin – Mm. ISO 9126 • Laatua pitää tarkastella eri sidosryhmien näkökulmasta – Käyttäjä ja asiakas – Kehitysorganisaatio • Usein haastavimpia asioita on päättää kenellä on oikeastaan väliä. – Testaajan pitäisi tuoda esiin havaitsemiaan riskejä loppullisen laatukokemuksen suhteen. Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Laatuodotukset vs. Laatukokemukset • Odotus – Käyttäjien ja asiakkaiden uskomukset järjestelmän tarjoaman laadun tasosta

Laatuodotukset vs. Laatukokemukset • Odotus – Käyttäjien ja asiakkaiden uskomukset järjestelmän tarjoaman laadun tasosta – Kohtuuttomat odotukset ovat tyypillisesti oire vaatimusten keräämisen, liiketoiminta-analyysin tai muutostenhallintaaktiviteettien epäonnistumisesta – Testaus ei voi suoraan vaikuttaa kohtuuttomiin vaatimuksiin testausprosessissa • Kokemus – Mielipiteet yhdistettynä käyttäjien ja asiakkaiden järjestelmän kanssa saadun kokemuksen myötä syntyneisiin yleisiin tyytyväisyyden ja tyytymättömyyden tasoihin • Odotusten ja kokemusten yhdistäminen tyytyväinen asiakas Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

ISO 9126 -1 laatuominaisuudet Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. –

ISO 9126 -1 laatuominaisuudet Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Erilaisten laatuominaisuuksien painottuminen • Perinteisesti paino toiminnallisuudella • Kasvanut paino käytettävyydellä – Ohjelmistot tulossa

Erilaisten laatuominaisuuksien painottuminen • Perinteisesti paino toiminnallisuudella • Kasvanut paino käytettävyydellä – Ohjelmistot tulossa yleisemmiksi – Käytettävyys pitää olla sisäänrakennettuna kuten kaikki laatu – Käytettävyys = Käyttöliittymä + toiminnallisuuden logiikka • Kasvanut paino suorituskyvyllä – Erityisesti käyttäjämäärien skaalaamisessa • Tietoturvan paino lisääntymässä – Uusi ”vuosi 2000” onkin ”puskuriylivuoto” Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Laatumalli ei kokonaiskuva • Vertaa lentosimulaattori – Pelitarkoituksiin - oleellista on pelattavuus, hauskuus ja

Laatumalli ei kokonaiskuva • Vertaa lentosimulaattori – Pelitarkoituksiin - oleellista on pelattavuus, hauskuus ja opettavaisuus sellaiselle, joka ei oikeaa konetta ole lentänyt. – Opetussimulaattori - realismi on keskeistä ja simulaattorin pitää hallita erilaiset lentokoneen ohjaajan mahdollisesti kohtaamat tilanteet. • Molemmissa kovat, mutta erilaiset laatuvaatimukset • Miten peilaisit tämän ISO 9126 -jakoon? Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Maailma muuttuu – vaatimukset muuttuvat Ennen Nykyään Tämä teos on lisensoitu Creative Commons Tekijä

Maailma muuttuu – vaatimukset muuttuvat Ennen Nykyään Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Käyttäjän näkökulma eroaa omastasi • Kaikilla sidosryhmillä on erilaiset näkökulmansa – – – Asiakas

Käyttäjän näkökulma eroaa omastasi • Kaikilla sidosryhmillä on erilaiset näkökulmansa – – – Asiakas Käyttäjä Ohjelmoija Projektipäällikkö Testaaja • Huomaa: virheetön tuote ei välttämättä kelpaa käyttäjälle – – – Käyttäjäskenaariot (käyttötapaukset) pitäisi kelpuuttaa Vaatimukset pitäisi kelpuuttaa Käytettävyystarpeet pitää ottaa huomioon Dokumentaatio pitää testata Asiakaspalautteen prosessin pitää toimia ”Absence of errors fallacy” - Weinberg Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Yhteenveto • Testausprosessia on ajateltava useista näkökulmista: V-malli ja testaustasot, tason sisäinen prosessi, testaus

Yhteenveto • Testausprosessia on ajateltava useista näkökulmista: V-malli ja testaustasot, tason sisäinen prosessi, testaus suhteessa sidosryhmiin, elinkaari ja projekti • Testaustasot ja testaustyypit kuvaavat perusrakenteen tarvittaville näkökulmille, mutta eivät kiinnitä tehtävien suoritusjärjestystä • Testattavuus laajentaa testauksen roolia pelkästä vastaanottajasta aktiivisemmaksi toimijaksi Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen

Linkkejä ja vinkkejä • Kirjoja: – Craig&Jaskiel. • Hyvä perusteos testauksesta. Etenkin V-mallin kuvaus

Linkkejä ja vinkkejä • Kirjoja: – Craig&Jaskiel. • Hyvä perusteos testauksesta. Etenkin V-mallin kuvaus ansiokas. • Artikkeleita: – Pyhäjärvi, M. , & K. Rautiainen "Integrating Testing and Implementation into Development", Engineering Management Journal, June 2004. • Täydentävät jatkokurssit: – Riskiperusteinen testaus • Syventävät jatkokurssit: – – – Testauksen opit vaatimusten määrittelyyn ja hallintaan Tutkiva testaus Tietoturvatestaus Suorituskykytestaus Käytettävyystestaus Tämä teos on lisensoitu Creative Commons Tekijä mainittava –lisenssillä. – Maaret Pyhäjärvi & Erkki Pöyhönen