CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen (etu.suku@lut.fi) Kevät 2015



Samankaltaiset tiedostot
CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2016

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Ohjelmistotestauksen perusteita I Luento 1 Antti-Pekka Tuovinen

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

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

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

PETTERI PALOMÄKI TESTAUS OHJELMISTOTUOTANNON OSANA Diplomityö

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Testaaminen ohjelmiston kehitysprosessin aikana

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Testaus käsite. Sekalaista testausasiaa. Testauksen käsitteestä. Kattavuusmitat. Jos ajatellaan, että testaus = V&V, voidaan erottaa:

Ohjelmistotuotanto vs. muut insinööritieteet. (Usein näennäinen) luotettavuus ja edullisuus

Ohjelmistotekniikka - Luento 2

KEYAQUA-VERKKOTIETOJÄRJESTELMÄN TESTAUS

Käyttäjien tunnistaminen ja käyttöoikeuksien hallinta hajautetussa ympäristössä

UML:n yleiskatsaus. UML:n osat:

Ohjelmiston testaussuunnitelma

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Testaussuunnitelma. Pizzeria - Pitseria HAAGA-HELIA ammattikorkeakoulu Tietojenkäsittelyn koulutusohjelma. WebPizza

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen

T Testiraportti - integraatiotestaus

Convergence of messaging

T Testiraportti - järjestelmätestaus

Testausprosessin vaatimukset. 2. Testausprosessi (Artikkelit) Vesiputousmallin ongelmia. V-mallin neljä osavaihetta. Testausprosessimalli V-malli

Kontrollipolkujen määrä

Tik Tietojenkäsittelyopin ohjelmatyö Tietotekniikan osasto Teknillinen korkeakoulu. LiKe Liiketoiminnan kehityksen tukiprojekti

Ohjelmistojen virheistä

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

Testaus-tietoisku: Tärkeimpiä asioita testauksesta projektityökurssilaisille

Mihin kaikkeen voit törmätä testauspäällikön saappaissa?

Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi. Verifiointi- ja validointitekniikat. Verifiointi- ja validointitekniikat II

Ohjelmistotestauksen perusteet. versio 1.0

Ohjelmistotestauksen perusteita II

RAIN RAKENTAMISEN INTEGRAATIOKYVYKKYYS

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Kuopio Testausraportti Asiakkaat-osakokonaisuus

Kuopio Testausraportti Kalenterimoduulin integraatio

Laatukustannukset. Laadun hallinta. Laadun kustannuksista

Dynaaminen analyysi IV

Simulaattoriavusteinen ohjelmistotestaus työkoneympäristössä. Simo Tauriainen

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Ohjelmistojen testaus

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

Laatu tietojärjestelmähankkeissa. Tietohallinnon kokemuksia Juha-Pekka Leskinen Atk-päällikkö Eduskunnan kanslia

Dynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen

Laadun hallinta. Laatukustannukset. Laadun kustannuksista. Sami Kollanus TJTA330 Ohjelmistotuotanto

Laadun hallinta. Laatukustannukset. Sami Kollanus TJTA330 Ohjelmistotuotanto

Ohjelmistotuotteen hallinnasta

Ohjelmistojen mallinnus, s2008 HY/TKTL, 28/10/2008. Harri Laine 1. Ohjelmisto

Ohjelmistojen mallinnus (OMa) - Johdatus ohjelmistotuotantoon Harri Laine 1

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0

1. Johdanto. Ohjelmistotuotannon ongelmia

Mihin kaikkeen voit törmätä testauspäällikön saappaissa?

Testauksen tuki nopealle tuotekehitykselle. Antti Jääskeläinen Matti Vuori

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

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Tapahtuipa Testaajalle...

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

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Projektityö

Sopimus Asiakas- ja potilastietojärjestelmästä. Liite N: Kielivaatimukset

LAATURAPORTTI Iteraatio 1

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

Standardi IEC Ohjelmisto

Testausraportti. Orava. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Testauspalvelu laadunvarmistajana Arekin monitoimittajaympäristössä. Satu Koskinen Teknologiajohtaja, Arek Oy

@Tampereen Testauspäivät ( )

ISEB/ISTQB FOUNDATION CERTIFICATE IN SOFTWARE TESTING III

