Päästä päähän -testaus vs. regressiotestaus: katsaus kahteen testausnäkökulmaan

By Esko Hannula

Jokaisen testaajan tavoitteena on luottaa ohjelmistoon jatkuvan testauksen ansiosta. Voimme nukkua yömme paremmin tietäen, että tuotteissa havaitaan vähemmän virheitä, koska käytössä on kattava testausprosessi. Oikeiden testausstrategioiden valinta on vähintään yhtä tärkeää kuin riittävä testaaminen. Minua pyydettiin kerran laatimaan testaussuunnitelma monimutkaiselle verkkolaitteelle. Tavoitteena oli saavuttaa 100 prosentin kattavuus eri yhteyksille ja niiden yhdistelmille. Nopea laskelma osoitti, […]

Jokaisen testaajan tavoitteena on luottaa ohjelmistoon jatkuvan testauksen ansiosta. Voimme nukkua yömme paremmin tietäen, että tuotteissa havaitaan vähemmän virheitä, koska käytössä on kattava testausprosessi. Oikeiden testausstrategioiden valinta on vähintään yhtä tärkeää kuin riittävä testaaminen.

Minua pyydettiin kerran laatimaan testaussuunnitelma monimutkaiselle verkkolaitteelle. Tavoitteena oli saavuttaa 100 prosentin kattavuus eri yhteyksille ja niiden yhdistelmille. Nopea laskelma osoitti, että tällaisten testien määrittäminen ja suorittaminen veisi yli 40 000 vuotta.

Mitä monimutkaisempia järjestelmäsi ovat, sitä tärkeämpää on löytää testausstrategia, joka on sekä toteuttamiskelpoinen että onnistunut.

Kaksi viime aikoina usein esiin noussutta testaamisen näkökulmaa ja lähestymistapaa tunnetaan nimillä päästä päähän -testaus ja regressiotestaus. 

Regressiotestauksen tarkoituksena on varmistaa, että eilen toiminut toimii edelleen tänään kaikkien tehtyjen muutosten jälkeen. 

Päästä päähän -testauksessa liiketoimintaprosessi testataan kokonaisuutena, mistä nimitys ”päästä päähän” johtuu.

On yleinen väärinkäsitys pitää näitä kahta strategiaa samoina, koska regressiotestaukseen sisältyy usein myös päästä päähän -testausta. Olisi kuitenkin virhe olettaa, että päästä päähän -testaus tarkoittaisi ainoastaan regressiotestejä.

Regressiotestausta tulisi tehdä kaikilla testauksen tasoilla alkaen yksikkötesteistä. Päästä päähän -testaus sisältää regressiotestauksen, mutta päästä päähän -testaus on harvoin mahdollista alemmilla testaustasoilla, koska prosessin kaikkien osien on oltava käytettävissä, jotta sitä voidaan testata kokonaisuutena. 

Jokaisella testaustyypillä on oma selkeä ja erilainen tarkoituksensa. Jokaisella on omat hyötynsä, haasteensa ja ominaisuutensa, jotka tekevät niistä ainutlaatuisia eri ohjelmistotavoitteita varten. 

Yksikkötestauksesta puheen ollen, tutustu suosituksiimme: 10 parasta yksikkötestaustyökalua.

Päästä päähän -testaus: mitä se on – ja mitä se ei ole

Päästä päähän -testaus tarkoittaa työnkulun testaamista alusta loppuun. Monet työnkulut tai liiketoimintaprosessit ulottuvat nykyään useiden sovellusten ja järjestelmien yli. Siksi perinteiset sovellustestauksen tai järjestelmätestauksen käsitteet eivät välttämättä enää yksin riitä.

Päästä päähän -testaus mittaa liiketoimintaprosessin toiminnallisuutta ja suorituskykyä. Luonteensa vuoksi päästä päähän -testausta ei aina ole mahdollista suorittaa tavallisessa testiympäristössä. Sen sijaan usein tarvitaan simuloitu tai todellinen julkaisun jälkeinen ympäristö.

Päästä päähän -testeillä tunnistetaan enimmäkseen ongelmia, riippuvuuksia ja integraatio-ongelmia.

Tämä testaustyyppi saattaa kuulostaa samankaltaiselta kuin käyttäjähyväksyntätestaus (UAT), koska sen avulla testaajat voivat jäljitellä loppukäyttäjän toimintaa, kuten verkkosivustolla suoritettavan tapahtuman simulointia, joka on yleinen kuluttajaliiketoiminnan prosessi. Nykyaikaisessa, nopeasyklisessä kehityksessä päästä päähän -testauksen on kuitenkin oltava jatkuvaa toimintaa eikä pelkkä hyväksymistestausvaihe. 

Päästä päähän -testausta suoritettaessa on tärkeää simuloida todellista käyttöympäristöä, johon sisältyy usein vuorovaikutusta tietokantojen kanssa. Saumattoman käyttökokemuksen varmistamiseksi kannattaa harkita ensiluokkaisen tietokantojen hallintaohjelmiston käyttöä.

Get Free Access
Get regular tech leadership wisdom for delivering better software and systems.
Get Free Access

Have an account? Log In

Päästä päähän -testauksen hyödyt ja haasteet

Useimmat yritykset toimivat nykyään sekä pilvessä että sen ulkopuolella, mikä on vahva peruste integraatioiden tarkalle seurannalle. Päästä päähän -testaus sopii yleensä hyvin heterogeenisille järjestelmille, sillä sen avulla voidaan tarkistaa jokainen erillinen järjestelmä ja kerros sovelluksen käyttöliittymästä ja taustajärjestelmästä tietokantaan asti. 

