Vyzkoušejte jako Google: Osvědčené postupy od průmyslových gigantů (04.24.24)

Sledováním jejich metod a přístupů v pracovních postupech se můžeme od průmyslových gigantů hodně naučit.

Jak se jim daří udržovat proces testování softwaru v milionech kódových řádků?

Jak organizují pracovní tok s tisíci inženýry QA?

Jak se vyrovnávají s rozšířením projektu?

Zkušenosti společností jako Google nebo Spotify mohou pomoci zlepšit procesy testování v malých společnostech a týmy.

Podívejme se blíže na to, jak testují obři.

Google: důležitost pokrytí kódu

Přesto mnoho techniků argumentuje o důležitosti takové míry účinnosti testování softwaru jako pokrytí kódu. Specialisté z Google trvají na tom, že údaje o pokrytí kódu mohou být cennou informací pro hodnocení rizik a úzkých míst v testovací činnosti. Carlos Arguelles, Marko Ivanković a Adam Bender sdílejí osvědčené postupy pro pokrytí kódu:

  • Pokrytí kódu může pomoci snížit počet chyb a selhání. Zkušenosti techniků QA ze společnosti Google ukázaly, že zvyšující se pokrytí kódu vede ke změnám v přístupech a postojích k testování. Týmy s primárním cílem pokrytí kódu mají tendenci zlepšovat testovatelnost svých produktů. Píšou efektivnější kód pro testování, aby dosáhli cílů testování jednodušší a méně časově náročné.
  • Pomocí testování mutací zajistíte vysoké pokrytí testem. Kompletní pokrytí kódu může být zbytečné a nezaručuje vysoce kvalitní pokrytí testů. Vysoké procento pokrytí kódem neznamená, že všechny funkce byly testovány správně. To znamená, že kód byl celkově testován. Aby byla zajištěna vysoká kvalita pokrytí testem, odborníci Google doporučují použít testování mutací. Tato metoda zahrnuje implementaci malých změn kódu a kontrolu, jak je testovací sady identifikují.
  • Procento pokrytí kódu závisí na mnoha faktorech. Neměli bychom usilovat o vysoké pokrytí kódu, ale nízké pokrytí vede také k velkému počtu poruch. A otázkou je, jaké je konkrétní pokrytí kódu pro konkrétní systém? Abychom odpověděli na tuto otázku, měli bychom zvážit takové věci jako kritičnost, složitost a frekvence změny kódu. Pokrytí kódu je obchodní rozhodnutí a měli by ho definovat vlastníci produktu.
  • Analyzujte, co pokrýt. Nemůžeme získat 100% pokrytí kódu, takže inženýři QA by to měli dodržovat jsou zahrnuty nejcennější části kódu. Tým vývojářů by měl diskutovat a nemyslet na to, kolik řádků kódu je pokryto, ale co přesně je pokryto.
Spotify: spolehlivá strategie

Spotify je rychle rostoucí společnost. Byla založena v roce 2008 se 150 zaměstnanci. V roce 2019 počet zaměstnanců vzrostl na 4 405. Dnes Spotify obsluhuje přibližně 300 milionů uživatelů po celém světě, což z něj činí nejoblíbenější streamovací službu na světě.

Můžeme se poučit o tom, jak Spotify rozšiřuje své testování a vývojové procesy.

  • Stanovte produktové cíle pro tým QA. Spotify má cross-funkční týmy. Každý tým má cíle a soubor konkrétních dovedností, jak tyto cíle splnit. Struktura týmu závisí na cílech. Některé týmy se tedy skládají pouze z vývojářů a některé mají vývojáře a testery. Testeři tak úzce spolupracují s vývojovým týmem a zaměřují se na primární cíle produktu. Takový přístup umožňuje Spotify efektivně škálovat vývojový proces.
  • Testování automatizace je nástroj, ale ne všelék. Správce testování a vývoje ve Spotify Kristian Karl tvrdí, že softwarové testery nelze nahradit automatizací. Testování vyžaduje lidské zkušenosti a znalosti. Testování automatizace je robustní nástroj k urychlení procesu, ale lidé rozhodují a analyzují automatizované zprávy. Spotify používá automatizaci jako jeden z nástrojů pro škálování. Umožňuje testerům ponechat rutinu pro algoritmy a zaměřit se na cíle produktu.
SpaceX: je nutné nepřetržité testování

SpaceX je inovativní společnost známá pro komerční vesmírnou dopravu, opakovaně použitelný startovací systém vysoká účinnost.

Nicholas Chaillan, hlavní softwarový důstojník letectva, uvedl, že systém vývojového oddělení SpaceX je pětkrát účinnější než společnosti s klasickým pracovním tokem. Jak SpaceX zvládá testovací proces s takovým výkonem?

DevOps a agilní přístupy umožňují technikům SpaceX QA poskytovat testování hromadné automatizace. Během vývojového cyklu poskytují testeři nepřetržité testování, aby získali okamžitou zpětnou vazbu a eliminovali stávající rizika. Pracují tak proaktivně, často a včas. Testují.

Společnost vyvinula strategii, jak implementovat průběžné testování do procesu vývoje.

  • Upřednostnit hodnotu. Stejně jako Google i SpaceX doporučuje používat metriky pokrytí kódu, abyste pochopili, co byste měli automatizovat a co ne. Pomáhá optimalizovat průběžné testování a vylepšovat již prováděné aktivity.
  • Klíčem je automatické komplexní testování. Udělejte z analýzy dopadů součást nepřetržité integrace. Umožňuje společnostem analyzovat, jak může přidání nových funkcí nebo změna kódu ovlivnit celkový systém nebo některé jeho části.
  • Tým by měl mít stabilní a snadno replikovatelné testovací prostředí. Nástroj, jako je snímek virtuálního stroje, vám může pomoci uložit stav dat, vrátit se k testování nebo obnovit práci.
  • K analýze testovacích zpráv použijte umělou inteligenci a strojové učení. AI -založené nástroje zrychlují nasazení a optimalizují proces testování.
  • Vybudujte robustní architekturu nepřetržité integrace. Hlavní výhodou systému CI je krátké období mezi sestavením a testováním kódu. . Průběžné testování musí být zapojeno do procesu vývoje a musí zahrnovat nezbytné typy testování.
  • Shrnout

    Každá společnost má svoji strategii, postup a přístupy k testování. Každý tým vybírá a upravuje proces testování na základě konečných cílů a schopností produktu. Hlavním úkolem každého specialisty je myslet na klienta a koncového uživatele, přizpůsobovat se novým požadavkům a přijímat zkušenosti těch nejlepších v oboru.


    YouTube video: Vyzkoušejte jako Google: Osvědčené postupy od průmyslových gigantů

    04, 2024