Testauksen piirteiden kehityskaaria huippujuttuja ja uusia sudenkuoppia (2010)

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

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

Testauksen hallinta Testaustyökalut Luento 7 Antti-Pekka Tuovinen

Hyväksymistestauksen tarkistuslista järjestelmän hankkijalle

Testaajan eettiset periaatteet

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2016

Julkaisemattomia koulutusmateriaaleja

Ohjelmistojen virheistä

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

Tapahtuipa Testaajalle...

Ohjelmiston testaus ja laatu. Ohjelmistotekniikka elinkaarimallit

UCOT-Sovellusprojekti. Testausraportti

Testauksen hallintaa teekkareille (ja muille kiinnostuneille) Arto Stenberg

Ohjelmiston testaus ja laatu. Testaustasot

Ohjelmistotestaus -09

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

Turvakriittisen projektin menetelmät ja työkalut

Ohjelmistojen mallintaminen. Luento 11, 7.12.

Testiautomaatio tietovarastossa. Automaattisen regressiotestauksen periaate ja hyödyt

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

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

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

KONEAUTOMAATION LAATU JA TURVALLISUUS Marko Varpunen

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

Testaaminen ohjelmiston kehitysprosessin aikana

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Testausraportti. Oppimistavoitteiden hallintajärjestelmä harri

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

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Tehokas vianetsintä taktiikoita testaajille

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

Avoimen lähdekoodin ohjelmien käytettävyydestä

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

Onnistunut SAP-projekti laadunvarmistuksen keinoin

Työkalut ohjelmistokehityksen tukena

Ketterä vaatimustenhallinta

Suomen avoimien tietojärjestelmien keskus COSS ry

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

Paketoidut toiminnanohjausratkaisut projektiorganisaatioille. Jan Malmström Mepco Oy

Project-TOP QUALITY GATE

Ohjelmistotuotantoprojekti

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

@Tampereen Testauspäivät ( )

Ohjelmointitekniikka lyhyesti Survival Kit 1 Evtek KA ELINKAARIMALLEISTA

Fujitsu SPICE Lite. Kimmo Vaikkola Fujitsu Finland Oy Laatu ja liiketoimintatavat. Copyright 2010 FUJITSU

Σ!3674. Advanced Test Automation for Complex Software-Intensive Systems

Noin 80 ajatusta testiautomaatiosta

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

Testausoppeja toimialavaihdoksesta

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

Testataanko huomenna?

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

Erilaisia tapoja tehdä ohjelmistokehitystä eli miten luoda ketteryyttä ja ennakkosuunnittelua oikeisiin paikkoihin

Rinnakkaisten ohjelmien testaus Keskeisiä periaatteita ja strategioita

Suomen avoimien tietojärjestelmien keskus COSS ry

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Ohjelmiston testaussuunnitelma

Open source uusia mahdollisuuksia operaattoreille

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

Automaattinen yksikkötestaus

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

Advanced Test Automation for Complex Software-Intensive Systems

Ajatuksia ketterästä ohjelmistokehityksestä ja laadusta

Järjestelmäintegroinnin. lähitulevaisuus. Senkun asennetaan osajärjestelmät yhteen ja se on siinä? Tampereen Testauspäivä , TTY

Lokalisointitestaus. Matti Vuori, 1(17)

T Projektikatselmus

Opiskelija osaa määritellä ohjelmiston tiedot ja toiminnot, suunnitella ohjelmiston rakenteen ja laatia ohjelmiston teknisen spesifikaation.

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

Kuopio Testausraportti Asiakkaat-osakokonaisuus

IEC sisältö ja rakenne

Onnistunut Vaatimuspohjainen Testaus

Testauksen hallinta ja johtaminen

Kontrollipolkujen määrä

Ohjelmistotuotteen hallinnasta

Projektisuunnitelma Viulu

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

Työ intohimona caseina testaus, käytettävyys ja riskienhallinta

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

Projektin suunnittelu

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

Soveltuvuustutkimus Lifebelt-ohjelman ideologian käytettävyydestä olioorientoituneeseen

Onnistunut ohjelmistoprojekti

Convergence of messaging

Copyright by Haikala. Ohjelmistotuotannon osa-alueet

CASE Varma Testauksen haasteet moniuloitteisessa testiympäristössä Tuukka Vähäpassi

AVOIN LÄHDEKOODI JA SEN MERKITYS LIIKETOIMINNASSA

Case: Avoimen lähdekoodin ohjelmistojen hyödyntäminen Lahdessa

WCLIQUE. Ohjelmistoprojekti. Testaussuunnitelma

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

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

CT60A4150 OHJELMISTOTESTAUKSEN PERUSTEET. Jussi Kasurinen Kevät 2015

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

Scrumjatkuvan palvelun DWprojektissa-case. Niina Mäkiranta & OP-scrum-tiimi Aureolis Oy

Oleelliset vaikeudet OT:ssa 1/2

Menetelmäraportti - Konfiguraationhallinta

Järjestelmäarkkitehtuuri (TK081702) Avoimet web-rajapinnat

Ohjelmistotekniikka - Luento 2

Ketterä testaus ja testaus ketterässä ohjelmistokehityksessä

Testaus elinkaaressa. Testaustasot ja vaiheet

Transkriptio:

Testauksen piirteiden kehityskaaria huippujuttuja ja uusia sudenkuoppia (2010) Testauksen maailma on muuttunut vuosien varrella ja kehittynyt valtavasti. Mutta mitkä kaikki asiat ovat muuttuneet ja millaisia kehityskulkuja? Miltä näyttää nykypäivä? Mitä hienoja asioita on syntynyt? Onko kenties syntynyt jotain arveluttavia asioita? Matti Vuori, www.mattivuori.net 12.4.2010 1(90)

