Přeskočit na obsah
BigTree108

Služby výkonnostního a zátěžového testování

Služby výkonnostního a zátěžového testování: zátěžové, stresové, špičkové a vytrvalostní (soak) testy v k6, JMeteru, Gatlingu a Locustu, plánování kapacity před spuštěním a prodejními špičkami, analýza úzkých míst v kódu, databázích a infrastruktuře, výkon frontendu a Core Web Vitals a výkonnostní testy v CI, s dedikovanými performance inženýry pro váš tým nebo projekty výkonnostního testování dodanými od začátku do konce.

Výkonnostní testování, které děláme

  • Zátěžové testování

    Očekávaný provoz namodelovaný z produkčních logů a analytiky jako cesty uživatelů s prodlevami (think time) a realistickými daty, spouštěný, dokud doby odezvy, míra chyb a využití zdrojů neukážou, jak si systém stojí vůči svým cílům.

  • Stresové a špičkové testy

    Zátěž zvýšená nad očekávanou špičku, aby se našel bod selhání a co selže jako první, a náhlé nárazy, jako je marketingový e-mail nebo zahájení prodeje vstupenek, aby se zjistilo, zda automatické škálování zareaguje včas a systém se sám zotaví.

  • Vytrvalostní (soak) testy

    Stálá zátěž držená hodiny nebo dny, aby se našly úniky paměti, vyčerpané fondy spojení, rostoucí fronty a disky plnící se logy, tedy problémy, které krátký test nikdy nezasáhne.

  • Skripty v k6, JMeteru, Gatlingu a Locustu

    Grafana k6 v JavaScriptu, Apache JMeter pro existující testovací plány a protokoly mimo HTTP, Gatling v Javě nebo TypeScriptu a Locust v Pythonu, se skripty vedenými v repozitáři vedle kódu, který testují.

  • Analýza úzkých míst

    Výsledky čtené spolu se stopami, metrikami a profily v Grafaně, Datadogu, New Relic nebo Application Insights, takže se pomalá odpověď dohledá až k dotazu, zámku, thread poolu nebo externímu volání, které za ní stojí, a každá oprava se znovu otestuje při stejné zátěži.

  • Plánování kapacity pro spuštění a špičky

    Zátěžové testy dimenzované na spuštění, prodejní špičku nebo kampaň, se zapsaným počtem instancí a limity automatického škálování, které při dané zátěži obstojí, a s náklady na provoz ve špičce odhadnutými před daným dnem.

  • Výkon frontendu a Core Web Vitals

    Largest Contentful Paint, Interaction to Next Paint a Cumulative Layout Shift sledované z terénních dat skutečných uživatelů, s Lighthouse a WebPageTest v laboratoři k nalezení příčiny a následným zlepšením úpravami obrázků, skriptů, písem a cachování.

  • Výkonnostní testy v CI

    Krátké zátěžové testy s prahy úspěchu a selhání při každém vydání v GitHub Actions, GitLab CI nebo Azure Pipelines, větší běhy v Grafana Cloud k6, Azure Load Testing nebo BlazeMeter a každý běh porovnaný s předchozím buildem, aby se regrese zachytila dřív, než ji uživatelé pocítí.

  • Testy odolnosti a převzetí služeb

    Instance, zóny a závislosti odstavené pod zátěží pomocí AWS Fault Injection Service, Azure Chaos Studio nebo Chaos Mesh, aby se ověřilo, že převzetí služeb, opakování pokusů a jističe (circuit breakers) fungují a obnova splňuje svůj cíl.

performance inženýři do vašeho týmu

  • Dedikovaní performance inženýři

    Performance inženýři, kteří nastoupí do vašeho týmu na plný úvazek, pracují ve vašich nástrojích a procesu a zodpovídají se vašemu vedoucímu. Pohovor s nimi vedete vy; my neseme ukrajinskou smlouvu, mzdy, fakturaci a dovolenou.

  • Projekty v oblasti „Výkonnostní testování“

    Vymezená část práce v oblasti „výkonnostní testování“ s rozsahem, pevným plánem a jmenovaným vedoucím na naší straně, který odpovídá za výsledek a o postupu informuje ve vašich kanálech.

  • Průběžná spolupráce v oblasti „výkonnostní testování“

    Průběžná služba v oblasti „Výkonnostní testování“: každý měsíc stejní lidé, backlog, kterému určujete priority, a hodiny, které vidíte v našem portálu i na faktuře.

