Näytetään tekstit, joissa on tunniste TMap. Näytä kaikki tekstit
Näytetään tekstit, joissa on tunniste TMap. Näytä kaikki tekstit

Kirja-arvostelu: Neil’s Quest for Quality - A TMap HD Story (2014)

keskiviikko 21. joulukuuta 2016


Neil’s Quest for Quality – A TMap HD Story (Alder Boersma & Erik Vooijs, 2014) on mielenkiintoinen yhdistelmä fiktiivistä tarinankerrontaa ja ohjelmistotestauksen teoriaa. Kirjassa seurataan päähenkilö Neilin silmin, millaista elämä on Test Managerina suuressa vakuutusalan yrityksessä ja sitä, miten Neil pärjää yrityksen uuden ohjelmistoprojektin Seabiscuitin testauksen toteuttamisessa. Fiktiivisen tarinan väliin on ripoteltu testauksen rakennuspalikoita (building blocks), jotka taustoittavat tarinassa etenevää testausprosessia aina lukujen välissä.

Kirjan nimessä oleva HD ei viittaa tässä teräväpiirtotarkkuuteen, vaan ihmisvetoisuuteen – Human Driven. Kirjan parasta antia onkin sen ihmiskeskeinen näkökulma testausprosessiin. Testaajien henkilökemioiden ja motivaation merkityksen huomioiminen on jotakin, mikä on puuttunut esimerkiksi alkuperäisestä TMap Nextistä (Sogeti Netherlands, 2006).

Kaunokirjallisena teoksena kirja jää vaisuksi. Kielelliset kikkailut on jätetty suosiolla pois ja tekstistä on pyritty tekemään mahdollisimman funktionaalista ja selkeää. Päähenkilö Neil jätetään harmittavan etäiseksi, eikä tähän tutustuta pintaa syvemmin. Tiedämme sivulauseiden perusteella, että hän viettää liikaa aikaa töissä ja tämä aiheuttaa kitkaa kotona odottavan Danielle-vaimon kanssa. Neilin sisäinen dialogi on käytännössä pohtimista testauksesta kirjan kirjoittajien äänellä, mikä on toisaalta oiva tapa saada yhdistetty draamaa ja teoriaa, mutta samalla se vie tilaa Neilin hahmonkehitykseltä jättäen tämän ontoksi.

Monet sivuhahmot jäävät työrooliensa vangeiksi ja litistyvät karikatyyrimäisiksi kuvauksiksi testianalyytikon, projektijohtajan, business managerin ja senior managerin rooleista. Onneksi valopilkkujakin on – pohjoismaalainen testausasiantuntija Mr. Mikkel on salamyhkäisyydessään herkullinen hahmo, jonka suulla sanotaan kirjan mieleenpainuvimmat viisaudet. Usein Mr. Mikkelin hahmo toimii Neilille pelastavana enkelinä, kun tämä kohtaa testaukseen liittyvän pulman, eikä tiedä, miten edetä. Tämä onkin kirjan draaman kaari – aina luvun alussa Neil törmää joko testauksen suunnitteluun tai toteutukseen liittyvään ongelmaan ja yrittää ratkoa sitä, kunnes luvun lopussa Mr. Mikkel pelastaa tilanteen tarjoamalla tälle uutta testauksen rakennuspalikkaa.

Varsinainen testaussisältö on hyvin oivallista ja rakentaa TMapin viitoittamalle pohjalle. Kirjassa esitellään neljä testauksen rakennuspalikkaa: Integrate (yhdistä), Industrialize (teollista), People (inhimillistä) ja Simplify (yksinkertaista). Näiden neljän palikan päälle rakentuu Confidence, luottamus tuotteen laatuun. Rakennuspalikat myös nivoutuvat hyvin juonen etenemiseen ja antavat kirjalle helppolukuisen rakenteen. Teoriaa annostellaankin sopivan pituisissa pätkissä ja tärkeimmät ideat esitetään selkeästi ja havainnollisesti erilaisten taulukoiden ja kaavioiden avulla. 

Yleisesti ottaen kirja on onnistunut kokeilu yhdistää testauksen teoriaa ja käytäntöä. Vaikka osa kaunokirjallisesta osuudesta on välillä ohutta, kirja etenee vauhdilla ja  uusia rakennuspalikoita tuodaan lukijan eteen ennen kuin tämä ehtii kyllästyä. Kirja sopiikin pokkarimuodossaan helposti luettavaksi testaajan matkaevääksi, jonka pääasiat on esitetty viihteellisessä kehyksessä napakasti. Kirja tarjoaa rennon sukellusmatkan testauksen maailmaan ilman ikävää saarnaamiseen makua. Kirjaa voi surutta suositella kaikille ohjelmistotestauksesta kiinnostuneille, erityisesti, jos ei ole siitä aikaisempaa kokemusta.

