文章目錄
- 一、項目背景
- 二、項目功能
- 三、測試計劃
- (一)測試用例設計
- (二)測試用例實現
- 1.功能測試
- 2.界面測試
- 3.兼容性測試
- 4.易用性測試
- 5.安全性測試
一、項目背景
1.基于輕量級文檔檢索系統采用C++技術棧來實現,同時使用了本地文件系統來存儲相關的索引數據,同時將其部署到云服務器上。前端主要有一個頁面構成:搜索頁,該頁面包含搜索框、結果列表與摘要展示區,以上模擬實現了一個最簡單的垂直搜索引擎系統。其結合后端實現了以下的主要功能:對技術官網文檔的全文爬取與解析、正排與倒排索引的構建、關鍵詞的分詞與檢索、搜索結果的相關性排序(基于權重公式標題詞頻*10 + 正文詞頻)以及提供HTTP搜索接口等功能。
2.但是該項目沒有設計圖形化的索引構建與監控功能,只能通過命令行指令啟動索引構建過程;并且搜索結果的相關性衡量策略較為簡單,僅依賴于詞頻統計,并未引入更復雜的算法(如TF-IDF或BM25);而索引數據存儲在內存中,并未實現持久化,服務重啟后需要重新構建索引。
3.該輕量級文檔檢索系統可以實現對官方技術文檔的快速站內檢索,用戶輸入關鍵詞后,相關的文檔標題、內容摘要以及官方鏈接都可以被詳細地查看并點擊訪問。
二、項目功能
該輕量級搜索引擎主要實現了以下幾個功能:索引構建、關鍵字搜索、搜索結果高亮與摘要生成以及Web服務等功能。
索引構建功能:原始技術官網的HTML文檔已經提前下載并存儲在指定目錄,沒有實現實時爬蟲抓取功能,即:數據源是靜態的、預先準備好的。項目啟動時首先會運行索引構建模塊,對HTML文件進行去標簽、解析、分詞,并建立正排索引和倒排索引。構建成功后,搜索引擎即可對外提供檢索服務。
搜索頁面:用戶可以在前端搜索頁的輸入框中輸入任意關鍵字,其界面包含搜索框、搜索結果統計和結果列表。在結果列表中可以看到匹配文檔的標題、內容摘要以及對應的官方URL鏈接。點擊標題或URL即可跳轉到Boost官網對應的文檔頁面。
搜索結果:在搜索頁面輸入關鍵字并點擊“搜索”按鈕后,頁面會異步向后端發送請求,并動態加載返回的搜索結果。此時就可以看到所有匹配文檔的概要信息,并按相關性(權重)從高到低排序。每個結果項都清晰展示了文檔的標題、包含關鍵字的摘要片段和可直接訪問的鏈接。
搜索流程:在搜索框輸入關鍵字后,后端服務會執行一套完整的檢索流程:首先對查詢詞進行分詞,然后在倒排索引中查找每個分詞對應的文檔ID列表,接著進行權重計算與合并,最后根據合并后的權重對文檔進行排序,并將排名前N的結果包裝成JSON格式返回給前端渲染。
三、測試計劃
(一)測試用例設計
(二)測試用例實現
1.功能測試
1)特殊字符處理
1.1輸入無效字符是否提示(?)
1.2輸入有效字符是否正確(?)
2)基本搜索功能
2.1加入特殊字符后(?)
2.2加入空格后(?)
3)歷史記錄
3.1歷史記錄是否有效(?)
3.2歷史記錄是否可以清除(?)
2.界面測試
1.1原版搜索框界面
1.2優化后搜索框界面(?)
1.3原版搜索結果界面
1.4優化后搜索結果界面(?)
3.兼容性測試
1)Edge瀏覽器(?)
2)google瀏覽器(?)
4.易用性測試
1.1搜索結果清晰
1.2操作性
輸入需要查詢的英文內容,點擊相應標題,直接跳轉到boost官方相關文檔處,簡單高效。
5.安全性測試
過濾敏感詞