ROBOT FRAMEWORKIN KÄYTTÖÖNOTTO JA MALLITESTIEN LUOMINEN

Johdantoluento. Ohjelmien ylläpito

Ajanhallinta- ja raportointityökalun testaus

TESTAUSPROSESSIN KEHITTÄMINEN

Takki. Lisää ot sik k o osoit t am alla. Nyt se sopii, tai sitten ei. Jussi Vänskä Espotel Oy. vierailuluentosarja OTM kurssi

Ohjelmistotekniikan menetelmät, UML

Ohjelmistojen mallintaminen, Johdatus ohjelmistotuotantoon

UCOT-Sovellusprojekti. Testausraportti

Testaus osana Zalandon Fleekmobiilisovelluksen

Ohjelmiston testaus ja laatu. Testaustasot

Arkkitehtuuritietoisku. eli mitä aina olet halunnut tietää arkkitehtuureista, muttet ole uskaltanut kysyä

Ohjelmistotestauksen perusteita Luento 1 Antti-Pekka Tuovinen

Projektityö

Lyhyt johdatus ketterään testaukseen

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

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

MOBIILISOVELLUKSEN TESTAUS- MENETELMÄT

HYVÄKSYMISTESTAUS- RAPORTTI - HAKEUTUJAN PALVELUT JA TODENNETUN OSAAMISEN REKISTERI

Testataanko huomenna?

Kahdenlaista testauksen tehokkuutta

Testausautomaation mahdollisuudet käyttöliittymän testauksessa. Anssi Pekkarinen

Julkaisemattomia koulutusmateriaaleja

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

Ohjelmistotestaus: Testausprosessin luonti ja. kehittäminen

Ohjelmistojen mallintaminen Unified Modeling Language (UML)

Tutkittua tietoa. Tutkittua tietoa 1

L models. Testisuunnitelma. Ryhmä Rajoitteiset

Transkriptio:

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 säästää rahaa. Tehdäänkö oikeaa tuotetta? Tehdäänkö tuotte oikein?

UUTTA! Facebook-ryhmä jossa voi kysellä juttuja tai jättää kommentteja: https://www.facebook.com/groups/1539146573006726/ Vastaillaan sitä mukaa kun ennätetään, myös muut kuin laitoksen väki saa vastailla ja kommentoida mikäli tietää vastauksen.

TESTAUS JA OHJELMISTOTUOTANTO CT60A4150 Ohjelmistotestauksen perusteet

JOHDANTO Ohjelmistotuotannolla tarkoitetaan asiakkaan kohtuulliset odotukset täyttävän tietokoneohjelman tuottamista siten, että kehityskustannukset ja aikataulu on ennustettavissa riittävällä tarkkuudella. (Haikala & Mikkonen) Myös järkevien insinööritaidon periaatteiden määrittelyä ja käyttöä tavoitteena aikaansaada kustannustehokkaasti ohjelmia jotka ovat luotettavia ja jotka toimivat tehokkaasti oikeissa käyttöympäristöissään. (Naur & Randell)

OHJELMISTOTUOTANTO Eli siis ohjelmistotuotanto vastaa kaikista työvaiheista ensimmäisestä ideasta tuotteen valmistumiseen. ja mikäli puhutaan ohjelmiston elinkaaresta, myös valmistumisesta ylläpidon kautta alasajoon. Vesiputousmalli ja Scrum tavallisimpia esimerkkejä ohjelmistotuotannon malleista:

VESIPUTOUSMALLI

VESIPUTOUSMALLI

HUOMIOITA JA LUKUJA OHJELMISTOKEHIT YKSESTÄ Ylläpito ja alasajo unohdetaan melkein aina, vaikka ylläpidon lopettaminen keskeinen asia budjettisuunnittelussa. Karkeasti koko elinkaaren aikana: 1e suunnitteluun 10e tekemiseen ja tarkastamiseen 100e ylläpitoon (sisältää tosin ylläpidonaikaisen kehityksen) 20% osista sisältää 80% ongelmista. 90% ajasta käytetään 10% rakentamiseen.

SCRUM-MALLI

SCRUM-MALLI

