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



Samankaltaiset tiedostot
Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

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

Tehokas vianetsintä taktiikoita testaajille

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

Ohjelmistojen mallintaminen. Luento 11, 7.12.

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

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

@Tampereen Testauspäivät ( )

Kontrollipolkujen määrä

Testaajan eettiset periaatteet

Convergence of messaging

Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle

Rinnakkaisten ohjelmien testaus Keskeisiä periaatteita ja strategioita

Testaus elinkaaressa

Ohjelmiston testaus ja laatu. Testaustasot

Tapahtuipa Testaajalle...

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2016

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

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

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

Kuopio Testausraportti Asiakkaat-osakokonaisuus

Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg

58160 Ohjelmoinnin harjoitustyö

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

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

Automaattinen yksikkötestaus

LAATURAPORTTI Iteraatio 1

Testaus ja säästöt: Ajatuksia testauksen selviämisestä lama-aikana

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Noin 80 ajatusta testiautomaatiosta

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

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

Ohjelmistotekniikka - Luento 2

Tietopohjainen testaus ja silmien avaaminen kohteen ilmiöille

Testaussuunnitelma PULSU. Syksy 2008 Ohjelmistotuotantoprojekti. HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

TDD Käytännössä Todellinen työkalu vai lehmipoikien laukkaa? Harri Kulmala Solita Oy

Ohjelmistotekniikka - Luento 2 Jouni Lappalainen

Ohjelmistotuotantoprojekti

TESTIRAPORTTI - VYM JA KANTA Virtuaaliyhteisöjen muodostaminen Versio 1.0

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

Ohjelmiston testaussuunnitelma

Harjoituskoe Vastaukset. ISTQB Ketterä testaaja 2015 Perustason sertifikaattisisällön laajennus

Tutkittua tietoa. Tutkittua tietoa 1

Ajatuksia ketterästä ohjelmistokehityksestä ja laadusta

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

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

KONEAUTOMAATION LAATU JA TURVALLISUUS Marko Varpunen

10. Tarkastukset. Tarkastusten rakenne

Tarkastusten rakenne. 10. Tarkastukset. Tuotoksen tekijän rooli. Tarkastustiimi. Tarkastusprosessin vaiheet. Tarkastusprosessi

Dynaaminen analyysi IV

Project-TOP QUALITY GATE

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Laaturaportti [iteraatio 2] Ryhmä 14

ITK130 Ohjelmistojen luonne

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

Sopisiko testiautomaatio yritykseesi juuri nyt? Testiautomaation soveltuvuuden arviointiopas

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

Onnistunut ohjelmistoprojekti

Kahdenlaista testauksen tehokkuutta

Testauspäällikön tarinoita Arto Stenberg

Versio Päiväys Tekijä Kuvaus Tikkanen varsinainen versio

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

Perustaso HARJOITUSKOE Sertifikaattisisältö versio 2010 Harjoituskoe versio 2011

Suomi.fi - Tietoturvallisuus sovelluskehityksessä. VAHTI sähköisen asioinnin tietoturvaseminaari

Ohjelmistotestauksen perusteita II

Käytettävyyslaatumallin rakentaminen verkkosivustolle

Dynaaminen analyysi IV Luento 6 Antti-Pekka Tuovinen

Testausraportti v1.0. HOHTO - Henkilöstön osaamisen hallinnan työkalu

A4.1 Projektityö, 5 ov.

Good Minton QA Raportti Iteraatio 1 Sulkapalloliiton Kilpailujärjestelmä

Hirviö Laadunvarmistussuunnitelma

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

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

Julkaisemattomia koulutusmateriaaleja

Onnistunut Vaatimuspohjainen Testaus

SEPA-päiväkirja: Käytettävyystestaus & Heuristinen testaus

TOIMINNALLINEN MÄÄRITTELY MS

Kuinka IdM-hanke pidetään raiteillaan

T Testiraportti - järjestelmätestaus

KÄYTETTÄVYYSTESTAUS OSANA KETTERÄÄ KEHITYSTÄ

COTOOL dokumentaatio Testausdokumentit

Menestyksekäs hyväksymistestaus

Harjoituskoe. ISTQB Perustaso sertifikaattisisältö

Kurssin tavoitteista uennot. 4.1 Projektityö, 5 ov. Esitietovaatimukset

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

L models. Testisuunnitelma. Ryhmä Rajoitteiset

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Testaussuunnitelma Labra

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

Santeri Saarinen Korjattu testaustasoja ja tehty tarkennuksia I1-testaukseen

Tietojärjestelmän osat

Laadunvarmistuksen suunnitelma. Ryhmä ExtraTerrestriaLs Aureolis Oy

JHS XXX ICT-palvelujen kehittäminen: Laadunvarmistus Liite 6: Katselmointi

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

IEC sisältö ja rakenne

Testauskulttuuri ja testausosaaminen

Ohjelmiston testaus ja laatu. Testausmenetelmiä

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

