Testirajte poput Googlea: Najbolji primjeri iz industrije Giants (04.26.24)

Od industrijskih divova možemo puno naučiti promatrajući njihove metode i pristupe u tijekovima rada.

Kako uspijevaju održavati proces testiranja softvera unutar milijuna redaka koda?

Kako organiziraju tijek rada s tisućama QA inženjera?

Kako se nose s proširenjem projekta?

Iskustvo tvrtki poput Googlea ili Spotify-a može pomoći u poboljšanju procesa testiranja u malim tvrtkama i timova.

Pogledajmo bliže kako divovi testiraju.

Google: važnost pokrivanja kodom

Ipak, mnogi inženjeri raspravljaju o važnosti takve mjere učinkovitosti testiranja softvera kao pokrivenost kodom. Googleovi stručnjaci inzistiraju na tome da podaci o pokrivenosti kodom mogu biti dragocjeni podaci za procjenu rizika i uskih grla u aktivnosti testiranja. Carlos Arguelles, Marko Ivanković i Adam Bender dijele najbolje prakse za pokrivanje koda:

  • Pokrivenost kodom može pomoći u smanjenju bugova i kvarova. Iskustvo QA-ovih inženjera iz Googlea pokazalo je da sve veće pokrivanje kodom dovodi do promjena u pristupima i stavovima prema testiranju. Timovi kojima je osnovni cilj pokrivanje kôdom teže da poboljšaju svoju proizvodnost. Napišu učinkovitiji kôd za testiranje kako bi postigli ciljeve testiranja lakše i manje vremena.
  • Koristite testiranje mutacija kako biste osigurali visoku pokrivenost testom. Potpuno pokrivanje koda može biti rasipno i ne jamči visokokvalitetno pokrivanje testom. Visok postotak pokrivenosti kodom ne znači da su sve funkcije ispravno testirane. To znači da je kôd ukupno testiran. Da bi osigurali visoku kvalitetu pokrivenosti testovima, Googleovi stručnjaci preporučuju korištenje testiranja mutacija. Ova metoda uključuje provođenje malih promjena koda i provjeru kako ih skupovi testova prepoznaju.
  • Postotak pokrivenosti kodom ovisi o mnogim čimbenicima. Ne bismo trebali ciljati na visoku pokrivenost kodom, ali niska pokrivenost također dovodi do velikog broja kvarova. Pitanje je što je specifično pokrivanje koda za određeni sustav? Da bismo odgovorili na ovo pitanje, trebali bismo razmotriti stvari kao što su kritičnost, složenost i učestalost mijenjanja koda. Pokrivenost kodom poslovna je odluka, a vlasnici proizvoda trebali bi je definirati.
  • Analizirajte što pokriti. Ne možemo dobiti 100% pokrivenost kodom, pa bi QA inženjeri trebali primijetiti da pokriveni su najvrjedniji dijelovi koda. Tim programera trebao bi raspravljati i razmišljati ne o tome koliko je redova koda pokriveno, već o tome što je točno obuhvaćeno.
Spotify: pouzdana strategija

Spotify je brzorastuća tvrtka. Osnovana je 2008. godine sa 150 zaposlenih. U 2019. broj zaposlenih narastao je na 4 405. Danas Spotify opslužuje oko 300 milijuna korisnika širom svijeta, što ga čini najpopularnijom uslugom streaminga na svijetu.

Možemo naučiti lekcije o tome kako Spotify skalira svoje testiranje i razvojni procesi.

  • Postavite ciljeve proizvoda za QA-tim. Spotify ima višefunkcionalne timove. Svaka momčad ima ciljeve i skup određenih vještina kojima se može približiti tim ciljevima. Struktura momčadi ovisi o ciljevima. Stoga se neki timovi sastoje samo od programera, a neki imaju programere i testere. Stoga testeri usko surađuju s razvojnim timom i usredotočuju se na primarne ciljeve proizvoda. Takav pristup omogućuje Spotifyu da učinkovito skalira razvojni proces.
  • Automatizirano testiranje je alat, ali nije lijek. Voditelj ispitivanja i razvoja u Spotifyu Kristian Karl tvrdi da testere softvera ne može zamijeniti automatizacija. Testiranje zahtijeva ljudsko iskustvo i znanje. Automatizirano testiranje snažan je alat za ubrzavanje procesa, ali ljudi donose odluke i analiziraju automatizirana izvješća. Spotify koristi automatizaciju kao jedan od alata za mjerenje. Omogućava testerima da ostave rutinu za algoritme i usredotoče se na ciljeve proizvoda.
SpaceX: kontinuirano testiranje je neophodno

SpaceX je inovativna tvrtka poznata po komercijalnom svemirskom prijevozu, sustavu za lansiranje za višekratnu upotrebu i visoka učinkovitost.

Nicholas Chaillan, glavni programski direktor zrakoplovstva, rekao je da je sustav SpaceX-ovog razvojnog odjela pet puta učinkovitiji od tvrtki s klasičnim tijekom rada. Kako se SpaceX nosi s postupkom testiranja s takvim performansama?

DevOps i Agile pristupi omogućuju SpaceX QA inženjerima da omoguće masovno automatizirano testiranje. Kroz razvojni ciklus, testeri pružaju kontinuirano testiranje kako bi dobili trenutne povratne informacije i eliminirali postojeće rizike. Stoga rade proaktivno, testiraju često i rano.

Tvrtka je razvila strategiju kako primijeniti kontinuirano testiranje u razvojnom procesu.

  • Odredite vrijednost kao prioritet. Kao i Google, SpaceX preporučuje upotrebu mjernih podataka o pokrivenosti koda da biste razumjeli što biste trebali automatizirati, a što ne. Pomaže u optimizaciji kontinuiranog testiranja i poboljšavanju već poduzetih aktivnosti.
  • Ključ je automatizirano testiranje od kraja do kraja. Učinite analizu utjecaja dijelom kontinuirane integracije. Omogućuje tvrtkama da analiziraju kako dodavanje novih funkcija ili promjena koda mogu utjecati na cjelokupni sustav ili neke dijelove njegova sustava.
  • Tim bi trebao imati stabilno i lako replicirano testno okruženje. Alat poput Snimke virtualnih strojeva može vam pomoći u spremanju stanja podataka, vraćanju na testiranje ili nastavku rada.
  • Koristite umjetnu inteligenciju i strojno učenje za analizu izvještaja o testiranju. AI Alati temeljeni na ubrzavanju implementacije i optimizaciji procesa testiranja.
  • Izgradite robusnu arhitekturu kontinuirane integracije. Glavna prednost CI sustava su kratka razdoblja između izrade i testiranja koda . Kontinuirano testiranje mora biti uključeno u proces razvoja i uključivati ​​potrebne vrste ispitivanja.
  • Sažetak

    Svaka tvrtka ima svoju strategiju, postupak i pristupe testiranja. Svaki tim odabire i prilagođava postupak ispitivanja na temelju krajnjih ciljeva i mogućnosti proizvoda. Glavni zadatak svakog stručnjaka je razmišljati o klijentu i krajnjem korisniku, prilagoditi se novim zahtjevima i usvojiti iskustvo najboljih u industriji.


    Youtube video: Testirajte poput Googlea: Najbolji primjeri iz industrije Giants

    04, 2024