Testi kuten Google: Teollisuuden jättiläisten parhaat käytännöt (04.26.24)

Voimme oppia paljon alan jättiläisiltä seuraamalla heidän menetelmiä ja lähestymistapoja työnkulkuissa.

Kuinka he onnistuvat ylläpitämään ohjelmistojen testausprosessia miljoonissa koodiriveissä?

Kuinka he järjestävät työnkulun tuhansien laadunvarmistusinsinöörien kanssa?

Kuinka he selviävät projektin laajentamisesta?

Google- tai Spotify-yritysten kokemukset voivat auttaa parantamaan testausprosesseja pienissä yrityksissä ja joukkueet.

Katsotaanpa tarkemmin, miten jättiläiset testaavat.

Google: koodin kattavuuden merkitys

Silti monet insinöörit kiistävät tällaisen ohjelmistotestaustehokkuuden tärkeyden koodikattavuutena. Googlen asiantuntijat väittävät, että koodin peittotiedot voivat olla arvokasta tietoa testitoiminnan riskien ja pullonkaulojen arvioimiseksi. Carlos Arguelles, Marko Ivanković ja Adam Bender jakavat koodin kattavuuden parhaat käytännöt:

  • Koodin peitto voi auttaa vähentämään virheitä ja virheitä. Googlen laadunvarmistusinsinöörien kokemus osoitti, että koodin kattavuuden kasvu johtaa muutoksiin testausmenetelmissä ja suhtautumisessa testaukseen. Joukkueet, joiden ensisijainen tavoite on koodikattavuus, pyrkivät parantamaan tuotteidensa testattavuutta. He kirjoittavat tehokkaamman koodin testausta varten, jotta testaustavoitteet saavutettaisiin helpommin ja vähemmän aikaa vievästi.
  • Käytä mutaatiotestausta korkean testikattavuuden varmistamiseksi. Täydellinen koodin peitto voi olla tuhlaavaa, eikä se takaa korkealaatuista testipeittoa. Suuri prosenttiosuus koodikattavuudesta ei tarkoita, että kaikki toiminnot on testattu oikein. Se tarkoittaa, että koodi testattiin kokonaisuudessaan. Testauslaadun korkean laadun varmistamiseksi Google-asiantuntijat suosittelevat mutaatiotestauksen käyttöä. Tämä menetelmä sisältää pienten koodimuutosten toteuttamisen ja sen tarkistamisen, kuinka testisarjat tunnistavat ne.
  • Koodin kattavuusprosentti riippuu monista tekijöistä. Meidän ei pitäisi pyrkiä korkeaan koodikattavuuteen, mutta matala kattavuus johtaa myös moniin virheisiin. Ja kysymys on, mikä on tietyn järjestelmän erityinen koodin peitto? Tähän kysymykseen vastaamiseksi meidän tulisi ottaa huomioon esimerkiksi koodin vaihtamisen kriittisyys, monimutkaisuus ja tiheys. Koodin peitto on liiketoiminnan päätös, ja tuotteen omistajien tulisi määritellä se.
  • Analysoi mitä kattaa. Emme voi saada 100% koodia, joten laadunvalvonta-insinöörien tulisi huomioida arvokkaimmat koodin osat käsitellään. Kehittäjätiimin ei tulisi keskustella eikä ajatella, kuinka monta koodiriviä se kattaa, vaan mitä tarkalleen peitetään.
Spotify: luotettava strategia

Spotify on nopeasti kasvava yritys. Se perustettiin vuonna 2008, ja sillä on 150 työntekijää. Vuonna 2019 työntekijöiden määrä kasvoi 4 405: een. Nykyään Spotify palvelee noin 300 miljoonaa käyttäjää ympäri maailmaa, mikä tekee siitä maailman suosituimman suoratoistopalvelun.

