Pyyhi on yksinkertainen WSGI / B-testaus työkalu.
Käyttö:
& Nbsp; 1. Määrittele kokeilu:
& Nbsp; moppi tuonti Swab
& Nbsp; s = vanupuikolla ('/ tmp / .swab-testi-data)
& Nbsp; s.addexperiment ("-painiketta-size", ['default', 'suurempi'], "jotta valmistuneissa ')
& Nbsp; Tässä on kokeilu nimeltään "-painiketta-tekstiä", testaamiseen kahta kokoa
& Nbsp; -painiketta lomakkeella.
& Nbsp; kaksi muunnelmaa experment kutsutaan "pieni" ja "suuri". Ensimmäinen
& Nbsp; listattu aina otetaan Ohjausversiossa, ja tulokset ovat
& Nbsp; esitti sen suhteen, miten paljon parempi tai huonompi muiden versioiden
& Nbsp; suoritetaan verrattuna ohjaus
& Nbsp; tavoite liittyy testi on nimeltään "tilaus-päätökseen".
& Nbsp; 2. Ota WSGI sovellus:
& Nbsp; moppi tuonti record_goal, show_variant
& Nbsp; def get_button_style (Environ):
& Nbsp; jos show_variant ("-painiketta-size", ympäris) == 'pieni':
& Nbsp; paluu "font-size: 100% '
& Nbsp; muuta:
& Nbsp; paluu "font-size: 150% '
& Nbsp; def MyApp (environ, start_response):
& Nbsp; jos ympä ['REQUEST_METHOD'] == 'GET':
& Nbsp; start_response ('200 OK ", [])
& Nbsp; paluu ['' '
& Nbsp;
& Nbsp;
& Nbsp;
& Nbsp;
& Nbsp; '' '% (get_button_style (environ),)
& Nbsp;]
& Nbsp; jos ympä ['REQUEST_METHOD'] == 'POST':
& Nbsp; swab.record_goal (tilaus-valmis ", ympäris)
& Nbsp; 3. Kääri se moppi middleware:
& Nbsp; app = s.middleware (MyApp)
4. Anna sen käydä, ja sen jälkeen, kun selaa http: //
Testaus
Testaa kilpailevia sivuja, aloita vanupuikolla debug-tilassa:
moppi = Pyyhi ('/ tmp / .swab-testi-data', debug = True)
Sitten liittää? Moppi.
Poista debug mode tuotannossa välttää ihmisiä Messing noin kanssa lukuja.
Basic suunnittelu
Jokainen kävijä on määritetty identiteetti, joka on jatkunut avulla evästeen. Identiteetti on base64 koodattu satunnaisesti tavu järjestyksessä. Tätä identiteettiä käytetään siemeniä RNG, jota käytetään vaihtaa kävijöistä koeryhmissä.
Joka kerta testi näkyy (laukaisee show_variant toiminto), linja on tullut tiedoston
Joka kerta maalin tallennetaan (laukaisee record_goal toiminto), linja on tullut tiedoston
Jokainen log rivi on muotoa: n.
Ei tiedostoa käytetään lukitusta: oletetaan, että tämä tulee ajaa järjestelmä, jossa jokainen rivi on pienempi kuin fs lohkokokoa, jotta voimme välttää tämän yläpuolella. Linjat voi tulla lomitettu, mutta ei pitäisi olla vaaraa korruptio jopa useita samanaikaisia kirjoituksia. Katso http://www.perlmonks.org/?node_id=486488 varten keskustelua asiasta.
Tilastollinen
Kirjallisuutta osassa on linkkejä eri artikkeleita, jotka auttoivat minua toteuttaa algoritmeja ja tilastollisia kaavoja käytetään Swab. En kuitenkaan ole taustaa matematiikan tai tilastot ja olisin tyytyväinen maksuja tai korjauksia kenenkään kanssa syvempää ymmärrystä näistä testeistä.
Mitä uutta strong> tässä julkaisussa:
- Lisätty javascript majakka tallentaa testit (auttaa jättää botit)
- Parempi syrjäytymistä vastaan palvelimen puolelta liian
- Tallenna oikeudenkäyntiä sovellus ei nosta virhe, jos kokeilu nimeä ei ole
- Poistettu debug lippu, kyky pakottaa variantti on nyt aina läsnä
- Strip HTTP välimuistin otsikot, jos kokeilu on vedottu aikana pyyntö
- Parempi tarkkuus tulosseuranta li>
- Cookie polku voidaan määritellä middleware kokoonpano
Mitä uutta strong> versiossa 0.1.2:
- Minor bugikorjauksia
Mitä uutta strong> versiossa 0.1.1:
- Bugikorjaus varten ZeroDivisionErrors kun mitään tietoa on kerätty
Vaatimukset :
- Python
Kommentteja ei löytynyt