Taustaa
Burger-In Oy:n Hesburger-mobiilisovellusta on ladattu yli 800 000 kertaa ja se on yksi ladatuimmista ruokasovelluksista Suomessa. Vincit on yhdessä Hesburgerin kanssa vastannut Hesburger-mobiilisovelluksen teknisestä kehityksestä aina alusta, vuodesta 2015, asti.
Ajan mittaan Vincitin kehitystiimissä kiinnitettiin huomiota koodikannan jatkuvaan kasvuun ja siihen, että sovellus laajeni erittäin isoksi kokonaisuudeksi. Lisäksi huomattiin, että etenkin tietyissä osissa sovellusta ilmeni regressiovirheitä, jotka hidastivat kehitystyötä. Koska sovelluksen testaaminen manuaalisesti oli hyvin aikaa vievää ja kehitystiimillä oli kädet täynnä töitä uusien toiminnallisuuksien kehityksen kanssa, päätti Vincit ja Hesburger etsiä kumppanin, joka toimittaisi vaatimuksiin soveltuvan testiautomaatioratkaisun Androidille sekä iOS:lle.
Tavoitteena Vincitilla ja Hesburgerilla oli saada turvaverkko Hesburger-sovelluksen kehitykseen. Yksi keskeisimmistä haasteista oli pystyä kehittämään nopeammin uusia toiminnallisuuksia sekä parantamaan nykyisiä. Samalla piti luonnollisesti varmistaa, että muutokset eivät riko sovelluksen muita olemassa olevia toiminnallisuuksia.
Mitä saavutettiin
Lyhyen proof of concept -projektin pohjalta pystytimme testiautomaation, johon kuuluivat käyttöliittymätason testit Androidissa ja iOS:llä. Androidissa työkaluna käytettiin Espressoa ja iOS:ssä XCTest Frameworkia. Android-testit ovat mock-data pohjaisia. Tämän lisäksi Androidin automaatioon implementoitiin mock-hierarkia, jota käytetään live datan sijasta. iOS testit ovat E2E-testejä ja hyödyntävät live dataa sekä testikäyttäjiä. Projekti alkoi maaliskuussa 2017, jonka jälkeen olemme automatisoineet yli 600 testitapausta Androidille sekä lähes 100 iOS:lle. Testitapausten automatisoinnissa keskeistä on ollut rakentaa testit modulaarisesti alusta saakka, jotta samankaltaisten testitapausten automatisointi on mahdollisimman nopeaa ja tehokasta.
Testiautomaation tultua osaksi kehitystä Vincitin kehittäjät onnistuvat nyt työssään paremmin, sillä kaikkea ei tarvitse enää testata manuaalisesti, vaan testiautomaatio kattaa suurimman osan toiminnallisesta testauksesta. Lisäksi kehitystyö on nopeampaa ja kehittäjät pystyvät keskittymään syvällisemmin itse kehitystyöhön, ilman pelkoa piilevistä virheistä. Testiautomaation käyttöönoton myötä on löytynyt myös pieni määrä bugeja tuotannosta, joita ei ole aikaisemmin saatu kiinni manuaalisesti testaamalla tai asiakaspalautteen perusteella. Tämä on konkretisoinut aidosti testiautomaation hyötyjä Hesburger-sovelluksen laadun parantamisessa, ei pelkästään kehittäjien työn helpottamisessa.
Vincitin projektipäällikkö Juha Riippi kuvaa yhteistyötä seuraavasti:
Projekti on edennyt hyvin ja olemme todella tyytyväisiä saavutettuihin tuloksiin. Tuntuu, että yhteistyön myötä kaikki osapuolet ovat oppineet paljon toisiltaan. Olemme erityisesti olleet tyytyväisiä proaktiivisuuteen sekä siihen, miten järkevästi automaatioratkaisu sekä automatisoitavat testitapaukset ovat rakennettu. Palvelusta on paistanut läpi parhaiden käytäntöjen hyödyntäminen sekä laaja kokemus testiautomaatioratkaisuiden rakentamisesta. Voin suositella VALA Groupia lämpimästi vastaaviin projekteihin.
VALA:n laadunvarmistus- ja automaatiopalveluista vastaava Teemu Pesonen on äärimmäisen tyytyväinen projektin etenemiseen:
Yhteistyö Vincitin kanssa on ollut saumatonta. Vincitin työkulttuuri on hyvin lähellä omaamme, kehittäjät erittäin ammattitaitoisia ja aina valmiita auttamaan meitä. Testiautomaatio tämän kokoluokan mobiiliprojektissa on ollut mielenkiintoinen haaste ja automaatiogurumme Kaitsu on tehnyt aivan erinomaista työtä automaatioratkaisun suunnittelussa ja toteuttamisessa. Olen ylpeä siitä, mitä olemme pystyneet saavuttamaan ensimmäisen puolen vuoden aikana. Tulemme varmasti syventämään yhteistyötä Vincitin kanssa laadunvarmistuksen ja automaation saralla tulevaisuudessa.
Katso tästä myös muita referenssejämme!