2009-09-24 1 views
25

Какой лучший и самый чистый способ реализовать тестирование A-B в asp.net mvc? То есть, когда мы вносим новые изменения на веб-сайт asp.net mvc, мы хотим протестировать новый html/css/js с определенным поднабором посетителей (определенный в cookie, идентификатор входа и т. Д.), А затем проанализировать некоторые показатели (время отклика страницы, количество посещенных страниц, $$$ в продажах и т. д.), чтобы оценить уровень успеха изменений.Какой лучший/самый чистый способ реализовать тестирование A-B в asp.net mvc?

Я ищу чистый способ реализовать способ выбора вида (html/css/js и т. Д.) Для рендеринга с использованием asp.net mvc.

ответ

-1

Я думаю, что для этого нет готового к использованию решения, и вам придется импровизировать.

Попробуйте переопределить текущую функциональность в четко определенных точках, не нарушая ее. Явно нарисуйте границу, где живет ваш обычный код и код тестирования A-B.

Возможно, обращение к принципу управления может также помочь здесь много (т. Е. Фабрика контроллера может предоставить производный контроллер вместо исходного). Для просмотров & partialviews - вы можете изменить viewengine, чтобы он попытался найти «MyPartialViewAB.ascx» вместо «MyPartialView.ascx».

И может быть хорошей идеей посмотреть, что такое performance counters (в случае, если вы этого не сделали).

2

Google Content Experiments? Это решение на основе Javascript, которое ничего не требует от вашего сервера.

  1. Вы включаете Javascript Google на странице
  2. Сценария случайным образом заменяет элементы на странице, как определено ваш A тест/B
  3. сайт Google показывает вам хорошую разбивку результатов ...
+0

Возможно, здесь предвзятость, но практически все, что дает Google больше информации бесплатно [поскольку они являются компанией, как и все остальные; а не благотворительность], а с другой стороны, это тестовый движок JavaScript (который испытывает недостаток в поддержке SEO/клиента), это не очень хорошее решение. –

2

Если вы используете двигатель с искровым светом, возможно, вы можете сделать это с изменением фильтра темы (http://sparkviewengine.com/documentation/viewlocations#Extendingfilepatternswithdescriptorfilters). Для каждого нового посетителя сайта определите, хотите ли вы, чтобы они увидели существующую или новую версию сайта и установили файл cookie. Подключите фильтр дескриптора, который ищет наличие файла cookie и изменит местоположение представления, чтобы посмотреть в папке, содержащей измененные виды. Если существует альтернативный вид, механизм Spark автоматически отобразит его вместо «обычного» вида, иначе он отобразит обычный вид.

Если вы используете обычный WFVE, то самым простым способом управления этим будет определение папки в разделе «Виды», в которых живут ваши альтернативы вида. Если вы хотите предоставить альтернативный вид, вы поместите его в место, которое соответствует его положению в обычной папке «Виды», но внедренной в папку альтернатив, например. чтобы предоставить альтернативу Views/Users/login.aspx, поместите новое представление в Views/Alternative/Users/login.aspx.

С помощью условного обозначения альтернативных видов вы можете расширить WebFormViewEngine и перегрузить CreatePartialView/CreateView, чтобы проверить какой-либо элемент ControllerContext, чтобы определить, следует ли отображать представление по умолчанию или перегружать и, соответственно, изменять путь. изменение .../Views/Users/login.aspx to .../Views/Alternative/Users/login.aspx.

+0

Я использую искру. – Lamar

11

Отъезд FairlyCertain (http://www.fairtutor.com/fairlycertain/) когда у вас есть шанс. Это библиотека .NET A/B, которую вы можете просто добавить в свой проект и начать писать тесты.

В отличие от библиотек Javascript от Google и VisualWebsiteOptimizer, все происходит на сервере, поэтому вы не страдаете какой-либо производительностью, пользовательским опытом или проблемами с SEO. Я использую его в своих вещах какое-то время, и это работает очень хорошо.

+2

Наконец-то нашел, где хранит данные (в текстовом файле - занял некоторое время ...). Возможно, стоит добавить отказ, если это ваш собственный продукт. ;-) – davewasthere

+2

Похоже, что это таргетинг на веб-формы - есть ли реализация MVC/Razor? – sydneyos

+0

@JasonKester Какая лицензия распространяется на нее? –

3

Существует A/B testing framework специально для ASP.NET MVC. Это программное обеспечение с открытым исходным кодом, которое я написал сам, когда, как и вы, не нашел бесплатного инструмента, который хорошо работает с ASP.NET MVC и не требует большой настройки.

0

Я предлагаю вам использовать режимы отображения для достижения A/B-тестирования.

Но режимы отображения просто поддерживают простые проблемы по умолчанию.

Если вы уже реализуете Режимы отображения в другом сценарии. Вы можете рассмотреть DisplayModeMatrix (просто Google). Это помогает повысить эффективность режимов отображения.

https://www.nuget.org/packages/DisplayModeMatrix/

Режимы Wth Дисплей можно просто удалить/переименовать взгляды после тестирования A/B, чтобы очистить ваш проект.

 Смежные вопросы

  • Нет связанных вопросов^_^