前言
效果評測一直是軟體測試中令人頭疼的部分,因為很多情況下效果的好壞是一個偏主觀的東西,如何經過抽樣、對比、打分、使用者資料等客觀的方式來評價一款産品的好壞,是我們測試工程師值得思考的問題。
随着知乎 DAU 的持續增長,知乎搜尋也成了一個重要的流量分發的入口。知乎搜尋對品質的要求也越來越高,于是效果評測勢在必行。
本文主要介紹了目前業界通用的評測方法和流程;在知乎搜尋評測中使用的方法、工具;遇到的問題及評測平台的建設。希望對評測入門,尤其是做搜尋評測的同學有一定的指導意義。
評測基本流程
評測的基本流程主要分為評測方法、評測抽樣、評測抓取、人工标注與質檢、統計分析與報告和短闆 review,在下文會一一介紹。
評測方法
Ppage(per-page)
常用于相對正式的綜合競品評測,按頁面整體評測,主旨在評測一個頁面整體的好壞。可以分為整體感官打分、相關性打分、排序打分、頁面品質打分等。
PI(per-item)
有清單傳回,需要逐條進行打分的評測,常用于搜尋評測,知乎搜尋評測用到的就是這個方法,可以用到 DCG 評分将不同條目賦予不同的權值,得出綜合分數,以達到綜合評測的效果。
SBS(side by side)
顧名思義,使用對比的方式進行評測,分為與競品對比,版本間對比等。制定名額,利用打分、對比等形式,評價出 2 個版本的好壞。
宮格評測
适用于可人工判斷與實際程式效果的對比,多用于專項評測,對系統中某一功能進行效果評測。參考:混淆矩陣。
評測抽樣
随機抽樣
- 優點:能完全反應使用者需求的真實分布(如時間、地域等)
- 缺點:有些長尾和局部問題無法較好的暴露
分層抽樣
根據查詢量,分為熱門、中段、長尾,并按照比例分别進行抽樣
- 優點:能夠對各個分段進行有針對性的分析
- 缺點:對使用者需求比例無法完全真實還原
去重抽樣
将使用者查詢進行去重,再進行抽樣,能夠更好的覆寫長尾查詢,但與使用者需求比例相差較大
垂直抽樣
針對一些特性(如類别、成分、長度、DIFF )等進行局部抽樣,能更好的覆寫和發現局部類型的問題,但無法從整體上說明問題
評測抓取
python 腳本抓取
在日常評測中主要使用 python 腳本驅動抓取知乎與競品的引擎的搜尋的結果,分别做對比。均用對應的 API 進行抓取。
召回每日自動化評測結果
主要政策,将每日所有長尾搜尋 query 進行随機抽樣 1000 個,分别請求知乎、競品 1、競品 2 三家搜尋引擎,記錄競品前 10 條相同傳回結果,如果有 3 條以上傳回結果在知乎前 20 條傳回結果中未出現,該 query 記為 badcase。
具體一次評測結果如下:
Badcase
上文中問題 query 數的詳細資訊
人工标注與質檢
搜尋評測我們目前采用 PI 和 SBS 的方法評測,抓取結果後人工逐條進行對比打分,綜合每條結果進行 query 的 DCG 打分,最後生成測試報告。
評測平台相關:
統計分析與報告
短闆 review
- 對比與競品的優缺點
- 問題歸類
- 需求生成
- 短闆 review,形成排期
- 優化後,badcase 回歸驗證
例:
需求生成:
badcase 回歸驗證:
總結&展望
總體來說,評測适合那些傳回結果不确定、偏效果類的測試。尤其是在搜尋中,我們如何能量化的判斷搜尋的品質是值得思考的問題。
知乎的搜尋評測總的來說屬于剛起步階段,目前保持一個季度 2 次的頻率,還在摸索優化打分的政策。已經有了自己的評測平台,可以穩定提供評測結果,badcase 以及優化建議。
後續期望可以通過反複的實踐不斷優化評測的方向及方法,打分的合理性;平台方面希望可以接入更多的評測需求,擴大平台的覆寫面,不局限于搜尋。
作者:小小球球
出處:https://zhuanlan.zhihu.com/p/65835152