Wymaz jest prosta WSGI / B narzędzie do testowania.
Sposób użycia:
& Nbsp; 1. Zdefiniuj eksperyment:
& Nbsp; wacikiem wymaz z importu
& Nbsp; s = Wymaz ("/ tmp / .swab-test-danych")
& Nbsp; s.addexperiment ("przycisk-size", ["default", "większe"], "nakaz wypełnione")
& Nbsp; Tutaj mamy eksperyment o nazwie "button-tekst", do testowania dwa rozmiary
& Nbsp; przycisk na formularzu.
& Nbsp; dwóch wariantach experment nazywane są "małe" i "duże". Pierwszy
& Nbsp; na liście jest zawsze traktowana jako wariant sterowania, a wyniki będą
& Nbsp; przedstawiony w kategoriach, jak wiele lepsze lub gorsze inne warianty mają
& Nbsp, wykonanym w porównaniu z kontrolą
& Nbsp; cel związany z testu nazywa 'zamów wypełnione ".
& Nbsp; 2. Zabierz aplikację WSGI:
& Nbsp; z importu wymaz record_goal, show_variant
& Nbsp; def get_button_style (environ):
& Nbsp; show_variant ("przycisk-size", environ) == "małe":
& Nbsp; powrót "font-size: 100%"
& Nbsp; indziej:
& Nbsp; powrót "font-size: 150%"
& Nbsp; def myapp (environ, start_response):
& Nbsp; environ ['REQUEST_METHOD'] == 'GET':
& Nbsp; start_response ("200 OK", [])
& Nbsp; return ['' '
& Nbsp;
& Nbsp;
& Nbsp;
& Nbsp;
& Nbsp;
& Nbsp;
& Nbsp; '' '% (get_button_style (environ))
& Nbsp;]
& Nbsp; environ [''] == REQUEST_METHOD "POST":
& Nbsp; swab.record_goal ('zamów wypełnione ", environ)
& Nbsp; 3. Zawiń go w middleware wymazu:
& Nbsp; app = s.middleware (myapp)
4. Niech go uruchomić, a po chwili przejść do http: //
Badanie
Aby przetestować konkurencyjnych stron, zaczynają wacik w trybie debugowania:
Wymaz = Wymaz ("/ tmp / .swab-test-dane", debug = True)
Następnie dołączyć? "Wacik.
Wyłącz tryb debugowania w produkcji, aby uniknąć ludzi ingerować w swoich rysunkach.
Konstrukcja podstawowa
Każdy użytkownik jest przypisany tożsamości, która jest zachowywane za pomocą cookie. Tożsamość jest generowana losowo zakodowane base64 ciąg bajtów. Tożsamość ta jest wykorzystywana jako początkową dla generatorów liczb losowych, który jest stosowany do przełączania użytkowników do grup testowych.
Za każdym razem, badanie jest pokazane (wywoływane przez funkcję show_variant), linia jest wpisany do pliku w
Za każdym razem cel jest rejestrowana (wywoływane przez funkcję record_goal), linia jest wpisany do pliku w
Każdy wiersz dziennika ma format: n.
Nie blokowanie plików używany jest: zakłada się, że będzie to działać na systemie, gdzie każda linia jest mniejsza niż wielkość bloku fs, co pozwala nam uniknąć tego narzutu. Linie mogą się z przeplotem, ale nie powinno być ryzyko korupcji, nawet z wielu jednoczesnych zapisów. Zobacz http://www.perlmonks.org/?node_id=486488 do dyskusji kwestii.
Analiza statystyczna
Kolejna sekcja odczytu zawiera linki do różnych artykułów, które pomogły mi wdrożenie algorytmów i formuł statystycznych stosowanych w wacik. Jednak nie mam doświadczenie w zakresie matematyki lub statystyki i chciałbym powitać składki lub korekt z każdego z głębszego zrozumienia tych testów
Co nowego w tym wydaniu.:
- Dodane javascript stawę do nagrywania testów (pomaga wykluczyć boty)
- Lepsze wykluczenie botów na stronie serwera zbyt
- Rekord aplikacja próby nie podniesie błąd, jeśli nazwa eksperyment nie istnieje,
- Usunięto flagi debug, możliwość wymuszenia wariant jest teraz zawsze obecna,
- nagłówki buforowania HTTP Strip jeśli eksperyment został wywołany podczas życzenie
- Lepsza dokładność śledzenia konwersji
- Ścieżka cookie mogą być określone w middleware konfiguracji
Co nowego w wersji 0.1.2:
- Drobne poprawki
Co nowego w wersji 0.1.1:
- Bugfix dla ZeroDivisionErrors gdy dane nie zostały zebrane
Wymagania :
- Python
Komentarze nie znaleziono