基于-輕量級文檔搜索系統的測試報告

文章目錄

    • 一、項目背景
    • 二、項目功能
    • 三、測試計劃
      • (一)測試用例設計
      • (二)測試用例實現
      • 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.安全性測試

過濾敏感詞
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/97894.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/97894.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/97894.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

編輯器vim(Linux)

Linux下開發工具是獨立的寫代碼——編輯器 vim編譯代碼——gcc/g調試——gdb、cgdb構建工具——makefile、make、cmakevim只用來寫代碼注意:直接用vim打開一個不存在的文件并保存退出,就會自動生成該文件vim有多種模式命令模式(Normal Mode&a…

GitLab,2025最新如何配置中的SSH key步驟

電腦右鍵先檢查,是否有公鑰 git cat ~/.ssh/id_rsa.pub下面是有,不用生成公鑰,沒有就要生成生成本地電腦公鑰, 建議用第二種 //第一種ssh-keygen -t rsa//第二種------- 1.打開git bash,輸入:ssh-keygen -t rsa -C “你的郵箱”ss…

華為HCIE證書多久續一次費?費用多少?

根據華為官方政策,華為認證HCIE的有效期為3年,有效期自證書正式發放之日起計算,考生可通過華為人才在線官網登錄個人賬號,在“我的證書”欄目中查詢具體有效期起止時間。一、HCIE證書到期后的續證方式 1.重考對應HCIE的認證考試&a…

提升文本到圖像強化學習穩定性:Pref - GRPO算法如何革新圖像生成?

提升文本到圖像強化學習穩定性:Pref - GRPO算法如何革新圖像生成? 在文本到圖像生成領域,強化學習正重塑著模型與人類偏好的對齊方式。本文聚焦于一種創新的基于成對偏好獎勵的GRPO方法(Pref - GRPO),它通…

Linux UDisks守護進程曝本地提權漏洞CVE-2025-8067,PoC已發布

漏洞概述安全研究人員在Linux環境中廣泛使用的磁盤管理組件UDisks守護進程中,發現了一個嚴重漏洞(編號CVE-2025-8067,CVSS評分8.5)。該漏洞已報告給紅帽產品安全團隊,并在UDisks更新版本中得到修復。技術細節該漏洞存在…

uniapp 開發上架 iOS App全流程

操作文檔網址:https://ask.dcloud.net.cn/article/152 操作學習視頻地址:uniapp打包上線微信小程序、安卓、IOS流程_嗶哩嗶哩_bilibili 第一步:注冊蘋果 iOS 個人開發者賬號 費用說明 ?個人開發者賬號?:適用于獨立開發者或小…

Sqlsugar補充自定義模板

DBFirst默認創建所有實體CreateClassFile()的第二個參數為生成實體類命名空間//.net6以下 db.DbFirst.IsCreateAttribute().CreateClassFile("c:\\Demo\\1", "Models"); //.net6以上 string加? db.DbFirst.IsCreateAttribute().StringNullable().CreateCl…

LeetCode 392.判斷子序列

給定字符串 s 和 t ,判斷 s 是否為 t 的子序列。 字符串的一個子序列是原始字符串刪除一些(也可以不刪除)字符而不改變剩余字符相對位置形成的新字符串。(例如,"ace"是"abcde"的一個子序列&#x…

邏輯回歸:從原理到實戰的完整指南

在機器學習中,分類任務是最常見的應用場景之一。而邏輯回歸(Logistic Regression),盡管名字中有“回歸”,實際上是一種非常強大且廣泛應用的二分類模型。它簡單、高效、可解釋性強,是數據科學初學者入門分類…

鴻蒙搭配前端開發:應用端與WEB端交互

鴻蒙系統(HarmonyOS)是華為開發的一款面向全場景的分布式操作系統,其設計初衷是為了適應物聯網時代的需求,旨在構建一個統一的操作系統,支持多種設備的無縫協同工作。其分布式開發的一些主要優勢: 跨設備協…

配置sscms時被sql server處處刁難

今天要記下來的是一個小例子。接前面,當我終于完成sql server的安裝時,才發現要填寫sscms的兩個空是有多么艱難。首先安裝sql server2016出現了太多環境不兼容的問題,讓我只好退而安裝sql server2012。安裝sql server2012時其實是可以避坑的&…

【Flink】DataStream API:源算子、數據類型

目錄源算子(Source)從集合中讀取數據從文件讀取數據從Socket讀取數據從Kafka讀取數據從數據生成器讀取數據Flink支持的數據類型Flink的類型系統Flink支持的數據類型類型提示(Type Hints)源算子(Source) Fli…

Linux 安裝docker-compose安裝方法(安裝docker compose安裝)

文章目錄**方法一:通過 curl 下載二進制文件(推薦)**1. 安裝前準備- **確保已安裝 Docker**- **檢查 Docker 是否安裝成功**2. 下載并安裝 Docker Compose- **下載最新版本的 Docker Compose 二進制文件**- **國內加速下載(解決 G…

OCR 發票識別與驗真接口:助力電子化發票新時代

自 2025 年 10 月 1 日起,紙質火車票徹底告別歷史舞臺,全面數字化的電子發票取而代之,這一變革標志著票務領域的重大革新,也讓電子化發票處理的需求呈井噴式增長。在此背景下,OCR 發票識別和發票驗真接口技術挺身而出&…

設計模式:抽象工廠模式(Abstract Factory Pattern)

文章目錄一、概念二、實例分析三、完整示例一、概念 抽象工廠模式是一種創建型設計模式。 提供一個接口用于創建一系列相關或相互依賴的對象,而無需指定它們的具體類。 相比于工廠方法模式,抽象工廠模式不僅僅是創建單一產品,而是一族產品&am…

輕量級注意力模型HOTSPOT-YOLO:無人機光伏熱異常檢測新SOTA,mAP高達90.8%

【導讀】 無人機光伏巡檢如何更智能、更高效?HOTSPOT-YOLO模型給出了亮眼答案!給AI裝上“熱成像鷹眼”,能精準鎖定光伏板上的細微熱斑缺陷。它不僅將檢測精度(mAP)提升至90.8%,更在保持實時性的前提下大幅…

CHT共軛傳熱: 導熱系數差異如何影響矩陣系數

文章目錄 一、導熱系數差異如何影響矩陣系數?二、如何處理系數差異以加速收斂?1. **變量重縮放(Scaling of Variables)**2. **使用物理型預條件子(Physics-based Preconditioning)**3. **區域分解法&#x…

Vue Vapor 事件機制深潛:從設計動機到源碼解析

基于 vue3.6(alpha 階段)及 Vapor 的最新進展撰寫;Vapor 仍在演進中,部分實現可能繼續優化。TL;DR(速覽) 傳統(≤3.5):事件以元素為中心綁定;每個元素用 el._…

Day 01(01): Hadoop與大數據基石

目標:建立對大數據生態的整體認知,理解HDFS和MapReduce的核心思想。 8:00-9:30:【視頻學習】在B站搜索“Hadoop入門”或“三小時入門大數據”,觀看1-2個高播放量的簡介視頻,了解大數據面臨的問題和Hadoop的解決方案。 …

開源 + 免費!谷歌推出 Gemini CLI,Claude Code 的強勁對手

在如今飛速發展的 AI 工具生態中,命令行界面(CLI)這一開發者與計算機交互的傳統方式,正悄然發生著一場顛覆性的變革。2025 年 6 月 25 日,谷歌正式發布開源的 Gemini CLI,這一舉措標志著谷歌 Gemini AI 能力…