Sisällysluettelo 1/6 Testaus kehittyy huomaamatta 8 Vastuuvapautuslauseke 9 Testaus kehittyy ohjelmistokehityksen mukana 10 Ohjelmistokehityksen karikatyyriset vaiheet 11 Taustalla isoja asioita 16 Ja pieniä 17 Testauksen piirteiden kehityskaaria 18 KOKONAISKUVA 19 TESTAUKSEN TOIMINTAYMPÄRISTÖ JA ROOLI 20 Rooli ohjelmistotuotannossa 21 Rooli tietojärjestelmän tilaajan näkökulmasta 22 Laatuajattelun kehittyminen kerroksittain 23 Testauksen asema laadunvarmistuskeinojen valikoimassa 24 Aikakauden pahin hype 25

Sisällysluettelo 2/6 Testauksen hienot asiat 26 Virheet ja laatunäkemys 27 Virheiden julkisuus ja testauksen kritiikki 28 Organisointi 29 Testauksen ekosysteemin toimijat 30 Testauksen toimittaja, lokaatiot ja kulttuuri 31 Megatrendi: Yhteisöllisyys 32 Megatrendi: Kaikessa läsnäoleva tietotekniikka 33 Ilmiö: Postmoderni organisaatio 34 TESTATTAVAT JÄRJESTELMÄT 35 Teknologiat ja testattavuus 36 Vaatimukset 37 Avoimet teknologiat 38 TESTAUSSTRATEGIAT 39

Sisällysluettelo 3/6 Lähestymistapa 40 Ohjelmiston vaatimusten huomioon ottaminen 41 Testauksen ajoitus 42 PROSESSIT JA MITTARIT 43 Näkemys hyvästä testauksesta 44 Yksikkötestaus 45 Testausaineistojen hallinta 46 Testidatan luonne 47 Testaussuunnitelmat 48 Tärkeimmät formaalit kielet testauksessa 49 Raportointi 50 Viestinnän tietovarastot 51 Matalan tason integrointitestaus 52 Tietojärjestelmän kuormitustestaus 53

Sisällysluettelo 4/6 Käytettävyystestaus 54 Lokalisointitestaus 55 Tietoturvallisuustestaus 56 Regressiotestaus 57 Tietojärjestelmien testauksen kokonaisuus 58 Järjestelmäintegrointitestaus 59 Tietojärjestelmän hyväksymistestaus 60 Sulautettujen ohjelmistojen testaus 61 Testauksen kehittämisen driverit 62 Ketterän testauksen kehittyminen 63 Testauksen riskienhallinta 64 Testauspalvelut 65 Testauksen mittarit 66 Megatrendi: Globalisaatio 67

Sisällysluettelo 5/6 STANDARDIT JA KEHYSMALLIT 68 Standardit, kypsyysmallit ja kehysmallit 69 Testaajan sertifiointijärjestelmät 70 Megatrendi: Yhteisöllisyys 71 OSAAMINEN 72 Testausviisaus 73 Testausopetus 74 TOIMIJOIDEN ROOLI 75 Testaajan asema 76 Näkemys hyvän testaajan piirteistä 77 Testaajan keskeiset tietotarpeet 78 Testaajan paineet 79 Testaajan yhteisöt 80 Megatrendi: Viestinnän, yhteisöjen ja foorumien fragmentoituminen 81

Sisällysluettelo 6/6 Koodaajan suhde tuotoksiinsa 82 Koodaajan suhde testaukseen 83 VÄLINEET JA TESTAUSOHJELMISTOT 84 Testausohjelmistot 85 Näkemys hyvästä testiympäristöstä 86 Testiympäristöjen hankinta ja hallinta 87 Testausautomaation teknologiat 88 Megatrendi: Avoimet järjestelmät 89 Johtopäätöksiä 90

Testaus kehittyy huomaamatta Testauksen maailma on muuttunut vuosien varrella ja kehittynyt valtavasti. Mutta mitkä kaikki asiat ovat muuttuneet ja millaisia kehityskulkuja? Miltä näyttää nykypäivä? Mitä hienoja asioita on syntynyt? Onko kenties syntynyt jotain arveluttavia asioita? Nykypäivä on aina kovin triviaali. Edes innovaatioita ei näe siinä vaiheessa, kun ne ovat lyöneet itsensä läpi, koska silloin ne ovat jo arkea. Siksi onkin terveellistä tarkastella asioiden kehittymiskaaria kaukaa historiasta. Se auttaa arvostamaan nykypäivää ja huomaamaan muutoksen mahdollisuuden ja valmistautumaan seuraaviin askeleisiin ehkä aikaisemmin kuin muut. 8(90)

Vastuuvapautuslauseke Sivuhuomio tähän väliin Testauksen ja ohjelmistokehityksen maailma on niin monimuotoinen ja erilainen eri konteksteissa, että yksikään seuraavien sivujen asioista ja kaavioista ei ole kattava ja monessa kohtaa vedetäänkin mutkia suoriksi subjektiivisella tavalla Samoin koko kalvosetistä puuttuu useita monille lukijoille tärkeitä teemoja. Kenties tämä paranee tulevina vuosina, sillä kehityksen kuvauksia olisi aina tärkeää ylläpitää. Joten toivottavasti saadaan joskus päivitystä. 9(90)

Testaus kehittyy ohjelmistokehityksen mukana Testauksen muutoksessa on olennaista että se on tapahtunut ohjelmistokehityksen muutoksen myötä Vastaten ajan haasteisiin: prosessit, projektien laajuus, organisointitapa, hallittavuuden tarve jne Ohjelmistokehityksen kriisit ja niiden voittaminen Samalla on tietysti opittu nopeasti siitä, mitä testaus on ja mikä siinä on mahdollista Ja kaikki vain muutaman vuosikymmenen aikana Sillanrakentamista on opeteltu tuhansia vuosia eikä se tunnu vieläkään sujuvan Seuraavassa on muutamia karikatyyrinomaisia kehitysvaiheita, joiden kautta muutosta katsellaan 10(90)

Ohjelmistokehityksen karikatyyriset vaiheet 1/5 1. Yhden tekijän pienet ohjelmat <= 1980-luku 1 tekijä Muutama moduuli, kooditiedosto Kielinä RPG, COBOL, Fortran Ei prosessia kehityksessä eikä testauksessa Koodaaja tekee kaiken suoraan asiakkailleen Sankarikoodaajan työtä, taitopohjaista 11(90)

