Ohjelmiston testaus ja laatu. Testaus yleistä

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

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

Kuopio Testausraportti Asiakkaat-osakokonaisuus

Testaustyökalut. Luento 11 Antti-Pekka Tuovinen. Faculty of Science Department of Computer Science

PROJEKTIN OHJAUS JA SEURANTA JOUNI HUOTARI, ESA SALMIKANGAS

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

Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle

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

Ohjelmiston testaus. Osa materiaalista on Arto Stenbergin aineistosta Hannu Asmala. Hannu Asmala 1

Ohjelmiston testaus ja laatu. Testaustasot

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

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

Harjoitustyön testaus. Juha Taina

Lohtu-projekti. Testaussuunnitelma

Project-TOP QUALITY GATE

58160 Ohjelmoinnin harjoitustyö

Ohjelmiston testaus ja laatu. Testausmenetelmiä

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Ohjelmistotestaus -09

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

tsoft Tarkastusmenettelyt ja katselmukset Johdanto Vesa Tenhunen

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

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

Convergence of messaging

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

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

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Onnistunut Vaatimuspohjainen Testaus

TARKASTUSMENETTELYT JA NIIDEN APUVÄLINETUKI

Ohjelmiston testaussuunnitelma

Ohjelmistojen testaus

T Testiraportti - järjestelmätestaus

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

Dynaaminen analyysi I

1 Tehtävän kuvaus ja analysointi

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2016

TAMPEREEN TEKNILLINEN YLIOPISTO

Yksikkötestaus. Kattava testaus. Moduulitestaus. Ohjelman testaus. yksikkotestaus/ Seija Lahtinen

Ohjelmistojen testaus ja virheenjäljitys

Muistitutkimuksiin liittyvistä testeistä Tarja niittymäki

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

Testaussuunnitelma Labra

Luotettavuuden mittaamisesta. Ilkka Norros ja Urho Pulkkinen

Sopisiko testiautomaatio yritykseesi juuri nyt? Testiautomaation soveltuvuuden arviointiopas

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Toiminnan laadunvarmistus SYSTEEMITYÖ. Laatu

Kuopio Testausraportti Kalenterimoduulin integraatio

Antti Ylä-Jarkko. Miten oppijan palveluita rakennetaan

Määrittelydokumentti NJC2. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

4. Verifiointi ja validointi. Kevät 2005 Empiirinen ohjelmistotutkimus / Taina. Kevät 2005 Empiirinen ohjelmistotutkimus / Taina

Työkalujen yleinen arkkitehtuuri. Ylläpitoon liittyvät työkalut. Ylläpitotehtävien mukaiset työkalut. Työkalujen jaotteluperusteita

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

TIE Ohjelmistojen testaus Harjoitustyön esittely osa 2: Vaiheet 3 & 4. Antti Jääskeläinen Matti Vuori

Ohjelmistotuotanto s

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

Ohjelmistotestauksen perusteita II

Sisällys. 12. Monimuotoisuus. Johdanto. Alityypitys. Johdanto. Periytymismekanismi määrittää alityypityksen.

Kontrollipolkujen määrä

Kausiveroilmoitusten ja arvonlisäveron yhteenvetoilmoitusten korjausmenettelyn muutos. Ennakkotietoa

Dynaaminen analyysi IV

TESTIRAPORTTI - XMLREADER LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0

Dynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen

ELM GROUP 04. Teemu Laakso Henrik Talarmo

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

Dynaaminen analyysi III Luento 5 Antti-Pekka Tuovinen

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

Laadunvarmistustekniikat

Dynaaminen analyysi III

Ohjelmistotestauksen perusteita I Luento 1 Antti-Pekka Tuovinen

T Tietojenkäsittelyopin ohjelmatyö. Testisarja Ray tracing. Tietokonegrafiikka-algoritmien visualisointi. Testisarja Ray tracing

Ohjelmiston toteutussuunnitelma

@Tampereen Testauspäivät ( )

TESTIRAPORTTI - XMLREADER-LUOKKA Virtuaaliyhteisöjen muodostaminen Versio 1.0 (luonnos 2)

Dynaaminen analyysi II

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

JUnit ja EasyMock (TilaustenKäsittely)

Vakuutusyhtiöiden testausinfo

