PTP – Personal Testing Process

Download Report

Transcript PTP – Personal Testing Process

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: • 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öt

10 11 13 14 15 1 2 4 7 9 5 6

S ää nt ö (nro) Kuvaus

J ä rjestelm ä hakee p ää t ö ksen ratkaisun koodistosta (KdLupaHakemuspaatoksenRatkaisu) J ä rjestelm ä hakee p ää t ö sp ä iv ä n ä voimassaolevat poliisilaitosten p ää t ö ksen tekij ä t koodistosta (Kihlakuntayksikot) J ä rjestelm ä lis ää p ää t ö snumeron. Tieto on suojattu.

J ä rjestelm ä hakee p ää t ö ksen ratkaisun perusteena olevat lainkohdat koodistosta (KdLupaLainkohta) K ä ytt ä j ä voi muuttaa p ää t ö sp ä iv ä m ää r ä n kuluvaa p ä iv ää koodistossa (KdLupaMaaraaika) annettua m ää r ä aikaa (=kuukausi) aikaisemmaksi.

J ä rjestelm ä hakee p ää t ö sp ä iv ä n ä voimassaolevat k ä ytt ä j ä n valitseman poliisilaitoksen toimipaikat koodistosta (Kihlakuntayksikot) 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) .

J ä rjestelm ä hakee toimenpiteen perusteet koodistosta (KdLupaToimenpiteenPeruste) Tieto on pakollinen mik ä li p ää t ö ksen ratkaisu on kielteinen.

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 .

K ä ytt ä j ä n pit ää valita tieto Lainkohta valintalistasta tai sy ö tt ää tieto Muu lainkohtaan.

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

määrää toimittajan testimäärään.

(väliaikatilanne) kun vertasimme tekemiemme (tilaaja) testien •

Tilaaja

Passed 639, Failed 66, N/A 16 •

Toimittaja

Passed 163, Failed 0, N/A 2 • PTP 5 tason

optimointi toteutui

tason roolien testit.

kun ensin teimme raskaimman roolin testit ja teimme niistä alemman • 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