Ohjelmistokehityksen karikatyyriset vaiheet 2/5 2. Laajan ohjelman kehittäminen Tietojärjestelmät ja vastaavat 1980-luku --> Muutamia koodaajia Useita komponentteja Noudatetaan prosessia johdetusti Organisoituminen: päällikkö, työnjako Testaus debuggausta eli reaktiivista, myöhemmin proaktiivista 12(90)

Ohjelmistokehityksen karikatyyriset vaiheet 3/5 3. Hajautettu ohjelmistokehitys Usean osapuolen projektit Järjestelmien järjestelmät tai laajat ja kompleksit ohjelmistot 1990-luku --> Monta tiimiä, toisilleen vieraita Päämies valvoo Toimitusorientaatio Sovelletaan erilaisia systemaattisia prosesseja & elinkaarimalleja Testaus systemaattista, suunniteltua, osaavaa Erillisiä testaustiimejä (2000-luvulla) 13(90)

Ohjelmistokehityksen karikatyyriset vaiheet 4/5 4. Hajautettu ohjelmistokehitys ketterä aika Kuten #3, mutta ketterä projektinhallinta 2000-luku --> Testaajat tuotu pääosin kehitystiimeihin Edelleen erillisiä testaustiimejä Ennakkosuunnitellun testauksen ohella ketterää testausta Testaajilla jo useimmiten taitoja tehtäviinsä 14(90)

Ohjelmistokehityksen karikatyyriset vaiheet 5/5 5. Pilviaika Tuotetaan palveluja tarjoavaa softaa kaoottiseen verkkokokonaisuuteen Muita toimittajia valtava määrä, niitä ei tunneta eikä hallita Asioiden hallinta rajapintojen perusteella 2000-luku > Muuten kuin #3 ja #4 15(90)

Taustalla isoja asioita Mutta ohjelmistokehityskään ei uudistu itsestään Taustalla on testaukseenkin vaikuttavia asioita (joille tämä pieni listaus tekee vääryyttä) Oppiminen tietoteknisten järjestelmien luonteesta Ohjelmistokehitys-osaamisen kasvu Tietotekniikan leviäminen joka paikkaan Projektien kasvaminen Järjestelmien kasvaminen ja verkottuminen Globalisaatio Jne 16(90)

Ja pieniä Esimerkiksi ketterän kehittämisen projektimallien ajatellaan laittavan monia asioita aivan uusiksi, muuttaen säännöt, ennakko-odotukset, mahdollisuudet Pitkällä tähtäimellä tarkastellen tällaiset asiat ovat vain osa kehityksen jatkumoa ja niiden tuottamat ilmiöt ovat vain pieniä poikkeamia eikä sen suurempi muutos 17(90)

Testauksen piirteiden kehityskaaria Seuraavilla sivuilla on testauksen eri piirteiden kehityskaaria Edellä kuvatut ajanjaksot ovat vain taustaorientaationa, niitä ei noudateta täydellisesti sillä erilaiset asiat kehittyvät eri tahdissa Viimeisten vaiheiden hyville ja huonoille asioille on annettu peukkuja ylös tai alas tai vaikkapa varoituskylttejä tarpeen mukaan 18(90)

KOKONAISKUVA Reaktiivinen debuggaus Toimintojen käyttäjäkokeilu Kehittäjien debuggaus Ohjelmiston systemaattinen lopputestaus Hyväksymistestaus Usea testaustaso Jatkuva testaus Osaavat testaajat Systemaattinen järjestelmätestaus Laatuominaisuuksien erityistestaus Ketterä testaus Testaus on äärettömästi monimuotoistunut ja rikastunut! 19(90)

TESTAUKSEN TOIMINTAYMPÄRISTÖ JA ROOLI 20(90)

Rooli ohjelmistotuotannossa Pakollinen loinen Tärkeä vaihe Testauspolitiikka Kriittinen vaihe ja piirre Minimoitava kuluerä Optimoitava kuluerä Laatujärjestelmä velvoittaa testaamaan Asiakkaat vaativat testausta Asiakkaat vaativat hyvää (!) testausta Viranomaiset tai valmistajat eivät edellytä testausta Testaus edellytys markkinakelpoisuudelle (esim. turv. kriitt.) Laiteympäristö edellyttää ohjelman sertifiointitestausta (esim. Symbian) Rooli alkaa olla jo yleisesti ymmärretty. Testausta ei tarvitse piilottaa asiakkailta! 21(90)

Rooli tietojärjestelmän tilaajan näkökulmasta Merkki toimittajan huonoudesta Puuttuva hankintaprosessi Pakollinen menoerä Laatujärjestelmä velvoittaa testaamaan Hankinnan projektointi Merkki toimittajan hyvyydestä Pitää itse panostaa paljon Systemaattiset hankintamallit Hyväksymistestauskulttuurin kehittyminen Tilaajatkin ymmärtävät testauksen olennaisuuden 22(90)

Laatuajattelun kehittyminen kerroksittain Riskienhallinta Virheiden estäminen, ei korjaaminen Analyysi on yhtä tärkeää kuin testaaminen Kompleksin maailman robustiusajattelu Laatujohtaminen Prosessien vaiheet ja portit, katselmoinnit Prosessien laatu tuottaa tuotteen laadun Käyttäjälähtöinen laatu, käyttäjäkokemus Asiakaslähtöinen laatu Tekninen laatu Joka ajankohtana on puhe siitä, mistä on puute, mutta vanhat asiat ovat edelleen kriittisiä! 23(90)

Testauksen asema laadunvarmistuskeinojen valikoimassa Testaus Koodikatselmointi Arkkitehtuurin arviointi Koodin staattinen analysointi ohjelmallisesti Arkkitehtuurin ohjelmallinen tarkastus ja valvonta integrointitestauksessa Koodin dynaaminen analysointi Projektin vaiheiden katselmointi Projektin vaihetuotteiden katselmointi Projektin suunnitelmien katselmointi Tilamallin analysointi Käyttöliittymän ergonomian arviointi Tilamallin suorittaminen Käytettävyystestaus Käytettävyyden analysointi Mallipohjainen testaus Teknisten käytettävyysominaisuuksien ohjelmallinen tarkastus Riskianalyysi Riskiperusteinen testaus Testaus on osa rikasta kokonaisuutta 24(90)

