والمسحة هو WSGI A / B أداة بسيطة الاختبار.
الاستعمال:
على & nbsp؛ 1. تعريف تجربة:
& nbsp؛ من المسحة مسحة استيراد
ونبسب؛ ق = المسحة ('/ تمة / .swab للتجارب البيانات')
على & nbsp؛ s.addexperiment ('بحجم زر'، ['الافتراضية'، 'أكبر']، "ترتيب المكتملة ')
على & nbsp؛ هنا قمنا تجربة تسمى 'زر النص "، لاختبار بمرتين من
على & nbsp؛ زر على النموذج.
على & nbsp؛ ويطلق على اثنين من المتغيرات في experment 'صغيرة' و 'كبير'. الأول
على & nbsp؛ المدرجة يؤخذ دائما باعتبارها البديل السيطرة، وسوف تكون النتائج
على & nbsp؛ قدمت من حيث كم أفضل أو أسوأ المتغيرات الأخرى لديها
على & nbsp؛ أداؤها مقارنة مع السيطرة
على & nbsp؛ ويطلق على الهدف المرتبطة اختبار "ترتيب المكتملة.
على & nbsp؛ 2. خذ تطبيق WSGI:
& nbsp؛ من record_goal مسحة الاستيراد، show_variant
على & nbsp؛ مواطنه get_button_style (البيئى):
& nbsp؛ إذا show_variant ('بحجم زر'، البيئى) == 'صغيرة':
على & nbsp؛ العودة "FONT-SIZE: 100٪ '
على & nbsp؛ آخر:
على & nbsp؛ العودة "FONT-SIZE: 150٪ '
على & nbsp؛ مواطنه اسم التطبيق (البيئى، start_response):
& nbsp؛ إذا البيئى ['REQUEST_METHOD'] == '' أي:
على & nbsp؛ start_response ('200 OK'، [])
على & nbsp؛ العودة ['' '
على & nbsp؛
على & nbsp؛
على & nbsp؛ <طريقة شكل = "POST">
على & nbsp؛ <نمط زر = '٪ ق' نوع = "تقدم"> أكمل طلبك زر>
على & nbsp؛
على & nbsp؛
على & nbsp؛ '' '٪ (get_button_style (البيئى)،)
على & nbsp؛]
& nbsp؛ إذا البيئى ['REQUEST_METHOD'] == 'ما بعد':
على & nbsp؛ swab.record_goal ('إنجاز النظام'، البيئى)
على & nbsp؛ 3. التفاف عليه في الوسيطة مسحة:
على & nbsp؛ التطبيق = s.middleware (اسم التطبيق)
4. السماح لها البعيد، وبعد حين تصفح إلى http: // <الملقم> / مسحة / النتائج لمعرفة أي البديل هو الفوز.
تجريب
لاختبار صفحات المتنافسة الخاص بك، بدء المسحة في وضع التصحيح:
مسحة = المسحة ('/ تمة / .swab للتجارب البيانات'، التصحيح = صحيح)
ثم إلحاق "؟ مسحة. <التجربة اسم> = <البديل اسم> 'إلى عناوين URL لإجبار متغير واحد أو آخر ليتم عرضها.
تعطيل وضع التصحيح في الإنتاج لتجنب الناس حول العبث مع الأرقام الخاصة بك.
التصميم الأساسي
يتم تعيين كل زائر الهوية التي استمرت عن طريق ملف تعريف الارتباط. الهوية هي base64 ترميز تسلسل بايت إنشاؤه بشكل عشوائي. وتستخدم هذه الهوية كبذرة لRNG، والذي يستخدم للتبديل الزوار إلى مجموعات الاختبار.
في كل مرة يظهر اختبار (الناجمة عن وظيفة show_variant)، يتم إدخال خط في ملف في
في كل مرة يتم تسجيل هدف (الناجمة عن وظيفة record_goal)، يتم إدخال خط في ملف في
كل سطر سجل له شكل: ن.
يتم استخدام أي قفل ملف: من المفترض أن يتم تشغيل هذا على نظام حيث كل سطر هو أصغر من blocksize FS، مما يسمح لنا لتجنب هذه النفقات. قد تصبح خطوط معشق، ولكن ينبغي أن يكون هناك أي خطر من الفساد حتى مع يكتب المتزامنة متعددة. انظر http://www.perlmonks.org/؟node_id=486488 لمناقشة هذه القضية.
التحليل الإحصائي
يحتوي القسم القراءة مزيد من الروابط لمختلف المواد التي ساعدتني تنفيذ الخوارزميات والصيغ الإحصائية المستخدمة في المسحة. ومع ذلك ليس لدي خلفية في الرياضيات أو الإحصائيات وأود أن أرحب مساهمات أو تصويبات من أي شخص لديه فهم أعمق لهذه الاختبارات
ما هو الجديد في هذا الإصدار:.
وأضاف منارة جافا سكريبت لتسجيل الاختبارات (يساعد على استبعاد البوتات)
استبعاد أفضل من السير على جانب الملقم جدا
سوف التطبيق سجل المحاكمة لا تثير خطأ حالة عدم وجود اسم التجربة
إزالة العلم التصحيح، والقدرة على فرض البديل هو الآن دائما الحالية
تجريد رؤوس التخزين المؤقت HTTP إذا كان قد تم استدعاؤه تجربة خلال الطلب
تحسين دقة تتبع التحويل
يمكن تحديد مسار الكوكي في التكوين الوسيطة
ما هو الجديد في الإصدار 0.1.2:
بوجفيكسيس الصغرى
ما هو الجديد في الإصدار 0.1.1:
خلل لZeroDivisionErrors عندما تم جمعها لا توجد بيانات
المتطلبات:
بيثون
لم يتم العثور على التعليقات