Automaatiotestauksen pimeä puoli & miksi manuaalisella testauksella on edelleen merkitystä

By Jason Boog

Automaatiotestauksesta on tullut niin olennainen osa tiettyjä rutiineja, että jotkut testaajat pohtivat, korvaako se manuaalisen testauksen kokonaan.  Ei vielä pitkään aikaan.  Kun Teslan tiimi suunnitteli Model 3 -mallia, yksi heidän tavoistaan kasvattaa tuotantonopeutta oli täysin automatisoidun kokoonpanolinjan käyttöönotto. AI kokoaisi auton lähes ilman ihmisten valvontaa.  Suunnitelma epäonnistui surkeasti. Autot törmäilivät toisiinsa, ovia porattiin ikkunoihin ja […]

Automaatiotestauksesta on tullut niin olennainen osa tiettyjä rutiineja, että jotkut testaajat pohtivat, korvaako se manuaalisen testauksen kokonaan. 

Ei vielä pitkään aikaan. 

Kun Teslan tiimi suunnitteli Model 3 -mallia, yksi heidän tavoistaan kasvattaa tuotantonopeutta oli täysin automatisoidun kokoonpanolinjan käyttöönotto. AI kokoaisi auton lähes ilman ihmisten valvontaa. 

Suunnitelma epäonnistui surkeasti.

Autot törmäilivät toisiinsa, ovia porattiin ikkunoihin ja renkaita ei saatu kunnolla vanteille. 

Mitä tapahtui? No, kävi ilmi, etteivät robotit näe kovin hyvin. Model 3 -mallin kokoamisesta vastannut AI ei pystynyt sopeutumaan odottamattomiin ongelmiin tai pieniin kohdistusvirheisiin. Jos kaikki ei ollut täydellisesti kohdallaan, se teki katastrofaalisia virheitä. 

Sama pätee QA-automaatiotestaukseen. Joissakin testaustavoissa on liian paljon muuttujia, ja manuaalisen testaajan on pystyttävä korjaamaan kurssia ja selvittämään ongelmia lennosta. 

Mitä automaatiotestaus on?

Automaatiotestauksessa QA-testaaja käyttää työkalua testitapauksen suorittamiseen. Kehityssyklin aikana sama testitapaus testataan useita kertoja.

Jotkin testitapaukset, joiden manuaaliseen läpikäyntiin QA-testaajatiimiltä kuluisi tunteja, voidaan suorittaa automaatiotyökalulla muutamassa minuutissa. Useista automaatiotestaustyökaluista on tullut alan standardeja. 

Automaatiotestauksen pimeä puoli

Muut alat, käsityöammatit ja ammatit ovat joutuneet käsittelemään automaation käyttöönottoa omalla alallaan. Aina kun näin on tapahtunut, olipa kyse ilmailun autopilotista, mattojen kutomisesta tai testaamisesta, kyseisen alan työntekijät menettävät ymmärryksensä työnsä taustalla olevasta ”miksi”-kysymyksestä.

QA-ammattilainen Jan Jaap Cannegieter huomasi, että tämä ilmiö alkoi tapahtua testaajien keskuudessa. Hänen suurin pelkonsa on, että automaatiotestauksen helppous ja kasvava pyrkimys automatisoida suuri osa testausprosessista johtavat testaajasukupolveen, joka tietää, mitä toimintoja suorittaa, mutta ei ymmärrä, miksi ne suoritetaan. 

Monet testaajat tietävät kaiken tietyistä työkaluista tai ohjelmointikielistä, mutta he eivät osaa kertoa minulle, mitä he testaavat ja miksi he testaavat sitä. Ja se on huono asia.

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

Have an account? Log In

Esimerkkejä huonosta automaatiotestauksesta

Monet QA-testaajat näkevät automaatiotestauksessa saman potentiaalin. Tyypillisesti tämä tarkoittaa, että havaittavissa on suuntauksia ja yleisiä virheitä, joita QA-testaaja voi tehdä. Tässä on joitakin yleisiä esimerkkejä huonosta automaatiotestauksesta. 

Automaatiotestien sisäkkäisyys

Automaatiotestien sisäkkäisyydellä tarkoitetaan tilannetta, jossa useita automaatiotestejä suoritetaan toistensa päällä.  Kun näin tapahtuu, on vaikea selvittää, mikä on mennyt pieleen virheen ilmetessä. 

Lyhyellä aikavälillä useimmat automaatiotestauksen tapaukset ovat myönteisiä. QA-testaaja käyttää oikeaa työkalua ja suorittaa testin oikein. 