Transkriptio:

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 testaus sinänsä 5 Testaus tuottaa tietoa laadusta 6 ja muutakin tietoa 7 Asenne testaukseen bugi on iloinen asia! 8 Koska testataan? 9 Mitä kaikkea pitää testata 10 Laatu syntyy kahdesta suunnasta 12 Testauksen taktiikoita 13 Testausta pitää suunnitella 14 ja muuttaa suunnitelmia 15 Testaus on vain yksi laadunvarmistuksen tapa 16 Testattavuus 17

Sisällysluettelo 2/2 Hyvä testaus on monimuotoista 18 Konteksti vaikuttaa testaukseen 19 Testiautomaatiosta apua? 20 Testauksesta pitää jäädä jälki 21 Muuta 22 Top 10 pointit 23

4(23) Esityksen tarkoitus Nostaa esille tärkeimpiä asioita ohjelmistoprojektissa tehtävästä testauksesta Avata testauksen ajattelumalleja niille, joille se on vierasta Muistuttaa aihetta jo tuntevia perusasioista (ja varmaan esillä on muutama uusikin asia) Kannustaa testaukseen se on hienoa ja tärkeää!

5(23) Laatu on tärkeää, ei testaus sinänsä Softien pitää olla riittävän laadukkaita Käyttäjän kannalta Maksavan asiakkaan kannalta Tuoteliiketoiminnan kannalta Oman ammatillisen eheyden kannalta ammattilainen tekee hyvää työtä Mitä kaikkea tapahtuu, jos laatu ei ole kunnossa: Ohjelmistojen ongelmia poimintoja mediasta http://www.mattivuori.net/extra/ohjelmistojen_ongelmia_mediassa.pdf

6(23) Testaus tuottaa tietoa laadusta Mikä toimii, mikä ei Mitä voi ja pitää korjata Millaisia vikoja on osviittaa niiden jäljittämiseen Millainen on tuotteen kokonaistilanne Tietoa päätöksenteon tueksi Onko tuote riittävän kypsä päästettäväksi myyntiin tai toimitettavaksi asiakkaalle Lanseerauksen riskit

7(23) ja muutakin tietoa Testauksen avulla opitaan ymmärtämään ohjelmistoa Toimiiko sen logiikka oikeasti niin kuin on ajateltu Testaamalla voidaan selvittää mm. Käyttäjien toimintaa (käytettävyystestit) Preferenssejä millaiset ratkaisut tuntuvat parhailta Softan toimintaa vaikkapa kuormitettuna Uuden teknologian soveltuvuutta tarkoitukseen

Asenne testaukseen bugi on iloinen asia! 8(23) Testaus ei ole välttämätön paha, vaan välttämätön hyvä! Testaus ei ole mekanistista rutiinityötä, vaan intellektuaalista, luovaa aivotyötä Monet suhtautuvat siihen aivan intohimoisesti. Syitä ks. http://www.mattivuori.net/julkaisuluettelo/liitteet/tyo_intohimona.pdf Testauksessa ollaan raakoja, ideana on löytää bugeja rikkomalla softa Testaus on yhteinen asia, koskee kaikkia projektissa Agilessa toiminto on "done", vasta kun se on testattu Jokainen bugi on tärkeää uutta tietoa bugitiedosta pitää iloita Bugeja ei pidä ottaa henkilökohtaisesti oppikaa niistä yhdessä

9(23) Koska testataan? Löydetyt virheet pitää ehtiä korjaamaankin Testausta ei saa jättää projektin loppuun Silloin ovat aika ja rahat loppuneet Testausta pitää alkaa tehdä heti, kun on jotain testattavaa Niinpä pitää tuottaa nopeasti jotain testattavaa: esim. tärkeimmät toiminnot, jotka pitää saada ensin kuntoon, tsekkaus, että uusi teknologia toimii oikeasti jne Ja tehdä testausta koko ajan kaikilla tasoilla Koodille, käyttöliittymän kautta

10(23) Mitä kaikkea pitää testata 1/2 Testauksella pitää löytää ennen kaikkea isoimmat ongelmat Mihin asioihin liittyy isoin riski? Eniten käytetyt toiminnot Asiat, joiden on pakko toimia kunnolla tai tapahtuu jotain ikävää (fyysinen turvallisuus, tietoturvallisuus, raha-asiat) Pakolliset testattavat asiat pakottavat standardit Uudet asiat uusi tekniikka, uusi koodaaja Riskianalyysissä mietittävä riskejä asiakkaan kannalta

11(23) Mitä kaikkea pitää testata 2/2 Laatumalli mitä kaikkia ominaisuuksia tarvitaan, mikä on oleellista? Mietittävä kaikki laadun osatekijät, jotta kaikki tärkeä voidaan "varmistaa" eikä mitään unohdu Toiminnallisuus, käytettävyys, tietoturvallisuus, suorituskyky, luotettavuus, lokalisointi, yhteensopivuus ja -toimivuus Kaikkea ei aina testata, vaan varmistetaan katselmoinneilla ja muilla keinoilla (ylläpidettävyys, siirrettävyys)

