Teszt, mint a Google: Az ipari óriások legjobb gyakorlatai (04.27.24)

Sokat tanulhatunk az ipari óriásoktól, ha megfigyeljük módszereiket és megközelítésüket a munkafolyamatokban.

Hogyan tudják fenntartani a szoftver tesztelési folyamatát több millió kódsorban?

Hogyan szervezik meg a munkafolyamatot minőségbiztosítási mérnökök ezreivel?

Hogyan tudnak megbirkózni a projektbővítéssel?

Az olyan cégek tapasztalata segíthet a kisvállalkozások tesztelési folyamatainak fejlesztésében, mint a Google vagy a Spotify. csapatok.

Vizsgáljuk meg közelebbről, hogyan tesztelik az óriások.

Google: a kód lefedettségének fontossága

Ennek ellenére sok mérnök vitatkozik a szoftver tesztelés hatékonyságának ilyen mértékű fontosságáról mint kód lefedettség. A Google szakemberei ragaszkodnak ahhoz, hogy a kód lefedettségi adatok értékes információk lehetnek a kockázatok és a tesztelési tevékenység szűk keresztmetszeteinek értékeléséhez. Carlos Arguelles, Marko Ivanković és Adam Bender megosztják a kód lefedettségével kapcsolatos legjobb gyakorlatokat:

  • A kódfedés segíthet a hibák és hibák csökkentésében. A Google minőségbiztosítási mérnökeinek tapasztalata azt mutatta, hogy a kód lefedettségének növekedése megváltoztatja a teszteléshez való hozzáállást és hozzáállást. Azok a csapatok, amelyek elsődleges célként kód lefedettséggel rendelkeznek, hajlamosak jobb tesztelhetőséget biztosítani termékeik számára. Hatékonyabb kódot írnak a teszteléshez, hogy könnyebben és kevésbé időigényesen érhessék el a tesztelési célokat.
  • Használjon mutációs tesztet a magas tesztfedettség biztosításához. A teljes kód lefedettség pazarló lehet, és nem garantálja a kiváló minőségű teszt lefedettséget. A kód lefedettségének magas százaléka nem jelenti azt, hogy minden funkciót helyesen teszteltek volna. Ez azt jelenti, hogy a kódot összességében tesztelték. A tesztek magas színvonalának biztosítása érdekében a Google szakértői javasolják a mutációs teszt alkalmazását. Ez a módszer magában foglalja a kis kódmódosítások végrehajtását és annak ellenőrzését, hogy a tesztkészletek hogyan azonosítják őket.
  • A kód lefedettségének százaléka sok tényezőtől függ. Nem szabad a magas kód lefedettségre törekednünk, de az alacsony lefedettség sok hibához is vezet. És a kérdés az, hogy mi az a speciális kód lefedettség egy adott rendszer számára? A kérdés megválaszolásához figyelembe kell vennünk a kódváltás kritikusságát, összetettségét és gyakoriságát. A kódfedés üzleti döntés, és a terméktulajdonosoknak meg kell határozniuk ezt.
  • Elemezze, hogy mit fedjen le. Nem tudunk 100% -ban kódfedést kapni, ezért a minőségbiztosítási mérnököknek ezt be kell tartaniuk. a kód legértékesebb részeire terjed ki. A fejlesztői csapatnak nem arról kell megvitatnia és gondolkodnia, hogy hány kódsor van lefedve, hanem arról, hogy pontosan mit fed le.
Spotify: megbízható stratégia

