Mihin kaikkeen voit törmätä testauspäällikön saappaissa? Arto Stenberg Copyright Kuntien Tiera Oy
Kuntien Tiera Copyright Kuntien Tiera Oy
Tiera on vuonna 2010 perustettu yli 200:n kuntatoimijan omistama kuntien oman toiminnan jatke - ei-kaupallinen toimija Kunnat Kuntien organisaatio: keskushallinto, virastot ja laitokset, tytäryhtiöt jne. Ostaa Toimittaa Palvelutoimittajat, konsultit jne. Copyright Kuntien Tiera Oy 3
Tieran omistaja-asiakkaiden yhteistyön hyötyjä 1. Kokonaisarkkitehtuurin mukaiset yhteiset sovelluspalvelut yksittäisratkaisujen sijaan Varmistaa kehitystyön yhteensopivuuden ja yhden suunnitelman toteutuksen Yhteistyöfoorumi, joka yhtenäistää kuntakentän prosesseja, tietojärjestelmiä ja toimintatapoja. 2. Osaamisverkosto kokoaa kuntakentän osaamisen ja yhdistää samoista kehityshankkeista kiinnostuneet kuntatoimijat 3. Markkinoilla jo olevien ratkaisujen hyödyntäminen ja niiden täydentäminen kuntakentän ICT-tarpeiden mukaisesti Toteuttaa omistajien yhteisiä ICT-kehityshankkeita ja mahdollistaa niiden hyötyjen jakamisen Yhdistää kuntatoimijoiden neuvotteluvoimat 4. Kuntakentän 100 % omistajuus luo pohjan toiminnan ohjaukselle ja omistajuus on asiakkuuden edellytys Mahdollistaa suorahankinnat yhtiöltä Copyright Kuntien Tiera Oy 4
Copyright Kuntien Tiera Oy 5
Arkkitehtuuri Ole arkkitehtuurin asiantuntija ja arkkitehdin paras kaveri. Hanki itsellesi sama työkaluohjelma, mitä käytetään arkkitehtuurin suunnitteluun. Pahimmat mokat juontavat osittain juurensa arkkitehtuuriin. Kun projektia pilkotaan osiin tai aikajaksoihin, niin tarkastele tuotettavaa sisältöä arkkitehtuurin näkökulmasta. Testaukseen pitäisi tulla testattavia kokonaisuuksia, jotta ei jouduta tekemään paljon tyhjiä komponentteja. Tyhjien komponenttien, tai ainakin niiden rajapintojen, tekijän pitäisi olla sama kuin varsinaisen komponentin, jotta ne olisivat toistensa kaltaiset. Copyright Kuntien Tiera Oy 6
Asiakas Asiakas ei ole välttämättä kovinkaan yhteistyöhaluinen, jolloin esim. ketterien menetelmien käyttäminen vaikeutuu. Asiakas ei välttämättä ymmärrä testauksen arvoa itselleen, joten huolehdi raportoinnista asiakkaan suuntaan. Et saa siis välttämättä asiakkaalta tietoja testauksen avuksi tai osallistumaan testitapausten laatimiseen saati sitten itse testaukseen. En voi antaa teille testidataa, koska te voitte paljastaa meidän tekemiämme virheitä. Copyright Kuntien Tiera Oy 7
Integrointi ja integraatiotestaus Määritä tarkkaan integraatiotasot ja integraatiotestauksen periaatteet. Isossa projektissa tarvitaan useita integraatiotasoja, koska liian isoa välejä ei kannata jättää (vrt. yksikkötestaus (1000 riviä koodia) järjestelmätestaus (200 000 riviä koodia ja eri ympäristö). Integrointi vaatii oman osaamisensa koodin ja raudan yhdistämisestä. Määritä tehokas joukko testitapauksia smoke test -tarpeisiin. Copyright Kuntien Tiera Oy 8
Ketterät menetelmät Lopputuotoksen laatu ei ole välttämättä yhtään parempi kuin perinteisillä ohjelmistokehitysmalleilla. Testauksen laatu voi olla jopa huonompi, koska käytettävissä voi olla vähemmän aikaa testaamiseen, koska aikajaksossa on liikaa tekemistä. Oikea ketterien menetelmien käyttötapa vaatii sitoutumista koko organisaatiolta. Asiakas (ja oma firmasi) voi edelleen haluta: mahdollisimman paljon ominaisuuksia mahdollisimman nopeasti mahdollisimman halvalla. Vanhat tavat istuvat sitkeästi. Copyright Kuntien Tiera Oy 9
Kokonaislaatu Kokonaislaatu Odotettu laatu Koettu laatu Markkinointi Myynti Yrityksen imago Suhdetoiminta Viestintä Asiakkaan tarpeet Tekninen laatu mitä asiakas saa Toiminnallinen laatu miten asiakasta palvellaan Copyright Kuntien Tiera Oy 10
Käyttötapaukset ja tarinat Vaadi näiltä hyvää laatua, koska niiden pohjalta on helppo laatia iso määrä testitapauksia. Voit joutua tekemään näitä itse. Testaustiimissä olisi hyvä olla ainakin yksi henkilö, joka tuntee asiakasympäristön ja asiakkaan käyttötavat: käyttöympäristö vs. testausympäristö miten järjestelmää käytetään mitkä ominaisuudet ovat tärkeimpiä kuin toiset Copyright Kuntien Tiera Oy 11
Laatu Kaikki ovat ainakin tietävinään, mikä on oikea laatutaso ja oikeat menetelmät. Testaus on yksi osa laadunvarmistusta. Jos testaus on ainoa osa laadunvarmistusta, niin olet lirissä! Jos firmassa satsataan katselmointeihin, mutta ei testaukseen, niin voit silti olla lirissä! Ja sitten vielä hyvä idea laadun kehittämiseen: Tehdään laatuhyppy ja tuplataan testitapausten lukumäärä! Copyright Kuntien Tiera Oy 12
Mittaaminen Mittaa joka projektissa samoja asioita, jotta saat laajan ajallisen näkökulman mittaustuloksiin. Mittarit eivät ole vaarallisia, mutta niiden tulosten tulkinta voi olla. Esim. testaukseen käytetyt työtunnit / löydetyt virheet: Yksikkötestaus: paljon työtunteja, vähän löydettyjä virheitä Integraatiotestaus paljon työtunteja, eniten löydettyjä virheitä Järjestelmätestaus: paljon työtunteja, vähän löydettyjä virheitä Copyright Kuntien Tiera Oy 13
Myynti Ota aina selvää, mitä myynti on luvannut asiakkaalle, jotta pystyt samaan kokonaiskuvan siitä, mitä asiakas odottaa uudelta järjestelmältä tai versiolta. Ota selvää, mitä myynti on puhunut testauksesta. Ota selvää asiakkaan vanhoista ongelmista (esim. aikaisemman järjestelmän kanssa). Copyright Kuntien Tiera Oy 14
Riskit Projektipäällikkö ja projektin ohjausryhmä pitävät yleensä listaa projektiin kohdistuvista riskeistä. Testauspäällikön kannattaa pitää listaa tuotteeseen kohdistuvista toiminnallisista riskeistä. Molemmat riskilistat ovat tärkeitä. Copyright Kuntien Tiera Oy 15
Testauksen raportointi Voit joutua laatimaan erilaisia raportteja erilaisille kohderyhmille. Asiakkaalle ei välttämättä haluta esittää samaa raporttia kuin projektin ja oman yrityksen johdolle. Vaadi päästä mukaan projektin ohjausryhmään, jossa pitäisi olla mukana asiakkaan edustaja. Copyright Kuntien Tiera Oy 16
Testauksen suunnittelu Määrittele ensin testaustasot ja niiden kohde, tavoitteet sekä tehtävät. Määrää kullekin testaustasolle yksi tai useampi vastuuhenkilö. Testaustasojen määrä ei ole mikään selkeä takuu hyvästä testauksesta. Mieti testauksen kattavuutta järjestelmän käytön, arkkitehtuurin ja toiminnallisuuksien näkökulmasta. Copyright Kuntien Tiera Oy 17
Testitapausten dokumentointi Mikä taso riittää eri projekteissa? Dokumentointi on aina sijoitus, koska se vie aikaa. Täydellinen testaaminen on kohtuuttoman vaikeaa ja niin on myös täydellinen dokumentointikin. Automatisoitu testitapaus on dokumentoitu tarkimmalle mahdolliselle tasolle. Ylemmällä tasolla kuvattu testitapaus antaa mahdollisuuden testitapausten muuttumiseen, koska jokainen testaaja voi tehdä sen omalla tavallaan. Tutkiva testaus on aina hyvä lisä jokaisessa projektissa, mutta sen voi joutua naamioimaan. Copyright Kuntien Tiera Oy 18
Testausympäristö Sinun voi olla pakko määritellä useita testausympäristöjä, koska esim. hw on samanaikaisesti kehitysasteella, eikä sitä ole saatavilla. Voi olla, että et koskaan pysty testaamaan aidossa tuotantoympäristössä esim. asiakkaan turvallisuusvaatimusten takia. Copyright Kuntien Tiera Oy 19
Työkalut Työkalujen kunnolliselle käyttöönotolle tulisi varata aikaa. Suosi ainakin aluksi helposti käyttöönotettavia työkaluja. Testaustiimissä pitäisi olla ainakin yksi kunnon työkaluasiantuntija, joka tietää: Mitkä työkalut sopivat tähän projektiin? Mistä niitä saa? Paljonko ne maksavat? Miten ne kannattaa ottaa käyttöön? Yrityksen johto ei välttämättä anna rahoitusta tarvittavien työkalujen ostamiseen: Budjetäärisesti tilanne on se, että emme tule ainakaan lähitulevaisuudessa ostamaan testaustyökaluja, vaan käyttämään ulkoisia palveluita. Copyright Kuntien Tiera Oy 20
Vaatimusmäärittely Epämääräinen vaatimusmäärittely on paras ennusmerkki pieleen menevästä projektista. Tarkasta vaatimusten testattavuus: Voitko laatia testitapauksen tätä vaatimusta vasten? Mitä voit mitata? Mikä on odotettu tulos? Jos vaatimus on epäselvä, niin se on epäselvä myös koodausvaiheessa ja voi johtaa vääriin olettamuksiin. Copyright Kuntien Tiera Oy 21
Vianhallinta Laita tämä ensimmäiseksi kuntoon ja sovi sen käyttötavat kaikkien osapuolien (kehitys, testaus, projektin johto, asiakas) kanssa. Asiakas on yleensä kiinnostunut vain tietämään sen, koska hänen ilmoittamansa viat on korjattu, eli kuinka kauan korjaus kestää. Voit varautua joskus vääntöön yrityksesi johdin ja asiakkaan välillä siitä, mikä on vika ja mikä on huonosti määritelty ominaisuus, joka pitäisi tehdä lisätyönä: tämä lisääntyy monitoimittajaprojektissa Joskus juuri ennen julkaisua voi tapahtua maagisia asioita, jonka takia vikojen vakavuusaste muuttuu ja julkaisukriteerit täyttyvät. Copyright Kuntien Tiera Oy 22
Viranomaismääräykset Joissakin projekteissa voit joutua opettelemaan ison kasan viranomaismääräyksiä, lakitekstiä ja sopimustekstiä. Nämä dokumentit voivat toimia testitapausten tärkeimpänä sisältönä ja niistä pitäisi poimia testien odotetut tulokset. Esim. erästä palkanlaskentaohjelmiston ylityötulkin testauksessa olivat mukana henkilöstöpäällikkö, pääluottamusmies, palkanlaskijat sekä puhelimitse liittojen lakimiehet. Copyright Kuntien Tiera Oy 23
Yksikkötestaus Kysele käytäntöjen perään, mitä testataan ja miten testaustyökaluja käytetään? Huolehdi ja tarkkaile yksikkötestauksen laatua, koska testaukseen tuleva koodi olisi mahdollisimman tasalaatuista. Yksikkötestauksen raportointi pitää olla yksinkertaista. Kehittäjien suusta kuultua: Mihin tässä testaustyökaluja tarvitaan, koska koodi menee kääntäjästä läpi? Minä en tee virheitä! Testaus hoitaa, en minä kerkiä testaamaan, kun pitää nämä ominaisuudet saada tehtyä. Copyright Kuntien Tiera Oy 24
Testauspäällikkö on hybridi Hands-on valmius Tarvittaessa pikkutarkka Näkee metsän puilta Esiintymiskykyinen Osaava valmentaja Kertoo totuuden Copyright Kuntien Tiera Oy 25