Pienikin muutos käy läpi yli 65 000 tarkistusta
Miten varmistamme Enkoran päivitysten turvallisuuden?
Enkora-järjestelmään julkaistaan säännöllisesti uusia ominaisuuksia, parannuksia ja korjauksia.
Koska järjestelmän eri osat toimivat tiiviisti yhdessä, esimerkiksi yksittäinen muokkaus kassajärjestelmään voi vaikuttaa kulunvalvontaan, verkkokauppaan, raportointiin tai muihin toimintoihin. Asiakkaan näkökulmasta on tärkeätä, että kaikki toimii päivityksen jälkeenkin luotettavasti. Siksi jokainen muutos testataan huolellisesti ennen käyttöönottoa.
Automaattiset testit: tuhansia tarkistuksia alle minuutissa
Heti muutoksen jälkeen käynnistyy automaattinen testaus testiympäristössä, joka vastaa asiakkaiden käyttämää järjestelmää. Muutosta ei oteta käyttöön ennen kuin kaikki tarkistukset on läpäisty.
Osa testeistä tarkistaa yksittäisiä toimintoja erillään muusta järjestelmästä. Näitä komponenttitestejä on yli 6 000, ja ne tekevät yhteensä yli 65 000 tarkistusta jokaista pientäkin muokkausta kohden.
Lisäksi testataan kokonaisia käyttötilanteita asiakkaan näkökulmasta. Esimerkiksi verkkokaupassa testi voi käydä läpi koko ostopolun kirjautumisesta tuotteen lisäämiseen ostoskoriin ja maksamiseen asti. Tähän tarkoitukseen käytössä on noin 50 päästä päähän -testiä.
Näiden lisäksi automaattinen koodianalyysi käy ohjelmakoodia läpi jo kehityksen aikana. Se tunnistaa mahdollisia poikkeamia lähes reaaliajassa.
Mitä tämä tarkoittaa käytännössä?
Jos yli 65 000 tarkistusta tehtäisiin käsin, yhden julkaisun varmistaminen veisi neljältä testaajalta viitisen viikkoa. Muita muutoksia ei voisi tehdä samaan aikaan, sillä ne mitätöisivät jo tehdyt tarkistukset. Päivitystahti hidastuisi olennaisesti, ja pienikin korjaus voisi viipyä kuukausia.
Automaattinen testaus tekee saman 50 sekunnissa.
Manuaaliset testit: ihmisten tekemä tärkeä työ
Automaattinen testaus kattaa suuren osan mahdollisista virheistä ja tilanteista, joissa muutos rikkoisi aiemmin toimineen ominaisuuden. Se tunnistaa kuitenkin vain tapaukset, joita varten tarkistukset on rakennettu.
Ihmiset osaavat havaita myös sellaista, mitä automaatio ei voi. Siksi jokainen muutos käydään läpi myös manuaalisesti: muut ohjelmistokehittäjät katselmoivat koodin ja varmistavat sen teknisen johdonmukaisuuden. Tuoteasiantuntijat kokeilevat muuttunutta toimintoa käyttöliittymässä ja arvioivat toimiiko kokonaisuus luontevasti käyttäjän näkökulmasta. Lopuksi muutos tarkistetaan vielä täsmälleen asiakkaiden järjestelmää vastaavassa testiympäristössä.
Työ ei pääty päivityksen julkaisuun. Seuraamme järjestelmän toimintaa aktiivisesti, jotta havaitsemme mahdolliset poikkeamat nopeasti ja voimme reagoida niihin välittömästi.
Miksi panostamme tähän?
Olemme rakentaneet testauksen näin laajaksi, koska järjestelmiemme on toimittava luotettavasti asiakkaidemme päivittäisessä liiketoiminnassa. Huolellisen testauksen ansiosta korjauksia ei tarvitse siirtää seuraavaan suureen päivitykseen, vaan ne voidaan toimittaa asiakkaiden käyttöön nopeasti.
Silti kaikkia tilanteita ei voi ennakoida. Uusi ominaisuus, harvinainen asetusyhdistelmä tai muutos ulkoisessa palvelussa voi joskus tuoda esiin tilanteen, jota ei ole aiemmin voitu testata.
Jos näin käy, korjaamme ongelman ja varmistamme, että vastaava tilanne tunnistetaan jatkossa jo automaattisessa testauksessa. Näin järjestelmä kehittyy jatkuvasti entistäkin luotettavammaksi.
Artikkelin toimitti Enkoran viestintävastaava Maria Lindberg.

Artikkelin asiantuntijana toimi Enkoran teknologia- ja turvallisuusjohtaja Artem Goutsoul. Hän on tehnyt ohjelmistokehitystä yli 40 vuotta, joista yli 25 vuotta yritysjärjestelmien parissa niin startupeissa kuin vakiintuneissa yrityksissä. Artem on yksi Enkoran perustajista ja vastaa järjestelmäarkkitehtuurista, tietoturvasta, teknologiavalinnoista ja tiimien yhteistyöstä.