Swab adalah WSGI Sebuah alat pengujian / B sederhana.
Penggunaan:
& Nbsp; 1. Tentukan percobaan:
& Nbsp; dari kapas impor Swab
& Nbsp; s = Swab ('/ tmp / .swab-test-data yang')
& Nbsp; s.addexperiment ('tombol-size', ['default', 'lebih besar'], 'order-selesai')
& Nbsp; Di sini kita telah percobaan yang disebut 'tombol-teks', untuk menguji dua ukuran
& Nbsp; tombol pada formulir.
& Nbsp; Kedua varian experment yang disebut 'kecil' dan 'besar'. Yang pertama
& Nbsp; terdaftar selalu diambil sebagai varian kontrol, dan hasilnya akan
& Nbsp; disajikan dalam hal berapa banyak lebih baik atau lebih buruk varian lain memiliki
& Nbsp; dilakukan dibandingkan dengan kontrol
& Nbsp; Tujuan yang berhubungan dengan tes yang disebut 'order-selesai'.
& Nbsp; 2. Ambil aplikasi WSGI:
& Nbsp; dari kapas impor record_goal, show_variant
& Nbsp; def get_button_style (environ):
& Nbsp; jika show_variant ('tombol-size', environ) == 'kecil':
& Nbsp; kembali 'font-size: 100%'
& Nbsp; lain:
& Nbsp; kembali 'font-size: 150%'
& Nbsp; def myapp (environ, start_response):
& Nbsp; jika environ ['REQUEST_METHOD'] == 'GET':
& Nbsp; start_response ('200 OK', [])
& Nbsp; kembali ['' '
& Nbsp;
& Nbsp;
& Nbsp;
& Nbsp;
& Nbsp; '' '% (get_button_style (environ),)
& Nbsp;]
& Nbsp; jika environ ['REQUEST_METHOD'] == 'POST':
& Nbsp; swab.record_goal ('order-selesai', environ)
& Nbsp; 3. Bungkus dalam middleware swab:
& Nbsp; aplikasi = s.middleware (myapp)
4. Biarkan berjalan, dan setelah beberapa saat browse ke http: //
Pengujian
Untuk menguji halaman bersaing Anda, mulai mengepel dalam mode debug:
swab = Swab ('/ tmp / .swab-test-data yang', debug = True)
Kemudian tambahkan '? Swab.
Menonaktifkan mode debug dalam produksi untuk menghindari orang-orang yang mengotak-atik angka Anda.
Basic design
Setiap pengunjung diberikan sebuah identitas yang bertahan dengan cara cookie. Identitas adalah base64 encoded urutan byte secara acak. Identitas ini digunakan sebagai benih untuk Ping, yang digunakan untuk beralih pengunjung menjadi kelompok uji.
Setiap kali tes ditunjukkan (dipicu oleh fungsi show_variant), garis dimasukkan ke dalam sebuah file di
Setiap kali gol dicatat (dipicu oleh fungsi record_goal), garis dimasukkan ke dalam sebuah file di
Setiap baris log memiliki format: n.
Tidak ada penguncian file digunakan: diasumsikan bahwa ini akan berjalan pada sistem di mana setiap baris lebih kecil dari blocksize fs, memungkinkan kita untuk menghindari overhead ini. Garis dapat menjadi interleaved, tetapi seharusnya tidak ada resiko korupsi bahkan dengan beberapa menulis simultan. Lihat http://www.perlmonks.org/?node_id=486488 untuk diskusi tentang masalah ini.
Analisis statistik
Bagian membaca lebih lanjut berisi link ke berbagai artikel yang membantu saya menerapkan algoritma dan formula statistik yang digunakan dalam Swab. Namun saya tidak memiliki latar belakang dalam matematika atau statistik dan saya akan menerima kontribusi atau koreksi dari siapa pun dengan pemahaman yang lebih dalam tes ini
Apa yang baru dalam rilis ini.:
- Ditambahkan mercusuar javascript untuk merekam tes (membantu mengeluarkan bot)
- pengecualian yang lebih baik dari bot di sisi server juga
- Rekam aplikasi trial tidak akan menaikkan kesalahan jika nama percobaan tidak ada
- Dihapus bendera debug, kemampuan untuk memaksa varian kini selalu hadir
- Jalur HTTP caching header jika percobaan telah dipanggil selama permintaan
- Peningkatan akurasi pelacakan konversi
- jalur Cookie dapat ditentukan dalam konfigurasi middleware
Apa yang baru dalam versi 0.1.2:
- perbaikan bug minor
Apa yang baru dalam versi 0.1.1:
- Bugfix untuk ZeroDivisionErrors ketika tidak ada data yang dikumpulkan
Persyaratan :
- Python
Komentar tidak ditemukan