PTP - Personal Testing Process

33
PTP - Personal Testing Process 2012-11-01 Heikki Uusitalo

description

PTP - Personal Testing Process. 2012-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: - PowerPoint PPT Presentation

Transcript of PTP - Personal Testing Process

Page 1: PTP - Personal Testing Process

PTP - Personal Testing Process2012-11-01 Heikki Uusitalo

Page 2: PTP - Personal Testing Process

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.

Page 3: PTP - Personal Testing Process

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.

Page 4: PTP - Personal Testing Process

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.

Page 5: PTP - Personal Testing Process

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...)

Page 6: PTP - Personal Testing Process

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.

Page 7: PTP - Personal Testing Process

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)

Page 8: PTP - Personal Testing Process

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.

Page 9: PTP - Personal Testing Process

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

Page 10: PTP - Personal Testing Process

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.

Page 11: PTP - Personal Testing Process

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.

Page 12: PTP - Personal Testing Process

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.

Page 13: PTP - Personal Testing Process

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.

Page 14: PTP - Personal Testing Process

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.

Page 15: PTP - Personal Testing Process

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.

Page 16: PTP - Personal Testing Process

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

Page 17: PTP - Personal Testing Process

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.

Page 18: PTP - Personal Testing Process

PTP - käyttöliittymätesti ennen

Page 19: PTP - Personal Testing Process

PTP - käyttöliittymätesti jälkeen

Page 20: PTP - Personal Testing Process

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

Page 21: PTP - Personal Testing Process

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.

Page 22: PTP - Personal Testing Process

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.

Page 23: PTP - Personal Testing Process

PTP - roolien käyttövaltuudet

Page 24: PTP - Personal Testing Process

PTP - roolien navigaatiotestit

Page 25: PTP - Personal Testing Process

PTP - roolikohtaiset toiminnot

Page 26: PTP - Personal Testing Process

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

Page 27: PTP - Personal Testing Process

PTP - roolitestit

Page 28: PTP - Personal Testing Process

PTP - roolitestit

Page 29: PTP - Personal Testing Process

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!

Page 30: PTP - Personal Testing Process

PTP - muita soveltamiskohteita

• Käyttötapausten käsittelysäännöt ja poikkeukset

• Käyttöliittymätestit

• Tapahtuma- ja jäljityskirjaukset

• Tilasiirtymät ja tilat

Page 31: PTP - Personal Testing Process

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.

Page 32: PTP - Personal Testing Process

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!

Page 33: PTP - Personal Testing Process

Heikki Uusitalo

@knowit.fi