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