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
Manuální testování
Služby manuálního testování: funkční, regresní a exploratorní testování, návrh testovacích případů, testování napříč prohlížeči a zařízeními a podpora UAT, s dedikovanými manuálními QA inženýry nebo dodávkou projektu.
Automatizace testování
Služby automatizace testování: sady v Playwrightu, Seleniu, Cypressu a WebdriverIO, práce SDET, testy API a vizuální testy a integrace do CI, s dedikovanými inženýry automatizace testování nebo dodávkou projektu.
Testování mobilních aplikací
Služby testování mobilních aplikací: testování iOS a Androidu na skutečných zařízeních a farmách zařízení, automatizace v Appiumu, Espresso, XCUITestu a Maestro a kontroly před vydáním do obchodů, s dedikovanými mobilními QA inženýry nebo dodávkou projektu.
Testování API
Služby testování API: testy REST, GraphQL a gRPC v Postmanu, REST Assured a v kódu, kontraktové testování s Pact, validace OpenAPI a mocky služeb, s dedikovanými inženýry API testování nebo dodávkou projektu.
Testování přístupnosti
Služby testování přístupnosti: audity WCAG 2.2, testování čtečkami obrazovky a klávesnicí, kontroly axe v CI, podpora při nápravě a zprávy o shodě, s dedikovanými testery přístupnosti nebo dodávkou projektu.
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.