OHJELMISTOTUOTANTO Elinkaaren vaiheet yleisellä tasolla: Suunnittelu, tehdään konsepti Määrittely, miten idea muutetaan tuotteeksi Rakentaminen, tehdään tuote Tarkastaminen (Testaaminen), katsotaan että kaikki toimii oikein. Toimittaminen, laitetaan tuote myyntiin. Ylläpito, päivitetään ja mahdollisesti jatkokehitetään tuotetta. Alasajo, hankkiudutaan hiljalleen eroon tuotteesta jota ei enää kannata ylläpitää tai jatkokehittää.

OHJELMISTON SUUNNITTELU, 4+1- MALLISTA Class diagram, Communication diagram, sequence diagram, state machine diagram, object diagram. Logical View Component diagram, package diagram. Development View Object model; what components will be made, how will they behave. Concurrency, synchronized aspects. Process View Use case diagrams Use-Case View / Scenarios How system interacts with the world and systems around it. Organization of the assets during the development work. (Which belongs to what) How software and hardware are related; what system looks like when finished. Physical View Activity diagram, timing diagram. Deployment diagram

LUOKKAKAAVIOT

KÄY TTÖTAPAUKSET

SEKVENSSIKAAVIO

AKTIVITEETTIKAAVIO

TOTEUTUSKAAVIO

OHJELMISTON SUUNNITTELU, 4+1- MALLISTA Class diagram, Communication diagram, sequence diagram, state machine diagram, object diagram. Logical View Component diagram, package diagram. Development View Object model; what components will be made, how will they behave. Concurrency, synchronized aspects. Process View Use case diagrams Use-Case View / Scenarios How system interacts with the world and systems around it. Organization of the assets during the development work. (Which belongs to what) How software and hardware are related; what system looks like when finished. Physical View Activity diagram, timing diagram. Deployment diagram

OHJELMISTO

OHJELMISTOTESTAUS OK, no mitä ohjelmistotestaus sitten on? Kaikki, mitä tehdään sen eteen että tuote olisi Oikein suunniteltu Oikein rakennettu Täyttäisi sille asetetut tavoitteet

MITÄ ON TESTAUS? Ohjelmistoprosessi Määrittely Suunnittelu Toteutus Testaus Ylläpito

MITÄ ON TESTAUS? Määrittely Perinteinen mielikuva: Ohjelmistoprosessi Suunnittelu Toteutus Testaus aloitetaan jossain täällämain Varsinaisesti testaus on tuo vaihe tuossa Testaus Ylläpito Testaus on lopetettu tässä vaiheessa

MITÄ ON TESTAUS? Määrittely Perinteinen Oikeasti testaustoiminta mielikuva: Suunnittelu Ohjelmistoprosessi On kaikki toimenpiteet alkaen määrittelystä päättyen tuotteen lopettamiseen, joilla vaikutetaan lopputuotteen laatuun. Toteutus Testaus Testausta varten määritellään mitä, missä, kuka, miksi, miten ja millä välineillä, organisaation ja projektien tasolla. Eli kaikki mitä tälle välille mahtuu Ylläpito

TERMIEN TARKOITUKSIA Esitestaus (pre-testing): Testaustyö, joka tehdään tuotteen osalle joka ei päädy lopulliseen versioon tai jonka tuloksia käytetään varsinaisen tuote- ja projektisuunnittelun apuna. Staattinen testaus (static testing): testaustyö, jossa testattavaa ohjelmistoa arvioidaan ilman että sitä suoritetaan. Esimerkiksi katselmoinnit ja kompleksisuuslaskelmat. Dynaaminen testaus (dynamic testing): testaustyö, jossa testattava ohjelmisto suoritetaan ja sen käyttäytymistä arvioidaan.

VERIFIOINTI, VALIDOINTI JA TESTAUS Verifiointi, todentaminen Validointi, kelpuutus Staattinen testaus Dynaaminen testaus Staattinen testaus Dynaaminen testaus Verifiointi (kirjakielessä todentaminen) == tuote on tehty oikein Validointi (kirjakielessä kelpuutus) == on tehty oikea tuote

