Toxiproxy, raamistik võrgutingimuste simuleerimiseks testkeskkondades

Shopify, mis arendab üht suurimat ja populaarseimat e-kaubanduse platvormi veebis, dio teatas hiljuti, et tõi turule puhverserveri uue versiooni «Toxiproxy 2.3» mille eesmärk on simuleerida tõrkeid ja kõrvalekaldeid võrgus ja süsteemis, et testida rakenduste olekut selliste tingimuste ilmnemisel.

Programm paistab silma selle poolest, et pakub sidekanali karakteristikuid dünaamiliselt muutvat API-d, mida saab kasutada Toxiproxy integreerimiseks ühikutestisüsteemidega, lisaks toetab pidevat integratsiooniplatvorme ja arenduskeskkondi.

Toxiproxy kohta

See raamistik on spetsiaalselt loodud töötama testkeskkondades, CI ja arendus ning toetab ühenduste deterministlikku manipuleerimist, kuid toetab juhuslikku kaost ja kohandamist.

Põhimõtteliselt Toxiproxy on positsioneeritud tööriistana et kõik need, kes nõuavad tehke demoteste rakendustega, millel pole ühtegi tõrkepunkti. Toxiproxyt on alates 2014. aasta oktoobrist edukalt kasutatud kõigis Shopify arendus- ja testimiskeskkondades.

Toksiproxy kasutamine koosneb kahest osast. Go-s kirjutatud TCP-puhverserver (mida see hoidla sisaldab) ja klient, mis suhtleb puhverserveriga HTTP kaudu. See konfigureerib rakenduse nii, et kõik testühendused läbivad Toxiproxy ja saavad seejärel nende olekut HTTP kaudu manipuleerida.

Teisisõnu, puhverserver käivitatakse testitava rakenduse ja võrguteenuse vahel, millega see rakendus suhtleb, mille järel saate simuleerida teatud viivitust serverilt vastuse saamisel või päringu saatmisel, muuta ribalaiust, simuleerida ühenduste vastuvõtmisest keeldumist, katkestada ühenduse loomise või sulgemise tavapärane kulg, taastada loodud ühendused, moonutada pakendite sisu.

Puhverserveri töö juhtimiseks rakendustest on saadaval klienditeegid Ruby, Go, Python, C # /. NET, PHP, JavaScript / Node.js, Java, Haskell, Rust ja Elixir jaoks, mis võimaldavad teil muuta interaktsioonitingimused võrku lennult ja hinda kohe tulemust.

Sidekanali omaduste muutmiseks ilma koodi muutmata saab kasutada spetsiaalset toxiproxy-cli utiliiti (Toxiproxy API-t kasutatakse eeldatavasti ühikutestides ja utiliit võib olla kasulik interaktiivsete katsete jaoks).

Mis on Toxiproxy 2.3-s uut?

Mis puudutab muudatusi, mis sisalduvad uues välja antud versioonis, siis mainitakse, et HTTPS-i jaoks on kaasatud kliendi lõpp-punkti kontroller.

Nagu ka tüüpiliste testdraiverite eraldamine eraldi failideks, kliendi rakendamine.Populate API.

Lisaks on esile tõstetud ka armv7 ja armv6 platvormide tugi ning võimalus muuta serveri registri taset.

Installige Linuxi Toxiproxy

Need, kes on huvitatud selle raamistiku installimisest, et saaksid oma teste läbi viia, saavad seda teha järgides samme, mida me allpool jagame.

Kui olete kasutaja Debian, Ubuntu või mõni muu nendel põhinev distributsioon, Installimiseks peate avama terminali (saate kasutada kiirklahvi Ctrl + Alt + T) ja sisestate sellesse:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.deb

Ja jätkame installimist järgmiselt:
sudo apt install ./toxiproxy_2.3.0_linux_amd64.deb

Nende puhul, kes on RPM-pakette toetavate distributsioonide kasutajad, näiteks Fedora, openSuse, RHEL, allalaaditav pakett on järgmine:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.rpm

Ja installite paketi, tippides:
sudo rpm -i toxiproxy_2.3.0_linux_amd64.rpm

Kui installimine on lõpetatud, saate teenuse käivitada, täites terminalis järgmise käsu:
sudo service toxiproxy start

Lõpuks, kui eOlete huvitatud sellest, et saaksite selle kohta rohkem teada, Peaksite teadma, et Toxiproxy kood on kirjutatud Go-s ja sellel on MIT-litsents, ning saate tutvuda selle raamistiku kasutamise juhendiga järgmine link.


Jäta oma kommentaar

Sinu e-postiaadressi ei avaldata. Kohustuslikud väljad on tähistatud *

*

*

  1. Andmete eest vastutav: AB Internet Networks 2008 SL
  2. Andmete eesmärk: Rämpsposti kontrollimine, kommentaaride haldamine.
  3. Seadustamine: teie nõusolek
  4. Andmete edastamine: andmeid ei edastata kolmandatele isikutele, välja arvatud juriidilise kohustuse alusel.
  5. Andmete salvestamine: andmebaas, mida haldab Occentus Networks (EL)
  6. Õigused: igal ajal saate oma teavet piirata, taastada ja kustutada.