廣告測試方法和裝置、測試平臺與流程
2024-04-03 18:26:05 2

本發明涉及計算機領域,尤其涉及一種廣告測試方法和裝置、測試平臺。
背景技術:
目前對廣告的檢查主要有以下幾種方式:
1)全人工測試的方法:
客戶端上不斷刷新信息流,找到廣告,檢查廣告展示樣式是否正確,點擊廣告,檢查廣告互動操作行為是否正確。
這種方式刷出廣告靠的是「運氣」,刷出哪種廣告素材更是不能控制的,測試效率非常低,很難覆蓋全量的廣告素材。
2)基於MOCK的半人工測試方法:
模擬廣告引擎返回的數據,可以控制客戶端上展示哪種廣告,可以覆蓋全量的廣告素材,但是每次測試,都需要手動修改MOCK數據。
這種方式自動化程度低,需要人工記憶和人工操作較多,隨著廣告素材和檢查點的增多,回歸測試量不斷增加,測試效率將會很低,測試耗時太久。
針對上述問題,目前尚未提出有效的解決方案。
技術實現要素:
本發明實施例提供一種廣告測試方法和裝置、測試平臺,以提高廣告測試的效率和測試結果的準確性和全面性。
一方面,本發明實施例提供了一種廣告測試方法,包括:
客戶端接收刷新信息流的請求,並將所述請求發送至MOCK;
接收所述MOCK返回的廣告素材ID,並展示所述廣告素材ID對應的廣告素材,其中,所述廣告素材ID是預先通過測試平臺與所述客戶端上登陸的用戶ID關聯的廣告素材ID;
接收用戶響應於展示的廣告素材的互動操作行為;
將所述互動操作行為傳輸至所述測試平臺,以使所述測試平臺測試所述互動操作行為是否正確。
在一個實施方式中,將所述互動操作行為傳輸至所述測試平臺,包括:
將所述互動操作行為的行為ID與所述展示的廣告素材的廣告素材ID進行關聯,形成記錄形式的互動日誌;
將所述互動日誌發送至所述測試平臺。
在一個實施方式中,所述測試平臺測試所述互動操作行為是否正確,包括:
所述測試平臺從所述互動日誌中抽取行為ID;
將抽取的行為ID與預設的與所述展示的廣告素材匹配的行為碼ID進行比對;
如果相同,則返回成功信息,如果不相同,則返回失敗信息。
在一個實施方式中,上述方法還包括:
獲取歷史行為數據查詢請求;
響應於所述數據查詢請求,從任務表中查詢,其中,所述任務表中存儲有以下至少之一:驗證任務ID、驗證任務名稱、廣告素材ID、行為ID和驗證結果數據。
在一個實施方式中,在客戶端接收刷新信息流的請求,並將所述請求發送至MOCK之前,所述方法還包括:
所述測試平臺接收用戶在所述測試平臺上選擇的廣告素材;
確定選擇的廣告素材的廣告素材ID;
將所述用戶在所述測試平臺上登陸的用戶ID與所述廣告素材ID進行關聯,並將關聯關係存儲在預設的數據表中,其中,所述預設的數據表被所述測試平臺和所述MOCK共享。
另一方面,本發明實施例提供了一種廣告測試裝置,位於客戶端中,包括:
第一接收模塊,用於接收刷新信息流的請求,並將所述請求發送至MOCK;
展示模塊,用於接收所述MOCK返回的廣告素材ID,並展示所述廣告素材ID對應的廣告素材,其中,所述廣告素材ID是預先通過測試平臺與所述客戶端上登陸的用戶ID關聯的廣告素材ID;
第二接收模塊,用於接收用戶響應於展示的廣告素材的互動操作行為;
傳輸模塊,用於將所述互動操作行為傳輸至所述測試平臺,以使所述測試平臺測試所述互動操作行為是否正確。
在一個實施方式中,所述傳輸模塊包括:
關聯單元,用於將所述互動操作行為的行為ID與所述展示的廣告素材的廣告素材ID進行關聯,形成記錄形式的互動日誌;
發送單元,用於將所述互動日誌發送至所述測試平臺。
在一個實施方式中,上述裝置還包括:第一獲取模塊,用於獲取歷史行為數據查詢請求;查詢模塊,用於響應於所述數據查詢請求,從任務表中查詢,其中,所述任務表中存儲有以下至少之一:驗證任務ID、驗證任務名稱、廣告素材ID、行為ID和驗證結果數據。
另一方面,本發明實施例提供了一種測試平臺,包括:
第二獲取模塊,用於從客戶端獲取互動日誌,其中,所述互動日誌中存儲有用戶對客戶端上展示的廣告素材的互動操作行為;
抽取模塊,用於從所述互動日誌中抽取所述互動操作行為的行為ID;
比對模塊,用於將抽取的行為ID與所述展示的廣告素材匹配的行為ID進行比對;
生成模塊,用於在確定相同的情況下,向客戶端返回成功信息,在確定不相同的情況下,向客戶端返回失敗信息。
在一個實施方式中,上述裝置還包括:
第三接收模塊,用於接收用戶選擇的廣告素材;
確定模塊,用於確定選擇的廣告素材的廣告素材ID;
關聯模塊,用於將用戶在測試平臺上登陸的用戶ID與所述廣告素材ID進行關聯,並將關聯關係存儲在預設的數據表中,其中,所述預設的數據表被所述測試平臺和MOCK共享。
上述技術方案具有如下有益效果:因為採用了基於MOCK的全自動測試房,不再需要手工切換操作,可以直接自動控制展示哪種廣告,可以覆蓋全量的廣告素材,從而解決了現有的廣告測試方式所存在的測試過程繁瑣、效率低下的技術問題,達到了有效提高測試效率的技術效果。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是根據本發明實施例的廣告測試方法的方法流程圖;
圖2是根據本發明實施例的廣告測試架構的架構示意圖;
圖3是根據本發明實施例的查詢結果示意圖;
圖4是根據本發明實施例的廣告素材和需要測試的互動行為的示意圖;
圖5是根據本發明實施例的廣告測試裝置的結構框圖;
圖6是根據本發明實施例的測試平臺的結構框圖。
具體實施方式
下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
在對本發明進行進一步說明之前,為了更好地理解本申請,下面對其中涉及的一些名詞解釋如下:
1)廣告素材:廣告內容的組成部分,主要的廣告素材可以有:文字、圖片、視頻和短鏈等。
2)廣告曝光:客戶端刷出一次廣告,記為一次廣告曝光。
3)互動行為:廣告素材的點擊行為,例如:點擊圖片、點擊視頻、點擊短鏈等。
4)互動行為碼ID:每種互動行為對應唯一的行為碼ID。
5)用戶帳號:用戶的唯一標識。
6)FEED流:客戶端的信息流,一條FEED,即為一條信息。
7)MOCK:在測試過程中,對於某些不容易構造或者不容易獲取的對象,創建一個虛擬的對象以便測試。
8)MYSQL:關係型資料庫管理系統。
考慮到現有的廣告測試方式所存在的很難覆蓋全量的廣告素材、測試過程較為繁瑣等問題,發明人考慮到可以全自動的MOCK機制,以便自由展示所需的廣告素材,採用資料庫和對應標識的方式進行記錄、選擇和匹配,不需要再人工記憶,從而使得測試人員無需知道後臺機制,便可以簡單高效實現對廣告的測試。
如圖1所示,本發明實施例提供了一種廣告測試方法,可以包括如下步驟:
步驟101:客戶端接收刷新信息流的請求,並將所述請求發送至MOCK;
即,用戶或者是測試人員,通過用戶ID登陸到客戶端,然後,可以進行刷新信息流的請求,例如:採用下拉或者是點擊刷新按鈕的方式,觸發產生信息流即FEED流。在獲取到用戶的這種觸發請求之後,就可以將該請求發送至MOCK,以便觸發MOCK返回要請求的測試的廣告素材。
步驟102:接收所述MOCK返回的廣告素材ID,並展示所述廣告素材ID對應的廣告素材,其中,所述廣告素材ID是預先通過測試平臺與所述客戶端上登陸的用戶ID關聯的廣告素材ID;
在實現的時候,MOCK可以不直接返回廣告素材,而是僅返回廣告素材的廣告素材ID,例如,「視頻廣告」,那麼就返回「視頻廣告」的素材ID,在客戶端通過該返回的ID匹配出所有對應的素材進行展示,從而實現全量檢索。
客戶端向用戶展示返回的廣告素材,從而實現了廣告素材的可控曝光。
進一步的,具體展示或者從MOCK返回哪些廣告素材ID,可以是測試人員預先在測試平臺上設定的,即,測試人員可以在測試平臺上選擇某廣告素材,具體地,可以是遍歷預先建立的object-object id表中選擇希望後續展示的廣告素材。在用戶選擇廣告素材之後,例如,選擇「視頻廣告」,在點擊確認之後,程序可以修改資料庫中的user ID-object id表,該表存儲的就是用戶帳號和廣告素材id。
即,在一個實施方式中,在客戶端接收刷新信息流的請求,並將所述請求發送至MOCK之前,測試平臺可以接收用戶在測試平臺上選擇的廣告素材,並確定選擇的廣告素材的廣告素材ID,再將用戶在測試平臺上登陸的用戶ID與廣告素材ID進行關聯,並將關聯關係存儲在預設的數據表中,其中,所述預設的數據表被所述測試平臺和所述MOCK共享。
步驟103:接收用戶響應於展示的廣告素材的互動操作行為;
在客戶端對廣告進行展示曝光之後,測試人員就可以在客戶端上進行各種點擊操作,例如:視頻點擊播放,點擊暫停等等。
為了使得後續也可以將這些互動操作行為簡單高效傳輸至平臺進行分析整合,可以將互動操作行為的行為ID與展示的廣告素材的廣告素材ID進行關聯,形成記錄形式的互動日誌,然後將互動日誌發送至測試平臺。即,每個互動操作都以互動日誌的形式一條條被記錄。
步驟104:將所述互動操作行為傳輸至所述測試平臺,以使所述測試平臺測試所述互動操作行為是否正確。
在測試互動操作行為是否正確的時候,可以按照以下步驟實現:
S1:測試平臺從互動日誌中抽取行為ID;
S2:將抽取的行為ID與預設的與所述展示的廣告素材匹配的行為碼ID進行比對;
S3:如果相同,則返回成功信息,如果不相同,則返回失敗信息。
具體地,測試平臺可以獲取互動日誌進行機械,抽取互動日誌中行為ID與資料庫中正確的行為ID進行對比,以確定是否成功,如果失敗,可以給出失敗原因:互動行為碼錯誤。
為了實現後續的查找和追溯,可以將上述操作都保存到數據表task中,以提供歷史任務查詢功能,在實現的時候,可以包括如下的查詢步驟:
S1:獲取歷史行為數據查詢請求;
S2:響應於所述數據查詢請求,從任務表中查詢,其中,所述任務表中存儲有以下至少之一:驗證任務ID、驗證任務名稱、廣告素材ID、行為ID和驗證結果數據。
下面結合一具體實施例對上述廣告測試方法進行說明,然而值得注意的是,該具體實施例僅是為了更好地說明本發明,並不構成對本發明的不當限定。
在本例中提出了一種基於MOCK的全自動測試方法,不需要手動切換操作,自由控制展示哪種廣告,可以覆蓋全量的廣告素材,且可以實現高效的數據管理,廣告素材和檢查點無需人工記憶;對於測試人員而言,不用關心後臺操作,只需要簡單的點擊,結果平臺展示,因此操作起來較為簡單直觀。
具體地,該廣告測試架構可以如圖2所示,包括:測試平臺、廣告引擎和客戶端。
通過如圖2所示的廣告測試結構可以按照如下方式展示想要的廣告素材並能把互動操作的結果返回給平臺進行校驗,可以包括如下步驟:
S1:測試人員在平臺上選擇某廣告素材(可以遍歷表object_objectid進行頁面展示),例如:選擇「視頻廣告」,點擊確認,程序將自動修改資料庫的表uid_objectid,表中存儲用戶帳號uid和廣告素材id。
S2:測試人員在客戶端登陸S1提到的數據表中用戶帳號uid,刷新FEED流時,請求會發送給MOCK,MOCK根據用戶帳號uid讀取數據表,得到對應的廣告素材id,將此廣告素材id返回至客戶端,客戶端展示此廣告素材,從而實現了廣告素材的可控曝光。
S3:在廣告曝光之後,測試人員在客戶端上進行各種點擊,例如:視頻點擊播放、點擊暫停等,每個互動操作都可以以互動日誌的形式一條條被記錄。
S4:平臺獲取互動日誌進行解析(每種互動行為可以對應唯一的行為碼id,這些信息都可以記錄在數據表中),抽取互動日誌中的行為碼id,和資料庫(表objectid_action)中正確的行為碼id進行對比,如果相同,則返回成功SUC,如果不相同,則返回失敗FAIL並給出錯誤原因「互動行為碼錯誤」。上述操作都可以保存到數據表task中,以提供歷史任務查詢功能,查詢結果可以如圖3所示。
在上例中提到了多個數據表,例如:表uid_objectid,是測試平臺和廣告引擎MOCK之前的連接橋梁,平臺負責寫表,MOCK負責讀表;表object_objectid和objectid_action負責廣告素材和互動行為碼id的存儲;表task負責任務存儲。
下面對上述提到的幾個表說明如下:
1)廣告素材_廣告素材id(object_objectid):
該表中存儲廣告素材中文名稱和與之對應的廣告素材id。其中,廣告素材的中文名稱,是為了平臺展現使用,例如:「視頻廣告」、「文字廣告」等。
2)廣告素材id_行為碼(objectid_action):
該表中存儲廣告素材id,互動行為操作名稱(例如:點擊短鏈、點擊視頻播放等)和之對應的行為碼id,每種廣告素材都有已知的幾種行為碼。
3)用戶帳戶_廣告素材id(uid_objectid):
該表中存儲有用戶帳號uid和廣告素材id。
4)任務表(task):
該表中存儲有每個任務id、任務名稱、廣告素材id、行為碼id以及校驗結果等。
基於上述的廣告測試方法和提供的各種數據表,如果增加新的廣告素材或增加新的互動行為碼,那麼只需要修改數據表即可,不需要修改代碼。
當增加新的廣告素材或增加新的互動行為碼時,只需要修改廣告素材_廣告素材id object_objectid和廣告素材id_行為碼objectid_action兩個表即可。廣告素材_廣告素材id表insert新的廣告素材,廣告素材id_行為碼insert新的行為碼。測試平臺會遍歷這兩個表,將表中所有的廣告素材和需要測試的互動行為都按照如圖4所示的方式展現在頁面上。
在上例中,通過全自動的MOCK機制、高效的數據管理,再加上測試平臺化處理,形成了一套完整的測試流程架構,大大減少了測試人員的操作步驟,從而提高了測試效率。
基於同一發明構思,本發明實施例中還提供了一種廣告測試裝置,位於客戶端中,如下面的實施例所述。由於廣告測試裝置解決問題的原理與廣告測試方法相似,因此廣告測試裝置的實施可以參見廣告測試方法的實施,重複之處不再贅述。以下所使用的,術語「單元」或者「模塊」可以實現預定功能的軟體和/或硬體的組合。儘管以下實施例所描述的裝置較佳地以軟體來實現,但是硬體,或者軟體和硬體的組合的實現也是可能並被構想的。圖5是本發明實施例的廣告測試裝置的一種結構框圖,如圖5所示,可以包括:第一接收模塊501、展示模塊502、第二接收模塊503和傳輸模塊504,下面對該結構進行說明。
第一接收模塊501,用於接收刷新信息流的請求,並將所述請求發送至MOCK;
展示模塊502,用於接收所述MOCK返回的廣告素材ID,並展示所述廣告素材ID對應的廣告素材,其中,所述廣告素材ID是預先通過測試平臺與所述客戶端上登陸的用戶ID關聯的廣告素材ID;
第二接收模塊503,用於接收用戶響應於展示的廣告素材的互動操作行為;
傳輸模塊504,用於將所述互動操作行為傳輸至所述測試平臺,以使所述測試平臺測試所述互動操作行為是否正確。
在一個實施方式中,傳輸模塊504可以包括:關聯單元,用於將所述互動操作行為的行為ID與所述展示的廣告素材的廣告素材ID進行關聯,形成記錄形式的互動日誌;發送單元,用於將所述互動日誌發送至所述測試平臺。
在一個實施方式中,上述裝置還可以包括:第一獲取模塊,用於獲取歷史行為數據查詢請求;查詢模塊,用於響應於所述數據查詢請求,從任務表中查詢,其中,所述任務表中存儲有以下至少之一:驗證任務ID、驗證任務名稱、廣告素材ID、行為ID和驗證結果數據。
基於同一發明構思,本發明實施例中還提供了一種測試平臺,可以位於客戶端中也可以位於伺服器中,如下面的實施例所述。由於測試平臺解決問題的原理與廣告測試方法相似,因此測試平臺的實施可以參見廣告測試方法的實施,重複之處不再贅述。以下所使用的,術語「單元」或者「模塊」可以實現預定功能的軟體和/或硬體的組合。儘管以下實施例所描述的裝置較佳地以軟體來實現,但是硬體,或者軟體和硬體的組合的實現也是可能並被構想的。圖6是本發明實施例的測試平臺的一種結構框圖,如圖6所示,可以包括:第二獲取模塊601、抽取模塊602、比對模塊603和生成模塊604,下面對該結構進行說明。
第二獲取模塊601,用於從客戶端獲取互動日誌,其中,所述互動日誌中存儲有用戶對客戶端上展示的廣告素材的互動操作行為;
抽取模塊602,用於從所述互動日誌中抽取所述互動操作行為的行為ID;
比對模塊603,用於將抽取的行為ID與所述展示的廣告素材匹配的行為ID進行比對;
生成模塊604,用於在確定相同的情況下,向客戶端返回成功信息,在確定不相同的情況下,向客戶端返回失敗信息。
在一個實施方式中,上述裝置還可以包括:第三接收模塊,用於接收用戶選擇的廣告素材;確定模塊,用於確定選擇的廣告素材的廣告素材ID;關聯模塊,用於將用戶在測試平臺上登陸的用戶ID與所述廣告素材ID進行關聯,並將關聯關係存儲在預設的數據表中,其中,所述預設的數據表被所述測試平臺和MOCK共享。
上述技術方案具有如下有益效果:因為採用了基於MOCK的全自動測試房,不再需要手工切換操作,可以直接自動控制展示哪種廣告,可以覆蓋全量的廣告素材,從而解決了現有的廣告測試方式所存在的測試過程繁瑣、效率低下的技術問題,達到了有效提高測試效率的技術效果。
本領域技術人員還可以了解到本發明實施例列出的各種說明性邏輯塊(illustrative logical block),單元,和步驟可以通過電子硬體、電腦軟體,或兩者的結合進行實現。為清楚展示硬體和軟體的可替換性(interchangeability),上述的各種說明性部件(illustrative components),單元和步驟已經通用地描述了它們的功能。這樣的功能是通過硬體還是軟體來實現取決於特定的應用和整個系統的設計要求。本領域技術人員可以對於每種特定的應用,可以使用各種方法實現所述的功能,但這種實現不應被理解為超出本發明實施例保護的範圍。
本發明實施例中所描述的各種說明性的邏輯塊,或單元都可以通過通用處理器,數位訊號處理器,專用集成電路(ASIC),現場可編程門陣列或其它可編程邏輯裝置,離散門或電晶體邏輯,離散硬體部件,或上述任何組合的設計來實現或操作所描述的功能。通用處理器可以為微處理器,可選地,該通用處理器也可以為任何傳統的處理器、控制器、微控制器或狀態機。處理器也可以通過計算裝置的組合來實現,例如數位訊號處理器和微處理器,多個微處理器,一個或多個微處理器聯合一個數位訊號處理器核,或任何其它類似的配置來實現。
本發明實施例中所描述的方法或算法的步驟可以直接嵌入硬體、處理器執行的軟體模塊、或者這兩者的結合。軟體模塊可以存儲於RAM存儲器、快閃記憶體、ROM存儲器、EPROM存儲器、EEPROM存儲器、寄存器、硬碟、可移動磁碟、CD-ROM或本領域中其它任意形式的存儲媒介中。示例性地,存儲媒介可以與處理器連接,以使得處理器可以從存儲媒介中讀取信息,並可以向存儲媒介存寫信息。可選地,存儲媒介還可以集成到處理器中。處理器和存儲媒介可以設置於ASIC中,ASIC可以設置於用戶終端中。可選地,處理器和存儲媒介也可以設置於用戶終端中的不同的部件中。
在一個或多個示例性的設計中,本發明實施例所描述的上述功能可以在硬體、軟體、固件或這三者的任意組合來實現。如果在軟體中實現,這些功能可以存儲與電腦可讀的媒介上,或以一個或多個指令或代碼形式傳輸於電腦可讀的媒介上。電腦可讀媒介包括電腦存儲媒介和便於使得讓電腦程式從一個地方轉移到其它地方的通信媒介。存儲媒介可以是任何通用或特殊電腦可以接入訪問的可用媒體。例如,這樣的電腦可讀媒體可以包括但不限於RAM、ROM、EEPROM、CD-ROM或其它光碟存儲、磁碟存儲或其它磁性存儲裝置,或其它任何可以用於承載或存儲以指令或數據結構和其它可被通用或特殊電腦、或通用或特殊處理器讀取形式的程序代碼的媒介。此外,任何連接都可以被適當地定義為電腦可讀媒介,例如,如果軟體是從一個網站站點、伺服器或其它遠程資源通過一個同軸電纜、光纖電纜、雙絞線、數字用戶線(DSL)或以例如紅外、無線和微波等無線方式傳輸的也被包含在所定義的電腦可讀媒介中。所述的碟片(disk)和磁碟(disc)包括壓縮磁碟、鐳射盤、光碟、DVD、軟盤和藍光光碟,磁碟通常以磁性複製數據,而碟片通常以雷射進行光學複製數據。上述的組合也可以包含在電腦可讀媒介中。
以上所述的具體實施方式,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的具體實施方式而已,並不用於限定本發明的保護範圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。