Ohjelmistotuotanto, verifiointi ja validointi Syksy Verifioinnin ja validoinnin ero. 7. Verifiointi ja validointi

815338A Ohjelmointikielten periaatteet Harjoitus 3 vastaukset

AS C-ohjelmoinnin peruskurssi 2013: C-kieli käytännössä ja erot Pythoniin

Dynaaminen analyysi II Luento 4 Antti-Pekka Tuovinen

TAMPEREEN TEKNILLINEN YLIOPISTO

T SEPA - STAATTISET MENETELMÄT Tuomas Tolvanen, 55382U Timo Töyry, 58578B

SHY Turun paikallisosasto seminaariristeily EN sertifiointi

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

LAATU, LAADUNVARMISTUS JA f RISKIEN HALLINTA JOUNI HUOTARI ESA SALMIKANGAS PÄIVITETTY

TAITAJA 2007 ELEKTRONIIKKAFINAALI KILPAILIJAN TEHTÄVÄT. Kilpailijan nimi / Nro:

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Ylläpitodokumentti Mooan

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

LAATU, LAADUNVARMISTUS JA f RISKIEN HALLINTA JOUNI HUOTARI ESA SALMIKANGAS

Testaussuunnitelmat. Luennon tavoitteista. Motivointia. Haikala ja Märijärvi, Ohjelmistotuotanto. Pressman, Software Engineering

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

TILASTOLLINEN LAADUNVALVONTA

II- luento. Etiikan määritelmiä. Eettisen ajattelu ja käytänteet. 1 Etiikka on oikean ja väärän tutkimusta

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

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

Ohjelmistotuotantoprojekti

SEPA diary. Dokumentti: SEPA_diary_PK_HS.doc Päiväys: Projekti: AgileElephant Versio: V0.3

Transkriptio:

Ohjelmiston testaus ja laatu Testaus yleistä

Määritelmä Testaus on systemaattinen lähestymistapa ohjelmistoissa esiintyvien virheiden löytämiseksi ohjelmaa suorittamalla. Testattaessa pyritään luomaan kattavia testitapausjoukkoja ja löytämään menetelmiä, joilla ohjelmissa esiintyvät virheet saadaan selvitettyä taloudellisesti ja ohjelman toiminta mahdollisimman luotettavaksi. Ohjelmien testauksen kokonaisuuden hallintaan on tehty erilaisia apuvälineitä: testaustyökaluja ja testausprosessin hallintaohjelmistoja. Testauksen tarkoituksena periaatteessa on osoittaa, että ohjelma toimii tai toisin päin, että ohjelma ei toimi, kuten sen pitäisi. Testausta suoritettaessa on hyväksyttävä se tosiasia, että kaikkia ohjelmistossa esiintyviä virheitä ei kyetä saamaan esiin, johtuen ohjelmistojen laajuudesta ja suorituspolkujen moninaisuudesta. Ohjelman toiminta voidaan todistaa oikeelliseksi vain äärimmäisen triviaaleissa tapauksissa. Kysymyksiä Toimiiko ohjelma väärin suhteessa määrittelyynsä? Toimiiko ohjelma eri ympäristöissä? Tekeekö ohjelma sitä, mitä sen pitäisi? Tekeekö ohjelma sitä mitä sen ei pitäisi tehdä?

Käsitteitä - 1 virhe Havaittu eroavaisuus ohjelmiston toiminnassa ja sille tuotetuissa määrityksissä. Virheet voidaan jakaa kääntäjän kannalta katsoen käännöksenaikaisiin (syntaksinen virhe), ajon-aikaisiin (semanttinen virhe) ja loogisiin virheisiin. Testauksen vaihemallin mukaan virheet voidaan jakaa virheelliseen vaatimusten määrittelyyn, suunnitteluvirheisiin ja ohjelmointivirheisiin verifiointi Tarkoittaa ohjelman oikeellisuuden ja oikean toiminnan todentamista. validointi Tarkoittaa varmennusta, että toteutettava järjestelmä vastaa loppukäyttäjän tarpeita. virheidenpoisto l. debuggaus Prosessi, jonka tarkoituksena on löytää ja poistaa virheiden syitä ja aiheuttajia ohjelmakoodista. staattinen testaus Ohjelmiston testausta ilman, että ohjelmakoodia suoritetaan. Koodin analysointi voidaan suorittaa joko käsin tai automaattisesti staattisen analyysin työkalulla. Menettelyllä pyritään löytämään tutkittavasta ohjelmakoodista loogisia-, suunnittelu- ja koodausvirheitä. Ohjelmakoodin tarkastelu manuaalisesti tapahtuu koodin tarkastuksessa (inspection), katselmuksessa (review) ja läpikäyntitilaisuuksissa (walkthrough) tai ohjelmoijan itse suorittamissa pöytätestauksissa (desk checking)

