Pārbaudi tāpat kā Google: nozares gigantu paraugprakse (04.17.24)
Mēs varam daudz mācīties no nozares milžiem, ievērojot viņu metodes un pieejas darbplūsmās.
Kā viņiem izdodas uzturēt programmatūras testēšanas procesu miljonos koda rindiņu?
Kā viņi organizē darba plūsmu ar tūkstošiem QA inženieru?
Kā viņi tiek galā ar projekta paplašināšanu?
Tādu uzņēmumu kā Google vai Spotify pieredze var palīdzēt uzlabot testēšanas procesus mazos uzņēmumos un komandas.
Apskatīsim tuvāk, kā milži testē.
Google: koda pārklājuma nozīmeTomēr daudzi inženieri strīdas par šāda programmatūras testēšanas efektivitātes rādītāja nozīmi kā koda pārklājums. Google speciālisti uzstāj, ka koda pārklājuma dati var būt vērtīga informācija, lai novērtētu riskus un vājās vietas testēšanas darbībās. Karloss Argueless, Marko Ivankovičs un Adams Benders dalās paraugpraksē par koda pārklājumu:
- Kodu pārklājums var palīdzēt samazināt kļūdas un kļūmes. Google kvalitātes nodrošināšanas inženieru pieredze parādīja, ka koda pārklājuma palielināšanās rada izmaiņas pieejās un attieksmē pret testēšanu. Komandas, kuru galvenais mērķis ir koda pārklājums, parasti uzlabo savu produktu pārbaudāmību. Viņi testēšanai raksta efektīvāku kodu, lai vieglāk un laikietilpīgāk sasniegtu testēšanas mērķus.
- Izmantojiet mutāciju testēšanu, lai nodrošinātu augstu testa pārklājumu. Pilnīgs koda pārklājums var būt izšķērdīgs un negarantē augstas kvalitātes testa pārklājumu. Liels koda pārklājuma procents nenozīmē, ka visas funkcijas tika pārbaudītas pareizi. Tas nozīmē, ka kods kopumā tika pārbaudīts. Lai nodrošinātu augstu testa pārklājuma kvalitāti, Google eksperti iesaka izmantot mutāciju testēšanu. Šī metode ietver nelielu koda izmaiņu ieviešanu un pārbaudi, kā testa kopas tās identificē.
- Kodu pārklājuma procentuālais daudzums ir atkarīgs no daudziem faktoriem. Mums nevajadzētu mērķēt uz augstu koda pārklājumu, taču zems pārklājums noved pie daudzu kļūmju skaita. Un jautājums ir par to, kas ir īpašs koda pārklājums konkrētai sistēmai? Lai atbildētu uz šo jautājumu, mums jāapsver tādas lietas kā koda maiņas kritiskums, sarežģītība un biežums. Kodu pārklājums ir biznesa lēmums, un produktu īpašniekiem tas jādefinē.
- Analizējiet, kas jāaptver. Mēs nevaram iegūt 100% koda pārklājumu, tāpēc kvalitātes nodrošināšanas inženieriem tas jāievēro. tiek aplūkotas vērtīgākās koda daļas. Izstrādātāju komandai vajadzētu apspriest un domāt nevis par to, cik koda rindu ir aptverts, bet gan par to, kas tieši ir aptverts.
Spotify ir strauji augošs uzņēmums. Tā tika izveidota 2008. gadā ar 150 darbiniekiem. 2019. gadā darbinieku skaits pieauga līdz 4 405. Mūsdienās Spotify apkalpo aptuveni 300 miljonus lietotāju visā pasaulē, padarot to par vispopulārāko straumēšanas pakalpojumu pasaulē.
Mēs varam mācīties, kā Spotify mērogā pārbauda un izstrādes procesus.
- Noteikt QA komandas produkta mērķus. Spotify ir savstarpēji funkcionālas komandas. Katrai komandai ir mērķi un īpašu prasmju kopums, lai tuvotos šiem mērķiem. Komandas struktūra ir atkarīga no mērķiem. Tādējādi dažas komandas sastāv tikai no izstrādātājiem, bet dažās ir izstrādātāji un testētāji. Tādējādi testētāji cieši sadarbojas ar izstrādes komandu un koncentrējas uz produkta primārajiem mērķiem. Šāda pieeja ļauj Spotify efektīvi mērogot attīstības procesu.
- Automatizācijas testēšana ir rīks, bet ne panaceja. Testēšanas un attīstības vadītājs vietnē Spotify Kristians Karls apgalvo, ka programmatūras testētājus nevar aizstāt ar automatizāciju. Testēšanai nepieciešama cilvēku pieredze un zināšanas. Automatizācijas testēšana ir spēcīgs rīks, lai paātrinātu procesu, taču cilvēki pieņem lēmumus un analizē automatizētus pārskatus. Spotify izmanto automatizāciju kā vienu no mēroga rīkiem. Tas ļauj testētājiem atstāt rutīnu algoritmiem un koncentrēties uz produkta mērķiem.
SpaceX ir novatorisks uzņēmums, kas pazīstams ar komerciālu kosmosa transportu, atkārtoti izmantojamu palaišanas sistēmu un augsta efektivitāte.
Gaisa spēku programmatūras vadītājs Nicholas Chaillan teica, ka SpaceX izstrādes nodaļas sistēma ir piecas reizes efektīvāka nekā uzņēmumi ar klasisku darbplūsmu. Kā SpaceX tiek galā ar testēšanas procesu ar šādu veiktspēju?
DevOps un Agile pieeja ļauj SpaceX QA inženieriem nodrošināt masu automatizācijas testēšanu. Izstrādes cikla laikā testētāji nodrošina nepārtrauktu testēšanu, lai iegūtu tūlītēju atgriezenisko saiti un novērstu esošos riskus. Tādējādi viņi strādā proaktīvi, bieži un savlaicīgi testējot.
Uzņēmums izstrādāja stratēģiju, kā attīstības procesā ieviest nepārtrauktu testēšanu.
Katram uzņēmumam ir sava testēšanas stratēģija, process un pieejas. Katra komanda izvēlas un pielāgo testēšanas procesu, pamatojoties uz galvenajiem mērķiem un produkta iespējām. Jebkura speciālista galvenais uzdevums ir domāt par klientu un gala lietotāju, pielāgoties jaunajām prasībām un pārņemt nozares labāko pieredzi.
YouTube video: Pārbaudi tāpat kā Google: nozares gigantu paraugprakse
04, 2024