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
ISO/IEC 9126 Software engineering — Product quality. (2011).
Available: https://en.wikipedia.org/wiki/ISO/IEC_9126
Ei kommentteja:
Lähetä kommentti