Et voi löytää kaikkia bugeja

Ohjelmistoissa on aina virheitä. Mitä enemmän ominaisuuksia ohjelmistossasi on, sitä todennäköisemmin on myös virheitä, eli bugeja.

Bugeja on monenlaisia: käyttöliittymäbugeja, toiminnallisia bugeja, tekstivirheitä, prosessivirheitä, laskuvirheitä ja niin edelleen. Tavoite tietenkin on, ettei käyttäjä näihin törmää, ainakaan kriittisissä ominaisuuksissa.

Miten bugeja löydetään?

Teemme Kiskolla testausta seuraavilla tavoilla.

Automaattiset hyväksyntä- ja yksikkötestit

Näitä ajetaan automaattisesti aina kun ohjelmistokoodiin tehdään muutoksia. Näin saamme heti tiedon, jos jokin muutos aiheutti ongelmia.

Käyttöliittymätestaus eri päätelaitteilla

Eri laitteet toimivat hieman eri tavoilla ja vain testaamalla eri päätelaitteilla voidaan varmistaa sovelluksen toimivuus kyseisellä laitteella.

Toimistollamme sijaitseva Helsinki Open Device Lab mahdollistaa sen, että kuka tahansa voi toimistoaikoina arkisin tulla testaamaan ohjelmistoaan eri laitteilla. Device Labin toimintaa voi edistää tekemällä laitelahjoituksia.

Testaus tiimin ja asiakkaan kanssa

Kun ohjelmistokehitystä tehdään ketterästi, testiympäristöön viedään työn tulosta jatkuvasti sitä mukaa kun sitä valmistuu. Testiympäristössä asiakas voi seurata kehitystä projektin ensimmäisestä viikosta alkaen. Lisäksi tärkeää on käyttäjätestaus, jota tehdään esimerkiksi testaustyöpajoissa yhdessä asiakkaan ja loppukäyttäjän kanssa.

Pilotoinnit

Pilotointi on oleellinen osa kokeilukulttuuria (ks. esitykseni aiheesta). Pilotointi varmistaa konseptin toiminnan käytännössä, sen aikana kerätään kehitysehdotuksia jatkokehitykselle ja juurikin löydetään mahdolliset käyttöä hankaloittavat, kriittiset ongelmat. Riski alenee, kun ennen pilotointia olemassa olevista hypoteeseista tehdään faktoja.

Ulkopuolisten tekemät tietoturvatarkastukset

Ulkopuolisten tekemiä tietoturvatarkastuksia käytetään kun tietoturva-aukkojen aiheuttamien haittojen riski on niin suuri, että sitä kannattaa yrittää alentaa lisätoimenpiteillä.

Ulkopuolisen suorittama analyysi on hyödyllinen koska sovelluksen rakentaneet kehittäjät ovat niin syvällä sovelluskoodin maailmassa että ovat jo hieman sokeutuneet mahdollisille tietoturva-aukoille. Ulkopuolisella tietoturvatestaajalla on tuoreempi näkökulma ja näin ollen parempi mahdollisuus löytää tietoturvaongelmia.

Ulkopuolisten tekemä hyväksymistestaus

Tapauksessa, jossa ohjelmistoon tarvitsee toteuttaa jonkinlainen laatustandardi, saatetaan käyttää ulkopuolista tahoa osin samoista syistä kuin ulkopuolisen tekemässä tietoturvatestauksessa yllä.

Näistäkään ponnisteluista huolimatta ei ole mahdollista löytää kaikkia bugeja tai sanoa, että nyt ohjelmistossa ei ole enää virheitä.

Testaus on tärkeää, mutta jossain vaiheessa siihen laitettu panos-hyöty-suhde ei ole enää järkevä. Kuinka paljon testausta pitää tehdä, riippuu täysin projektista.

Tärkeintä on, että sitoudut tekemään hyvälaatuista softaa. Hyväksy, että bugeja on olemassa ja mieti, millä prosessilla niitä korjataan.

Loppuun vielä muutama rauhoittava sana tilanteeseen, jossa bugikammo iskee julkaisuvaiheessa:

 

 


Antti Akonniemi
Antti Akonniemi
Founder & Evangelist of Kisko Labs

8.6.2017 13:40