Neil’s Quest for Quality – A TMap HD Story (Alder Boersma & Erik Vooijs, 2014). 240s. Sogeti.
 

Mitä laatu on ja mitä laadulla tarkoitetaan ohjelmistotestauksessa? (TMap ja ISO 9126)

sunnuntai 18. joulukuuta 2016


Ohjelmistotestauksessa on kyse ohjelmiston laadun selvittämisestä. Tämä tarkoittaakin sitä, että ennen kuin yhtään testiä on kirjoitettu, pitää määritellä, mitä laatu on – se on myös hyvä filosofinen kysymys, jota kannattaa pohtia kokonaisvaltaisesti projektin suhteen. Onneksi on olemassa valmiita standardeja, kuten kansainvälinen standardi ISO 9126 ja TMap Next (luku 10), joissa määritellään, mitä ohjelmiston laatuominaisuuksilla (quality characteristics) tarkoitetaan. Kummatkin standardeista ovat laajalti tunnettuja ja ohjelmistoteollisuudessa käytössä.

TMap Next määrittelee kahdeksantoista ohjelmiston laatuominaisuutta: liitettävyys (connectivity), jatkuvuus (continuity), datan hallittavuus (data controllability), vaikuttavuus (effectivity), tehokkuus (efficiency), joustavuus (flexibility), funktionaalinen tarkkuus (functional accuracy) ja funktionaalinen kokonaisuus (functional completeness), infrastruktuurin soveltuvuus (suitability of intrastructure), ylläpidettävyys (maintainability), hallittavuus (manageability), suorituskyky (performance), siirrettävyys (portability), reusability (uudelleenkäytettävyys), turvallisuus (security), soveltuvuus (suitability), testattavuus (testability) ja käyttäjäystävällisyys (user-friendliness).

Kansainvälisen standardointiorganisaation ISO 9126 määrittelee kuusi isompaa laatukokonaisuutta: toiminallisuus (funktionaalisuus), luotettavuus (reliability), käytettävyys (usability), tehokkuus (efficiency), ylläpidettävyys  (maintainability) ja siirrettävyys (portability).

TMapin ja ISO 9126 standardeissa on sisällöllisesti paljon samaa, mutta myös eroja. Ehkä yksi tärkeimmistä eroista on se, että ISO 9126 pitää funktionaalisuutta sateenkaarikonseptina, jonka alle menevät esimerkiksi turvallisuuden ja soveltuvuuden testaus. TMapissa funktionaalisuus on jaettu kahteen osaan: funktionaaliseen tarkkuuteen ja funktionaaliseen kokonaisuuteen ja turvallisuus ja soveltuvuus ovat omia laatuominaisuuksiaan. Funktionaalisella tarkkuudella tarkoitetaan sitä, että järjestelmä toimii virheettömästi ja tarkasti ja funktionaalisella kokonaisuudella sitä, että kaikki toiminallisuuden osat tulevat testattua. Suurin osa testauksesta kuitenkin keskittyy toiminallisuuden testaamiseen, joten sen laatutavoitteiden oikeanlainen määrittely on yksi tärkeimmistä testauksen suunnitteluvaiheen tehtävistä.

Kumpikin standardi määrittelee, mikä on niiden määritelmä laadusta ja siihen liitettävistä ominaisuuksista – eli hyvin tehdystä tuotteesta. Laatu on siis osien summa, joka rakennetaan pala palalta. Ohjelmistotestauksen ytimessä on tietysti kliininen toiminallisuuden testaus, mutta sen ympärillä olevat muut palaset muodostavat ohjelmiston laadun. Ohjelmiston pitää olla toiminnallisuuden lisäksi ainakin käytettävä (usability), tehokas (efficiency), ylläpidettävä (maintainability) ja siirrettävä (portability). Nämä ovat muuten ne nimenomaiset laatuominaisuudet, jotka sattuvat löytymään kummastakin laatustandardista. 

Lähteet:
TMap Next: for result-driven testing (2006), Sogeti Nederland B. V. Chapter 10, Quality Characteristics.
ISO/IEC 9126 Software engineering — Product quality. (2011). 
Available: https://en.wikipedia.org/wiki/ISO/IEC_9126