Aikakauden pahin hype Ei tarvita testausta Virheetön koodi Koodin validointi Virheettömän ohjelman generointi Ei tarvita manuaalista testausta 100 % automatisointiaste Mallipohjainen testaus Täydellinen testaus Systemaattinen testisuunnittelu Testiautomaatio Yksikkö- ja integrointitestaus riittää Tehdään kevyemmin, tarpeen mukaan Pelkkä nopea, ketterä testaus Joka aikakaudella on oma hypensä joka tajutaan sellaiseksi vasta myöhemmin 25(90)

Testauksen hienot asiat Softa saadaan toimimaan Varmistetaan asiakkaan tyytyväisyys Ammattimaisuus, asioiden hallinta Varmistetaan asiakkaan toiminnan vähäriskisyys Testaajan identiteetti, erikoisosaaminen Softan käyttäytyminen ymmärretään Softa koko ajan toimiva ja stabiili Maailma muuttuu ja hienot asiat sen mukana 26(90)

Virheet ja laatunäkemys Kaikki laatutekijät Koodi ja sen virheet Oikea toiminta Ohjelma ja sen virheet Toimintojen toiminta Kehittämisprosessi ja sen laatu Käyttöskenaarioiden onnistuminen Toimitusten onnistuminen Softan elinkaari Deterministisen järjestelmän puute Kaoottisen järjestelmän realiteetit Tässä näkyy oppimisprosessi ja tarpeiden hierarkkia 27(90)

Virheiden julkisuus ja testauksen kritiikki Median aika nettiaika Asiakas valittaa Palvelu ei toiminut Ohjelmistovirheen vuoksi palvelu ei toiminut Puutteellisesti testatun ohjelmiston vuoksi palvelu ei toiminut Tuotteessa on vikoja Tuotteen jatkuva haukkuminen netissä Testauksen haukkuminen netissä Nettimaailmassa jokainen voi päästä uutisiin! 28(90)

Organisointi Koodaaja Asiakas testaa Erillinen testaustiimi Asiakas määrittämässä testejä (A) Testaajat kehitystiimeissä Koodaajakollegat Tiimissä 1 testaaja Erilliset testaustiimit Laatuominaisuuksien erityistestaajat (esim. kuormitus, tietoturva, käytettävyys) Testauksen organisoinnissa näkyy sen rikastuminen 29(90)

Testauksen ekosysteemin toimijat Kouluttajat Konsultit Testausohjelmien tekijät Kustantajat Sertifioijat Testausyritykset Päämies Oma organisaatio Asiakas Toimijoiden määrä kasvaa koko ajan 30(90)

Testauksen toimittaja, lokaatiot ja kulttuuri Oma huone Projektin huone, samassa talossa Monta toimipistettä Hajautus globaalisti Sijoitus ei näy millään tavalla Helppo viestintä Sama kulttuuri Viestintä kompleksia Yksiköiden kulttuurierot Viestintä keskeinen ongelma Kansalliset ja yrityskulttuurierot suuria Oma Ulkoistus erityisyksikkö / tiimi Ulkomaistaminen Ulkoistus, ulkomaistaminen ja hajautus tulivat jäädäkseen 31(90)

Megatrendi: Yhteisöllisyys Miten se näkyy: Avoin lähdekoodi Julkisen betatestauksen lisääntyminen Web 2.0 tekniikat testauksenhallintaohjelmistoissa Mieti: Miten se tulee vaikuttamaan jatkossa? Miten sitä voisi hyödyntää? Mitä haittoja siitä on? 32(90)

Megatrendi: Kaikessa läsnäoleva tietotekniikka Miten se näkyy: Ohjelmistoja ei mystifioida Ohjelmistojen ja tietojärjestelmien piirteitä aletaan ymmärtää Osataan olla realisteja: softaa hankitaan eri tavalla kuin toimistokalusteita Oivalletaan, että testauskin on aina tarpeellista Mieti: Miten se tulee vaikuttamaan jatkossa? Miten sitä voisi hyödyntää? Mitä haittoja siitä on? 33(90)

Ilmiö: Postmoderni organisaatio Miten se näkyy: Organisaatiota ei ohjaa yksi suuri tarina ja missio, vaan jokaisen työssä on löydettävä omia merkityksiä Organisaatio elää näistä merkityssisällöistä, joiden luomisessa on johdolla edelleen tärkeä rooli Jokaisen luotava suhteensa laatuun, bugeihin ja testaukseen Sitä suhdetta rakennetaan dialogilla! Sitä ei luoda esimerkiksi tietojärjestelmien raporteilla Mieti: Miten se tulee vaikuttamaan jatkossa? Miten sitä voisi hyödyntää? Mitä haittoja siitä on? 34(90)

TESTATTAVAT JÄRJESTELMÄT 35(90)

Teknologiat ja testattavuus Valmistajakohtaiset teknologiat Monoliittiset arkkitehtuurit Testattavuuden laiminlyönti alustoissa Geneeriset standardoidut rajapinnat (esim. HTTP) Käyttöliittymien esteettömyysajattelu Kerros-arkkitehtuurit ja MVC Testattavuuden laiminlyönti sovelluskehityksessä Ymmärrettävyys ja testattavuus Testattavuuden paraneminen Testattavuuskatselmointi Testattavuusvaatimukset Savutestit prosesseissa Testattavuuden mahdollisuudet hyvät, vaikka systeemit monimutkaisia 36(90)

Vaatimukset Eristetty ohjelmisto Käyttö Internetin yli tai paikallisverkossa Osa laajaa järjestelmien järjestelmää Radikaalisti kasvavat vaatimukset robustiudelle, turvallisuudelle End-to-end prosessien testaus haastavaa Softan koon jatkuva kasvu Bugien määrä kasvaa samalla bugitiheydellä Testauksen suhteellisen määrän ja laadun kasvettava! Jos testausta ei joka vuosi paranna vahvasti, laatu huononee! 37(90)

