輕量級覆蓋率測試工具:logcover

jopen 10年前發布 | 12K 次閱讀 logcover 測試工具

logcover 是一款非常便捷的統計測試用例異常日志覆蓋率的工具。可清晰地分析出程序源代碼中異常日志的覆蓋情況,檢驗測試充分度,指導測試用例完善。

使用場景: 度量異常分支測試覆蓋率,覆蓋單元測試、模塊測試、集成測試 

背景:
 異常測試是軟件測試中非常重要的一環,異常測試充分與否直接影響到測試質量和產品線上穩定性。
logcover是Baidu質量部推出的一款專門用于度量異常測試覆蓋率的輕量級工具,通過度量異常日志的測試覆蓋率來反應異常測試覆蓋率,因為打印異常日志的程序分支往往更需要測試覆蓋的異常分支。

原理:
 結合程序源代碼和測試執行產生的日志,計算程序異常日志的測試覆蓋率。
例如: 源代碼中有100處異常日志(warning、fatal、error)打印點,程序在測試過程中,產生了100條日志,對應源代碼中50處日志打印點,則異常日志覆蓋率是50%,同時,logcover會給出覆蓋日志和未覆蓋日志的所有信息,包括文件名、行號等,便于快速識別未覆蓋異常日志。

實現:
? 根據svn,對源代碼進行輕量級靜態分析,獲得代碼中異常日志打印的原始信息
? 收集單機/多機測試日志,并對日志文件進行parse、filter、merge等處理,得到實際覆蓋的日志信息
? 根據代碼中的原始日志信息和實際測試產生的日志信息,做diff計算,得出異常log覆蓋率和覆蓋信息
? 覆蓋率報告郵件推送

logcover使用說明:
1: 下載logcover
2: 修改對應 logcover.cfg文件
   logcover_type =0 表示單機模式;logcover_type=1表示多機模式。
   選擇多機模式時,對應填寫 machines、user、password、log_paths和script_path
3: 執行 sh logcover.sh $svn $log_cover_log_dir $mail_list -s $mail_subject
   $svn : 被測程序svn源碼路徑
   $log_cover_log_dir: log文件存放路徑
   $mail_list : 覆蓋率報告推送郵件列表,多郵件中間以空格分隔。例如:zhangsan@xx.com li@xx.com
   -s $mail_subject : 推送郵件自定義主題

logcover執行環境依賴:
1: perl v5.8.5+
2: python v2.7+
3: svn client v1.6.5+

項目主頁:http://www.baiduhome.net/lib/view/home/1406437196817

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!