A Spotify gyorsan növekvő vállalat. 2008-ban hozták létre 150 alkalmazottal. 2019-ben az alkalmazottak száma 4 405-re nőtt. Ma a Spotify mintegy 300 millió felhasználót szolgál ki világszerte, ezzel a világ legnépszerűbb streaming szolgáltatásának számít. fejlesztési folyamatok.

  • Termékcélok kitűzése a minőségbiztosítási csapat számára. A Spotify-nak keresztfunkcionális csapatai vannak. Minden csapatnak vannak céljai és egy sor speciális képessége, hogy elérje ezeket a célokat. A csapat felépítése a céloktól függ. Ezért egyes csapatok csak fejlesztőkből állnak, és vannak fejlesztők és tesztelők. Így a tesztelők szorosan együttműködnek a fejlesztői csapattal, és a termék elsődleges céljaira összpontosítanak. Egy ilyen megközelítés lehetővé teszi a Spotify számára a fejlesztési folyamat hatékony méretezését.
  • Az automatizálás tesztelése eszköz, de nem csodaszer. A Spotify tesztelési és fejlesztési menedzsere Kristian Karl azt állítja, hogy a szoftveres tesztelőket nem lehet helyettesíteni az automatizálással. A teszteléshez emberi tapasztalat és tudás szükséges. Az automatizálási teszt robusztus eszköz a folyamat felgyorsítására, de az emberek döntéseket hoznak és automatizált jelentéseket elemeznek. A Spotify az automatizálást használja az egyik skálaeszközként. Lehetővé teszi a tesztelők számára, hogy otthagyják az algoritmusokat, és a termékcélokra összpontosíthassanak.
SpaceX: a folyamatos tesztelés elengedhetetlen

A SpaceX egy innovatív vállalat, amely kereskedelmi űrszállításról, újrafelhasználható hordozórendszerről és nagy hatékonyság.

Nicholas Chaillan, a légierő szoftvervezetője elmondta, hogy a SpaceX fejlesztési részleg rendszere ötször hatékonyabb, mint a klasszikus munkafolyamatot kínáló vállalatok. Hogyan birkózik meg a SpaceX ilyen teszteléssel a teszteléssel?

A DevOps és az Agile megközelítések lehetővé teszik a SpaceX QA-mérnökeinek, hogy tömeges automatizálási teszteket végezzenek. A fejlesztők a tesztelési folyamat során folyamatosan tesztelnek azonnali visszajelzés és a meglévő kockázatok kiküszöbölése érdekében. Ezáltal proaktív módon dolgoznak, gyakran és korán tesztelnek.

A vállalat stratégiát dolgozott ki a folyamatos tesztelés megvalósításának a fejlesztési folyamatban.

  • Az érték prioritása. A Google-hez hasonlóan a SpaceX is javasolja a kód lefedettség mutatóinak használatát, hogy megértse, mit kell automatizálnia és mit nem. Segít a folyamatos tesztelés optimalizálásában és a már elvégzett tevékenységek fokozásában.
  • A kulcs az automatizált végpontok közötti tesztelés. A hatáselemzést tegye a folyamatos integráció részévé. Ez lehetővé teszi a vállalatok számára, hogy elemezzék, hogyan befolyásolhatja az új függvények hozzáadása vagy a kód megváltoztatása az egész rendszert vagy annak egyes részeit.
  • A csapatnak stabil és könnyen replikálható tesztkörnyezettel kell rendelkeznie. Egy olyan eszköz, mint a Virtual Machine Snapshot, segíthet az adatok állapotának megmentésében, a teszteléshez való visszatérésben vagy a munka folytatásában.
  • A tesztjelentések elemzéséhez használja a mesterséges intelligenciát és a gépi tanulást. AI alapú eszközök felgyorsítják a telepítést és optimalizálják a tesztelési folyamatot.
  • Robusztus folyamatos integrációs architektúra készítése. A CI-rendszer fő előnye, hogy rövid időtartamok vannak a kód összeállítása és tesztjei között. . A folyamatos tesztelést be kell vonni a fejlesztési folyamatba, és be kell vonni a szükséges típusú teszteléseket. Minden csapat kiválasztja és kiigazítja a tesztelési folyamatot a végső célok és a termék képességei alapján. Minden szakember fő feladata az ügyfélre és a végfelhasználóra gondolni, alkalmazkodni az új követelményekhez, és átvenni az iparág legjobbjainak tapasztalatait.


    Youtube videó: Teszt, mint a Google: Az ipari óriások legjobb gyakorlatai

    04, 2024