您好,登錄后才能下訂單哦!
搜索對比測試工具
目錄
1. 工具簡介... 1
2. 設計思路... 1
3. 工具實用性... 3
4. 工具集成擴展... 6
因公司的搜索服務及底層索引創建維護由基礎架構部同事維護,業務接入方同學對于業務相關的搜索測試基本都是功能性的基礎驗證,為了更直觀的從多維度評估搜索策略優化產生的效果及影響,我們開發了這個搜索對比測試工具。該工具通過解析線上真實用戶的搜索日志,分別調用預上線和線上搜索服務,給出搜索結果數量、排序、服務耗時等維度的可視化對比結果。目前已實現的功能及統計信息包括:
同一搜索query預上線、線上搜索結果數量對比,輸出各自數量
同一搜索結果預上線、線上排序對比,分別輸出相同排序和不同排序結果
搜索結果重復性判斷及重復數量輸出
對于梯度數據,即針對搜索結果數量落在個,百,十,千,萬范圍內的搜索詞進行的對比分析
少無搜索結果搜索詞統計
搜索詞對應搜索耗時統計
根據配置的飄紅閾值,在測試報告中對異常數據飄紅顯示,方便查看分析
配置化控制:可配置項包括待測業務、全局抽樣數量、梯度搜索詞抽樣數量、報告中差異化比例飄紅閾值,方便供其他業務線接入及工具的靈活使用
靈活擴展,可通過簡單的增加其它業務線的搜索結果實現類,支持更多業務線。
(詳細統計數據及報告展示格式請參見后文截圖)
搜索對比測試主要目的是對比更改搜索策略前后,搜索結果數量是否有明顯起伏,搜索結果是否滿足預期效果,服務性能是否有明顯差異。我們的對比測試工具主要從搜索結果數量、搜索結果排序和服務調用時間三個維度進行設計實現。下面對主要功能點設計思路進行說明。
為了模擬真實用戶,我們提取線上搜索日志中真實用戶的搜索query進行對比測試
搜索結果數量對比:我們取線上query分別調用預上線和線上服務,并對比當前預上線、線上搜索結果數量以及上一次真實用戶搜索到的結果數量。
搜索服務調用時間對比:我們用stopwatch分別統計調用預上線/線上服務的時間
搜索結果排序對比:由于預上線和線上服務連接的都是線上數據庫,而線上數據是實時動態變化的,再加上策略的調整,同一query對應的預上線/線上結果排序沒有可比性,我們對調用預上線服務的query進行了重新拼接。考慮到搜索服務可以根據索引id進行搜索,并且索引id不參與搜索排序的打分,我們取一定數量的線上搜索結果的索引id,拼接到query上,重新調用預上線服務進行搜索,這樣我們就可以比較兩個環境中相同職位/簡歷對應的排序情況。
梯度數據對比:搜索結果的量級在一定程度上也會影響服務性能、結果數量及排序的相對變化,因此我們對不同數量級結果的query進行了抽樣對比測試,增加對比結果評估的合理性。
少無結果的統計:少無結果的場景是搜索優化的重要參考項,我們分別對預
上線和線上環境少無結果的情況進行了統計,以支持后續優化。
重復結果統計:重復結果對于用戶毫無意義,因此我們對是否有重復結果進行了判斷
對比工具基本流程圖如上圖所示
目前,我們的搜索對比測試工具已經應用到英才職位和簡歷搜索的對比測試中。
多維度的搜索結果對比,可以為研發、產品、測試人員提供比較有價值的參考
方便擴展,對于各調用平臺部垂搜服務的業務線,只需增加具體的搜索結果實現類及對應服務地址即可接入
可視化對比測試報告,對比結果可以郵件的形式周知相關人員,并且報告中對異常數據進行了飄紅處理,方便相關人員進行排查,詳細的差異對比內容以附件的形式輸出。測試報告樣例如下圖所示:
(附件內容展示只存在于預上線環境的索引數據)
(附件內容展示只存在于線上的索引數據)
(附件內容展示搜索結果中排序不同的索引數據)
未來計劃將具與jenkins集成,通過界面配置,實現全流程的自動化。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。