Avoimet teknologiat Avoin lähdekoodi Avoimuus mahdollistaa kaiken testauksen Myytti: avoimuus sinänsä parantaisi koodia Dokumentoimattomat, valmistajakohtraiset rajapinnat Suljetut käyttöjärjestelmät kaikenlaisissa ympäristöissä ja tuotteissa Avointen standardien käyttö Geneeriset testausvälineet Avointen käyttöjärjestelmien yleistyminen Testaustyökalujen integrointi järjestelmään helpottuu Avoimuus on testaajille etu monesta syystä 38(90)

TESTAUSSTRATEGIAT 39(90)

Lähestymistapa Ketterä testaus Integrointi Virhepalaute (reaktiivisuus) Suunnitelmallisuus Testauksenhallinta Testilähtöinen kehittäminen Laatujärjestelmät Riskiperusteinen testaus Monimuotoinen, tavoiteohjattu testaus Lähestymistavat tulleet monimuotoisiksi horses for courses 40(90)

Ohjelmiston vaatimusten huomioon ottaminen Turvallisuuskriittisten vaatimusten erityiskäsittely Vaatimukset hyväksymis- ja järjestelmätestauksen kriteereinä Vaatimusten testattavuuden katselmointi Vaatimusten testauksen seuranta Vaatimusten jäljitettävyys Vaatimuksiin liittyvän riskin huomioon ottaminen Testauksenhallinnan linkitys vaatimustenhallinntaan Riskiperusteinen testaus Suhde ohjelmiston vaatimuksiin on kypsynyt koko ajan 41(90)

Testauksen ajoitus Ketterän kehityksen pakonomaiset sprinttimallit Toimituksen jälkeen bugeja korjatessa Kehittämisen jälkeen projektin lopussa Projektin aikana useassa vaiheessa Jatkuvasti Testauslähtöinen toteutus Testien ajo käännöksen yhteydessä 2009: Jatkuva yksikkötestaus: testien ajo koko ajan taustalla Miten päästään aikaisempaan vaiheeseen kuin jatkuvasti? Mallipohjaisella kehittämisellä ja testauksella Koko ajan aikaisempaa ja jatkuvampaa kaikilla testaustasoilla 42(90)

PROSESSIT JA MITTARIT 43(90)

Näkemys hyvästä testauksesta Koodikattavuus Vaatimuskattavuus Testaustekniikat Standardit (BSI) Testien mahdoll. aikainen suunnittelu Testien oikeaaikainen suunnittelu Kerran lopussa V-malli Mahdollisimman aikaisin ja jatkuvasti W-malli Sprinttimalli Parhaat käytännöt Kontekstiajattelu ISO, IEEE-standardit vähän tunnettuja Prosessi Testauksenhallinta Laaturiskin hallinta Testauksen toimintajärjestelmä Kun tekniikat ovat hallussa, aletaan toimia kokonaisuuden tasolla 44(90)

Yksikkötestaus Adhoc-testausajurit ja debuggeritestaus ASSERTkulttuuri Pakollinen suunnitelmallinen testaus Kattavuuden mittaus Ulkopuolinen testaaja Yleisten kehikkojen käyttö (Xunit) Ei integrointia kääntämiseen Ei vieläkään, vaikka kehitys on ketterää! Testilähtöinen toteutus Jatkuva yksikkötestaus Yksikkötestaus edistyy vakaasti, mutta ei tapahdu aina vieläkään! 45(90)

Testausaineistojen hallinta Adhoc-speksit Mysteeri-exceli Tiedostot version- / konfiguraationhallinnassa Testauksenhallintajärjestelmä Rakenteeton Wordsuunnitelma Rakenteinen Wordsuunnitelma Tiedostot satunnaisissa verkkopaikoissa Speksejä ja muuta materiaalia aletaan hallita kuten vaatimuksia ja koodia 46(90)

Testidatan luonne Vähän, hyvin käyttäytyvää, jotta testi onnistuu Datan generointi Realistista tuotantodataa -- paljon Vaarallista dataa (hyökkäykset) Laajamittainen Fuzzing huonosti käyttäytyvällä, satunnaisella, viallisella datalla Pyrkimys rikkoa ohjelma korostuu testidatassa 47(90)

Testaussuunnitelmat Projektisuunnitelma, jossa testausta ei mainittu Projektisuunnitelma, jossa kuvattu testaus Projektisuunnitel ma ja testattavien asioiden luettelot Erilliset testaussuunnitelmat Testauksen toimintaohjeet Laadunvarmistussuunnitelma Laatuominaisuuksien testauksen suunnitelmat Ketterien projektien vähäinen suunnittelu Heikoissa organisaatioissa kulttuurin regressio Testaussuunnittelu on rikastunut ja laajentunut 48(90)

Tärkeimmät formaalit kielet testauksessa Vuokaavio ER UML Toteutuskieli Testauskieli Automatisointiympäristön kieli Käyttöjärjestelmän skriptikieli Tehokkaat skriptikielet Excelin makrokieli SQL XML HTML Gantt-kaavio Jokainen testaaja tarvitsee myös formaalien kielten osaamista 49(90)

Raportointi Kokousraportointi Testaus jälkeen raportti Jatkuva virheraportointi Näkymät eri kohderyhmille Syklinen edistymisen raportointi Reaaliaikainen edistymisen näkymä Näkymän siirtyminen historiasta ennusteeseen Raportointi on muuttunut näkymien tarjoamiseksi 50(90)

Viestinnän tietovarastot Oma tietokone ja sähköpostiarkisto Paikallisverkon nurkka Pääsy toisten verkkoon Extranet Tekstinkäsittelyja taulukkolaskentadokumentit Operatiiviset tietojärjestelmät Wiki Sähköposti-tiedostonhallinnasta on edetty yhteisiin järjestelmiin 51(90)