Voimme oppia siitä, miten Spotify skaalaa testauksensa ja kehitysprosessit.

  • Aseta tuotetavoitteet laadunvarmistusryhmälle. Spotifyssä on rajat ylittäviä tiimejä. Jokaisella joukkueella on tavoitteita ja joukko erityisiä taitoja näiden tavoitteiden saavuttamiseksi. Joukkueen rakenne riippuu tavoitteista. Jotkut joukkueet koostuvat vain kehittäjistä ja joillakin on kehittäjiä ja testaajia. Siksi testaajat tekevät tiivistä yhteistyötä kehitystiimin kanssa ja keskittyvät tuotteen ensisijaisiin tavoitteisiin. Tällaisen lähestymistavan avulla Spotify voi skaalata kehitysprosessia tehokkaasti.
  • Automaatiotestaus on työkalu, mutta ei ihmelääke. Spotifyn testaus- ja kehityspäällikkö Kristian Karl väittää, että ohjelmistotestereitä ei voida korvata automaatiolla. Testaus vaatii ihmisen kokemusta ja tietoa. Automaatiotestaus on vankka työkalu prosessin nopeuttamiseksi, mutta ihmiset tekevät päätöksiä ja analysoivat automaattisia raportteja. Spotify käyttää automaatiota yhtenä mittakaavan työkaluista. Sen avulla testaajat voivat jättää rutiinin algoritmeille ja keskittyä tuotetavoitteisiin.
SpaceX: jatkuva testaus on välttämätöntä

SpaceX on innovatiivinen yritys, joka tunnetaan kaupallisista avaruuskuljetuksista, uudelleenkäytettävästä laukaisujärjestelmästä ja korkea hyötysuhde.

Ilmavoimien ohjelmistojohtaja Nicholas Chaillan sanoi, että SpaceX-kehitysosastojärjestelmä on viisi kertaa tehokkaampi kuin klassisen työnkulun omaavat yritykset. Kuinka SpaceX selviää testausprosessista tällaisella suorituskyvyllä?

DevOps ja ketterä lähestymistapa antavat SpaceX QA -insinöörien tarjota massaautomaatiotestausta. Kehityssyklin kautta testaajat tarjoavat jatkuvaa testausta saadakseen välitöntä palautetta ja poistamaan olemassa olevat riskit. Siksi he työskentelevät ennakoivasti, testaavat usein ja aikaisin.

Yritys kehitti strategian jatkuvan testauksen toteuttamiseksi kehitysprosessissa.

  • Prioriteettiarvo. Kuten Google, SpaceX suosittelee koodikattavuusmittareiden käyttöä ymmärtämään, mitä sinun pitäisi automatisoida ja mitä ei. Se auttaa optimoimaan jatkuvaa testausta ja tehostamaan jo toteutettuja toimintoja.
  • Avain on automaattinen end-to-end -testaus. Tee vaikutusanalyysi osa jatkuvaa integraatiota. Sen avulla yritykset voivat analysoida, kuinka uusien toimintojen lisääminen tai koodin muuttaminen voi vaikuttaa koko järjestelmään tai joihinkin sen osiin.
  • Ryhmällä tulee olla vakaa ja helposti toistettava testiympäristö. Työkalu, kuten Virtual Machine Snapshot, voi auttaa säästämään dataa, palaamaan testaukseen tai jatkamaan työtä.
  • Käytä tekoälyä ja koneoppimista analysoidaksesi testausraportteja. AI -pohjaiset työkalut nopeuttavat käyttöönottoa ja optimoivat testausprosessia.
  • Rakenna vankka jatkuva integraatioarkkitehtuuri. CI-järjestelmän tärkein etu on lyhyt jakso koodin koontiversion ja testien välillä . Jatkuvan testauksen on oltava mukana kehitysprosessissa, ja siihen on sisällyttävä tarvittavia testaustyyppejä.
  • Yhteenveto

    Jokaisella yrityksellä on testausstrategia, -prosessi ja -menetelmät. Jokainen tiimi valitsee ja säätää testausprosessia lopullisten tavoitteiden ja tuotekyvyn perusteella. Kaikkien asiantuntijoiden päätehtävänä on ajatella asiakasta ja loppukäyttäjää, sopeutua uusiin vaatimuksiin ja ottaa käyttöön alan parhaat kokemukset.


    YouTube-video: Testi kuten Google: Teollisuuden jättiläisten parhaat käytännöt

    04, 2024