TERMIEN TARKOITUKSISTA Laadunvarmistus (Quality Assurance): Kaikki mitä tehdään sen eteen että tuotteen laatu saadaan pysymään korkealla. Laadunvalvonta (Quality Control): Työ, jossa tehdään laadunvarmistusta. Testaus (Testing): Englanninkielisessä ammattikirjallisuudessa tarkoittaa monesti mekaanista työtä jolla ohjelman rakenne verifioidaan. Suomeksi, ja monesti ei-amerikkalaisessa kirjallisuudessa laadunvarmistuksen synonyymi mekaanisen testaustyön lisäksi. V&V, eli verifiointi ja validointi: toinen yleisnimi työlle, jolla valvotaan että tuote vastaa suunnitelmia ja että suunniteltu järjestelmä ratkaisee sen ongelman mitä siltä halutaan.

VIKA, VIRHE, HÄIRIÖ, BUGI Rakkaalla lapsella on monta nimeä. Virhe tai erehdys: Ihmisen toiminnan tuottama vika ohjelmistossa. Vika tai bugi: Ohjelmistosta tai dokumentaatiosta löytyvä poikkeama, jonka takia ohjelmisto ei toimi oikein joutuen häiriötilaan. Näiden etsiminen on se ohjelmistotestauksen *juttu*. Häiriö: Tila, jossa ohjelma ei toimi niin kuin sen pitäisi. Syy häiriöön voi olla bugi, virhe, käytetty laitteisto, viallinen mittari, sähkökenttä, magneettikenttä, Pohjois-Korea, huonepöly, Saturnuksen asento

OHJELMISTOTESTAUS

TESTAUSTASOT Testaustasot tarkoittavat sitä kokoluokkaa, missä ohjelmistoa testataan. Yksi moduuli Moduulien yhdistäminen Koko järjestelmä Koko järjestelmä ja oikea käyttöympäristö Tästä lisää ensi viikolla

TESTAUKSEN V-MALLI

TESTAUSMENETELMÄT Testausmenetelmät kuvaavat erilaisia tapoja tehdä testaustyötä. Musta laatikko Lasilaatikko Automaatiotestaus Tutkiva testaus Rasitustestaus Tietoturvatestaus Alfa- ja Beta-testaus Mallipohjainen testaus

OHJELMISTOTESTAUS

TESTAUKSEN MITTARIT Mittarit on työvälineitä joiden avulla voidaan arvioida sitä, miten projekti etenee ja/tai sitä miten paljon työtä on vielä tekemättä: Raakadatamittarit Työnsuunnitteluun perustuvat Projektin tilaan perustuvat Kattavuuteen perustuvat Tuloksiin liittyvät mittarit Luotettavuuteen ja tehokkuuteen perustuvat mittarit Esimerkiksi: Miten suuren %-osuuden kaikesta ohjelman lähdekoodista nykyiset testitapaukset suorittavat ainakin kerran?

TESTAUSPROSESSI Miten testausta Suunnitellaan? Tehdään? Määritellään? Kuka, miten, missä, millä, miksi, milloin? Miten organisaatiot tekevät ohjelmistotestausta? Mitä voimme oppia muiden virheistä? Entä omistamme? Mitkä on ohjelmistotestauksen best practicet? Esimerkiksi Kanerin 293 ohjetta ohjelmistotestaukseen.

TESTAUST YÖKALUT Millaisilla työvälineillä organisaatio tekee testausta? Mihin työvaiheeseen käytetään mitäkin? Mihin tieto tallennetaan ja mistä sitä löytyy? Miten työ organisoidaan? Miten esimerkiksi automaatiotestien caset määritellään? Kuinka testaan käyttöliittymän toimivuutta kun meillä ei ole mitään käyntiin lähtevää?

OHJELMISTOTUOTANTO JA OHJELMISTOTESTAUS Ohjelmistotuotannon prosessi Suunnittelu Määrittely Toteutus Tarkastus Käyttöönotto Ohjelmistotestauksen prosessi Esitestaus Testauksen suunnittelu, testattavuuden arviointi Testaus eri tasoissa, regressiotestaus Käyttöönotto / hyväksymistestaus / Betatestaus Hotfixien, laajennusten testaus