Monet esimerkit huonosta automaatiotestauksesta muuttuvat huonoiksi vasta kuuden kuukauden kuluttua, kun automatisoituja testejä on sisäkkäin muiden automatisoitujen testien sisällä, jotka puolestaan ovat sisäkkäin muiden automatisoitujen testien sisällä. 

Käyttöliittymän automaatiotestaus ilman valvontaa

Käyttöliittymätestauksella varmistetaan, ettei käyttäjä voi tehdä käyttöliittymässä mitään sellaista, joka rikkoisi ohjelman tai aiheuttaisi toimintahäiriöitä. Manuaalisesti testattuna tämä voi vaatia paljon testaajia ja paljon työvoimaa. Suoraan sanottuna tällainen testaustapa on tehoton, etenkin ohjelman kasvaessa ja yhä useampien toimintojen vaatiessa testausta. 

Automaatiotestauksen avulla prosessi nopeutuu, mutta se voi silti vaatia QA-testaajan tietokoneen täyden kapasiteetin koko päiväksi. Tämän vuoksi QA-testaajat suorittavat testin päivän päätteeksi, antavat sen työskennellä yön yli ja palaavat seuraavana aamuna töihin, jolloin tulokset odottavat heitä valmiina. Kuulostaa järkevältä, eikö? 

Päällisin puolin se vaikuttaa järkevältä toimintatavalta. QA-testaaja käyttää tietokonettaan muiden ohjelmien testaamiseen päivän aikana ja suorittaa sitten yöllä käyttöliittymän automaatiotestauksen.

Juuri siksi, että se vaikuttaa intuitiivisesti järkevältä, tämä on yleinen virhe. Valvomattomassa automaatiotestauksessa voi mennä moni asia pieleen.

Jos jokin menee pieleen heti alussa, myös loput tulokset ovat vääriä. Kokonainen päivä testausta ei tuottanut mitään hyödyllistä tietoa, koska tapahtui virhe, joka olisi voitu helposti havaita ja korjata, jos joku olisi ollut tarkistamassa, että automaatiotesti suoritettiin oikein.

Vaikka automaattinen testaus voi joskus johtaa vääriin positiivisiin tuloksiin, oikeiden laadunvarmistuksen automaatiotyökalujen valinta voi vähentää tällaisia tapauksia merkittävästi. 

Väärien asioiden automatisointi

Automaatiotestauksen käyttöönotto vie aikaa. Laadunvarmistuksen on varmistettava, että automaatiotyökalut sopivat projektiin ja että laadunvarmistuksen testaajat osaavat käyttää työkaluja oikein. 

Kaikki tämä vie paljon aikaa ja edellyttää organisointia, ja jos lopputuloksena on kerran kuukaudessa suoritettavan testin automatisointi, vaiva ei ole sen arvoinen. Ennen kuin aloitat automaatiotestauksen, varmista, että automatisoitava asia säästää laadunvarmistuksen testaajilta mitattavasti aikaa.

Et voi automatisoida ainoastaan tehtäviä, jotka ovat liian harvinaisia vaivan arvoisiksi, vaan joitakin tehtäviä ei yksinkertaisesti voida automatisoida helposti.

Manuaalisen testauksen korvaaminen

Automaattinen testaus voi havaita vain asiat, joiden etsimiseen se on ohjelmoitu. Jos verkkosivuston fontit näyttävät oudoilta, mutta testissä tarkistettiin vain, että kaikki sivuston linkit toimivat, testi ratkaisee yhden ongelman (linkit), mutta ei tiedä, että toisessa asiassa (fonteissa) on jotain vialla. 

Manuaalisella testauksella voidaan havaita asioita, jotka jäävät testin alkuperäisen laajuuden ulkopuolelle. Tutkiva testaustapa suunniteltiin antamaan laadunvarmistuksen testaajalle tilaa löytää odottamattomia virheitä niiden ilmetessä, vaikka hän ei alun perin olisi etsinyt juuri niitä. Yksittäiseen tehtävään keskittyvä automaatiotestaus voi olla perusteellista. Se ei kuitenkaan voi olla kattavaa. 

Hyvän automaatiotestauksen esimerkkejä

Testiautomaatiota käytetään riskien minimoimiseksi. Kun laadunvarmistuksen testaaja voi minimoida riskin ja maksimoida tehokkuuden, automaatiotestausta kannattaa ehdottomasti käyttää.  Laadunvarmistuksen testaajan ei ole järkevää käyttää tuntikausia verkkosivuston linkkien manuaaliseen tarkistamiseen, kun verkkohämähäkki voi suorittaa saman tehtävän lyhyemmässä ajassa ja tekee todennäköisesti vähemmän virheitä.

Hyvä nyrkkisääntö päätettäessä, milloin automaatiotestausta tulisi käyttää manuaalisen testauksen sijaan, on kysyä, suoritetaanko testi nopeasti tai jatkuvasti. Jos testi suoritetaan jatkuvasti, automaatiotestaus on oikea ratkaisu. 

