Testas kaip „Google“: geriausia pramonės gigantų praktika (04.24.24)

Mes galime daug sužinoti iš pramonės gigantų, stebėdami jų metodus ir metodus darbo eigoje.

Kaip jiems pavyksta išlaikyti programinės įrangos testavimo procesą milijonuose kodo eilučių?

Kaip jie organizuoja darbo eigą su tūkstančiais kokybės užtikrinimo inžinierių?

Kaip jie susidoroja su projekto plėtra?

Tokių įmonių kaip „Google“ ar „Spotify“ patirtis gali padėti pagerinti bandymų procesus mažose įmonėse komandos.

Pažvelkime atidžiau, kaip testuoja milžinai.

„Google“: kodo aprėpties svarba

Vis dėlto daugelis inžinierių ginčijasi dėl tokios programinės įrangos testavimo efektyvumo priemonės svarbos. kaip kodo aprėptis. „Google“ specialistai tvirtina, kad kodo aprėpties duomenys gali būti vertinga informacija vertinant riziką ir kliūtis bandymo veikloje. Carlos Arguelles, Marko Ivanković ir Adam Bender dalijasi geriausia kodų aprėpties praktika:

  • Kodo aprėptis gali padėti sumažinti klaidas ir gedimus. „Google“ kokybės užtikrinimo inžinierių patirtis parodė, kad didėjant kodo aprėpčiai keičiasi požiūris ir požiūris į testavimą. Komandos, kurių pagrindinis tikslas yra kodo aprėptis, paprastai bando geriau išbandyti savo produktus. Jie rašo efektyvesnį testavimo kodą, kad būtų lengviau ir mažiau laiko užtrukti bandymo tikslams pasiekti.
  • Naudokite mutacijų testavimą, kad užtikrintumėte aukštą testo aprėptį. Visiškas kodo aprėptis gali būti švaistoma ir negarantuoja aukštos kokybės testų aprėpties. Didelis kodo aprėpties procentas nereiškia, kad visos funkcijos buvo patikrintos teisingai. Tai reiškia, kad kodas apskritai buvo išbandytas. Siekdami užtikrinti aukštą bandymų aprėpties kokybę, „Google“ ekspertai rekomenduoja naudoti mutacijų tyrimus. Šis metodas apima mažų kodo pakeitimų įgyvendinimą ir patikrinimą, kaip testų rinkiniai juos atpažįsta.
  • Kodo aprėpties procentas priklauso nuo daugelio veiksnių. Neturėtume siekti didelio kodo aprėpties, tačiau maža aprėptis lemia ir daugybę gedimų. Kyla klausimas, kas yra tam tikros sistemos konkretus kodo aprėptis? Norėdami atsakyti į šį klausimą, turėtume atsižvelgti į tokius dalykus, kaip kritiškumas, sudėtingumas ir kodo keitimo dažnis. Kodo aprėptis yra verslo sprendimas, kurį turėtų apibrėžti produktų savininkai.
  • Išanalizuokite, ką aprėpti. Mes negalime gauti 100% kodo aprėpties, todėl kokybės užtikrinimo inžinieriai turėtų tai pastebėti. aprašytos vertingiausios kodo dalys. Kūrėjų komanda turėtų aptarti ir galvoti ne apie tai, kiek kodo eilučių yra padengta, o apie tai, kas tiksliai yra padengta.
„Spotify“: patikima strategija

„Spotify“ yra sparčiai auganti įmonė. Ji buvo įkurta 2008 m., Kurioje dirba 150 darbuotojų. 2019 m. Darbuotojų skaičius išaugo iki 4 405. Šiandien „Spotify“ aptarnauja apie 300 milijonų vartotojų visame pasaulyje, todėl tai yra populiariausia srautinio perdavimo paslauga pasaulyje.