OHJELMISTOTUOTANTO JA OHJELMISTOTESTAUS Ohjelmistotuotannon prosessi Suunnittelu Määrittely Toteutus Tarkastus Käyttöönotto Ohjelmistotestauksen prosessi Esitestaus Testauksen suunnittelu, testattavuuden arviointi Testaus eri tasoissa, regressiotestaus Käyttöönotto / hyväksymistestaus / Betatestaus Hotfixien, laajennusten testaus

TESTAUS HYVIN LYHYESTI Miten normaali testaajan arki ohjelmistoprojektissa sitten rullaa? Käytännössä testauksessa on aina kolme tahoa: Testauksesta vastaava esimies (projektipäällikkö, testipäällikkö tjs.) Testaaja Kehittäjät Lisäksi testauksessa on aina kolme asiakokonaisuutta: Testaussuunnitelma (miten testataan) Testitapaukset (asiat joita pitää kokeilla) Testiraportti (yhteenveto siitä miten asiat sujui sekä siitä mitä tehtiin.)

TESTAUS HYVIN LYHYESTI 1. Testipäällikkö, kehittäjät ja testaajat luovat testaussuunnitelman ja ensimmäiset testitapaukset teknisten suunnitelmien pohjalta jotta työt päästään aloittamaan. 2. Kehittäjät toteuttavat järjestelmään komponentteja, sekä tekevät niiden yksikkötestauksen. 3. Testaajat ja kehittäjät suunnittelevat järjestelmään täydentäviä testitapauksia sen pohjalta miten tuote lähtee toteutumaan. 4. Testaajat kokeilevat komponentteja tehdyillä testitapauksilla, ja jos jokin ei toimi, kirjoittavat niistä ilmoituksen kehittäjille. 5. Kehittäjät ottavat saadut ilmoitukset työn alle ja korjaavat viat kriittisimmistä ja riskialttiimmista aloittaen. 6. Kehittäjät tuottavat samaan aikaan lisää uusia komponentteja. 7. Sitä mukaa kun komponentteja valmistuu, niitä liitetään projektiin samalla integrointitestausta tehden. Jos jokin ei toimi, siitä tehdään uusi testitapaus.

TESTAUS HYVIN LYHYESTI 8. Kun kaikki komponentit on tehty ja integroitu, siirrytään testaamaan järjestelmää kokonaisuutena. Jos vikoja löytyy, siitä tehdään testitapauksia jatkoa varten. 9. Kun kaikki merkittävät viat on korjattu, siirrytään hyväksymistestaukseen. 10. Jos hyväksymistestauksessa löytyy ongelmia, niistä tehdään testitapaukset ja ne korjataan. 11. Kun asiakas, hyväksyjä tai vastaanottaja on tyytyväinen järjestelmään, se on valmistunut. 12. Laaditaan loppuraportti; dokumentit, lähdekoodi ja muut osat talletetaan ylläpitoa, korjauksia sekä jatkoprojekteja varten. 13. Jos tuotteeseen tehdään päivityksiä, lisäyksiä tai korjauksia, tapahtuu samat asiat mutta pienemmässä mittakaavassa; alkuperäiset testitapaukset säilytetään osana regressiotestejä.

MITÄ TÄSTÄ LUENNOSTA PITÄÄ MUISTAA? Ohjelmistoja voidaan tuottaa eri tavoilla; testauksen menetelmät samoja eri prosessimallien välillä. Testaus ei käytännössä ole pelkästään mekaaninen vaihe kehitystyön yhteydessä, vaikka termi teoriassa sitä tarkoittaisikin. Puhuttaessa testauksesta puhutaan yleisemmin laadunvarmennuksesta ja ylipäänsä suunnitteluvirheiden tapahtumisen estämisestä. Verifiointi (kirjakielessä todentaminen) == tuote on tehty oikein Validointi (kirjakielessä kelpuutus) == on tehty oikea tuote Mitä tästä kurssista pitää muistaa? :: Jos ei muuta, niin TESTAUS HYVIN LYHYESTI kalvot.

ENSI KERRALLA Testaustasot Harjoituksissa tehtäviä liittyen yksikkötasolla testaamiseen ja testaamisen tekemiseen yleisesti. Harjoitusryhmät Tiistai klo 12-14 luokka 4405 Keskiviikko klo 12-14 luokka 4405 Ei erillistä ilmoittautumista, sama sisältö molemmissa ryhmissä.