TWI587230B - Multi - version testing method and apparatus - Google Patents
Multi - version testing method and apparatus Download PDFInfo
- Publication number
- TWI587230B TWI587230B TW102132559A TW102132559A TWI587230B TW I587230 B TWI587230 B TW I587230B TW 102132559 A TW102132559 A TW 102132559A TW 102132559 A TW102132559 A TW 102132559A TW I587230 B TWI587230 B TW I587230B
- Authority
- TW
- Taiwan
- Prior art keywords
- version
- value
- user
- shunt
- module
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0242—Determining effectiveness of advertisements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Economics (AREA)
- Information Transfer Between Computers (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
本申請案係有關互聯網資料處理領域,特別有關一種多版本測試方法和裝置。
在互聯網中,產品在不斷地發展,例如,在淘寶網中,如果對舊版本進行最佳化之後,其最佳化後的版本就是相對於舊版本的新版本。在網站的設計中,為了提高用戶的使用體驗,更會時常對網站進行改版或者最佳化。例如,網站上的某個按鈕是用紅色還是用藍色,網站上的某塊區域排版佈局是橫排還是直排,幾種權重不同的調整算法的取捨或者某些關鍵性位置文案的選擇,等等。而為了測試網站的新版本和舊版本的效果差異,一個比較好的方法就是對這兩個版本進行分流、記錄和效果分析的多版本測試過程。
多版本測試一般也稱為A/B測試,一般情況下,A指的是網站的一個舊版本,而B則表示網站的新版本。多版本測試是一種新興的產品最佳化方法,簡單來說,就是同時將用戶分為瀏覽舊版本和瀏覽新版本的兩部分,分給舊
版本的用戶就看到舊版本,而分給新版本的用戶就會看到新版本,並記錄下舊版本和新版本下用戶的行為,最後根據舊版本和新版本的用戶行為的資料分析,而對舊版本和新版本進行比較測試,以測試出哪個版本的產品更好、更優。
可見,一個A/B測試典型的過程包含三部分:分流、記錄和資料分析。具體分流的方式具有多樣性,例如:有一種是按用戶比例分流的方式:是在進行A/B測試時,按用戶維度進行分流,如果一個產品在A/B測試期間訪問的用戶總數為20萬,而分流比例為50%和50%,那麼會有10萬用戶分配給新版本,另外10萬用戶分配給老版本。還有一種方式是按用戶請求比例分流:這是在進行A/B測試時,按用戶請求維度進行分流,如果一個產品在A/B測試期間訪問的用戶為20萬,一個用戶可能會訪問該產品多次,假設平均每個用戶訪問7次,分流比例為50%和50%,那麼會有70萬次請求分配給新版本,另外70萬次請求分配給老版本。可見,“按用戶比例分流”和“按請求比例分流”比較大的區別在於前者的同一用戶始終看到的是相同的版本,並且用戶數的比例和分流比例一致,請求數的比例可能和分流比例不一致。而後者的同一用戶可能看到該產品的不同版本,並且請求數的比例和分流比例一致,用戶數的比例和可能和分流比例不一致。當然,A/B測試還存在其他的分流方式,一般情況下會採用按用戶比例分流的方式,因為與按照用戶請求分流的方式相比
這樣能夠使同一個用戶一直訪問同一個版本,帶來更好的用戶體驗。
但是發明人在研究過程中發現,目前現有技術中,一般情況下各個用戶的行為都會存在差異,而用戶之間存在行為差異就可能會導致多版本測試結果的可信度和有效性較低,如果後續採用資料驗證的方式對測試結果進行驗證,例如採用基於統計學的驗證,則驗證的實現過程非常複雜。因此,現有技術並沒有一種通用的方便易行的進行多版本測試的技術方案。
為了解決現有技術的問題,本申請案提供一種通用的基於分流散列值的多版本測試方法,基於cookie和散列數就能夠方便易行地實現多版本測試,適用於不同的業務系統。
進一步地,本申請案實施例透過分流最佳化還解決了用戶差異性所帶來的多版本測試結果的有效性和準確性的問題,提供一種簡單易行的有效的驗證方法。
進一步地,本申請案實施例還能透過分流最佳化解決同一產品在並行進行多個多版本測試時出現的分流互相干擾的問題。
本申請案還提供了一種多版本測試裝置,用以確保上述方法在實際中的實現及應用。
為了解決上述問題,本申請案揭示一種多版本測試方
法,包括:獲取訪問目前產品的用戶的分流標籤值,所述分流標籤值用於唯一標識用戶;計算所述分流標籤值的分流散列值;依據預設的所述目前產品的舊版本和新版本的配置比和所述分流散列值而為所述用戶分配所述目前產品的舊版本或新版本,以便對所述目前產品進行多版本測試。
較佳地,所述獲取訪問目前產品的用戶的分流標籤值具體上包括:判斷用戶的Web請求中的訪問資料Cookie中是否存在所述分流標籤值,如果是,則直接從用戶的Cookie中提取出所述分流標籤值,如果否,則依據預設的分流標籤值的產生策略而為所述用戶產生分流標籤值,並將所述分流標籤值添加至所述用戶的Cookie中。
較佳地,所述依據預設的分流標籤值的產生策略而為所述用戶產生分流標籤值具體上包括:獲取所述用戶的IP地址、第一次訪問所述目前產品的時間和一隨機數;依據所述IP地址、第一次訪問所述目前產品的時間和一隨機數組合為所述分流標籤值。
較佳地,在需要對訪問所述目前產品的用戶進行分流最佳化處理的情況下,則所述計算所述分流標籤值的分流散列值之前,還包括:將所述分流標籤值轉換為哈希hash碼值;
計算所述hash碼值對應的初始散列值;對所述初始散列值進行分流最佳化處理後得到分流散列值。
較佳地,所述對所述初始散列值進行分流最佳化處理後得到分流散列值具體上包括:對所述初始散列值按照預設的平移區間進行平移後得到平移的分流散列值;或者,對所述初始散列值按照預設的反轉規則進行反轉後得到反轉的分流散列值;或者,對所述初始散列值與預設的乘積因子進行相乘後得到相乘的分流散列值;或者,對所述初始散列值按照預設的時間參數進行散列後得到散列的分流散列值。
較佳地,所述對所述目前產品進行多版本測試具體上為:依據分別訪問舊版本和新版本的用戶的轉化率,對所述目前產品的舊版本和新版本進行測試。
較佳地,所述依據分別訪問舊版本和新版本的用戶的轉化率,對所述目前產品的舊版本和新版本進行測試,具體上包括:分別依據訪問舊版本和新版本的用戶的轉化率,獲取訪問舊版本的所有用戶的舊版本轉化率,以及訪問新版本的所有用戶的新版本轉化率;依據所述舊版本轉化率和新版本轉化率對所述舊版本
和新版本進行測試。
本申請案揭示一種多版本測試裝置,包括:獲取模組,用以獲取訪問目前產品的用戶的分流標籤值,所述分流標籤值用於唯一標識用戶;計算模組,用以計算所述分流標籤值的分流散列值;分配模組,用以依據預設的所述目前產品的舊版本和新版本的配置比和所述分流散列值而為所述用戶分配所述目前產品的舊版本或新版本,以便對所述目前產品進行多版本測試。
較佳地,所述獲取模組具體上包括:判斷子模組,用以判斷用戶的Web請求中的訪問資料Cookie中是否存在所述分流標籤值;提取子模組,用以在所述判斷子模組的結果為是的情況下,直接從用戶的Cookie中提取出所述分流標籤值;產生子模組,用以在所述判斷子模組的結果為否的情況下,依據預設的分流標籤值的產生策略而為所述用戶生成分流標籤值;添加子模組,用於將所述產生子模組產生的分流標籤值添加至所述用戶的Cookie中。
較佳地,所述產生子模組具體上包括:獲取參數子模組,用以獲取所述用戶的IP地址、第一次訪問所述目前產品的時間和一隨機數;組合子模組,用以依據所述IP地址、第一次訪問所述目前產品的時間和一隨機數組合為所述分流標籤值。
較佳地,所述計算模組包括:轉換子模組,用以將轉換為哈希hash碼值;計算子模組,用以計算所述hash碼值對應的初始散列值;最佳化子模組,用以對所述初始散列值進行分流最佳化處理後得到分流散列值。
較佳地,所述最佳化子模組具體上包括:平移子模組,用以對所述初始散列值按照預設的平移區間進行平移後得到平移的分流散列值;或者,反轉子模組,用以對所述初始散列值按照預設的反轉規則進行反轉後得到反轉的分流散列值;或者,相乘子模組,用以對所述初始散列值與預設的乘積因子進行相乘後得到相乘的分流散列值;或者,散列子模組,用以對所述初始散列值按照預設的時間參數進行散列後得到散列的分流散列值。
較佳地,還包括:測試模組,用以依據分別訪問舊版本和新版本的用戶的轉化率,對所述目前產品的舊版本和新版本進行測試。
較佳地,所述測試模組包括:獲取轉化率子模組,用以分別依據訪問舊版本和新版本的用戶的轉化率,獲取訪問舊版本的所有用戶的舊版本轉化率,以及訪問新版本的所有用戶的新版本轉化率;計算子模組,用以依據所述舊版本轉化率和新版本轉化率而對所述舊版本和新版本進行測試。
與現有技術相比,本申請案包括以下優點:在本申請案中,在獲取到訪問目前產品的用戶的分流標籤值之後,計算該分流標籤值的分流散列值,再依據預設的目前產品的舊版本和新版本的配置比和分流散列值,為所述用戶分配所述目前產品的舊版本或新版本,最後依據分別訪問舊版本和新版本的用戶的轉化率,對所述目前產品的舊版本和新版本進行測試。本申請案之實施例透過對各個用戶的分流標籤值進行散列從而得到分流散列值,從而提供了一種通用的基於分流散列值實現的方便的多版本測試方法。
進一步地,透過對分流標籤值的最佳化過程,可以使得原本應該分配給舊版本的用戶可能因為散列值的變化而分配給新版本,而原本應該分配給新版本的用戶則可能因為散列值的變化而分配給舊版本,就能夠透過上述有效的手段降低用戶之間的行為差異給多版本測試結果帶來的影響,提高多版本測試的有效性和可信度,提供有效的驗證方法。進一步的,透過對分流標籤值的最佳化過程,還能解決同一產品在並行進行多個多版本測試時出現的分流互相干擾的問題。
當然,實施本申請案的任一產品並不一定需要同時達到以上所述的所有優點。
701‧‧‧獲取模組
702‧‧‧計算模組
703‧‧‧分配模組
801‧‧‧判斷子模組
802‧‧‧提取子模組
803‧‧‧產生子模組
804‧‧‧添加子模組
901‧‧‧獲取參數子模組
902‧‧‧組合子模組
1001‧‧‧測試模組
1101‧‧‧獲取轉化率子模組
1102‧‧‧測試子模組
1201‧‧‧轉換子模組
1202‧‧‧計算子模組
1203‧‧‧最佳化子模組
為了更清楚地說明本申請案實施例中的技術方案,下
面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請案的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖而獲得其他的附圖。
圖1是本申請案的一種多版本測試方法實施例1的流程圖;圖2是本申請案方法實施例1中步驟101的流程圖;圖3是本申請案方法實施例1中步驟203的流程圖;圖4是本申請案方法實施例1的較佳流程圖;圖5是本申請案方法實施例1中步驟401的流程圖;圖6本申請案的一種多版本測試方法實施例2的流程圖;圖7為本申請案的一種多版本測試裝置實施例1的結構方塊圖;圖8為本申請案的裝置實施例1中獲取模組701的結構方塊圖;圖9為本申請案的裝置實施例1中產生子模組803的結構方塊圖;圖10是本申請案裝置實施例1的較佳結構方塊圖;圖11是本申請案的裝置實施例1中測試模組1001的結構方塊圖;圖12是本申請案的一種多版本測試裝置實施例2的結構方塊圖。
下面將結合本申請案實施例中的附圖,對本申請案實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請案的一部分實施例,而不是全部的實施例。基於本申請案中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本申請案保護的範圍。
本申請案可用於眾多通用或專用的計算裝置環境或配置中。例如:個人電腦、伺服器電腦、手持設備或便攜式設備、平板型設備、多處理器裝置、包括以上任何裝置或設備的分佈式計算環境等等。
本申請案可以在由電腦所執行的電腦可執行指令的一般上下文中描述,例如程序模組。一般地說,程序模組包括執行特定任務或實現特定抽象資料類型的例程、程序、對象、組件、資料結構等等。也可以在分佈式計算環境中實踐本申請案,在這些分佈式計算環境中,由透過通信網路而被連接的遠程處理設備來執行任務。在分佈式計算環境中,程序模組可以位於包括儲存設備在內的本地和遠程電腦儲存媒體中。
本申請案的主要思想之一可以包括,在獲取到訪問目前產品的用戶的分流標籤值之後,計算該分流標籤值的分流散列值,再依據預設的目前產品的舊版本和新版本的配置比和分流散列值,為所述用戶分配所述目前產品的舊版本或新版本,以便對所述目前產品的舊版本和新版本進行
測試。其中,本申請案所述的產品可以包括網站伺服器透過網路傳輸至用戶客戶端的網頁資訊。透過對各個用戶的分流標籤值進行散列從而得到分流散列值,從而提供一種基於分流散列值實現的方便的多版本測試方法。
參考圖1,示出了本申請案一種多版本測試方法實施例1的流程圖,可以包括以下步驟:步驟101:獲取訪問目前產品的用戶的分流標籤值,所述分流標籤值用於唯一標識用戶。
本申請案在實際中應用於多版本測試系統中,首先需要獲取到所有訪問目前產品的用戶的分流標籤值,該分流標籤值可以用於唯一標識訪問目前產品的目前用戶。例如,用戶A啟動了訪問目前產品的請求,則接收到該用戶A的訪問請求之後,先不給該用戶A分配其訪問該目前產品的舊版本或者新版本,而是先基於該用戶A的IP(網路之間互連的協議,Internet Protocol)地址、用戶第一次的訪問時間和隨機數等組成該分流標籤值,這樣能確保該分流標籤值所標示用戶的唯一性。
參考圖2所示,所述步驟101在實現時具體上可以包括:步驟201:判斷用戶的Web請求中的訪問資料Cookie中是否存在所述分流標籤值,如果是,則進入步驟202,如果否,則進入步驟203。
在本實施例中,如果多版本測試系統接收到了一個用戶的Web請求,就先讀取該Web請求中的訪問資料
(Cookie)中是否已經存在分流標籤值,如果已經存在,即說明該用戶已經不是第一次訪問目前產品,此時直接從Cookie中提取出該分流標籤值,如果沒有,即說明用戶是第一次訪問目前產品,那麼就按照預先設定好的分流標籤值的產生策略而為該用戶產生其分流標籤值。
步驟202:直接從用戶的Cookie中提取出所述分流標籤值。
在本步驟中,如果該用戶的Cookie中已經存在分流標籤值,則直接從用戶的Cookie中提取出所述分流標籤值。
步驟203:依據預設的分流標籤值的產生策略而為所述用戶產生分流標籤值。
在本步驟中,如果該用戶的Cookie中不存在分流標籤值,則根據預先設定好的分流標籤值產生策略產生一個唯一標示該用戶的字符串,亦即,分流標籤值。
其中,參考圖3所示,在具體實現時步驟203又可以包括以下步驟:步驟301:獲取所述用戶的IP地址、第一次訪問所述目前產品的時間和一隨機數。
在本實施例中,用戶的分流標籤值與用戶的IP地址、第一次訪問所述目前產品的時間和隨機數有關係,當然,也可以根據實際情況或者不同的用戶需求而設定不同的分流標籤值產生策略。其中,用戶的IP地址和第一次訪問目前產品的時間都是多版本測試系統直接可以從
cookie中得到的,而隨機數則可以隨機地產生。
步驟302:依據所述IP地址、第一次訪問所述目前產品的時間和一隨機數組合為所述分流標籤值。
再將步驟301獲得的IP地址、第一次訪問所述目前產品的時間和一隨機數組合為所述分流標籤值即可。例如,假設用戶的IP地址為121.0.29.199,而第一次訪問該目前產品的時間為“1335163135361”,獲取到的一隨機數為3,則可以採用將“.”作為分隔符直接將三個數值組合為一起的方式,則該用戶的分流標籤值就是:121.0.29.199. 1335163135361.3。透過將IP地址、第一次訪問目前產品的時間和隨機數三個參數的疊加,可以使本申請案實施例中的分流標籤值很好地兼顧了唯一性和散列性。
返回圖2,進入步驟204:將所述分流標籤值添加至所述用戶的Cookie中。
在本步驟中將步驟203中所得到的分流標籤值在多版本測試系統回應用戶請求時,寫入該用戶的cookie中,這樣下一次該用戶再訪問該目前產品將直接可以透過步驟202獲得。
接著返回圖1,進入步驟102:計算所述分流標籤值的分流散列值。
在得到用戶的分流標籤值之後,需要先將該分流標籤值轉換為哈希(hash)碼值(其中,如果轉換的hash碼值為負值,需要對其取絕對值以得到為正數的hash碼
值),再對該正hash碼值進行散列,最終獲得到該分流標籤值對應的分流散列值。分流散列值表示該用戶命中目前產品的舊版本還是新版本。例如,假設預先配置好的舊版本和新版本的比例為50%:50%,則表示50%的用戶會訪問到舊版本,而另外50%的用戶則會訪問到新版本,在這種情況下,分流散列值可以為一個0到99的數字。在實際中,計算分流散列值可以將該用戶的cookie值轉換為正的hash碼值,然後再對該正hash碼值對100取餘即可將分流標籤值散列為0~99的分流散列值。當然,也可以根據需求對10取餘,則可將分流標籤值散列為0~9的分流散列值,等等。
步驟103:依據預設的所述目前產品的舊版本和新版本的配置比和所述分流散列值而為所述用戶分配所述目前產品的舊版本或新版本,以便對所述目前產品進行多版本測試。
如果用戶進行一個基於“按用戶比例分流”的多版本測試,而預設的目前產品的舊版本和新版本的分流配置比為20%:80%,則表示將會分流20%的用戶給舊版本A,而另外80%的用戶分流給新版本B。在實際應用中,可以提供一個圖形化介面,用以輸入或者顯示目前產品的配置比。
在實際應用中,假設預先配置好的舊版本和新版本的比例為20%:80%,如果用戶甲散列的數字為18,那麼這個用戶甲始終落在0~19的區間,那麼本步驟中為用戶甲
分配的則是目前產品的舊版本A,因此該用戶甲在訪問該目前產品的時候始終看到的是舊版本A。而另一個用戶乙散列的數字為59,那麼這個用戶始終落在20~99的區間,那麼在本步驟中為用戶乙分配的則是目前產品的新版本B,該用戶乙在訪問該目前產品的時候始終看到的是新版本B。
需要說明的是,因為在預先設定舊版本和新版本的配置比的時候,可以有很多種方式,例如按照用戶個數進行配置,亦即,配置多少比例的用戶分配給舊版本A,而多少比例的用戶分配給新版本B。而如果按照用戶請求數對配置比進行設定的時候,則配置比就表示對於目前產品的若干次請求中,有多少個請求會分配給舊版本A,而多少個請求會分配給新版本B。當然,還有其他的配置方式,例如按照業務邏輯進行用戶的分流,那麼可能會出現該目前產品的正式會員會訪問到舊版本A而臨時用戶會訪問到新版本B的情況;例如按地理位置進行用戶的分流,那可能會出現本地用戶會訪問到舊版本A而外地用戶會訪問到新版本B的情況;再例如還可以按黑白名單進行用戶分流等。
其中,為用戶分配目前產品的舊版本或新版本之後,就可以根據分別訪問舊版本和新版本的用戶行為而對所述目前產品進行舊版本和新版本的多版本測試。例如,可以分別訪問舊版本和新版本的用戶的轉化率,對目前產品進行多版本測試;也可以透過監控用戶在目前產品的舊版本
和新版本網頁上進行滑鼠點擊的次數或者時間,而對目前產品進行多版本測試;還可以透過記錄用戶瀏覽目前產品的舊版本或者新版本網頁的時間等資訊,而對目前產品進行多版本測試。
本申請案實施例透過對各個用戶的分流標籤值進行散列從而得到分流散列值,基於cookie和散列數就能夠方便易行地實現本技術方案,從而提供了一種通用的基於分流散列值實現的方便的多版本測試方法。
較佳的,本申請案實施例在採用轉化率進行多版本測試的時候,參考圖4所示,在步驟103後還可以包括:
步驟401:依據分別訪問舊版本和新版本的用戶的轉化率,對所述目前產品的舊版本和新版本進行測試。
在結合步驟103的分流結果可以得知,對於目前產品哪些用戶會訪問到舊版本而哪些用戶會訪問到新版本,而結合訪問舊版本的所有用戶的轉化率,以及訪問新版本的所有用戶的轉化率,就可以對目前產品的舊版本和新版本進行測試,亦即,透過對比舊版本和新版本的轉化率來分析目前產品的舊版本和新版本的效果和商業價值等。
具體的,參考圖5所示,所述步驟401在實現時具體上可以包括:步驟501:分別依據訪問舊版本和新版本的用戶的轉化率,獲取訪問舊版本的所有用戶的舊版本轉化率,以及訪問新版本的所有用戶的新版本轉化率。
在本實施例中,因為多版本測試系統會記錄每一次用
戶對目前產品的舊版本或者新版本的訪問,那麼就可以透過多版本測試系統記錄的用戶的訪問情況來獲取到舊版本轉化率和新版本轉化率。其中,一個網站產品的轉化率的計算方式為:進行了相應的動作的訪問量/總訪問量。對於本申請案實施例來說,舊版本轉化率和新版本轉化率即是舊版本的網站轉化率和新版本的網站轉化率。網站轉化率可以分很多種,對於一個註冊頁面的網站來講,其網站轉化率可以表示為註冊成功率,亦即,用戶訪問了該註冊頁面上有多少用戶成功註冊。再例如,對於一個電子商務網站的產品詳情頁面來說,其網站轉化率可以表示為下單轉化率,亦即,用戶在瀏覽了該產品詳情頁面之後,有多少用戶啟動點擊了下單按鈕。舉例來講,對於下單轉化率的獲取來講,可以統計一共有多少次用戶請求(假設有1000次用戶請求)來請求瀏覽某個產品的詳情頁面,而在這麼多用戶請求對應的總的瀏覽次數中有多少次用戶請求對應(假設有35次用戶請求)進行了下單,那麼下單轉化率就是35/1000=3.5%。
當然,網站轉化率在實際應用中還包括很多種,在此就不再一一舉例。
步驟502:依據所述舊版本轉化率和新版本轉化率而對所述舊版本和新版本進行測試。
再根據步驟501中所得到的舊版本整體上的舊版本轉化率,以及新版本整體上的新版本轉化率,將兩個版本的轉換率進行比對,從而測試出舊版本和新版本的效果好
壞,其中,版本轉化率可以表示出該版本的效果優劣。例如,新版本轉化率高於舊版本轉化率,此時可以認為新版本的效果或者商業價值都高於新版本。一般情況下,因為存在用戶之間的個體差異,新版本轉化率比舊版本轉化率高於一定的數值,那麼可以認為該效果測試結果是比較可信的結果。當然不同的產品有不同的特性,也存在不同的經驗值,具體對於某個產品其新版本轉化率要比舊版本轉化率高出多少,才認為效果測試結果可信,可以參考產品轉化率提高幅度的歷史經驗,以作為本領域技術人員一個基本的判斷和預期。
當然,根據測試的網站產品的類型不同,例如對於註冊頁面可以比對其註冊轉化率,而對於產品詳情頁面則可以比對下單轉化率,其所需比對的網站轉化率的類型也是不同的,本領域技術人員在進行新版本和舊版本的效果測試的時候,可以根據實際業務情況或者用戶需求選擇合適的網站轉化率進行比對。
在實際應用中,進行多版本測試時,所得到的測試結果未必一定是新版本的版本轉化率高於舊版本的,如果新版本的效果優勢不是那麼的明顯,例如可能只優於舊版本4%左右,那麼可以暫時認為這個測試的可信度需要論證,因為該測試結果有可能是由於樣本個體的差異化所造成的。在這種情況下,可以對用戶的分流標籤值進行最佳化,從而對測試結果也產生驗證的作用。參考圖6,示出了本申請案一種多版本測試方法實施例2的流程圖,可以
況變成:用戶甲的初始散列值雖然仍舊為18,如果不對其進行平移,此種情況下會分配給該用戶新版本;但是平移預設的平移區間之後就變成68,最終會分配給該用戶舊版本。再例如,用戶乙的初始散列值為59,如果不對其進行平移則此種情況下會分配給該用戶舊版本,而如果按照最佳化的第一種方式,對其平移50後得到109,亦即,其最終的分流散列值是9,那麼在最佳化的情況下將會分配給該用戶新版本。
當然,在實際的應用中,平移區間可以根據實際情況、用戶需求或者新舊版本的配置比等參數而自主設定其數值的。在一般的情況下,在前一次測試結果可信度值得商榷的情況下,採用第一種最佳化方式可以實現既能確保多版本測試的隨機性,又能採用一批相對新的用戶來測試一次新版本,從而對多版本測試是否受到個體差異性的影響進行驗證。如果基於平移因子的測試結果仍舊是相同的效果趨勢,那麼可信度被進一步提高。反之,則證明前一次多版本測試的結果不準確。如果有需要的話,也可以多平移幾次,並且平移的幅度是可以靈活配置的。
第二種方式為:對所述初始散列值按照預設的反轉規則進行反轉後得到反轉的分裂散列值。
對初始散列值進行最佳化的第二種方式為反轉,此種方式一般適用於只有新舊版本各有一個的情況。例如,將得到的分流標籤值落入舊版本的用戶全部分配給新版本,而將得到的分流標籤值落入新版本的用戶全部分配給舊版
包括以下步驟:步驟601:獲取訪問目前產品的用戶的分流標籤值,所述分流標籤值用於唯一標識用戶。
本步驟的實現可以參考實施例1的內容,在此不再贅述。
步驟602:將所述分流標籤值轉換為哈希hash碼值。
在本實施例中,可以採用實施例1的方式將步驟501所獲取到的分流標籤值轉換為正的hash碼值。
步驟603:計算所述hash碼值對應的初始散列值。
再計算hash碼值對應的初始散列值。
步驟604:對所述初始散列值進行分流最佳化處理後得到分流散列值。
本實施例與實施例1的不同之處在於,本實施例中還對初始散列值進行分流最佳化處理從而得到最佳化後的分流散列值。
具體上在步驟604進行最佳化時,可以有以下四種方式,第一種方式為:對所述初始散列值按照預設的平移區間進行平移後得到平移的分流散列值。
在應用該種最佳化方式的時候,對於得到的初始散列值需要按照預設的平移區間對其進行平移,以起到變更分配給舊版本和新版本的用戶區間的目的。例如,預設的新版本和舊版本的配置比為:20:80,預設的平移區間為50。因此,雖然預設的配置比也是分流20%的用戶給新版本,但是因為附加了預設的平移區間為50,那麼實際情
本,這樣就能起到對舊版本和新版本的用戶區間進行對換的目的。在進行反轉最佳化之後,如果測試結果仍舊是新版本好於老版本,一般情況下就可以認為本次最佳化過程是有效的。其中,反轉最佳化是平移最佳化的一種特例,通常是用在只有舊版本和新版本共兩個並需要快速驗證多版本測試結果的情況,因為反轉的最佳化方式會影響所有的產品用戶,所以在使用第二種方式需要根據實際情況進行適當的選擇。
第三種方式為:對所述初始散列值與預設的乘積因子進行相乘後得到相乘的分流散列值。
對初始散列值進行最佳化的第三種方式為,將步驟503所得到的初始散列值與預設的乘積因子進行相乘從而得到相乘的分流散列值,將該乘積作為最終的分流散列值。例如,對於步驟503得到的初始散列值都乘以數值“3”,這樣也能夠起到透過將初始散列值改變成最終的分流散列值進而改變分配給舊版本或者新版本的用戶的目的。其中,需要說明的是,預設的乘積因子的數值也是不定的,可以根據實際情況進行調整,只要是一個指定的數字即可。在一般的情況下,第三種最佳化方式主要用於解決同產品多個並行多版本測試分流互相干擾的問題。
第四種方式為:對所述初始散列值按照預設的時間參數進行散列後得到散列的分流散列值。
對初始散列值進行最佳化的第四種方式為,將步驟503中所得到的初始散列值按照預設的時間參數進行散列
後得到散列的分流散列值。在本步驟中,預設的時間參數也是一個數值,但是與第三種方式不同的是,只要乘積因子設定成功之後,一直都是同一個指定的數字,但是如果將時間參數預設為當日日期,那麼在不同的日期進行的多版本測試中,初始散列值所乘的數字就與當日日期相同,這是一個變量。可以理解的是,按時間參數的最佳化方式可以讓每天測試的用戶區間重新打散,因此能夠用來作為一個網站產品受用戶群行為影響的波動情況的分析依據。其中,時間參數不僅僅可以採用以“天”為單位來進行最佳化,也可以採用以“小時”或者“星期”等為單位來進行最佳化,例如,如果採用“小時”,那麼在不同的小時內初始散列值所乘的數字就與當時的小時相同,以此類推,則採用“星期”,那麼在不同的星期內初始散列值所乘的數字就與當時的星期相同。
需要說明的是,上述的四種方式在最佳化過程中可以任意選擇一種方式進行。而如果進行任意一種最佳化之後,舊版本和新版本的測試結果的可信度仍然不高,那麼可以多進行幾次最佳化,並且,其中的平移區間、乘積因子和時間參數等,都是可以靈活配置的。
其中,本實施例中的步驟602~步驟604為實施例1中步驟103的較佳實現方式。
步驟605:依據預設的所述目前產品的舊版本和新版本的配置比和所述分流散列值而為所述用戶分配所述目前產品的舊版本或新版本。
步驟606:依據分別訪問舊版本和新版本的用戶的轉化率,對所述目前產品的舊版本和新版本進行測試。
採用本發明實施例,透過對各個用戶的分流標籤值進行散列從而得到分流散列值,可以使得原本應該分配給舊版本的用戶可能因為散列值的變化而分配給新版本,而原本應該分配給新版本的用戶則可能因為散列值的變化而分配給舊版本,從而能夠降低用戶之間的行為差異給測試結果帶來的影響,驗證多版本測試的可信度和有效性。
在實際的應用中,因為多版本測試過程中,針對同一個用戶請求,可能涉及不同的測試內容,例如可能會先後進入兩個多版本測試的流程中,那麼一般為了減少時間可以採用並行測試的方式。例如,假設某網站產品同時進行兩個並行的多版本測試,採用的是最為常用的“按用戶比例分流”的方式。那麼對於一個用戶訪問來講,將會先進入第一個多版本測試流程(假設其舊版本為sellpopA,新版本為sellpopB),隨後進行第二個多版本測試流程。
那麼對於需要訪問網站的用戶來說,假設先進行sellpop測試,分配50%的用戶訪問sellpopA,另外50%的用戶訪問sellpopB,亦即,sellpopA:sellpopB為:50%:50%。接著在sellpopB的用戶分支裏再進行第二個多版本popp4p測試流程,從中分配20%的用戶訪問popp4pA,分配另外20%的用戶訪問popp4pB,剩餘60%的用戶訪問popp4pC,亦即,popp4pA:popp4pB:popp4pC的比例為:20%:20%:60%。在實際運行的過程
中,sellpop測試的實際用戶分流比例符合預設的配置比,而popp4p測試的實際用戶分流比例則不正常,popp4pA和popp4pB實際上沒有用戶訪問,和預期的各有20%的用戶不符。這就說明在實際中並行多版本測試過程中出現了分流互相干擾的情況。
下面將舉例說明本實施例中的最佳化過程是如何克服並行測試中分流互相干擾的問題。
分析前述例子中用戶分流不正常的原因,在這個例子中,進入網站產品的用戶,先進行sellpop測試,會分流50%的用戶訪問sellpopA,另外50%的用戶訪問sellpopB,接著在sellpopB的分支裏再進行popp4p測試,再從中分流20%的用戶訪問popp4pA,分20%的用戶訪問popp4pB,其他60%的用戶則會訪問到popp4pC。其中,因為sellpop測試和popp4p測試是在同一時間段內做的多版本測試,所以用戶訪問網站產品的請求會先經過sellpop測試,再經過popp4p測試。
其中,假設對於用戶甲,其分流散列值為25,屬於0到50的這個區間,那麼該用戶在sellpop測試時就會分配其訪問sellpopA,亦即,用戶甲根本不會進入第二個多版本測試(popp4p)。而如果另一個用戶乙的分流散列值為69,屬於50到99的區間,那麼該用戶乙在sellpop測試時就會分配其訪問sellpopB。然後再進入第二個多版本測試pop4p時,該用戶乙就會分配其訪問pop4pC。可見這樣就會造成能夠進入popp4p測試的用戶的散列值必定在
50~99區間,也就不屬於0~19以及20~39的區間,所以就沒有機會訪問pop4pA版本和pop4pB版本。
在這種情況下,採用本實施例中最佳化方式可以解決此問題。在串行化進入的第二個多版本測試popp4p中採用第三種方式進行最佳化,假設預設的乘積因子為15,那麼新版本與舊版本的比例雖然仍是20:80,但是用戶的分流標籤值都會與一個預設的乘積因子15進行相乘。在這種情況下,雖然能夠進入popp4p測試的,用戶的分流標籤值的分流散列值一定是在50到99範圍內,假設初始分流標籤值為169(分流散列值為69,在50到99範圍內),將分流標籤值與預設的乘積因子相乘,即為169*15=2535,再對100取餘計算分流散列值,結果為35,這就說明對應的用戶在進入popp4p測試時其分流散列值在20~39區間內而會分配popp4pB給其訪問。
假設用戶的初始分流標籤值為其他數值,例如169、182、191和199,那麼最佳化後的分流散列值與其對應關係如表1所示:
可以從表1中看到,本來其未最佳化時的分流散列值屬於50到99的區間的用戶,在最佳化之後其分流散列值重新變為0到99的區間,這樣pop4pA版本和pop4pB版本都有可能被用戶訪問到,也就避免了多版本並行測試中分流互相干擾的現象。
可見本申請案實施例透過對各個用戶的分流標籤值的初始散列進行最佳化再得到分流散列值,可以使得原本應該分配給舊版本的用戶可能因為散列值的變化而分配給新版本,而原本應該分配給新版本的用戶則可能因為散列值的變化而分配給舊版本,從而與現有技術相比,解決用戶差異性所帶來的多版本測試結果的有效性和準確性的問題,提供有效的驗證方法,還能解決同一產品在並行進行多個多版本測試時出現的分流互相干擾的問題。
對於前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本申請案並不受所描述的動作順序的限制,因為依據本申請案,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於較佳實施例,所涉及的動作和模組並不一定是本申請案所必須的。
與上述本申請案一種多版本測試方法實施例1所提供的方法相對應,參見圖7,本申請案還提供了一種多版本測試裝置實施例1,在本實施例中,該裝置可以包括:
獲取模組701,用以獲取訪問目前產品的用戶的分流
標籤值,所述分流標籤值用於唯一標識用戶。
在具體實現時,參考圖8所示,所述獲取模組701具體上可以包括:判斷子模組801,用以判斷用戶的訪問資料Cookie中是否存在所述分流標籤值;提取子模組802,用以在所述判斷子模組的結果為是的情況下,直接從用戶的Cookie中提取出所述分流標籤值;產生子模組803,用以在所述判斷子模組的結果為否的情況下,依據預設的分流標籤值的產生策略而為所述用戶產生分流標籤值;添加子模組804,用以將所述產生子模組產生的分流標籤值添加至所述用戶的Cookie中。
在具體實現時,參考圖9所示,所述產生子模組803具體上可以包括:獲取參數子模組901,用以獲取所述用戶的IP地址、第一次訪問所述目前產品的時間和一隨機數;組合子模組902,用以依據所述IP地址、第一次訪問所述目前產品的時間和一隨機數組合為所述分流標籤值。
計算模組702,用以計算所述分流標籤值的分流散列值。
分配模組703,用以依據預設的所述目前產品的舊版本和新版本的配置比和所述分流散列值而為所述用戶分配所述目前產品的舊版本或新版本,以便對所述目前產品進
行多版本測試。
本申請案實施例的裝置透過對各個用戶的分流標籤值進行散列從而得到分流散列值,基於cookie和散列數就能夠方便易行地實現本技術方案,從而提供了一種通用的基於分流散列值實現的方便的多版本測試方法。
較佳的,參考圖10所示,本申請案實施例在採用轉化率對目前產品進行多版本測試的時候,除了圖7所示的模組之外,還可以包括:測試模組1001,用以依據分別訪問舊版本和新版本的用戶的轉化率,對所述目前產品的舊版本和新版本進行測試。
在具體實現時,參考圖11所示,所述測試模組1001具體上可以包括:獲取轉化率子模組1101,用以分別依據訪問舊版本和新版本的用戶的轉化率,獲取訪問舊版本的所有用戶的舊版本轉化率,以及訪問新版本的所有用戶的新版本轉化率;測試子模組1102,用以依據所述舊版本轉化率和新版本轉化率而對所述舊版本和新版本進行測試。
與上述本申請案一種多版本測試方法實施例2所提供的方法相對應,參見圖12,本申請案還提供了一種多版本測試裝置實施例2,在本實施例中,該裝置可以包括:獲取模組701,用以獲取訪問目前產品的用戶的分流標籤值,所述分流標籤值用於唯一標識用戶。
轉換子模組1201,用以將轉換為哈希hash碼值。
計算子模組1202,用以計算所述hash碼值對應的初始散列值。
最佳化子模組1203,用以對所述初始散列值進行分流最佳化處理後得到分流散列值。
其中,所述最佳化子模組1203,具體上可以包括:平移子模組,用以對所述初始散列值按照預設的平移區間進行平移後得到平移的分流散列值;或者,反轉子模組,用以對所述初始散列值按照預設的反轉規則進行反轉後得到反轉的分流散列值;或者,相乘子模組,用以對所述初始散列值與預設的乘積因子進行相乘後得到相乘的分流散列值;或者,散列子模組,用以對所述初始散列值按照預設的時間參數進行散列後得到散列的分流散列值。
分配模組703,用以依據預設的所述目前產品的舊版本和新版本的配置比和所述分流散列值而為所述用戶分配所述目前產品的舊版本或新版本。
測試模組01001,用以依據分別訪問舊版本和新版本的用戶的轉化率,對所述目前產品的舊版本和新版本進行測試。
採用本發明實施例,透過對各個用戶的分流標籤值的初始散列值進行最佳化再得到分流散列值,可以使得原本應該分配給舊版本的用戶可能因為散列值的變化而分配給新版本,而原本應該分配給新版本的用戶則可能因為散列
值的變化而分配給舊版本,從而能夠降低用戶之間的行為差異給測試結果帶來的影響,驗證多版本測試的可信度和有效性。進一步地,本申請案中的裝置還能解決還能解決同一產品在並行進行多個多版本測試時出現的分流互相干擾的問題。
需要說明的是,本說明書中的各個實施例均採用遞進的方式來予以描述,每一個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對於裝置類實施例而言,由於其與方法實施例基本上相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
最後,還需要說明的是,在本文中,諸如第一和第二等之類的關係術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關係或者順序。而且,術語“包括”、“包含”或者其任何其他變型意在涵蓋非排他性的包含,從而使得包括一系列組成要素的過程、方法、物件或者設備不僅包括那些組成要素,而且還包括沒有明確列出的其他組成要素,或者是還包括為這種過程、方法、物件或者設備所固有的組成要素。在沒有更多限制的情況下,由語句“包括一個……”限定的組成要素,並不排除在包括所述組成要素的過程、方法、物件或者設備中還存在另外的相同組成要素。
以上對本申請案所提供的一種多版本測試方法和裝置
進行了詳細介紹,本文中應用了具體個例對本申請案的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本申請案的方法及其核心思想;同時,對於本領域的一般技術人員,依據本申請案的思想,在具體實施方式及應用範圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本申請案的限制。
Claims (10)
- 一種多版本測試方法,其特徵在於,該方法包括:獲取訪問目前產品的用戶的分流標籤值,該分流標籤值用於唯一標識訪問目前產品的該用戶;計算該分流標籤值的分流散列值,包括:將該分流標籤值轉換為哈希(hash)碼值;計算該hash碼值對應的初始散列值;以及對該初始散列值進行分流最佳化處理後得到分流散列值,包括:對該初始散列值按照預設的平移區間進行平移後得到平移的分流散列值;或者對該初始散列值按照預設的反轉規則進行反轉後得到反轉的分流散列值;或者對該初始散列值與預設的乘積因子進行相乘後得到相乘的分流散列值;或者對該初始散列值按照預設的時間參數進行散列後得到散列的分流散列值,該預設的時間參數包含當日日期、代表天的數字、代表小時的數字、或代表星期的數字;以及依據預設之該目前產品的舊版本和新版本的配置比和該分流散列值而將該目前產品的舊版本或新版本分配給訪問目前產品的該用戶,其中,到該用戶之該目前產品的舊版本或新版本的分配對該目前產品進行多版本測試。
- 根據申請專利範圍第1項所述的方法,其中,該獲取訪問目前產品的用戶的分流標籤值具體上包括:判斷用戶的Web請求中的訪問資料Cookie中是否包含該分流標籤值,如果是,則直接從用戶的Cookie中提取出該分流標籤值,如果否,則依據預設的分流標籤值的產生策略而為該用戶產生分流標籤值,並將該分流標籤值添加至該用戶的Cookie中。
- 根據申請專利範圍第2項所述的方法,其中,該依據預設的分流標籤值的產生策略而為該用戶產生分流標籤值具體上包括:獲取該用戶的IP地址、第一次訪問該目前產品的時間和一隨機數;以及依據該IP地址、第一次訪問該目前產品的時間和一隨機數組合為該分流標籤值。
- 根據申請專利範圍第1項所述的方法,其中,該對該目前產品進行多版本測試具體上包括:依據分別訪問舊版本和新版本的用戶的轉化率,對該目前產品的舊版本和新版本進行測試。
- 根據申請專利範圍第4項所述的方法,其中,該依據分別訪問舊版本和新版本的用戶的轉化率,對該目前產品的舊版本和新版本進行測試具體上包括:分別依據訪問舊版本和新版本的用戶的轉化率,獲取訪問舊版本的所有用戶的舊版本轉化率,以及訪問新版本的所有用戶的新版本轉化率;以及 依據該舊版本轉化率和新版本轉化率而對該舊版本和新版本進行測試。
- 一種多版本測試裝置,其特徵在於,該裝置包括:獲取模組,用以獲取訪問目前產品的用戶的分流標籤值,該分流標籤值用於唯一標識訪問目前產品的該用戶;計算模組,用以計算該分流標籤值的分流散列值,包括:轉換子模組,用以將該分流標籤值轉換為哈希(hash)碼值;計算子模組,用以計算該hash碼值對應的初始散列值;以及最佳化子模組,用以對該初始散列值進行分流最佳化處理後得到分流散列值,包括:平移子模組,用以對該初始散列值按照預設的平移區間進行平移後得到平移的分流散列值;或者反轉子模組,用以對該初始散列值按照預設的反轉規則進行反轉後得到反轉的分流散列值;或者相乘子模組,用以對該初始散列值與預設的乘積因子進行相乘後得到相乘的分流散列值;或者散列子模組,用以對該初始散列值按照預設的時間參數進行散列後得到散列的分流散列值,該預設的時間參數包含當日日期、代表天的數字、代表小時的數字、或代表星期的數字;以及 分配模組,用以依據預設的該目前產品的舊版本和新版本的配置比和該分流散列值而將該目前產品的舊版本或新版本分配給訪問目前產品的該用戶,其中,到該用戶之該目前產品的舊版本或新版本的分配對該目前產品進行多版本測試。
- 根據申請專利範圍第6項所述的裝置,其中,該獲取模組具體上包括:判斷子模組,用以判斷用戶的Web請求中的訪問資料Cookie中是否包含該分流標籤值;提取子模組,用以在該判斷子模組的結果為是的情況下,直接從用戶的Cookie中提取出該分流標籤值;產生子模組,用以在該判斷子模組的結果為否的情況下,依據預設的分流標籤值的產生策略而為該用戶產生分流標籤值;以及添加子模組,用以將該產生子模組所產生的分流標籤值添加至該用戶的Cookie中。
- 根據申請專利範圍第7項所述的裝置,其中,該生子模組具體上包括:獲取參數子模組,用以獲取該用戶的IP地址、第一次訪問該目前產品的時間和一隨機數;以及組合子模組,用以依據該IP地址、第一次訪問該目前產品的時間和一隨機數組合為該分流標籤值。
- 根據申請專利範圍第6項所述的裝置,其中,還包括: 測試模組,用以依據分別訪問舊版本和新版本的用戶的轉化率,該目前產品的舊版本和新版本進行測試。
- 根據申請專利範圍第9項所述的裝置,其中,該測試模組包括:獲取轉化率子模組,用以分別依據訪問舊版本和新版本的用戶的轉化率,獲取訪問舊版本的所有用戶的舊版本轉化率,以及訪問新版本的所有用戶的新版本轉化率;以及測試子模組,用以依據該舊版本轉化率和新版本轉化率而對該舊版本和新版本進行效果測試。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310127577.4A CN104102576A (zh) | 2013-04-12 | 2013-04-12 | 一种多版本测试方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201439941A TW201439941A (zh) | 2014-10-16 |
TWI587230B true TWI587230B (zh) | 2017-06-11 |
Family
ID=51670745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102132559A TWI587230B (zh) | 2013-04-12 | 2013-09-10 | Multi - version testing method and apparatus |
Country Status (7)
Country | Link |
---|---|
US (1) | US20140310691A1 (zh) |
EP (1) | EP2984616A1 (zh) |
JP (1) | JP2016522475A (zh) |
CN (1) | CN104102576A (zh) |
HK (1) | HK1201359A1 (zh) |
TW (1) | TWI587230B (zh) |
WO (1) | WO2014169139A1 (zh) |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170180464A1 (en) * | 2012-04-05 | 2017-06-22 | Blis Media Limited | Evaluating The Efficacy Of An Advertisement Campaign |
US11494293B2 (en) | 2014-11-18 | 2022-11-08 | King.Com Limited | Testing systems and methods |
CN105740304B (zh) * | 2014-12-12 | 2019-12-24 | 阿里巴巴集团控股有限公司 | 可视化页面编辑方法、装置及a/b测试方法、装置 |
CA2987022A1 (en) * | 2015-05-31 | 2016-12-08 | Wix.Com Ltd. | System and method for capability packages offering based on analysis of edited websites and their use |
CN106354622B (zh) * | 2015-07-14 | 2019-09-20 | 北京国双科技有限公司 | 测试网页的展示方法和装置 |
CN106354621B (zh) * | 2015-07-14 | 2019-02-26 | 北京国双科技有限公司 | 网页测试的投放方法及装置 |
US10235267B2 (en) * | 2015-08-13 | 2019-03-19 | Molbase (Shanghai) Biotechnology Co., Ltd. | Online testing system and method thereof |
CN106487824A (zh) * | 2015-08-25 | 2017-03-08 | 阿里巴巴集团控股有限公司 | 一种规则灰度发布方法及装置 |
CN105262636A (zh) * | 2015-09-08 | 2016-01-20 | 摩贝(上海)生物科技有限公司 | 一种在线测试系统和方法 |
CN106096021A (zh) * | 2016-06-24 | 2016-11-09 | 合信息技术(北京)有限公司 | 一种静态页面灰度发布方法及系统 |
CN106230593A (zh) * | 2016-07-19 | 2016-12-14 | 乐视控股(北京)有限公司 | 用户标识生成方法及装置 |
CN106294124B (zh) * | 2016-07-21 | 2018-12-28 | 北京金山安全软件有限公司 | 一种应用产品试验配置方法及装置 |
US10489284B1 (en) | 2016-08-12 | 2019-11-26 | Twitter, Inc. | Evaluation infrastructure for testing real-time content search |
CN108595447A (zh) * | 2016-12-13 | 2018-09-28 | 广州市动景计算机科技有限公司 | 用户终端及网页页面特性分析装置与方法 |
CN106598741B (zh) * | 2016-12-16 | 2024-03-01 | 飞狐信息技术(天津)有限公司 | 个性化推荐系统的分布式a/b测试方法、系统及视频推荐系统 |
CN106845781B (zh) * | 2016-12-22 | 2024-07-19 | 中信银行股份有限公司 | 用于业务测试的场景及流程的生成系统和方法 |
CN106911515A (zh) * | 2017-03-20 | 2017-06-30 | 微鲸科技有限公司 | 基于用户分组的测试方法及装置 |
CN107402881A (zh) * | 2017-04-14 | 2017-11-28 | 阿里巴巴集团控股有限公司 | 一种项目测试的选取方法及装置 |
CN106959925B (zh) * | 2017-04-25 | 2020-06-30 | 北京云测信息技术有限公司 | 一种版本测试方法及装置 |
CN107273290B (zh) * | 2017-06-13 | 2020-07-03 | 北京奇艺世纪科技有限公司 | 一种页面服务的a/b测试方法和装置 |
CN109391655B (zh) * | 2017-08-09 | 2021-09-24 | 腾讯科技(深圳)有限公司 | 服务灰度发布方法、装置、系统及存储介质 |
US11004016B2 (en) | 2017-09-05 | 2021-05-11 | Amadeus S.A.S. | Query-based identifiers for cross-session response tracking |
CN107766235B (zh) * | 2017-09-06 | 2021-04-09 | 北京五八到家信息技术有限公司 | 一种基于随机分流的a/b测试方法 |
CN109672705B (zh) * | 2017-10-16 | 2022-05-27 | 阿里巴巴集团控股有限公司 | 一种客户端版本选择方法、装置及系统 |
US10241903B1 (en) * | 2017-11-15 | 2019-03-26 | Accenture Global Solutions Limited | Parallel testing and reporting system |
CN108664404A (zh) * | 2018-05-14 | 2018-10-16 | 广州讯飞易听说网络科技有限公司 | 客户端灰度发布方法 |
CN108829602A (zh) * | 2018-06-21 | 2018-11-16 | 北京金山安全软件有限公司 | 一种测试方法、装置、电子设备及存储介质 |
CN109040085A (zh) * | 2018-08-15 | 2018-12-18 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种下发数据的方法及装置 |
CN109032954B (zh) * | 2018-08-16 | 2022-04-05 | 五八有限公司 | 一种a/b测试的用户选取方法、装置、存储介质及终端 |
CN109445811B (zh) * | 2018-09-07 | 2024-05-28 | 平安科技(深圳)有限公司 | 灰度发布方法、装置、计算机设备及计算机存储介质 |
CN109471795A (zh) * | 2018-10-16 | 2019-03-15 | 平安普惠企业管理有限公司 | 分组测试方法、装置、计算机设备及存储介质 |
CN109656814A (zh) * | 2018-11-23 | 2019-04-19 | 杭州优行科技有限公司 | 新功能测试方法、装置及智能设备 |
CN109933520B (zh) * | 2019-01-22 | 2022-04-08 | 平安科技(深圳)有限公司 | 软件开发测试方法、装置、计算机装置及存储介质 |
CN111475365B (zh) * | 2019-12-10 | 2024-09-03 | 南京新贝金服科技有限公司 | 一种基于cookie的标签式AB测试方法及系统 |
CN111240959B (zh) * | 2019-12-27 | 2021-01-15 | 广东睿江云计算股份有限公司 | 一种回归测试范围的规划方法 |
CN111639032B (zh) * | 2020-06-02 | 2023-08-01 | 百度在线网络技术(北京)有限公司 | 用于测试应用的方法和装置 |
JP7046131B2 (ja) * | 2020-08-26 | 2022-04-01 | 楽天グループ株式会社 | サーバ、情報処理方法およびプログラム |
US20220067754A1 (en) * | 2020-08-27 | 2022-03-03 | Coupang Corporation | Computerized systems and methods for predicting a minimum detectable effect |
CN112199296B (zh) * | 2020-10-29 | 2022-09-23 | 腾讯科技(深圳)有限公司 | 页面测试方法、装置、计算机设备和存储介质 |
US11032158B1 (en) * | 2020-11-18 | 2021-06-08 | Coupang Corp. | Computerized systems and methods for processing high-volume log files from virtual servers |
CN112882929B (zh) * | 2021-02-02 | 2023-08-08 | 网易(杭州)网络有限公司 | 测试方法、装置、计算机设备和存储介质 |
CN113268414A (zh) * | 2021-05-10 | 2021-08-17 | Oppo广东移动通信有限公司 | 实验版本的分配方法、装置、存储介质及计算机设备 |
CN113312257B (zh) * | 2021-05-24 | 2023-09-22 | 深圳市中科明望通信软件有限公司 | 版本识别方法、装置、存储介质及计算机设备 |
CN113434432B (zh) * | 2021-07-20 | 2022-11-08 | 北京百度网讯科技有限公司 | 一种推荐平台的性能测试方法、装置、设备、及介质 |
CN114390105B (zh) * | 2022-03-01 | 2024-06-18 | 杭州阿里巴巴海外互联网产业有限公司 | 基于测试的企业用户分流方法及设备 |
CN116633812B (zh) * | 2023-05-15 | 2023-12-22 | 之江实验室 | 一种基于nginx智能容错路由的多版本同步测试方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060069966A1 (en) * | 2004-09-29 | 2006-03-30 | Yen-Fu Liu | Method and system for testing memory using hash algorithm |
US20060162071A1 (en) * | 2005-01-27 | 2006-07-27 | Eleri Dixon | A/B testing |
US20080120428A1 (en) * | 2006-11-21 | 2008-05-22 | Sprint Communications Company L.P. | Unique compressed call identifiers |
US20080140765A1 (en) * | 2006-12-07 | 2008-06-12 | Yahoo! Inc. | Efficient and reproducible visitor targeting based on propagation of cookie information |
TW200917057A (en) * | 2007-10-12 | 2009-04-16 | Microsoft Corp | Automatically instrumenting a set of web documents |
US20130030868A1 (en) * | 2011-07-25 | 2013-01-31 | Cbs Interactive, Inc. | Scheduled Split Testing |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3084681B2 (ja) * | 1996-12-06 | 2000-09-04 | 財団法人流通システム開発センタ− | 統合情報通信システム |
US6810398B2 (en) * | 2000-11-06 | 2004-10-26 | Avamar Technologies, Inc. | System and method for unorchestrated determination of data sequences using sticky byte factoring to determine breakpoints in digital sequences |
US6904430B1 (en) * | 2002-04-26 | 2005-06-07 | Microsoft Corporation | Method and system for efficiently identifying differences between large files |
WO2005031579A1 (ja) * | 2003-09-26 | 2005-04-07 | Nippon Telegraph And Telephone Corporation | タグプライバシー保護方法、タグ装置、バックエンド装置、更新装置、更新依頼装置、それらのプログラム及びこれらのプログラムを格納した記録媒体 |
JP2012048360A (ja) * | 2010-08-25 | 2012-03-08 | Sony Corp | Id価値評価装置、id価値評価システム、及びid価値評価方法 |
-
2013
- 2013-04-12 CN CN201310127577.4A patent/CN104102576A/zh active Pending
- 2013-09-10 TW TW102132559A patent/TWI587230B/zh active
-
2014
- 2014-04-09 US US14/249,256 patent/US20140310691A1/en not_active Abandoned
- 2014-04-10 EP EP14727989.7A patent/EP2984616A1/en not_active Withdrawn
- 2014-04-10 JP JP2016507663A patent/JP2016522475A/ja active Pending
- 2014-04-10 WO PCT/US2014/033677 patent/WO2014169139A1/en active Application Filing
-
2015
- 2015-02-25 HK HK15101895.7A patent/HK1201359A1/zh unknown
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060069966A1 (en) * | 2004-09-29 | 2006-03-30 | Yen-Fu Liu | Method and system for testing memory using hash algorithm |
US20060162071A1 (en) * | 2005-01-27 | 2006-07-27 | Eleri Dixon | A/B testing |
US20080120428A1 (en) * | 2006-11-21 | 2008-05-22 | Sprint Communications Company L.P. | Unique compressed call identifiers |
US20080140765A1 (en) * | 2006-12-07 | 2008-06-12 | Yahoo! Inc. | Efficient and reproducible visitor targeting based on propagation of cookie information |
TW200917057A (en) * | 2007-10-12 | 2009-04-16 | Microsoft Corp | Automatically instrumenting a set of web documents |
US20130030868A1 (en) * | 2011-07-25 | 2013-01-31 | Cbs Interactive, Inc. | Scheduled Split Testing |
Also Published As
Publication number | Publication date |
---|---|
EP2984616A1 (en) | 2016-02-17 |
CN104102576A (zh) | 2014-10-15 |
US20140310691A1 (en) | 2014-10-16 |
TW201439941A (zh) | 2014-10-16 |
HK1201359A1 (zh) | 2015-08-28 |
JP2016522475A (ja) | 2016-07-28 |
WO2014169139A1 (en) | 2014-10-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI587230B (zh) | Multi - version testing method and apparatus | |
TWI694350B (zh) | 基於區塊鏈的資訊監管方法及裝置 | |
US20240305671A1 (en) | Self-adjusting cybersecurity analysis and score generation | |
CN104184832B (zh) | 网络应用中的数据提交方法及装置 | |
CA3104308A1 (en) | Non-intrusive techniques for discovering and using organizational relationships | |
TW201541277A (zh) | 檢測弱密碼的方法和裝置 | |
US9390285B1 (en) | Identifying inconsistent security policies in a computer cluster | |
WO2017080167A1 (zh) | 第三方视频推送方法和系统 | |
US20190251019A1 (en) | Testing web applications using clusters | |
CN103023893A (zh) | 利用资源转接平台访问在线资源 | |
KR101764674B1 (ko) | 침해 자원에 대한 그래프 데이터베이스 생성 방법 및 그 장치 | |
US20140173693A1 (en) | Cookie Optimization | |
US10992972B1 (en) | Automatic identification of impermissable account sharing | |
Song et al. | Inference attack on browsing history of twitter users using public click analytics and twitter metadata | |
Sidhu et al. | Using the improved PROMETHEE for selection of trustworthy cloud database servers. | |
WO2018177286A1 (zh) | 一种静态资源请求处理方法及装置 | |
TWI579708B (zh) | Method and apparatus for interacting with user data | |
US9094391B2 (en) | Dynamic trust federation | |
CN103399968A (zh) | 一种微博信息采集方法及系统 | |
AU2019355127B2 (en) | Systems and methods for obtaining anonymized information derived from data obtained from external data providers | |
US11968185B2 (en) | On-device experimentation | |
Zheng et al. | A framework for protecting personal information and privacy | |
US11425114B2 (en) | Systems and methods for supporting a secure connectivity | |
JP6960861B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
US20180278630A1 (en) | Unauthorized data access detection based on cyber security images |