blogi-linkedin-cypress-2448145

Paraneeko vaihtamalla? Jos sen tekee harkitun vertailun ja asiaansa palvelevan kriteeristön mukaan, niin kyllä. Tämän huomasivat Profit Loans & Collaterals -tiimissä nykyaikaista antolainausratkaisua yritysrahoituksen tarpeisiin kehittävät koodarit. Tärkeä osa kehitystyötä on ratkaisun käyttöliittymän end-to-end-testaaminen, jota tehdään omassa testausympäristössään. Tiimissä kaikki kehittäjät ovat moniosaajia, jotka tekevät joustavasti kaikkia kehitysvaiheen eri tehtäviä, joten myös testaaminen kuuluu jokaisen pöydälle.

— Testausautomaatioon olemme aiemmin käyttäneet Robot Frameworkia, joka ajaa automaattisia robottitestejä. Huomasimme kuitenkin, että testit hajoilivat satunnaisesti. Kun jokainen kehittäjä sitten joutuu painimaan testien selvittelyiden kanssa vuoron perään, tähän menee aika paljon aikaa, kertoo kehittäjänä työskentelevä Timi Voutilainen.

Tiimin kehittämän ratkaisun vaatima testimassa on suuri, koska testattavia ominaisuuksia on paljon. Yhden testiajon ajamiseen kuluu aikaa keskimäärin 40–60 minuuttia. Kahden vuoden aikana tiimissä on ajettu automaatiotestejä yli 5000 kertaa. Kun testimäärät ovat suuret ja niihin kuluu aikaa, on tärkeää, että testit ovat luotettavia.

Uutta työkalua lähdettiin etsimään tunnettujen ja laajasti käytössä olevien ratkaisuiden kautta. Testien luotettavuus oli tärkein kriteeri. Robot Frameworkin kanssa toimittaessa onnistumisprosentti saattoi olla mitä vain 90 ja 97 prosentin välillä – tämän luvun oli noustava. Toinen kriteeri oli se, että testaustyökalun käyttö olisi mahdollista TypeScriptillä, jota käyttöliittymätoteutuksessa käytetään – tämä helpottaa kehittäjän työtä, kun testaustyökalua varten ei tarvitse vaihtaa käytettävää kieltä toiseen.

Myös se painoi vaakakupissa, että testaustyökalun ominaisuudet ovat monipuoliset ja mahdollistavat esimerkiksi ongelmatilanteiden imitoinnin siten, että testaaja näkee, mitä http-kutsuja käyttöliittymältä lähtee. Niin ikään tyypitetyn kielen käyttö, esimerkiksi rajapintatyypitykset, olivat kriteeri bugien vähentämiseksi.

— Päädyimme lopulta Cypressiin, joka on suosittu testaustyökalu maailmalla. Huomasimme nopeasti, että se täyttää kriteerimme ja tarpeemme, ja näin ollen helpottaa ja nopeuttaa kehitystyötä, Timi kertoo.

— Se, että voimme tehdä testejä samalla kielellä, jolla työskentelemme muunkin kehityksen parissa, auttaa selkeän arkkitehtuurin rakentamisessa ja ylipäätään sujuvoittaa tekemistä, Timi jatkaa.

Cypressin monipuoliset ominaisuudet mahdollistavat esimerkiksi paremmat debuggaus-ominaisuudet, jokaisen vaiheen yksityiskohtaisen erittelyn käyttöliittymältä ja jopa suoran tuen videolle ongelmatilanteiden eri vaiheiden selvittämiseksi, mikä ei aina pelkkää kuvaa katsomalla ole niin yksiselitteistä.

— Virheiden löytäminen on Cypressissä ylipäätään helpompaa, Timi toteaa.

— Tulokset, joita testien ajo tuottaa, osoittaa meille hyödyn työkalun vaihdosta. Lisäarvo asiakkaalle on laadukas tuote, joka toimii luotettavasti.


 

Lue myös muita blogejamme Profit Loans & Collaterals -tiimin työskentelystä:

 

https://profitsoftware.com/sovellusarkkitehti-jussi-profit-softwarella-kehittajat-jotka-kehittavat-omaa-tekemistaan-eivat-voi-muuta-kuin-onnistua/

https://profitsoftware.com/hyvat-sprinttirutiinit-helpottavat-projektissa-aloittamista/

https://profitsoftware.com/devaajan-paiva/

Työnkulkuprosessi. Yksinkertaisimmillaan asiaa voidaan kuvata niin, että kirjoitat kirjeen, laitat sen kirjekuoreen, liimaat postimerkin ja viet kirjeen postilaatikkoon. Jos kyseessä onkin paketti, viet sen postitoimipaikkaan. Ja jos kyseessä on verkko-ostosten palautus, et tarvitse postimerkkiä.

