Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

TESTAUS ”Paras mahdollinen työ.”

Samankaltaiset esitykset


Esitys aiheesta: "TESTAUS ”Paras mahdollinen työ.”"— Esityksen transkriptio:

1 TESTAUS ”Paras mahdollinen työ.”
”Kaikista hankalin tapa kuluttaa työpäivääsi.” Ed Kit, Software Testing in the Real World Tavoitteena löytää mahdollisimman paljon virheitä Myers: Testaus on prosessi, jossa ohjelmaa suoritetaan ja yritetään löytää siitä virheitä Hyvä testausmenetelmä on sellainen, joka suurella todennäköisyydellä paljastaa ohjelmasta uuden virheen Onnistunut testi on sellainen, joka paljastaa uuden virheen. 15. Testaus

2 Miksi? Miksi ei? tiukka ohjelmistotuotannon aikataulu kiritään testauksen kustannuksella tuotteen menestymismahdollisuudet aikainen aloittaminen monimutkaistuu koko ajan korjausten aiheuttamat muutokset kasvaa työllistävyys testien uusiminen projektiryhmä koolla 15. Testaus

3 Virheiden eliminointi
suunnitelmallinen virheiden etsiminen testauksen määrä  testauksen tehokkuus testin onnistuminen saatu tulos on oikein (= oletettu tulos) ”sisäinen tila” , muuttujien, rekisterien yms. arvot ovat muuttuneet oikein testauksen avulla voidaan osoittaa ohjelman virheet, mutta ei virheettömyyttä 15. Testaus

4 Virheet, viat, häiriöt testauksen yhteydessä virhe (error, bug)
poikkeama spesifikaatiosta (toiminnallinen määrittely, tekninen määrittely) virhe ohjelmassa voi aiheuttaa vian (fault) voi korjautua itsestään jonkin toisen toiminnon seurauksena tai vika voi kumoutua pahimmassa tapauksessa vika voi aiheuttaa häiriön (failure) näkyy ulkoisessa toiminnassa 15. Testaus

5 Testauksen periaatteita
testit tulisi johtaa asiakaan vaatimuksista testaus pitää suunnitella ennen aloittamista 80% virheistä löytyy 20%:sta komponenteista aloitetaan osista ja jatketaan kokonaisuuksiin täysin kattavaa testausta ei voi toteuttaa ulkopuolinen löytää parhaiten virheet 15. Testaus

6 Testattavuus Suoritettavuus (operability)
pystytään suorittamaan Havainnoitavuus (observability) testauksen tulokset ovat havainnoitavissa Osittaminen (decomposability) testaus voidaan kohdentaa johonkin komponettiin Yksinkertaisuus (simplicity) toiminnot, rakenne ja koodi yksinkertaista Vakaus (stability) testaus ei vaadi muutoksia Ymmärrettävyys (understandability) selkeä ja dokumentoitu suunnittelu 15. Testaus

7 Testausprosessi suunnitellaan testiaineisto suoritetaan testi
verrataan tuloksia odotettuihin tuloksiin jos saatiin virheellisiä tuloksia, niin jäljitetään virhe ohjelmistosta korjataan virhe toistetaan testi samalla aineistolla 15. Testaus

8 Testauksen lähestymistavat
Sisäinen testaus, lasilaatikkotestaus (White Box Testing, Class Box Testing) testataan ohjelmamoduulien sisäinen toiminta tämä testaus liittyy vahvasti toteutusvaiheeseen sisäinen testaus suunnitellaan suunnitteluvaiheessa Ulkoinen testaus, toimintatestaus (Black Box Testing) testataan ohjelman toiminta suhteessa määrityksiin ulkoinen testaus suunnitellaan määrittely (analyysi) vaiheessa 15. Testaus

9 Testausstrategiat yhdistää erilaiset testaustekniikat hyvin suunnitelluiksi vaiheiksi testaus on joukko toimintoja, jotka voidaan suunnitella etukäteen ja suorittaa systemaattisesti yleistä testausstrategiasta: Testaus alkaa yksikkötasolla, ja laajenee sen kautta koko systeemin integrointiin. Erilaiset testaustekniikat ovat sopivia eri aikoina. Testauksen suorittaa järjestelmän kehittäjä, suuremmissa ohjelmistoissa erillinen testiryhmä. Testaus ja virheenjäljitys ovat eri toimintoja, mutta virheenjäljitys täytyy mukauttaa jokaiseen testausstrategiaan. tarvittavan testauksen määrää vaikea arvioida tuotekehitystyössä testauksen lopettaminen: kompromissi tuotteessa olevien vikojen aiheuttamien kustannusten ja markkinoilta myöhästymisen aiheuttaman tuoton menetyksen välillä lopettamiselle hyväksymiskriteerit, jotka määritellään testaussuunnitelmassa 15. Testaus