Matalan tason integrointitestaus Adhocintegrointi, ei testausta Rytminen, suunnitelmallinen integrointi Rytminen, suunnitelmallinen integrointi ja testaus Versionhallinta Esiintegrointitestaus kehittäjän työasemassa yksikkötestauksessa Jatkuva integrointi, testaus ja monipuolinen koodin analysointi Edelleen tehdään paljon enemmän integrointia kuin integrointitestausta Esi-integrointi työasemissa oli oikeasti suurin kvanttihyppy 52(90)

Tietojärjestelmän kuormitustestaus Mittavat testaustalkoot Kuormitustestausohjelmien käyttö Kuormitustestaus rutiininomaista ennen tuotantoonsiirtoa Ilmaiset kuormitustestausohjelmat laajasti käytössä Jmeter ja muut ovat tuoneet kuormitustestausohjelmat kaikkien saataville 53(90)

Käytettävyystestaus Käyttäjätutkimukset tuottavat tietoperustan Mitä se on? 1 teetetty testaus liian myöhään Käytettävyysanalyysit ja testaus muutamassa vaiheessa Käytettävyyden varmistaminen on edelleen puutteellista ja utopiaa Käytettävyyden varmistaminen on edelleen puutteellista ja utopiaa 54(90)

Lokalisointitestaus Käännösehdotusten kulttuurinen analyysi Käännetyn ohjelman toiminnallisuustestaus Käytettävyystestaus Käännöksen tarkastus Käännetyn ohjelman savutesti ja visuaalinen tarkastus Miksi ISTQB:n testaussanasto ei tunne koko asiaa Lokalisointitestaus on oleellista kaikille ohjelmistotuotteille 55(90)

Tietoturvallisuustestaus Turvallisen koodauksen varmistaminen Mitä se on? Mekanistinen haavoittuvuuden testaus (by konsultti) Tietoriskianalyysi Tietoturvallisuusominaisuuksien tarkastus Toimintojen kohdennettu testaus Tietoturvallisuuden varmistaminen on edelleen puutteellista ja utopiaa Nettiaikana tietoturvallisuus on kriittistä, mutta edelleen heikosti hoidettua 56(90)

Regressiotestaus Kriittistä ketterässä kehityksessä, mutta turvaverkkoa ei aina ole Muutoksen testaus ja muun ohjelman kokeilu Kattava käyttöliittymätestaus Muutoksen vaikutusten arviointi Yksikkö- ja integrointitestauksen automaattinen regressiotestaus Automatisoitu käyttöliittymätason regressiotestaus Manuaalinen regressiotestaus Jatkuva integrointi, testaus ja monipuolinen koodin analysointi Muutoksen riskianalyysi Muutosten regressio säilyy suurena ongelmana 57(90)

Tietojärjestelmien testauksen kokonaisuus Toiminnallisuustestaus Monitasoiset testiympäristöt Systemaattinen testaus Järjestelmäintegraatiotestausajattelu Systemaattinen ja ketterä testaus Regressiotestauksen kl-tason automatisointi Kuormitus- ja tietoturvatestaus Yksikkö- ja integrointitestaus Laajennettu testiautomaatio Kooditason (FOSS) testauskirjastot Tietojärjestelmien testaus on rikastunut. Automaatio ja ketterä testaus täydentävät toisiaan 58(90)

Järjestelmäintegrointitestaus Ei tarvita monoliittinen järjestelmä Big bang kun järjestelmät valmistuvat Ei toimi! Jatkuva järjestelmäintegraatiotestaus Integrointitestaus edistymisen mittarina Integrointiajattelu on kasvanut, kun on saatu karvaita kokemuksia 59(90)

Tietojärjestelmän hyväksymistestaus Joku kokeilee Systemaattinen toimintojen kokeilu Systemaattinen monivaiheinen testaus eritasoisissa testiympäristöissä Ei-toiminnalliset kriteerit mukana Agile-kulttuurin hyväksymistestauksella on hyvin vähän tekemistä tietojärjestelmien vakavan hyväksymistestauksen kanssa Hyväksymistestauksen teettäminen testaustalolla Hyväksymistestaus on kehittynyt vahvasti vuosien varrella 60(90)

Sulautettujen ohjelmistojen testaus Vasteiden testaus Systemaattinen testaus simulaattorissa Yksikkötestaus Testitapausten määrittely Emulaattoritestaus Kaikki testaustasot Softa voidaan merkittävästi testata PC:llä Yksinkertainen ohjelmoitava logiikka Monipuolinen ohjelmisto, ei käyttöjärjestelmää Rajoitetteet tietoliikenteessa Käyttöjärjestelmä IP-tietoliikenne Geneerinen käyttöjärjestelmä Geneeriset ohjelmistoalustat Sulautettu ohjelma osa laajempaa järjestelmää end to end -testaus Sulautettujen ohjelmien testaus alkaa olla mainstreamia 61(90)

Testauksen kehittämisen driverit Tarve löytää virheet Kompleksisen ohjelman kanssa pärjääminen (testauksen määrä) Kustannusten alentaminen Kehittämisen hajautus Muutoksiin reagoiminen Nopeat kehityssyklit (ketterä kehitys) Softan pitäminen stabiilina Rahasta on aina puute, mutta myös prosessitarpeista 62(90)

Ketterän testauksen kehittyminen Softan kokeilu Toimintojen testaus positiivisilla testitapauksilla Toimintojen testaus negatiivisilla testitapauksilla Adhoc-testaus Tutkiva testaus Suunnitelmallinen tutkiva testaus Näkökulmat Tavoitteet Eri tavoilla projektin eri vaiheissa Ei ole yhden koon ketterää testausta 63(90)

Testauksen riskienhallinta Projektin riskianalyysi Aikataulu, infrastruktuuri Projektin jatkuva riskienhallinta Testauksen oma riskianalyysi Aikataulu, infrastruktuuri, toimitukset, testattavuus Systemaattinen testattavuuden hallinta Riskianalyysikulttuuri leviää ja löytää testaustoiminnan parista omia sovelluksia 64(90)