12(23) Laatu syntyy kahdesta suunnasta Tuotteen tarkastelu top-down Bisnesprosessit, käyttötapaukset, käyttäjätarinat, toiminnot Järjestelmätestaus Hyvä koodi Oikein toimiva, robusti koodi, joka kestää mitä tahansa Vakaa alusta toimintojen kehittelylle Yksikkö- ja integrointitestaus

13(23) Testauksen taktiikoita Tunne realistinen softan ympäristö ja liioittele kaikkea Pyri rikkomaan softa Samaan aikaan keskittyminen ja avoimuus uusille havainnoille Muista, että bugeja on aina, ne pitää vain luovasti kaivaa esille

14(23) Testausta pitää suunnitella Projektin päätestaussuunnitelma tai projektisuunnitelman osa Miten projektissa aiotaan hoitaa testaus Vastuut Resursointi Työkalut, laitteet Erityiset suunnitelmat erityisille testaustehtäville Käytettävyystestaus, tietoturvatestaus, suorituskykytestaus Suunnitelmien ei tarvitse olla pitkiä tärkeintä on yhteinen ymmärrys Koska softa muuttuu matkan varrella, ei detaljeja kannata suunnitella liian aikaisin

15(23) ja muuttaa suunnitelmia Kun softan suunnitelmat muuttuvat, pitää testauksenkin suunnitelmia muuttaa Jokin osa-alue voi osoittautua ongelmalliseksi ja sen testaamiseen pitää panostaa enemmän Voidaan huomata, että testaukseen ylipäätään kannattaa laittaa enemmän resursseja (ehkä joskus toisinkin päin) Ylipäätään: tilannetta pitää seurata ja mukautua muutoksiin olipa projektimalli ketterä tai ei

Testaus on vain yksi laadunvarmistuksen tapa 16(23) Hyvä laatu syntyy monien toimintamallien yhteispelillä Testauksen ohella tarvitaan muunlaista hyvää työtä Hyvää suunnittelua Katselmointeja ja tarkastuksia Koodin staattista analyysiä Jne

17(23) Testattavuus Miten helppo softaa on testata? Unohtuu "aina" Arkkitehtuuri Rajapinnat Käyttöliittymän automatisoitavuus Jne

18(23) Hyvä testaus on monimuotoista Systemaattinen, suunniteltu testaus Istuminen alas ja miettiminen, mitä asioita pitää testata suunnitelmallisesti, tarkasti, testitapauksiakin suunnitellen (tietty syöte tuleeko tietty tulos) Perustuu usein spekseihin Tutkiva testaus Tuotteen ottaminen vastaan "as is" Tutustuminen avoimin mielin uusiin toimintoihin Eteneminen havaintojen ja testaajan vainun varassa.edellyttää osaamista Regressiotestaus eihän mitään ole rikottu, kun softaa on kehitetty, muutettu, korjattu?

19(23) Konteksti vaikuttaa testaukseen Tietysti: Isoja turvallisuuskriittisiä järjestelmiä pitää testata eri tavalla kuin pieniä apuohjelmia Ei ole "yhden koon" testausprosesseja tai menettelyjä Vaikuttavia asioita Projektin vaadittu kriittisyys/eheystaso (miten turvallinen, luotettava) Pakolliset standardit Kokonaislaatu mikä on oleellista Laatutavoitteet Elinkaarimalli Projektin organisointi Teknologia ja testattavuus Kulttuuri, tottumukset, odotukset Budjetti Aikataulu Jne

20(23) Testiautomaatiosta apua? Automaatio kannattaa vain, jos testejä toistetaan samanlaisina monta kertaa Automaatio ei auta, jos testit ovat huonoja (johtajia voi toki hämätä kertomalla testi automaateista) Ensin opeteltava testaamaan hyvin manuaalisesti Yksikkötestit ovat tärkeä automatisointikohde Ne ovat turvaverkko koodia refaktoroidessa, kehitettäessä, muutettaessa

21(23) Testauksesta pitää jäädä jälki Bugit kannattaa kirjata ylös, jotta niistä saadaan tieto kaikille ja ne eivät unohdu Merkitään korjaukset, mutta historiatietoa ei kannata hävittää

Muuta 22(23) OHJ-3060 Ohjelmistojen testaus (syksyllä 2012) http://www.cs.tut.fi/~testaus/s2012/

23(23) Top 10 pointit 1. Testaus pitää ottaa vakavasti, mutta siitä pitää iloita 2. Testaus on osa kypsän softakehittäjän arkista toimintaa 3. Aloita testaus aikaisin ja tee sitä jatkuvasti 4. Testaukseen pitää olla aikaa vasta testattu on "done" 5. Ymmärrä käyttöä ja tuotteen riskejä 6. Priorisoi testausta ja panosta tärkeimpien asioiden testaukseen 7. Kehittäjän ja käyttäjän ajattelumallit ovat aina erilaiset hyväksymistestaus on asiakkaan asia ja haaste 8. Testauksessa ei ole hopealuoteja 9. Hyvä testaus on monimuotoista 10. Testaustavat pitää sovittaa kontekstiin, projektin kriittiisyyteen ja tuotteen vaatimuksiin