Istnieją dwie główne szkoły myślenia o robić A/B (Split) Testowanie:Django A/B Split badania opakowań (Brak Znalazłem są dobrze udokumentowane i up-to-date.)
- Rozwiązania oparte na języku JavaScript, takie jak Optimizely, Eksperymentowanie z treścią Google Analytics.
- Rozwiązania po stronie serwera, takie jak Django-AB, Splango i django-lean. (Również, pisząc własne.)
Rozumiem, że rozwiązania oparte na Javascript są spektakularne w przypadku "które przyciski wyboru kolorów lepiej się konwertują", ale nie są zbyt dobre do wyłączania całych układów stron i całkowicie nie nadają się do wypróbowania duże zmiany funkcjonalne, takie jak kolejność stron na ścieżce.
To prowadzi mnie do rozwiązania po stronie serwera. Nie szaleję za kodowaniem własnego i zrobię to tylko wtedy, gdy nie będzie innej opcji. Próbuję dodać wartość, poprawiając podstawową funkcjonalność mojej witryny, a nie tworząc lepszą strukturę do dzielenia testów.
Aplikacje Django, które znalazłem dla testów podzielonych, to różne mieszanki nieopancerzonych, nieudokumentowanych, udokumentowanych niepoprawnie i niezgodnych z Django 1.5. To mnie zaskakuje, ponieważ społeczności Django i Pythona wydają się mocno skupiać na dobrej dokumentacji. Jestem również bardzo zaskoczony, że żadna z testowanych frameworków nie była kompatybilna z Django 1.5 - czy testowanie nie jest częścią filozofii w świecie Django/Python, tak jak w Railsach?
Oto co znalazłem:
Splango https://github.com/shimon/Splango - Nie kompatybilne z Django 1.5 (choć większość błędów kompatybilności znalazłem były trywialne naprawić). W dużej mierze niezmieniona od października 2010 r., Z wyjątkiem poprawki z sierpnia 2012 r., Która twierdzi, że szablony są uwzględniane w instalacji. Ponieważ szablony nie są dołączane do instalacji, gdy Splango jest instalowany przez PyPI, poprawka nie działa lub nie została przesłana do PyPI. Dokumentacja jest w dużej mierze dokładna, ale nie obejmuje w pełni sposobu konfigurowania testów i otrzymywania raportów. Mówi ci, jak skonfigurować szablon do gromadzenia danych, ale wydaje się, że potrzebne są dodatkowe kroki w interfejsie administratora, które są całkowicie nieudokumentowane i nie jestem pewien, czy zrobiłem je poprawnie.
Django-lean. Oryginał pod numerem https://bitbucket.org/akoha/django-lean nie był aktualizowany od lipca 2010 r. Widoczny jest "błogosławiony" widelec pod numerem https://github.com/anandhenry2002/django-lean, który nie został zmieniony od maja 2012 r., Kiedy został skopiowany z oryginału. Dokumentacja oryginału jest niepoprawna w sposób uniemożliwiający wykonanie poniższych przykładów. (Chociaż prawdopodobnie możesz się w to wmieszać, tak jak ja.) Dokumentacja nowej wersji ma problemy z formatowaniem, które utrudniają czytanie na githubie. (Wygląda na to, że jest to niezmieniona dokumentacja ze starego projektu, a składnia BitBucket nie działa na Githubie.) Grupa dyskusyjna Google django nie otrzymała wiadomości od lipca 2012.
django-mini- szczupła https://github.com/DanAncona/django-mini-lean - Zaktualizowana jeszcze w lutym 2013 r., ale nieudokumentowana.
Leaner - https://bitbucket.org/brianjinwright/leaner - Ostatnia aktualizacja lipca 2012 r. I brak dokumentów.
Django-AB - Ostatnia aktualizacja maj 2009 r. Nie jest pakietem i nie można go zainstalować przez PIP lub PyPI. Po umieszczeniu kasy w moim folderze aplikacji Django (i zmianie nazwy folderu na ab) oraz postępowaniu zgodnie z instrukcjami instalacji, pojawia się błąd podczas ładowania programu ładującego szablon, którego nie śledziłem dalej.
Dotychczas Splango wydaje się być zwycięzcą, a ja rzeczywiście udało się dostać pracy bardziej lub mniej (przez ręczne instalowanie szablonów, a następnie edytować je naprawić Django 1.5 niezgodności).
Czy ktoś może wskazać mi wszystko, co przegapiłem?
Czy mogę się dowiedzieć, z której struktury ostatecznie skorzystałeś? Czy użyłeś tego w odpowiedziach? Szukam prostego modułu, w którym mogę losowo przypisać użytkowników do kontroli eksperymentalnej, a następnie ukryć funkcje oparte na tym ... jakiekolwiek wskazówki? –