PTP - Personal Testing Process
-
Upload
mordecai-jasper -
Category
Documents
-
view
38 -
download
8
description
Transcript of PTP - Personal Testing Process
PTP - Personal Testing Process2012-11-01 Heikki Uusitalo
PTP - Personal Testing Process
• PTP on malli, joka mittaa testaajan kypsyyttä ja kyvykkyyttä.
• PTP on prosessi, joka tähtää testaajan ammattitaidon parantamiseen.
• Esikuvina:
• Ohjelmistokehitysprosessien arviointimallit SPICE (ISO 15504 / 33000) ja CMMI.
• PSP, Watts Humphreyn kehittämä Personal Software Process.
• Bloomin taksonomia.
• PTP on näistä kehitetty testauksen osa-alueelle.
Bloomin taksonomia ja osaamisen tasot
Bloomin taksonomia määrittelee osaamisen tason.
• Tieto. Näytä, että tiedät.
• Ymmärrys. Näytä, että ymmärrät.
• Sovellus. Näytä, että pystyt käyttämään oppimaasi.
• Analyysi. Näytä, että pystyt löytämään olennaiset asiat.
• Synteesi. Näytä, että pystyt luomaan ajatuksia ja kokonaisuuksia.
• Arviointi. Näytä, että pystyt arvioimaan ideoita, tietoa, menettelyjä ja ratkaisuja.
PTP - Personal Testing Process
• PTP perustuu ajatukseen soveltaa yksilötasolla ohjelmistotalojen käyttöön suunnitellun SPICE -mallin prosessiarvioinnin periaatteita.
• PTP lähtee oletuksesta, jonka mukaan testauksen laadun ja tehokkuuden parantaminen edellyttää yritystason prosessien kehittämisen lisäksi sitä, että testaajat määrätietoisesti kehittävät omaa ammattitaitoaan myös omien työtehtävien tasolla.
• PTP olettaa, SPICE -mallia mukaillen, että testauksen laadun ja tehokkuuden parantaminen ei onnistu, elleivät testaajat pysty seuraamaan omaa kehittymistään.
PTP - ammattitaidon kehittäminen
• Alla on muutamia autenttisia kohteita, joista testaajat haluavat lisäoppia• Testauksen hallinnan hyvät käytännöt (kokemusperäistä).• Kuinka testausteoriaa sovelletaan käytännössä ja mihin suuntaan käytäntöä tulisi kehittää.• Työmääräarvioista.• Testiautomaatio.• Koodaus for dummys. • Välineosaaminen (Testrail, Clearquest...)
PTP - periaate
• PTP -mallissa
• Testaajat aluksi mittaavat suoriutumisensa testaustehtävistä nykyisillä työtavoillaan.
• Tämän jälkeen he ottavat käyttöönsä PTP -prosessin järjestelmälliset työtavat ja harjoittelevat niitä pienimuotoisissa harjoituksissa.
• Lopuksi he vertaavat suoriutumistaan alkuperäisillä työtavoillaan ja uusilla järjestelmällisillä työtavoilla.
• Opetellut järjestelmälliset työtavat toimivat pohjana, kun testaajat tämän jälkeen lähtevät kehittämään heille itselleen parhaiten sopivia työtapoja.
PTP - tasot
Testaaja on tasolla:
• Nolla: Tietää testauksen, ei osaa testata. (tieto)
• Yksi: Osaa testata. (ymmärrys)
• Kaksi: Hallitsee suorituksen. (sovellus)
• Kolme: Henkilökohtainen prosessi. (analyysi)
• Neljä: Mittaa ja analysoi prosessia. (synteesi)
• Viisi: Asettaa tavoitteita ja kehittää prosessia. (arviointi)
PTP - taso 1
• Tuntee käsitteet.
• Tuntee testaustasot, testaustekniikat, testausmenetelmät.
• Tuntee ohjelmistokehitysprosessin ja testauksen aseman prosessissa.
• Ei välttämättä osaa soveltaa niitä, ei tiedä miten, missä ja milloin niitä käytetään.
• Osaa tehdä testitapauksen.
• Osaa suorittaa testin.
• Osaa tehdä havainnon.
PTP - taso 2
• Osaa testaustyökalut ja niiden hyödyt.
• Osaa automaatiotestauksen ja osaa hyödyntää sitä oikein.
• Tuntee ohjelmistokehityksen määrittely- ja suunnittelumenetelmät (esim. UML).
• Osaa arvioida työmäärän ja luoda aikataulun.
• Välinetuki, suorituksen mittaaminen, laadun varmistus, testikattavuus.
• Suorituksen katselmointi.
• Suorituksen mittaaminen
PTP - taso 3
• Prosessiajattelu syntyy.
• Testaus muodostuu toisiaan seuraavista testaajan toimista: testin suunnittelu, testin tekeminen ja testin suoritus.
• Testejä suunniteltaessa testaaja ryhmittelee samanlaiset tehtävät kokonaisuuksiksi.
• Tunnistaa kokonaisuudet tehtäviksi, ne muodostavat prosessin toiminnot.
• Kehittää toiminnot säännöllisiksi.
• Muodostaa testitapauksille konstruktion eli rakenteen.
• Syntyy tapa tehdä ja toimia eli prosessi: Personal Testing Process - PTP.
PTP - naiivi esimerkki
• Näyttö, jolla kaksi testattavaa kenttää, kaksi tapaa testata.
• Vaihtoehto 1:• Ensin testaaja suorittaa kaikki positiiviset testit molemmille kentille ja sen jälkeen kaikki negatiiviset testit molemmille
kentille.
• Vaihtoehto 2:• Testaaja suorittaa kenttäkohtaisesti kaikki kenttään kohdistuvat testit, ensin kentän 1 kaikki testit, sitten kentän 2
kaikki testit.
• Testaaja valitsee toimintatapansa tehokkuuden kannalta. Tehokkuutta mitataan.
• Kun testin tekee seuraavallakin kerralla samalla tavalla, niin prosessi on syntynyt.
PTP - taso 3
• Prosessiajattelussa testaajalla on aina ”valmis ohje” kuinka toimia.
• Yleisen testausprosessin vaiheita ovat esimerkiksi vaatimusmäärittely, testauksen suunnittelu, testien luonti, testien suoritus, raportointi, tulosten analysointi, havaintojen uudellentestaus, regressiotestaus, testauksen lopetus.
• Mieti kuinka moneeen vaiheeseen edellinen päätös vaikuttaa – lähes kaikkiin!
• Kun vaikutusta tarkastellaan organisaation kannalta, jossa projekteja ja testaajia on useita, niin vaikutus moninkertaistuu.
PTP - taso 4
• Taso 4 on kaksijakoinen: • Testaaja mittaa ja analysoi omaa toimintaansa.
• Testaaja antaa palautetta suunnitteluun ja toteutukseen.
• Mittaaminen:• Mittaamisesta ja sen tuloksista on hyötyä vain jos mitattava säilyy vakiona, ts. standardeja ja menetelmiä
noudatetaan.
• Palaute suunnittelulle ja toteutukselle:• Virheiden analysointi, virheiden luokittelu, virheiden analysointi, virhetietokanta
• Vaatimukset suunnittelulle ja dokumentaatiolle.
PTP - taso 4
• Tasolla 4 prosessin mittarit mittavat testaajan prosessia, eivät yksittäistä testaajaa.
• PTP:n kannalta kvalitatiiviset mittarit ovat tärkeitä.
• Organisaatioprosessin laadullisista tavoitteista johdetaan testaajan prosessin laatutavoitteet.
• Vertaamalla tuloksia 2. tason tuloksiin nähdään prosessin vaikutus.
PTP - taso 5
• Analyysin avulla testaaja tunnistaa kehityskohteet.
• Asettaa kehitystavoitteet ja löytää keinot kehitykseen.
• Kykenee muuttamaan toimintatapojaan.• Seuraa muutosten vaikutuksia.
• Optimoi ja minimoi prosessia.
• Ennakoi tulevaa.
• Muutos on jatkuva olotila.
• Tehokkaiden menetelmien hyödyntäminen, (analyysi)tiedon hyväksikäyttö, harjoittelu, muilta oppiminen, uusien menetelmien opiskelu.
PTP - esimerkki
• Iso julkishallinnon järjestelmä, jossa PTP -prosessia sovellettiin• 150 ikkunakuvaa
• 150 käyttötapausta
• Tietokannassa miljoonia rivejä
• PTP -prosessia käytettiin käyttöliittymä- ja roolitestien tekemiseen
PTP - käyttöliittymätesti
• Käyttöliittymätestit aikaisemmin ”makkaratestejä”, jossa kaikki stepit olivat samassa testissä.
• Kun joku steppi feilaa, niin ovatko jäljelle jäävät stepit enää valideja?
• Tehtiin hakemistorakenne, jossa käyttöliittymän ominaisuudet paloiteltiin• Kentät
• Painikkeet
• Linkit
• jne…
• Testejä enemmän, testaus kuitenkin nopeutui, testit lyhyempiä.
• Laatu ja kattavuus parani.
PTP - käyttöliittymätesti ennen
PTP - käyttöliittymätesti jälkeen
PTP - roolitestit
• Roolitestit, lähtötilanne• Erilaisia loppukäyttäjän rooleja 7 kpl (sovelluksen käyttövaltuudet)
• 150 ikkunakuvaa
• 150 käyttötapausta
• Jos jokaisella roolilla käydään jokaisessa ikkunassa ja käyttötapauksessa• Käyttöliittymätestejä 7 * 150 = 1050
• Käyttötapaustestejä 7 * 150 = 1050
• Oletus testaaja tekee 20 testitapausta päivässä ~ 3 tunnissa • 2100 testiä 20 / päivä => n. 100 pv => n. 5 kk
• Ja tähän lisäksi testien ajamiseen kuluva aika
PTP - roolitestit
• Jokaista roolia varten luotiin oma testijoukko jokaiselle toimintokokonaisuudelle.
• Testit jaoteltiin navigaatiotestein, käsittelysääntötesteihin sekä osoitteenluovutus- ja turvakielto testeihin.
• Nämä muodostavat roolitestien PROSESSIN.
PTP - roolitestit
• Navigaatiotestit• Testaaja poimii saantipolut ikkunakuvauksen navigaatiokartoista.
• Käsittelysääntötestit• Testaaja poimii ikkunakuvauksista rooliin liittyvät käsittelysäännöt
• Testaaja poimii käyttötapauksista rooliin liittyvät käsittelysäännöt
• Osoitteenluovutus- ja turvakieltotestit
• Selvät käsittelysäännöt
• Testattavien asioiden poiminta helppoa koska testaaja tietää mitä etsiä - toiminta säännönmukaista - syntyy prosessi.
PTP - roolien käyttövaltuudet
PTP - roolien navigaatiotestit
PTP - roolikohtaiset toiminnot
PTP - roolien käsittelysäännötSääntö
(nro)
Kuvaus
1 Järjestelmä hakee päätöksen ratkaisun koodistosta (KdLupaHakemuspaatoksenRatkaisu)
2 Järjestelmä hakee päätöspäivänä voimassaolevat poliisilaitosten päätöksen tekijät koodistosta (Kihlakuntayksikot)
4 Järjestelmä lisää päätösnumeron. Tieto on suojattu.
5 Järjestelmä hakee päätöksen ratkaisun perusteena olevat lainkohdat koodistosta (KdLupaLainkohta)
6 Käyttäjä voi muuttaa päätöspäivämäärän kuluvaa päivää koodistossa (KdLupaMaaraaika) annettua määräaikaa (=kuukausi) aikaisemmaksi.
7 Järjestelmä hakee päätöspäivänä voimassaolevat käyttäjän valitseman poliisilaitoksen toimipaikat koodistosta (Kihlakuntayksikot)
9 Jos ei AKE:n erikoiskäsittelijä, käyttäjän sisään kirjautuessa valitsema poliisilaitos alustetaan päätöstä tekeväksi poliisilaitokseksi (päätöksen tekijä) ja toimipaikka päätöstä tekeväksi toimipaikaksi (palvelupiste) .
10 Järjestelmä hakee toimenpiteen perusteet koodistosta (KdLupaToimenpiteenPeruste)
11 Tieto on pakollinen mikäli päätöksen ratkaisu on kielteinen.
13 Jos AKE:n erikoiskäsittelijä, niin järjestelmä sallii käyttäjän muuttaa päätöspäivämäärän kuluvaa päivää aikaisemmaksi.
14 Käyttäjän pitää valita tieto Lainkohta valintalistasta tai syöttää tieto Muu lainkohtaan.
15
16
PTP - roolitestit
PTP - roolitestit
PTP - roolitestien analyysi
• Testien luonti suoraviivaista ja prosessinomaista.
• Testien tekeminen ja suorittaminen nopeaa. Kattavuus erinomainen.
• Aikataulun suhteen 2/3 testeistä tehtiin ja suoritettiin 4 kuukaudessa.
• PTP 4 tason mitattavuus toteutui (väliaikatilanne) kun vertasimme tekemiemme (tilaaja) testien määrää toimittajan testimäärään.• Tilaaja Passed 639, Failed 66, N/A 16
• Toimittaja Passed 163, Failed 0, N/A 2
• PTP 5 tason optimointi toteutui kun ensin teimme raskaimman roolin testit ja teimme niistä alemman tason roolien testit.
• PTP:n toimivuus tuli käytännössä todennetuksi!
PTP - muita soveltamiskohteita
• Käyttötapausten käsittelysäännöt ja poikkeukset
• Käyttöliittymätestit
• Tapahtuma- ja jäljityskirjaukset
• Tilasiirtymät ja tilat
PTP ja uudet menetelmät
• Tutkiva testaus ja paritestaus• Sinänsä hyvä menetelmä, mutta vaatii testaajalta hyvää sovellusaleen osaamista.
• Tähänastisten kokemusten perusteella tutkivaan testaukseen kykenee PTP:n tasolla 3 oleva testaaja.
• Ketterät menetelmät• Vaativat myös testaajalta hyvää sovellusalueen tuntemusta.
PTP - lopuksi
• Kaksi keskeistä käsitettä: prosessi ja tasomalli
• Jokaisella on omat työtavat ilman PTP:täkin.
• Testauskonsultti työskentelee eri yrityksissä erilaisissa testausprosesseissa, ainoa yhteinen prosessi on testaajan henkilökohtainen prosessi, jonka mukaan toimia ja kehittyä.
• Jos tämä herättää ajatuksia, niin hyvä.
• Tunnista oma prosessisi!
Heikki Uusitalo
@knowit.fi