Mes galime pasimokyti, kaip „Spotify“ skalauja savo testavimą ir kūrimo procesai.

  • Nustatykite produkto tikslus kokybės užtikrinimo komandai. „Spotify“ turi daugiafunkcines komandas. Kiekviena komanda turi tikslų ir tam tikrų įgūdžių rinkinį, kaip pasiekti šiuos tikslus. Komandos struktūra priklauso nuo tikslų. Taigi, kai kurias komandas sudaro tik kūrėjai, o kai kurios turi kūrėjus ir testuotojus. Taigi testuotojai glaudžiai bendradarbiauja su kūrėjų komanda ir sutelkia dėmesį į pagrindinius produkto tikslus. Toks požiūris leidžia „Spotify“ efektyviai išplėsti kūrimo procesą.
  • Automatikos testavimas yra įrankis, bet ne panacėja. „Spotify“ bandymų ir plėtros vadovas Kristianas Karlas teigia, kad programinės įrangos testuotojų negalima pakeisti automatizavimu. Testavimui reikalinga žmogaus patirtis ir žinios. Automatikos testavimas yra patikima priemonė pagreitinti procesą, tačiau žmonės priima sprendimus ir analizuoja automatizuotas ataskaitas. „Spotify“ naudoja automatizavimą kaip vieną iš mastelio įrankių. Tai leidžia testuotojams palikti algoritmų įpročius ir sutelkti dėmesį į produkto tikslus.
„SpaceX“: nuolatinis testavimas yra būtinas

„SpaceX“ yra novatoriška įmonė, žinoma dėl komercinio kosminio transporto, daugkartinio naudojimo paleidimo sistemos ir didelis efektyvumas.

Nicholas Chaillanas, vyriausiasis oro pajėgų programinės įrangos pareigūnas, teigė, kad „SpaceX“ plėtros departamento sistema yra penkis kartus efektyvesnė nei klasikinio darbo srauto įmonės. Kaip „SpaceX“ su tokiu našumu susidoroja su testavimo procesu?

„DevOps“ ir „Agile“ požiūriai leidžia „SpaceX QA“ inžinieriams atlikti masinės automatikos bandymus. Per kūrimo ciklą testuotojai teikia nuolatinius bandymus, kad gautų greitą grįžtamąjį ryšį ir pašalintų esamą riziką. Taigi jie dirba aktyviai, dažnai ir anksti testuoja.

Bendrovė sukūrė strategiją, kaip nuolatinį testavimą įgyvendinti kūrimo procese.

  • Prioriteto vertinimas. Kaip ir „Google“, „SpaceX“ rekomenduoja naudoti kodo aprėpties metriką, kad suprastumėte, ką turėtumėte automatizuoti, o ko ne. Tai padeda optimizuoti nuolatinį testavimą ir patobulinti jau vykdomą veiklą.
  • Svarbiausia yra automatizuotas testavimas nuo galo iki pabaigos. Poveikio analizę paverskite nuolatinės integracijos dalimi. Tai leidžia įmonėms analizuoti, kaip naujų funkcijų pridėjimas ar kodo pakeitimas gali paveikti bendrą sistemą ar kai kurias jos dalis.
  • Komandoje turėtų būti stabili ir lengvai pakartojama bandymų aplinka. Toks įrankis kaip „Virtual Machine Snapshot“ gali padėti išsaugoti duomenų būseną, grįžti prie testavimo ar atnaujinti darbą.
  • Testavimo ataskaitoms analizuoti naudokite dirbtinį intelektą ir mašininį mokymąsi. AI įrankiai pagreitina diegimą ir optimizuoja testavimo procesą.
  • Sukurkite tvirtą nuolatinės integracijos architektūrą. Pagrindinis KI sistemos pranašumas yra trumpi laikotarpiai tarp kūrimo ir kodo bandymų. . Nuolatiniai bandymai turi būti įtraukti į kūrimo procesą ir apimti būtinus bandymų tipus.
  • Apibendrinant

    Kiekviena įmonė turi savo testavimo strategiją, procesą ir metodus. Kiekviena komanda pasirenka ir koreguoja testavimo procesą, atsižvelgdama į galutinius tikslus ir produkto galimybes. Pagrindinė bet kurio specialisto užduotis yra galvoti apie klientą ir galutinį vartotoją, prisitaikyti prie naujų reikalavimų ir pritaikyti geriausių pramonės atstovų patirtį.


    "YouTube" vaizdo įrašas: Testas kaip „Google“: geriausia pramonės gigantų praktika

    04, 2024