Käsitteitä - 2 esimerkkejä staattisesta testauksesta funktiokutsussa parametrien tyypit parametrien käyttö (esim. parametrien väärä lukumäärä) funktion paluuarvon tyyppi samannimiset muuttujat/muuttujan uudelleen määrittely onko ohjelmakoodia, jota ei suoriteta koskaan käytetäänkö esiteltyä muuttujaa onko muuttujaa esitelty ennen käyttöä käytetäänkö esiteltyä funktiota muuttujaan sijoitettavan arvon tyyppi osoittimien ja indeksien käyttö (esim. viittaukset määriteltyjen rajojen ulkopuolelle) dynaaminen testaus Komponentin tai ohjelmiston testausta itse ohjelman tai sen osan suorituksen aikana ja perusteella Apuvälineinä olevat dynaamiset virheenjäljitysohjelmat, kuten debuggerit testattavuus Ohjelmiston testattavuudella mitataan ohjelmiston kykyä paljastaa omat virheensä ohjelmakoodissa, komponenteissa tai vaatimuksissa

Testausvaiheet ja tehtävät Testi tapausten tuottaminen testausvaiheiden tehtävät testitapaukset Testi tapausten ajo virheet / virheen oireet Virheen paikantaminen Virheen korjaus Korjausten testaus testaus virheen poistaminen debuggaus

Testauksen käytännön olettamuksia täydellinen testaus vaatii kaikkien ohjelmarivien ja kaikkien eri toimintojen kombinaatioiden testaamisen vie aikaa ja on kallista mahdotonta testaus on vaihtokauppaa luotettavuus vs. kustannukset & aikataulu testauksessa silmä näkee, mitä se haluaa miten tehdään ja kuka tekee luotettavaa testausta ohjelman tekijä ei saisi olla ainoa testaaja systeemin tehnyt ryhmä ei saisi olla ainoa testaajaryhmä testistä saatavat tulokset tulee tutkia tarkkaan, jotta ei jää huomaamatta virheitä testitapauksissa tulee olla kelvollisia ja kelvottomia syötteitä ei riitä, että ohjelma tekee sitä, mitä sen pitääkin tehdä. Se ei saa tehdä sitä, mitä sen ei pitäisikään tehdä testaukselle varattava aikaa, jotta dokumentointi ja korjaus onnistuu

Katselmointi Vaatimus-, määrittely- ja suunnitteludokumenttien teon jälkeen katselmukset Katselmuskäytäntö kuvataan projektisuunnitelmassa tai projektitasoisessa testaussuunnitelmassa (mitä, kuka, milloin ja miten?) Testauksen kannalta oleellisia ovat määrittely- ja suunnitteludokumenttien sekä testaussuunnitelman ja testitapausten katselmoinnit katselmuspalaveri puheenjohtaja ja sihteeri pysytään asiassa tarkastuslistojen käyttö lisää tehokkuutta päätökset kirjataan ylös (hyväksyminen, ehdollinen hyväksyminen (havaitut virheet korjattava), uusintakatselmus Kestää enintään 2 tuntia

Onnistunut testaus vaatii Testausmenetelmien ja välineiden asiantuntemuksen Selkeät tavoitteet Testaussuunnitteluun panostamisen Tarvittavien henkilöresurssien olemassa olon Testausprojektin tuloksien seurannan ja toteuttamisen Testausprojektin hyvän vaiheistuksen ja välietapit Sovittujen pelisääntöjen tiedottamisen Suunnitellun ja toimivan muutos- ja virhehallinnan

Harjoitus Laadi testitapaukset ohjelmalle, jossa päätteeltä kysytään kolme lukua (= kolmion sivujen mitat). Ohjelma tulostaa onko kolmio NRO Testitapaus Mitä testataan Odotettu tulos Todellinen tulos tasasivuinen tasakylkinen eri sivuinen syöttötiedot epäkelvot