Toxiproxy, kehys, joka simuloi verkko-olosuhteita testiympäristöissä

Shopify, joka kehittää yhtä verkon suurimmista ja suosituimmista sähköisen kaupankäynnin alustoista, dio ilmoitti äskettäin julkistaneensa välityspalvelimen uuden version «Toxiproxy 2.3» joka on suunniteltu simuloimaan vikoja ja poikkeavuuksia verkossa ja järjestelmässä testaamaan sovellusten tilaa tällaisissa olosuhteissa.

Ohjelma erottuu tarjoamalla API:n, jolla muutetaan dynaamisesti viestintäkanavan ominaisuuksia ja jolla voidaan integroida Toxiproxy yksikkötestijärjestelmiin, sen lisäksi, että se tukee jatkuvan integroinnin alustoja ja kehitysympäristöjä.

Tietoja Toxiproxysta

Tämä kehys on erityisesti suunniteltu toimimaan testiympäristöissä, CI ja kehitys, ja tukee determinististä yhteyksien manipulointia, mutta tukee satunnaista kaaosta ja mukauttamista.

pohjimmiltaan, Toxiproxy on sijoitettu työkaluksi että kaikki tarvitsevat suorittaa esittelytestejä sovelluksille, joissa ei ole yksittäisiä vikakohtia. Toxiproxya on käytetty menestyksekkäästi kaikissa Shopifyn kehitys- ja testausympäristöissä lokakuusta 2014 lähtien.

Toksiproksin käyttö koostuu kahdesta osasta. Go:lla kirjoitettu TCP-välityspalvelin (mitä tämä arkisto sisältää) ja asiakas, joka kommunikoi välityspalvelimen kanssa HTTP:n kautta. Tämä määrittää sovelluksen niin, että kaikki testiyhteydet kulkevat Toxiproxyn kautta ja voivat sitten muokata tilaansa HTTP:n kautta.

Toisin sanoen välityspalvelin käynnistetään testattavan sovelluksen ja sen verkkopalvelun välillä, jonka kanssa tämä sovellus on vuorovaikutuksessa, jonka jälkeen voit simuloida tietyn viiveen esiintymistä vastaanotettaessa vastausta palvelimelta tai lähetettäessä pyyntöä, muuttaa kaistanleveyttä, simuloida kieltäytymistä yhteyksien vastaanottamisesta, keskeyttää normaalin muodostamisen tai yhteyksien sulkemisen, muodostaa uudelleen muodostetut yhteydet, vääristää pakettien sisällöstä.

Välityspalvelimen toiminnan ohjaamiseksi sovelluksista tarjotaan asiakaskirjastot Rubylle, Golle, Pythonille, C # /. NETille, PHP:lle, JavaScript / Node.js:lle, Javalle, Haskellille, Rustille ja Elixirille, joiden avulla voit muuttaa vuorovaikutusolosuhteet verkottuvat lennossa ja arvioivat tuloksen välittömästi.

Viestintäkanavan ominaisuuksien muuttamiseksi ilman muutoksia koodiin voidaan käyttää erityistä toxiproxy-cli-apuohjelmaa (Toxiproxy API:ta oletetaan käytettävän yksikkötesteissä ja apuohjelmasta voi olla hyötyä interaktiivisissa kokeissa).

Mitä uutta Toxiproxy 2.3:ssa?

Mitä tulee muutoksiin, jotka sisältyvät uuteen julkaistuun versioon, mainitaan, että HTTPS:lle on sisällytetty asiakkaan päätepisteohjain.

Sekä tyypillisten testiajurien erottaminen erillisiksi tiedostoiksi, client.Populate API:n käyttöönotto.

Tämän lisäksi se erottuu myös armv7- ja armv6-alustojen tuesta ja mahdollisuudesta muuttaa palvelimen rekisteröintitasoa.

Asenna Toxiproxy Linuxiin

Ne, jotka ovat kiinnostuneita tämän kehyksen asentamisesta voidakseen suorittaa testinsä, voivat tehdä tämän seuraamalla alla jakamiamme ohjeita.

Jos olet käyttäjän Debian, Ubuntu tai mikä tahansa muu näihin perustuva jakelu, Voit suorittaa asennuksen avaamalla päätelaitteen (voit käyttää pikanäppäintä Ctrl + Alt + T) ja kirjoitat siihen:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.deb

Suoritamme asennuksen seuraavilla tavoilla:
sudo apt install ./toxiproxy_2.3.0_linux_amd64.deb

Niiden tapauksessa, jotka ovat RPM-paketteja tukevien jakeluiden käyttäjät, kuten mm. Fedora, openSuse, RHEL, ladattava paketti on seuraava:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.rpm

Ja asennat paketin kirjoittamalla:
sudo rpm -i toxiproxy_2.3.0_linux_amd64.rpm

Kun asennus on valmis, voit käynnistää palvelun suorittamalla seuraavan komennon päätteessä:
sudo service toxiproxy start

Lopuksi jos eOlet kiinnostunut tietämään siitä enemmän, Sinun pitäisi tietää, että Toxiproxy-koodi on kirjoitettu Go-kielellä ja sillä on MIT-lisenssi, ja voit tutustua tämän kehyksen käyttöoppaaseen seuraava linkki.


Jätä kommentti

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *

*

*

  1. Vastaa tiedoista: AB Internet Networks 2008 SL
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.