Toxiproxy, rámec na simuláciu sieťových podmienok v testovacích prostrediach

Shopify, ktorá vyvíja jednu z najväčších a najpopulárnejších platforiem elektronického obchodu na webe, dio nedávno oznámilo, že spustilo novú verziu proxy servera «Toxiproxy 2.3» ktorý je navrhnutý tak, aby simuloval zlyhania a anomálie v sieti a systéme na testovanie stavu aplikácií, keď nastanú takéto podmienky.

Program sa vyznačuje tým, že poskytuje API na dynamickú zmenu charakteristík komunikačného kanála, ktoré možno použiť na integráciu Toxiproxy s jednotkovými testovacími systémami, okrem toho, že má podporu pre kontinuálne integračné platformy a vývojové prostredia.

O Toxiproxy

Tento rámec je špeciálne navrhnutý pre prácu v testovacích prostrediach, CI a vývoj a podporuje deterministickú manipuláciu s prepojeniami, ale s podporou náhodného chaosu a prispôsobenia.

v podstate, Toxiproxy je umiestnený ako nástroj že všetci, ktorí požadujú vykonať demo testy na aplikáciách, ktoré nemajú jediný bod zlyhania. Toxiproxy sa úspešne používa vo všetkých vývojových a testovacích prostrediach na Shopify od októbra 2014.

Použitie toxiproxy pozostáva z dvoch častí. TCP proxy napísaný v Go (čo obsahuje toto úložisko) a klient, ktorý komunikuje s proxy cez HTTP. Toto nakonfiguruje aplikáciu tak, aby všetky testovacie pripojenia prechádzali cez Toxiproxy a potom mohli manipulovať s ich stavom cez HTTP.

Inými slovami, splnomocnenec sa spúšťa medzi testovanou aplikáciou a sieťovou službou, s ktorou táto aplikácia spolupracuje, po ktorom môžete simulovať výskyt určitého oneskorenia pri prijatí odpovede zo servera alebo odoslaní požiadavky, zmeniť šírku pásma, simulovať odmietnutie prijatia pripojení, prerušiť normálny priebeh nadväzovania alebo zatvárania pripojení, znovu nadviazať nadviazané spojenia, narušiť obsah balíkov.

Na ovládanie činnosti proxy servera z aplikácií sú k dispozícii klientske knižnice pre Ruby, Go, Python, C # /.NET, PHP, JavaScript / Node.js, Java, Haskell, Rust a Elixir, ktoré vám umožňujú zmeniť interakciu podmieňuje sieť za behu a okamžite vyhodnotí výsledok.

Na zmenu charakteristík komunikačného kanála bez vykonania zmien v kóde je možné použiť špeciálnu utilitu toxiproxy-cli (Toxiproxy API sa má používať v jednotkových testoch a utilita môže byť užitočná pre interaktívne experimenty).

Čo je nové v Toxiproxy 2.3?

Čo sa týka zmien, ktoré sú zahrnuté v novej vydanej verzii, spomína sa, že je tu zahrnutie klientskeho radiča koncového bodu pre HTTPS.

Rovnako ako oddelenie typických testovacích ovládačov do samostatných súborov, implementácia client.Populate API.

Okrem toho je zdôraznená aj podpora platforiem armv7 a armv6 a možnosť zmeniť úroveň registra pre server.

Nainštalujte Toxiproxy na Linux

Pre tých, ktorí majú záujem o to, aby si mohli nainštalovať tento rámec, aby mohli vykonávať svoje testy, môžu to urobiť postupujte podľa krokov, ktoré zdieľame nižšie.

Ak ste používateľom služby Debian, Ubuntu alebo akákoľvek iná distribúcia založená na týchto Inštaláciu vykonáte otvorením terminálu (môžete použiť klávesovú skratku Ctrl + Alt + T) a do neho napíšete:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.deb

A pokračujeme v inštalácii pomocou:
sudo apt install ./toxiproxy_2.3.0_linux_amd64.deb

V prípade tých, ktoré sú užívateľov distribúcií s podporou RPM balíkov, ako sú Fedora, openSuse, RHEL, okrem iného, ​​balík na stiahnutie je nasledujúci:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.rpm

A balík nainštalujete zadaním:
sudo rpm -i toxiproxy_2.3.0_linux_amd64.rpm

Po dokončení inštalácie môžete službu spustiť vykonaním nasledujúceho príkazu v termináli:
sudo service toxiproxy start

Nakoniec, ak eMáte záujem dozvedieť sa o tom viac, Mali by ste vedieť, že kód Toxiproxy je napísaný v Go a má licenciu MIT a môžete si prečítať príručku na používanie tohto rámca v nasledujúci odkaz.


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.