Swab egy egyszerű WSGI A / B tesztelés eszköz.
Használat:
& Nbsp; 1. Adjon meg egy kísérletet:
& Nbsp; a pálcikát import Swab
& Nbsp; s = Swab ('/ tmp / .swab-teszt-adatok)
& Nbsp; s.addexperiment ('button-size', ['default', 'nagyobb'], "annak érdekében kitöltött")
& Nbsp; Itt van egy kísérlet az úgynevezett "gomb-text", tesztelésére két méretben
& Nbsp; gombot a formában.
& Nbsp; A két változat a experment nevezik "kis" és "nagy". Az első
& Nbsp; felsorolt mindig tekinteni, mint a kontroll variáns, és az eredmények lesz
& Nbsp; bemutatott szempontjából mennyivel jobb vagy rosszabb a többi változatok
& Nbsp; végezni a kontrollhoz képest
& Nbsp; A cél kapcsolódó teszt neve "érdekében kitöltött".
& Nbsp; 2. Vegyünk egy WSGI alkalmazás:
& Nbsp; a pálcikát import record_goal, show_variant
& Nbsp; def get_button_style (környezet):
& Nbsp; Ha show_variant ("gombra méretű", környezet) == 'kis':
& Nbsp; return 'font-size: 100% "
& Nbsp; mást:
& Nbsp; return 'font-size: 150% "
& Nbsp; def myapp (környezet, start_response):
& Nbsp; Ha environ ['REQUEST_METHOD'] == 'get':
& Nbsp; start_response ('200 OK', [])
& Nbsp; return ['' '
& Nbsp;
& Nbsp;
& Nbsp;
& Nbsp;
& Nbsp; '' '% (get_button_style (környezet),)
& Nbsp;]
& Nbsp; Ha environ ['REQUEST_METHOD'] == 'POST':
& Nbsp; swab.record_goal ("érdekében kitöltött", környezet)
& Nbsp; 3. Csavarja be a tampont middleware:
& Nbsp; app = s.middleware (myapp)
4. Várjuk meg, és egy idő után keresse meg http: //
Testing
Hogy tesztelje a konkurens oldalakat, indítsa Swab debug módban:
pálcikát = Swab ('/ tmp / .swab-teszt-adatok ", debug = True)
Majd hozzáfűzi "? Pálcikát.
Tiltsa debug módban a termelés elkerülése emberek szórakozni mintegy a saját számok.
Basic tervezési
Minden látogató van rendelve az identitás, amely fennmaradása miatt egy sütit. Az identitás egy base64 kódolt véletlenszerűen generált bytesorozatot. Ez az identitás használják a magot egy RNG, amely lehet váltani látogatókat vizsgálati csoportban.
Minden alkalommal, amikor a tesztet látható (váltja ki show_variant funkció), a vonal lépett egy fájlt
Minden alkalommal, amikor a cél rögzített (váltja ki record_goal funkció), a vonal lépett egy fájlt
Egyes sorokból, a következő formában: n.
Nem fájlzárolás használják: azt feltételezzük, hogy ez fog futni a rendszerben, ahol minden sor végén kisebb, mint az fs blocksize, amely lehetővé teszi számunkra, hogy elkerülje ezt a feje fölött. A vonalak válhat átlapolt, de nem kell a korrupció kockázata még több egyidejű írást. Lásd http://www.perlmonks.org/?node_id=486488 a vita a kérdésről.
A statisztikai analízis
A további olvasmányok fejezet linkeket tartalmaz a különböző cikkeket, hogy segített az algoritmusok implementálása és statisztikai képletek használt tampont. Azonban nem a háttérben a matematika vagy statisztika, és Örülnék járulék vagy korrekciókat olyan személytől, mélyebb megértését ezeket a vizsgálatokat.
Mi az új ebben a kiadásban:
- Hozzáadás a javascript jeladó rögzítéséhez tesztek (segít kizárni botok)
- Better kizárása botok szerver oldalon is
- Record tárgyalás app nem fog emelni hiba, ha a kísérlet nem létezik
- Az eltávolított hibakeresési zászlót, a képesség, hogy kényszeríteni egy változata már mindig jelen
- Strip HTTP caching fejléceket, ha egy kísérlet már hivatkozott során a kérelmet
- Továbbfejlesztett pontosság konverziókövetésről
- Cookie utat is meg lehet adni middleware konfiguráció
Mi az új verzióban 0.1.2:
- Kisebb hibajavítások
Mi az új verzióban 0.1.1:
- Hibajavítás a ZeroDivisionErrors, ha nincs adat gyűlt össze
követelmények :
- Python
Hozzászólás nem található