10 Testaustasot järjestelmä-testaus + vaatimus-määrittely ja määrittely
validointi-testaus testauksen suunnittelu arkkitehtuuri- suunnittelu integrointi-testaus ja tulosten verifiointi moduuli- suunnittelu yksikkö-testaus ohjelmointi 15. Testaus

11 Yksikkötestaus liitetään yleensä koodausvaiheeseen
lähdekoodi on kirjoitettu ja käännetty, yksikkötestaus voi alkaa jokainen yksittäinen moduuli käydään läpi vähintään kerran pitää olla tiedossa odotetut tulokset, eli tieto siitä miten ohjelman pitäisi toimia. jos moduulit (funktiot, aliohjelmat, oliot) eivät ole itsenäisesti toimia ohjelmia, täytyy yksikkötestaukseen kehittää ohjausohjelmia ja/tai aliohjelmien runkoja (tynkäohjelmia, stubeja) ohjausohjelma ns. pääohjelma, joka antaa testattavalle moduulille kutsun ja syöttöarvot, sekä myös usein tulostaa lopputuloksia ja moduulin palautusarvoja kattavuusperiaatteita yms. osoitteesta: Yksikkötesti tehdään yleensä lasilaatikkoperiaatteella, jolloin testaaja voi myös tarkastaa ohjelmakoodin. 15. Testaus

12 MUISTA! Virheiden arvaaminen: oman kokemuksen perusteella testaaja voi arvata, mitkä seikat ovat vaikeita ja joissa siten arvattavasti esiintyy virheitä. Testatessasi muista: toimi väärin (eli käyttöohjeen vastaisesti) käytä vääriä yhdistelmiä älä tee tarpeeksi älä tee mitään tee liikaa mutta älä unohda normaalitapauksiakaan! Lisäksi määritysmuutosten jälkeen on aina (suoritettava taantumatesti ja) testattava muuttuneet kohdat (esim. kun kenttä on aiemmin ollut pakollinen vaan ei ole enää jne.) 15. Testaus

13 Integrointitestaus yksikkötestauksen jälkeen moduulit täytyy saada toimimaan yhdessä vaikka moduulit toimisivatkin moitteettomasti itsenäisessä tilassa, yhteistoiminnassa saattaa esiintyä ongelmia tietoa saattaa hukkua, moduuleilla saattaa olla ennustamattomia vaikutuksia toisiinsa moduulien välisten rajapintojen toimivuuden tutkimisessa integraatio, jossa kaikki moduulit yhdistetään kerralla  testaus  kaaos (big bang -menetelmä) virheitä havaitaan, mutta korjaaminen hankalaa yhden virheen korjaaminen aiheuttaa joukon muita virheitä suositeltavampaa koostaa ohjelma pienistä osista ja testata jokainen osa kerralla – joko osittaen tai koostaen 15. Testaus

14 Validointitestaus (Hyväksymistestaus)
onko ohjelmisto asiakkaan vaatimusten mukainen kriteereinä vaatimusmäärittely tehdään suorittamalla ulkoinen testaus tarkoituksena osoittaa järjestelmän toimivuus ja vastaavuus asetettuihin vaatimuksiin nähden vaatimuksiin kuuluu mm. funktionaalinen toimivuus, dokumentoinnin kattavuus, siirrettävyys ja ylläpidettävyys mikäli tuote ei vastaa vaatimuksia, tehdään luettelo, josta ilmenee mitä on korjattava kehittäjän on mahdotonta ennustaa miten käyttäjät todellisuudessa reagoivat ohjelmistoon sitoutuvat sen käyttöön alfa- ja beetatestaus ohjelmistolla useita (kymmeniä) käyttäjiä 15. Testaus