Stránka o dedikovaném týmu vysvětluje, jak se specialisté připojují k vašemu týmu, a stránka o outsourcingu pokrývá dodávku projektů, převzetí systémů a jak účtujeme.

Kdo pracuje na vašem zadání v oblasti „výkonnostní testování“

  • Inženýři výkonu

    Modely zátěže, skripty a analýza

  • Site reliability inženýři

    Monitoring, automatické škálování a kapacita

  • Backend vývojáři

    Opravy v kódu, dotazech a cachování

  • Administrátoři databází

    Plány dotazů, indexy a limity spojení

  • Frontend vývojáři

    Zlepšení Core Web Vitals

Jak vedeme výkonnostní testy

Každý test začíná písemným cílem: počtem uživatelů nebo požadavků, dobou odezvy na 95. nebo 99. percentilu, přijatelnou mírou chyb a náklady. Zátěž je namodelovaná podle produkčního provozu, testovací data se generují v produkčním objemu a test běží na prostředí dimenzovaném jako produkce, nebo na samotné produkci v dohodnutém okně.

Výsledky přicházejí s vysvětlením, ne jen s grafem: která komponenta dosáhla svého limitu, proč a jaká změna ho posune, a každá oprava je potvrzena opakovaným během při stejné zátěži. Skripty, generátory dat a prahy zůstávají ve vašem repozitáři, takže váš tým může spouštět stejné testy před každým vydáním.

Další služby testování softwaru

Přehled: Testování softwaru a QA

Otázky k výkonnostnímu a zátěžovému testování

V jakých odvětvích pracují vaši performance inženýři?

Většinou v e-commerce a maloobchodě, před prodejními špičkami a kampaněmi; ve fintechu a bankovnictví, kde mají platební a obchodní systémy cíle latence; v podnikových produktech SaaS, které přebírají větší zákazníky; v mediálních a streamovacích službách, jejichž provoz přichází najednou; a u telekomunikačních, cloudových a hostingových poskytovatelů, kteří dimenzují své platformy.

Umíte zátěžově testovat v produkci?

Ano, když staging nedokáže reprodukovat skutečný systém. Test běží v dohodnutém okně s nízkým provozem, zvyšuje zátěž po krocích s podmínkami zastavení podle míry chyb a latence, používá testovací účty a data, která se potom odstraní, a na každé straně ho sleduje jmenovaný kontakt.

k6, JMeter, nebo Gatling?

k6 pro většinu nové práce: testy se píší v JavaScriptu, spouštějí z příkazové řádky a hodí se do pipeline. JMeter tam, kde testovací plány už existují nebo kde protokol není HTTP, například JDBC, JMS nebo čisté TCP. Gatling pro týmy pracující v Javě nebo TypeScriptu a Locust pro týmy v Pythonu. Pracujeme také s jakýmkoli nástrojem, který váš tým už používá.

Jak rychle mohou nastoupit performance inženýři?

Když je k dispozici ten pravý performance inženýr, začátek brzdí jen váš pohovor, NDA a převod práv duševního vlastnictví. Jinak vedeme hledání, které obvykle přinese profily kandidátů do dvou až tří týdnů, a nikdo nenastoupí, dokud neřeknete ano.

Jak probíhá najímání přes BigTree108 (role: performance inženýři)?

Řekněte nám, jakou práci, jakou seniority a kolik hodin potřebujete. Navrhneme jednoho nebo dva lidi s jejich profily, pohovoříte s nimi stejně jako s vlastním zaměstnancem a podepíšete jednu smlouvu s BIG TREE 108 LLC a budete dostávat jednu fakturu měsíčně.

Komu patří práce, kterou vytvářejí?

Vám. Každý specialista má podepsanou smlouvu s BigTree108, která převádí všechny výsledky práce na společnost, a naše smlouva s vámi je převádí dál. Kód, návrhy a dokumenty se dodávají do vašich vlastních repozitářů a nástrojů, ne do míst, kde je můžeme měnit jen my.

Očekáváte větší provoz?

Napište nám, co systém dělá, kolik provozu má dnes a kolik očekáváte. Odpověď dostanete do jednoho pracovního dne: testovací plán s cíli, profily kandidátů, nebo rozsah prvního zátěžového testu.