Myös antolainauksessa työnkuluissa on paljon erilaisia yksityiskohtia: esimerkiksi luottolimiitin hyväksyminen on monivaiheisempi prosessi kuin jo hyväksytyn limiitin käyttö. Myös luoton määrä vaikuttaa hyväksymisportaaseen ja hyväksyjien määrään. Työnkuluissa on lukuisia yksityiskohtia ja kun prosesseja digitalisoidaan, pitää kaikki yksityiskohdat sisällyttää järjestelmän ohjelmakoodiin. Tämä siksi, että prosessien tai tuotteiden muuttuessa myös koodia pitää muuttaa.

gear-1-272x300-2391540– Muutosten nopeuttamiseksi olemme ottaneet käyttöön konfiguroitavan työnkulkumoottorin. Perusideana on, että asiakkaan liiketoimintaprosessit määritetään käyttöliittymällä graafisesti, eikä ohjelmakoodia tarvitse muuttaa, kertoo tuotepäällikkö Janne Takala.

Rahoituspäätöksissä työnkulku on kaiken ydin. Esimerkiksi leasingrahoituksessa tai yritysrahoituksessa tarvitaan erilaisia tietoja ja työnkulkumoottorin avulla järjestelmä ohjaa automaattisesti prosessia ja tarjoaa käyttäjälle valmiiksi oikeat asiat käyttöliittymälle.

Tehokkuus ennen kaikkea

Työnkulkujen automatisointi tuo tehokkuutta. Esimerkiksi olemassa olevan asiakkaan kohdalla tietyn rajan alle jäävän lainan hyväksynnässä voidaan osa vaiheista ohittaa automaattisesti. Näin rahoituksen asiantuntijoiden aikaa vapautuu rutiineista toimintaan, joka tuottaa enemmän lisäarvoa.

Työnkulkumoottorin etu on, että asiakkaan prosessien muuttuessa, ei muutoksia tarvita ohjelmakoodiin. Kun tiedot ovat työnkulkumoottorissa, voidaan konfiguraatiomuutokset tehdä minuuteissa ilman sovelluksen asennusta tai käyttökatkoja.

– Voidaan ajatella, että tuote on moottori, jonka päälle rakennetaan tarkemmat säännöt. Niitä voidaan muuttaa tarvittaessa, samaan tapaan kuin autossa vaihdetaan vaihdetta, tiivistää Takala.

(*) Workflow engine

Evitec Power Lending on antolainauksen ja vakuushallinnan elinkaarijärjestelmä, jonka kehittäjätiimi työskentelee Evitecin Espoon ja Lahden toimistoilla. Viimeiset 11 kuukautta projektitiimi on työskennellyt etänä. Projektissa pitkään työskennellyt kehittäjä, Jussi Kauhanen, kertoo uuden tilanteen tuoneen etuja.

-Aiemmin tiimi oli jakaantunut kahteen toimipaikkaan, mikä saattoi joskus näkyä kommunikaatiossa. Nyt, kun emme ole fyysisesti toimistolla, koen kommunikaation olevan jopa tasapuolisempaa.

IT-alan työskentelymallit soveltuvat etätyöhön hyvin. Scrum (ketterä kehitys) ja sen päivittäiset palaverit, dailyt, on helppo pitää esimerkiksi Teamsin kautta.

-Olemme tehneet sellaisen päätöksen, että dailyyn voi liittyä halutessaan 5-10 minuuttia aiemmin ja keskustelemme porukassa vapaamuotoisesti ennen varsinaista palaveria, kertoo Jussi.

Kuulumisten vaihto. Kollegalta mielipiteen kysyminen. Asioita, jotka eivät tunnu yhtä helpoilta, kun ihmisiä ei näe toimistolla. Jussi on samaa mieltä:

-Tässä (etätyössä) on suurempi kynnys soittaa kaverille, jos ei ole mitään varsinaista asiaa. Kun istutaan samassa tilassa toimistolla, niin siinä tulee päivän aikana juteltua kaikenlaista. Ylipäätään näen, että aikataulutusta pitää miettiä nykytilanteessa eri lailla tai sitä, miten asiat tehdään.

olympus-digital-camera
Jussi uskoo viihtyvänsä toimistolla myös tulevaisuudessa. ”Paikasta riippumaton työ saattaa olla houkuttelevaa niille, jotka asuvat pienemmillä paikkakunnilla”, sanoo Jussi.

”Voin nähdä itseni toimistotyössä tulevaisuudessakin”

Törmäämme jatkuvasti uutisiin siitä, kuinka etätyö on tullut jäädäkseen, tai että hybridimalli (etä- ja lähityön yhdistelmä) on uusi tulevaisuus.

-Onhan meillä ollut aiemminkin etätyömahdollisuus, mutten ole nähnyt mitään erityisen hyvää syytä tehdä töitä kotona, kun muu tiimi on toimistolla, sanoo Jussi.

Toisaalta lähes vuosi kotona on muuttanut Jussinkin käsitystä etätyöstä:

-Olen sopeutunut tilanteeseen melko hyvin, että voihan se toimistolle paluu olla shokkikin. Pidän kuitenkin siitä, että toimistolla työskentely tuo selkeän jaon työn ja vapaa-ajan välille.

Tuttu työyhteisö helpottaa etätyön keskellä

Profit Softwaressa on aloittanut viimeisen vuoden aikana yli 40 uutta työntekijää. Jussin työura on kestänyt useamman vuoden ja työyhteisö on tuttu. Siksi etätyöhön siirtyminen on tuntunut suhteellisen vaivattomalta.

Onko mitään sellaista, mikä ei ole tuntunut etätyössä samalta?

Vastaus löytyy nopeasti.

-Saimme hiljattain ison projektin maaliin. Se, ettemme voineet juhlistaa asiaa yhdessä on kyllä harmi.

Evitec Power Lending on antolainauksen ja vakuushallinnan elinkaarijärjestelmä, joka soveltuu parhaiten suomalaisen yritysrahoituksen tarpeisiin. Ratkaisu koostuu moduuleista, jotka kattavat rahoituksen koko elinkaaren. Näillä moduuleilla hallinnoidaan lainoja ja vakuuksia sekä luottopäätöksiä ja luottoriskilaskelmia. Teknologioina on mm. React, .NET ja SQL Server.

Järjestelmäprojekti vaatii onnistuakseen jatkuvaa testausta. Sprinteissä kehitettävässä projektissa toiminnallisuuksia testataan sitä mukaa, kun toteutus etenee. Käytännössä lähes kaikki testit ovat automatisoituja ja tiimin on helppo havaita tilanteet, joissa uusi toiminnallisuus rikkoisi jotakin toimivaa.

pineapple-fruit-on-the-plantation-farmToimimme luottamusbisneksessä. Lähtökohtaisesti se tarkoittaa, että lähes kaikissa projekteissa toimimme tahojen kanssa, jotka noudattavat omassa toiminnassaan tietosuojaan liittyviä lakeja ja velvoitteita, esimerkiksi pankkisalaisuutta*. Pankkisalaisuus tarkoittaa, että kaikki asiakasta koskevat tiedot ovat luottamuksellisia.

Miten luottamus ja testaus liittyvät toisiinsa?

Testidatan pseudoanonymisointi käytännössä

Testaukseen tarvitaan testiaineistoa ja paras testiaineisto olisi tuotantoympäristön oikea data. Sitä ei kuitenkaan voida jakaa testaukseen, sillä tieto on salassa pidettävää eli tiedonkäsittelyyn vaikuttaa aina rooli – kenen on oleellista käsitellä dataa. Data tulee siis pseudoanonymisoida** ennen kuin sitä aletaan testaamaan. Miten tämä käytännössä tehdään?

-Oikeita nimiä tai henkilötunnuksia ei saa olla, mutta voimme käyttää nimi- ja osoiteyhdistelmää, joka pysyy aina samana. Pääperiaatteina ovat yksisuuntaisuus ja toistettavuus. Toistettavuus on sitä, että nimi tulee joka kerta samanlaisena (esim. Yritys X on joka testikerralla Yritys A). Yksisuuntaisuus taas viittaa siihen, ettei testaajan ole mahdollista päätellä Yritys A:n oikeaa nimeä, kertoo Profit Softwaren kehittäjä Henrika Hannula.

Testidata pitää siis nimetä. Mieluiten loogisesti, sillä kehitysympäristössä voi olla niin asiakkaan liiketoiminnan asiantuntijoita kuin Profit Softwaren kehittäjiä. Miten data nimettiin Valtiokonttorin vakuushallintaprojektissa?

-Lähdin testausaineiston nimeämisessä siitä, että tarvitsen 100 etunimeä, 100 sukunimeä, 100 paikannimeä ja 100 toimialaa. Innoittajina toimivat esimerkiksi julkisuudesta tutut henkilöt. Lieksan Ananasfarmi Oy, Ylihärmän Kasvihotelli Oy tai Frida Lipsanen ovat esimerkkejä keksimistäni yhdistelmistä, sanoo Hannula.

Moniulotteisen järjestelmän testauksessa on useita eri tasoja, yksikkötesteistä kokonaisuuden testaukseen. Projektissa kehittäjät ovat vastanneet myös testauksesta. Näin pystytään toimimaan, sillä Profit Softwaren liiketoimintaymmärrys finanssialasta on erittäin hyvä. Laadusta ja lopputuloksesta on Valtiokonttorin projektissa vastannut koko tiimi.

Haluatko lukea projektista lisää? Tutustu:

Profit Software teki minkä lupasi – Valtiokonttorin vakuushallinta reaaliaikaan

Case Valtiokonttori: Uuden vakuushallintajärjestelmän kehitys ketterin menetelmin

*) Hyvä Pankkitapa

**) Pseudonymisoidut ja anonymisoidut tiedot