Testauspalvelut Testaajien vuokraus Testausvaiheen / tehtävän ulkoistaminen Projektoitu testauspalvelu Testauspäälliköiden vuokraus Testauksen kehittämiskonsultointi Tulosmääritetty mustalaatikko -testauspalvelu Testaustoiminnan arviointi Testaustoiminnan auditointi Eri kustannusprofiiliset palvelut Suomeksi: missä maassa Testauspalvelutkin kehittyvät koko ajan. Kehittämispalvelut tärkeitä 65(90)

Testauksen mittarit Tuotteen mittaus Avoimet bugit Prosessin mittaus Testauksen työmäärä Bugitilanne Kypsyminen Testauksen edistyminen Tilanne vakavuusluokittain Testauksen tehokkuus Tilanne riskiluokittain, jäännösriski Testausprosessin laatu ja tehokkuus Testaajien määrä Organisaation mittarit Vaara: ketterässä kehityksessä eletään hetkessä ja mittaus unohtuu sekä tuotteen että prosessin laadun Mittaus kehittyy, koska se on halvempaa kuin ennen Testausprosessin kehittyminen 66(90)

Megatrendi: Globalisaatio Miten se näkyy: Ulkoistus ympäri maapallon Projektien työ eri aikavyöhykkeillä Globaalit standardit, globaali testausosaaminen, globaalit sertifikaatit (ISTQB) Mieti: Miten se tulee vaikuttamaan jatkossa? Miten sitä voisi hyödyntää? Mitä haittoja siitä on? 67(90)

STANDARDIT JA KEHYSMALLIT 68(90)

Standardit, kypsyysmallit ja kehysmallit ISO 9000-3 Laatujärjestelmät ja kypsyysmallit (TPI) TMMi ISO 9001 ISO 90003 CMMI (DEV ja ACQ) TMap Testauksenhallintanäkökulma ISO/IEC 29119 Software testing (2011) Prosessikehitys ISO, IEEE, IEEE 829 - dokumentointi Osaamisen osoittaminen Sisäinen testauskoulutus Sertifiointi (ISEB, ISTQB) Ketterien kehittämismallien sisäänajo (kehittäjävetoisesti) Testaustoiminta kaipaisi tasapainotetun mittariston soveltamista Tueksi löytyy monia malleja nykyään jopa hyviä 2 sukupolven 69(90)

Testaajan sertifiointijärjestelmät ISEB (Iso-Britannia) Foundation, Intermediate, Practitioner ASQF (Saksa) ISTQB Foundation ISTQB Advanced CAST, CSTP (USA) ISTQB Expert (monta moduulia, kehitteillä) Sertifiointijärjestelmissä ISTQB on globaali ja syrjäytti ISEB:n. Miksi sitä edelleen koulutetaan 70(90)

Megatrendi: Yhteisöllisyys Miten se VOISI näkyä: Standardien tilanne on katastrofaalinen: ne ovat kalliita salaseurojen tekemiä salaisuuksia (onneksi on suunnitelmia niiden avaamiseksi edes ilmaisuuden merkeissä, jotta ihmiset saisivat standardit tietoonsa!) Monet tunnetutkin kehysmallit ovat kaupallisia, suljettuja systeemejä ISTQB on kaikesta huolimatta yhteisöllisin tapa rakentaa testauksen kansainvälisesti yhteisiä näkemyksiä eli standardeja! Mieti: Miten se tulee vaikuttamaan jatkossa? Miten sitä voisi hyödyntää? Mitä haittoja siitä on? 71(90)

OSAAMINEN 72(90)

Testausviisaus Ulkomaiset gurut Ohjelmointitaito Akateemiset testaustietäjät Yritysmaailman testaustietäjät Ketterän kehityksen expertit Kouluttajat Ohjelmistotiede Standardit Kehysmallit ISTQB, TMMi kehittyneet ISTQB:n sanasto Pitää miettiä hyvin tarkkaan, ketä kuuntelee 73(90)

Testausopetus Itseopiskelu kirjoista Oppiminen työssä Seminaarikulttuuri Sisäinen testauskoulutus TestausOSY Korkeakoulujen testauskurssit Sertifiointiin valmentava koulutus Testauksen ammatillinen koulutus Opetusta löytyy jo monenlaista ja skaala laajenee 74(90)

TOIMIJOIDEN ROOLI 75(90)

Testaajan asema Edullinen avustava henkilöstö Ulkoinen abstraktio Satunnainen apulainen Projektin avustava henkilöstö Testauksen ammattilainen Tiimissä testauksesta vastaava Kollega Testauksen teknologian erikoisosaaja Testaajan asema paranee, mutta sen eteen on tehtävä työtä 76(90)

Näkemys hyvän testaajan piirteistä Analyyttinen Huolellinen Ahkera Käyttäjiä edustava Teknologiaosaaja (testausjärj.) Testauksen tunteva Aktiivinen Mukautuva Hyvin viestivä Fiksu Kokenut Sertifioitu A: Tiimipeluri Oman roolinsa ottava Oma-aloitteinen Proaktiivinen auttaja Nopea Erilaisia toimintatyylejä Näkemys avainkyvykkyyksistä muuttuu koko ajan emme saa kehittää eilisen taitoja 77(90)

Testaajan keskeiset tietotarpeet Miten tätä voi testata? Miten tämän pitäisi toimia? Mistä löytyy ajantasaiset määrittelyt? Kenelle tämä on tehty ja mihin tarkoitukseen Mikä tässä on tärkeintä? Mihin tuottamiani tietoja käytetään? Tietotarpeet liittyvät toisten tietotarpeisiin! Testaaja on päätöksenteon tukija 78(90)

Testaajan paineet Osaanko testata? Mitä testaajan pitää tehdä? Miksi tieto ei kulje meille? Missä ovat dokkarit? Miksi työtahti vaihtelee? Miksi pitää testata samaa asiaa uudestaan? Miten löydän paikkani ketterässä koehitystiimissä? Riittääkö minulle töitä? Testaajan paineet muuttuvat, mutta mikseivät ne vähene? 79(90)

Testaajan yhteisöt Koodaaja + tilaaja + työkaverit Projektiorganisaatio Tilaajan projektitiimi Projektitiimi Organisaation verkosto ATK-kerhot Testauskerho Osaamisyhteisö, TestausOSY Sähköpostilistat ja nettisaitit Nettiyhteisöt Haaste: miten yhteisöjä käytetään ja niissä toimitaan 80(90)