15 Järjestelmätestaus joukko erilaisia testejä
virheistä toipumisen selvittämiseen kyettävä selviytymään virhetilanteista tietyssä ajassa järjestelmän täytyy sietää tietty määrä virhetilanteita virhe yhdessä prosessissa ei saa kaataa koko järjestelmää Toipumistestauksessa (recovery testing) aiheutetaan tiettyjä virhetilanteita ja katsotaan käyttäytyykö järjestelmä vaaditulla tavalla jos systeemin toipumismekanismi on automaattinen, tarkastetaan uudelleen käynnistys, tarkastuspiste mekanismi ja tiedon suojaus jos selviytyminen vaatii ihmisen toimintaa, lasketaan onko keskimääräinen selviytymisaika sopivissa rajoissa. 15. Testaus

16 Järjestelmätestaus Turvallisuustestaus (security testing)
käsittelevät luottamuksellista tietoa taloudellisia tai haitaksi yrityksen luotettavuudelle tunkeutumista ulkopuolelta osa sisäpuolelta päätavoite tehdä tunkeutuminen niin vaikeaksi, että onnistumisen hyödyt ovat pieniä verrattuna kulutettuun aikaan ja vaivaan. Kestävyystestaus (stress testing) epätavallisia tilanteita voidaan mitata antamalla epätavallisia syötteitä Esim. testissä voidaan aiheuttaa kymmenen keskeytystä, kun keskimääräinen määrä on yksi tai kaksi tiedon syöttönopeuksia voidaan kasvattaa muistinhallintaa yritetään järkyttää syöttämällä maksimimuistia vaativaa aineistoa. Suorituskykytestaus (performance testing) reaaliaika- tai upotettuihin järjestelmiin tehdään jokaisessa testauksen vaiheessa koko järjestelmä valmis, voidaan sen todellinen suorituskyky mitata liitetty osaksi kestävyystestiä 15. Testaus

17 Dokumentaatio ISO standardin mukaan testaussuunnitelma ja raportit tulisi kirjoittaa sekä integrointi- että järjestelmätestauksesta yksikkötestauksen testaussuunnitelman korvaa laatukäsikirjan ohjeistus; käytänteet; testitulokset silti raportoitava! pienissä projekteissa riittänee yksi testaussuunnitelma, joka kattaa kaikki testauksen vaiheet testaussuunnitelmat voidaan sisällyttää myös projektisuunnitelmaan (yleiskuvaus), toiminnalliseen määrittelyyn (järjestelmätestaus) ja tekniseen määrittelyyn (integrointi- ja yksikkötestaus). 15. Testaus

18 Testaussuunnitelman sisältö
mitä testejä tehdään ja milloin miten ne järjestetään ja millaisia lopputuloksia odotetaan tärkeää määritellä lopettamiskriteerit yhdistetyn integrointi- ja järjestelmätestauksen sisältö voisi olla: Johdanto Testauksen kohde ja tavoitteet Testausympäristö Testauksen organisointi ja raportointi Testausstrategia ja integrointisuunnitelma Testattavat toiminnot Toimintojen testitapaukset, hyväksymiskriteerit Ei-toiminnallisten ominaisuuksien testaus Erikoistilanteet Ominaisuudet, joita ei testata 15. Testaus

19 Testauksen raportointi
virheet tulisi raportoida ja analysoida mm. virheen kuvaus, miten vakavasta virheestä on kysymys, milloin se löydettiin, miten se olisi voitu löytää aikaisemmin, milloin virhe oli tehty ja miten se olisi voitu estää asiakkaalta tulevia virheilmoituksia varten käytetään yleensä erityistä lomaketta virheiden raportoinnissa voidaan käyttää esimerkiksi virhepäiväkirjaa testauspäiväkirja 15. Testaus

20 Esimerkki testaussuunnitelmasta
Harjoitustyössä keskittykää järjestelmätestauksen suunnitteluun testataan järjestelmän toimintaa ( = käyttötapaukset, niiden kuvaukset ja näytöt) käyttötapauksittain ( = toiminnoittain) testattava kohde (tyhjät tiedot, olemassa olevat tiedot, …) millaisin testitapauksin voi toimintaa todentaa mitä odotetaan kustakin testitapauksesta tulokseksi laatikaa testiaineisto vähintään kahdelle käyttötapaukselle (=toiminnolle, käyttöliittymälle) 15. Testaus


Lataa ppt "TESTAUS ”Paras mahdollinen työ.”"

Samankaltaiset esitykset


Iklan oleh Google