Tässä kohtaamme kuitenkin haasteen: testaajien on luotava ja suoritettava paljon pitkäkestoisia ja toistuvia testejä, mikä on työlästä. Suurempi testipaketti tarkoittaa, että ylläpito vaatii enemmän aikaa ja vaivaa. Päästä päähän -testaajat huomaavat usein uppoutuvansa testiympäristöjen luomiseen ja ylläpitoon. 

Koska päästä päähän -testauksella pyritään jäljittelemään käyttäjän vuorovaikutusta, sitä ei voi suorittaa pelkästään kehitysympäristössä. Tuotantoympäristö ei kuitenkaan ole aina käytettävissä, ja testauksen voivat keskeyttää esimerkiksi ohjelmistopäivitykset.

Laajamittaisesta testiautomaatiosta tulee asianmukaisen päästä päähän -testauksen edellytys. Testaajien tulisi keskittää työnsä testien suunnitteluun ja testitulosten analysointiin sen sijaan, että he ylläpitävät olemassa olevia testejä ja määrittävät työkaluja ja ympäristöjä. Testiautomaatioalusta, joka vähentää ylläpidon kuormaa, automatisoi testien valmistelun ja pystyy suorittamaan testejä rinnakkain, voi säästää paljon vaivaa ja vielä enemmän aikaa.

Regressiotestaus

Regressiotestaus tulee kyseeseen, kun järjestelmään on tehty muutoksia. Kaikki ohjelmistotestauksen parissa työskennelleet tietävät, että muutokset yhdessä paikassa voivat aiheuttaa toimintahäiriön jossain muualla.  

Regressiotestausta tehdään käytännössä minkä tahansa seuraavan tilanteen jälkeen: uusien ominaisuuksien lisääminen, virheenkorjaukset, päivitykset tai uudet julkaisut. Testaajat voivat suorittaa osittaisen tai täyden valikoiman aiemmin luotuja testitapauksia. 

Otetaan esimerkiksi seuraava tilanne:

Kuvitellaan liiketoimintaprosessi, joka alkaa siitä, että kuluttaja ostaa jotain mobiilisovelluksella. Liiketoimintaprosessia voi hallita Salesforce-sovellus, maksun voi käsitellä ulkoinen maksunkäsittelyjärjestelmä ja varsinainen tilaus voidaan käsitellä  SAP-sovelluksessa. Jotkin prosessin vaiheet voivat edellyttää ihmisten osallistumista. 

Prosessiin liittyvien sovellusten kehittäjät voivat kehittää omia osuuksiaan toisistaan riippumatta ja ehkä jopa tietämättä toisistaan. Yhden sovelluksen parannus voi aiheuttaa yhteensopivuusongelman toisessa sovelluksessa. Tässä päästä päähän -testaus ja regressiotestaus yhdistyvät erittäin merkityksellisellä tavalla.

More Articles

Regressiotestien automatisointi julkaisuketjussa

Regressiotestaus tekee CI/CD-putkesta täydellisen, koska se arvioi järjestelmän vakautta jokaisen muutoksen yhteydessä. Kukaan ei pidä uudelleentyöstä tai siitä, että ohjelmiston jo julkaisun jälkeen huomataan jonkin olevan väärin. 

Hyötyihin liittyy kuitenkin haasteita, erityisesti ohjelmiston kasvaessa liiketoiminnan mukana. Vanhoja testitapauksia suoritetaan uusien testitapausten kanssa, mikä kasvattaa testikokoelmia ja pidentää testausjaksoja. Automaatio ja lopulta tekoäly auttavat testien suorittamisessa, ylläpidossa ja analysoinnissa.

Päästä päähän -testaus vai regressiotestaus: kumpi sopii yrityksellesi? 

Vastaus on molemmat. Päästä päähän -testauksen ja regressiotestauksen välillä ei pidä valita. 

Sen sijaan sinun on päätettävä, kuinka paljon päästä päähän -testausta tarvitset ja kuinka suuren osan siitä tulisi olla regressiotestausta ja kuinka suuren osan uusien ominaisuuksien testausta. 

Kuten edellä todettiin, päästä päähän -testaus on yleensä hidasta ja edellyttää monimutkaisia testausympäristöjä. Automaation hyödyntäminen läpimenoaikojen lyhentämiseksi on välttämätöntä. 

Päästä päähän -testauksen monimutkaisen luonteen vuoksi automaatio on kuitenkin rakennettava niin, etteivät sen ylläpitoon tarvittava aika ja vaiva syö saavutettua hyötyä. 

Yksi testaajien merkittävistä ongelmista on ollut se, että toistuva testaaminen suurilla testikokoelmilla heterogeenisessä ympäristössä tarkoittaa pitkiä testausjaksoja ja työlästä prosessia. Sitä ei kuitenkaan voi kiertää. 

Digitaaliset liiketoimintaprosessit kasvavat jatkuvasti sekä määrältään että monimutkaisuudeltaan. Erinomainen testaustiimi, jolla on käytössään asianmukaiset nykyaikaiset automaatiotyökalut, voi todella edistää liiketoiminnan menestystä. Kuulemme myös, että tiimit joutuvat käyttämään eri työkaluja eri sovellusten testaamiseen, joten voi olla hyödyllistä löytää työkalu, jolla voi testata useita skenaarioita.

Saatat myös pitää tästä: 10 parasta visuaalisen regressiotestauksen työkalua laadunvarmistustiimeille

Esko Hannula
Esko Hannula is VP Product Line Management at Copado, a DevOps and testing solution for low code SaaS platforms that run the world’s largest digital transformations. Backed by Insight Partners, Salesforce Ventures and SoftBank Vision Fund, Copado accelerates multi-cloud, enterprise deployments by automating the end-to-end software delivery process to maximize customers’ return on their cloud investment.
Follow the author:

You may also like