Megatrendi: Viestinnän, yhteisöjen ja foorumien fragmentoituminen Miten se näkyy: Testaajille ei ole enää vain muutamaa Internet-foorumia, kuten Usenetnews-aikaan WWW-foorumeita tulee ja menee Plussaa: jokaiselle asialle löytyy sopivan kokoinen ja profiilinen foorumi Jokainen voi perustaa yhteisön, mutta harva osaa kasvattaa niitä Google löytää kaiken olennaisen tiedon ilmaiseksi, silloin kun tarvitset sitä Nettimaailma: uusi testaajan kansalaistaito! Haut, viestintä, asioiden kysyminen Mieti: Miten se tulee vaikuttamaan jatkossa? Miten sitä voisi hyödyntää? Mitä haittoja siitä on? 81(90)

Koodaajan suhde tuotoksiinsa Oma ohjelma, omat asiakkaat, omat käyttäjät Tiimin yhteinen asiakas Käyttäjät vieraat, ei suoria kontakteja Softa on palanen isoa kokonaisuutta ja sen roolia ei edes ymmärretä Käyttäjät ovat abstraktio A: Softa on palanen isoa kokonaisuutta, mutta ymmärretty Käyttäjiä ja käyttöä tehty tutuksi Softa on itsenäinen toimija maailmassa, jota ei hallita ja johon ei voida vaikuttaa ja jonka muita toimijoita ei tunneta Koodaaja näkemys tekemisistään ratkaiseen testaajienkin toimintamahdollisuuksia 82(90)

Koodaajan suhde testaukseen Mitä se on? Kun löytyy bugeja, testataan debuggerissa Muiden homma. Ei kuulu minulle. Minä vain koodaan Yhteistyötä. Kaikilla oma roolinsa Itsellä iso rooli Yksikkötestaus Matalan tason integrointi Testattavuus On hienoa, että koodaajat ottavat testaustakin tehtäviinsä 83(90)

VÄLINEET JA TESTAUSOHJELMISTOT 84(90)

Testausohjelmistot Suoritusympäristö Debuggeri Käyttöliittymä Päätteet Testihaarniskat, ajurit ja tyngät Debuggeri Testiympäristöt Valmiit testihaarniskat ja ohjelmat Vianhallintajärjestelmät Testauksenhallintajärjestelmät Testiautomaatioohjelmat Mallipohjaisen testauksen ohjelmat Kalliita kaupallisia. 2009: Kaikki testausohjelmistotyypit saatavana avoimen lähdekoodin versioina, käyttäjien kielellä. Useimpiin tarkoituksiin monia laadukkaita vaihtoehtoja. Elämme hyvää ja kypsää aikaa 85(90)

Näkemys hyvästä testiympäristöstä Puhdas, pakasta vedetty Käyttäjien ympäristöä vastaava Kuten kehittäjillä, jotta bugit voi toistaa Erilainen eri testitasoilla ja erilaisissa testeissä (muutos on aina etu) Tietokoneet eri käyttöjärjestelmiä varten Levyimaget eri käyttöjärjestelmiä varten Virtualisointi usea ympäristö samaan aikaan käynnissä Ympäristön korvaus tyngillä Ympäristön korvaus kopiolla Ympäristön korvaus simuloivilla mockolioilla Testiympäristöt ovat vähitellen paremmin ymmärrettyjä 86(90)

Testiympäristöjen hankinta ja hallinta Tietokoneet eri käyttöjärjestelmiä varten Levyimaget eri käyttöjärjestelmiä varten Virtualisointi usea ympäristö samaan aikaan käynnissä Testilaitteet valmistajalla Julkinen betatestaus Testilaitekanta testausyrityksellä Emulaattoritestauksen käyttö 2015? Globaali Testikonepilvi Internetissä Ympäristön korvaus tyngillä Ympäristön korvaus kopiolla Ympäristön korvaus simuloivilla mockolioilla Testiympäristöt virtualisoituvat 87(90)

Testausautomaation teknologiat Räätälöidyt testauskielet Geneeriset ja standardoitut testauskielet Nauhoita & toista -ohjelmat Mallipohjainen protokollatestaus Avainsanaohjattu testaus Aineisto-ohjattu testaus XUnit Testien helpon määrittelyn aika (esim. Robot) Käyttöliittymätestauksen ja hajautetun monikielisen koodipohjaisen testauksen synteesi (Selenium) Mallipohjainen käyttöliittymätestaus Adhocyksikkötestaus Yksikkötestauskehikot Buildausohjelmat Koodin ohjelmallinen tarkastus Jatkuvan integrointitestauksen ohjelmat Testiautomaatio tulee koko ajan arkisemmaksi kaikille 88(90)

Megatrendi: Avoimet järjestelmät Miten se näkyy: Avoimen lähdekoodin ilmaiset loistavat ohjelmat (ja kaksoislisensoidut hieman kehnommat) Avoin kulttuuri on edistänyt suljettujenkin ohjelmistojen avoimuutta Avoimet rajapinnat ja standardit huippuasia testaukselle Avoimet dokumenttien lisenssit helpottavat tiedon uudelleenkäyttöä Julkishallinto ja yksityinen sektori tulee vaatimaan ja edistämään avoimuutta Mieti: Miten se tulee vaikuttamaan jatkossa? Miten sitä voisi hyödyntää? Mitä haittoja siitä on? 89(90)

Johtopäätöksiä Kaikki testauksen osa-alueet ovat muuttuneet nopeasti Testaus on kehittynyt positiiviseen suuntaan, vaikka väistämättä tuleekin vastaan aikoja, jolloin regressoidutaan hieman Esim. ketterässä kehityksessä testauskulttuuri on koetuksella, koska se ei ole vielä riittävän vahva puolustaakseen olennaisia opittuja asioita On äärimmäisen harvinaista, että jollakin toiminnan alueella uudistukset ovat pääosin positiivisia! 90(90)