Ihmiset ovat koneita huonompia suorittaessaan toistuvia tehtäviä johdonmukaisesti korkealla tasolla. Kaipaamme vaihtelua ja irtaudumme henkisesti, kun teemme samaa asiaa liian pitkään. Näin virheet pääsevät livahtamaan läpi. 

Näin laadunvarmistuksen testaaja huomaa, että hän on: a) käyttänyt enemmän aikaa kuin automaatiotestauksen suorittamiseen olisi kulunut ja b) tehnyt huonompaa työtä sekä aiheuttanut myöhemmin enemmän ongelmia. 

Jason Huggins, suositun Selenium-automaatiotestaustyökalun kehittäjä, loi ohjelman, koska huomasi käyttävänsä testaajana niin monia päiviä samojen tehtävien suorittamiseen – tehtävien, jotka hänen mielestään olivat niin yksinkertaisia ja suoraviivaisia, että jopa robotti voisi hoitaa ne. Niinpä hän kehitti komentosarjan, joka testasi selaimen toiminnallisuutta automaattisesti hänen puolestaan. Se oli välitön menestys, ja siitä tuli nopeasti alan standardi. 

Jopa ne laadunvarmistuksen ammattilaiset, jotka suhtautuvat automaatiotestaukseen epäilevästi, tietävät, että siitä on monissa tilanteissa hyötyä. 

Miksi manuaalinen testaus ei koskaan kuole

Olemme käyneet läpi AT:n hyvät, huonot ja erittäin huonot puolet. Tiedämme, missä tilanteissa se toimii hyvin ja missä se saa kokoonpanolinjat heittelemään autonrenkaita ympäri tehdasta. Tarkastellaan hetki manuaalista testausta ja sitä, miksi se on edelleen niin tärkeää laadunvarmistuksen testaajille. 

Automaatiotestaus tarvitsee valvontaa

Kuten edellä mainittiin Muskin Model 3 -ongelman ja automaatiotestauksen yön yli suorittamiseen liittyvien riskien yhteydessä, asiat voivat mennä pahasti pieleen, kun automaatiotyökalut jätetään toimimaan yksin. 

Automaatiotestaus tarvitsee valvontaa gif

Automaatiotestauksen suurimmat hyödyt saavutetaan, kun sitä käytetään yhdessä manuaalisen testauksen kanssa tai laadunvarmistuksen testaajan valvonnassa. Jo tästä syystä laadunvarmistuksen testaajat voivat olla rauhallisin mielin tietäen, ettei AT tule lähitulevaisuudessa viemään heidän työroolejaan. 

More Articles

Manuaalinen testaus hyödyntää tutkivaa testausta

Kun testaaja suorittaa tutkivaa testausta, hän tutkii ohjelmistoa ilman ennalta määriteltyä suunnitelmaa. Se on yksi laadunvarmistuksen suosituimmista testaustavoista.

Tutkivaa testausta voidaan suorittaa ainoastaan manuaalisella testauksella. 

Tutkivan testauksen etuna on, että testaaja voi mukautua havaintoihinsa lennossa ilman, että hänen tarvitsee kirjoittaa uutta testitapausta. 

Tutkiva testaus mahdollistaa myös yhteistyön, teorioiden kehittämisen ja työskentelyn lennossa. 

Kun ketterän kehityksen teoria on yleistynyt, myös tutkiva testaus on yleistynyt. 

Automaatiotestauksesta puuttuu ketterään tutkivaan testaukseen tarvittava joustavuus ja luovuus. Se toimii parhaiten jäykässä ympäristössä, jossa se tietää tarkalleen, mitä etsiä. Tutkiva testaus on tämän täysi vastakohta – QA-testaajaa kehotetaan menemään minne tahansa. 

Mitä mieltä sinä olet?

Jotkut vannovat automaatiotestauksen nimeen, kun taas toiset ajattelevat edelleen manuaalisen testauksen olevan oikea tapa edetä. Miten QA-tiimit voivat mielestäsi hyödyntää automaatiotestausta parhaalla mahdollisella tavalla? Oletko sitä mieltä, että olemme valmiita tekoälyn hyödyntämiseen testauksessa?

Tilaa The CTO Clubin uutiskirje saadaksesi uusimmat artikkelit ja päivitykset alan asiantuntijoilta.

Jason Boog
Over his 15-year career, Jason Boog has worked as a QA tester, QA analyst, and Senior QA Analyst on video games, commercial sites, and interactive web applications. He spent more than a decade building out the QA team and process as Director of Quality & Client Support at a full-service digital agency.
Follow the author:

You may also like