JavaAPI搜索引擎測試報告
- 項目背景與項目介紹
- 項目功能
- 自動化測試
- 單元測試
- 測試ansj分詞器
- 測試能否獲取到正確的URL
- 測試能否正確解析文件中的正文
- 測試計劃
- 界面測試
- 測試1 頁面布局是否合理美觀,元素是否正確顯示
- 測試2 測試是否可以正常顯示出搜索結果
- 測試3 點擊搜索結果后,測試搜索結果的頁面內容是否正常顯示
- 功能測試
- 搜索空格
- 搜索中文
- 搜索數字
- 搜索內容后加空格
- 搜索不存在的內容
- 搜索英文關鍵詞
- 多次搜索相同的內容
- 搜索多個關鍵詞中間加上空格
- 搜索多個關鍵詞中間加上逗號
- 搜索英文+中文的內容
- 搜索英文+數字的內容
- 主頁搜索模塊
- 測試搜索按鈕
- 點擊搜索結果的標題,測試是否能夠正常跳轉到對應的頁面
- 用戶搜索的關鍵詞是否高亮顯示
- 易用性測試
- 測試用戶輸入的大寫字母是否可以自動轉換成小寫字母
- 是否支持搜索結果的復制粘貼
- 搜索內容按照關鍵詞在文檔中的權重顯示
- 兼容性測試
- 不同的設備
- 測試不同的瀏覽器
項目背景與項目介紹
Java官方API文檔是我們在學習Java語言中不可或缺的權威資料。
相比于各種網站的Java資料,官方文檔無論是語言表達還是組織方式都要更加全面和準確。
因為沒有人比作者更加了解自己的作品,官方文檔一定是最了解自己的作品的。
通過查閱Java文檔,我們可以準確而全面地了解到自己需要了解的知識點。
但目前Java官方文檔只能通過滾動條尋找關鍵字進行點擊的方式來查詢,自然就存在著查詢低效的問題。
為了解決這一問題,我嘗試創建了一個搜索引擎,JavaAPI搜索引擎項目是一個基于Java開發的全文搜索系統,旨在對大規模的文本數據進行高效索引和快速檢索
項目功能
輸入一個查詢詞,得到若干個搜索結果.每個搜索結果包含了標題,描述,展?URL和點擊URL
自動化測試
搜索引擎自動化測試報告
單元測試
測試ansj分詞器
編寫測試方法:
//測試Ansj庫能夠正確完成分詞操作@Testpublic void testAnsj(){//準備一個比較長的話來進行分詞:String str = "Looking my eyes, tell me why? baby! why";//把parse方法返回值Result轉換成List:getTerms()://terms就表示一個分詞結果List<Term> terms = ToAnalysis.parse(str).getTerms();for(Term term :terms){System.out.println(term.getName());}}
測試的結果如下所示:
測試能否獲取到正確的URL
測試代碼如下所示:
//測試能否正確獲取到當前文件路徑//1. 指定一個加載文檔的路徑,也就是我們之前下載好文檔的路徑private static final String INPUT_PATH = "D:/doc_searcher_index/docs/api";@Testpublic void testURL(){File file = new File("D:\\doc_searcher_index\\docs\\api\\java.base\\java\\util\\ArrayList.html");//先獲取到一個固定線上文檔的前綴String part1 = "https://docs.oracle.com/en/java/javase/11/docs/api";//下面去獲取到后半部分://substring方法中只有一個參數表示從這個下標開始截取到末尾String part2 = file.getAbsolutePath().substring(INPUT_PATH.length());/*System.out.println("固定的線上文檔前綴part1: " +part1);System.out.println("本地文檔路徑的后半部分part2: "+part2);*/String result = part1 + part2;System.out.println(result);}
測試結果如下所示:
測試能否正確解析文件中的正文
測試的具體代碼如下所示:
//測試是否可以正確解析文件中的正文部分@Testpublic void TestParseContent(){Parser parser = new Parser();File file = new File("D:\\doc_searcher_index\\docs\\api\\java.base\\java\\util\\ArrayList.html");String result = parser.parseContent(file);String result2 = parser.parseContentByRegex(file);System.out.println(result);System.out.println();System.out.println("=================================");System.out.println(result2);}
測試的結果如下所示:
測試計劃
界面測試
測試1 頁面布局是否合理美觀,元素是否正確顯示
模塊
搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
打開谷歌瀏覽器,輸入URL
測試數據
URL:http://123.56.249.238:8080/index.html
期望結果
頁面中的元素顯示正確,沒有亂碼和錯別字,整體布局合理美觀
測試結果
頁面元素顯示正確,布局合理美觀,測試結果如下圖:
測試2 測試是否可以正常顯示出搜索結果
模塊
搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入關鍵詞Arrays,點擊搜索按鈕
測試數據
搜索:Arrays
期望結果
在搜索框中,輸入Arrays,點擊搜索按鈕之后,能夠正常顯示出搜索結果
測試結果
搜索結果可以正常顯示出來,測試結果如下圖:
測試3 點擊搜索結果后,測試搜索結果的頁面內容是否正常顯示
模塊
搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入關鍵詞Arrays,點擊搜索按鈕
- 出現搜索結果之后,點擊搜索結果
- 查看搜索結果的頁面是否可以正常顯示
測試數據
搜索:Arrays
期望結果
在搜索框中,輸入Arrays,點擊搜索按鈕之后,能夠正常顯示出搜索結果,當點擊Arrays的搜索結果之后,查看搜索結果頁面是正常的
測試結果
搜索結果頁面可以正常顯示出來,測試結果如下圖:
功能測試
搜索空格
模塊
搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入空格,點擊搜索按鈕
- 查看是否可以搜索成功
測試數據
搜索:空格
期望結果
搜索成功,但是顯示結果為0個
測試結果
搜索成功,但是結果為0個,測試結果如下圖:
搜索中文
模塊
搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入中文:哈哈,點擊搜索按鈕
- 查看是否可以搜索成功
測試數據
搜索:哈哈
期望結果
搜索成功,但是顯示結果為0個
測試結果
搜索成功,但是結果為0個,測試結果如下圖:
搜索數字
模塊
搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入數字:123,點擊搜索按鈕
- 查看是否可以搜索成功
測試數據
搜索:123
期望結果
搜索成功,但是顯示結果為0個
測試結果
搜索成功,打開含有數字的搜索結果,測試結果如下圖:
搜索內容后加空格
模塊
搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入數字:Arr ays,點擊搜索按鈕
- 查看是否可以搜索成功
測試數據
搜索:Arr ays
期望結果
搜索成功,打開含有關鍵詞的結果
測試結果
搜索成功,打開含有數字的搜索結果,測試結果如下圖:
搜索不存在的內容
模塊
搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入數字:&&&,點擊搜索按鈕
- 查看是否可以搜索成功
測試數據
搜索:&&&
期望結果
搜索成功,但是顯示結果為0個
測試結果
搜索成功,但是結果為0,測試結果如下圖:
搜索英文關鍵詞
模塊
搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入數字:Arrays,點擊搜索按鈕
- 查看是否可以搜索成功
測試數據
搜索:Arrays
期望結果
搜索成功,打開含有關鍵詞的搜索結果
測試結果
搜索成功,打開含有關鍵詞搜索結果,測試結果如下圖:
多次搜索相同的內容
模塊
搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入英文:Arrays,點擊搜索按鈕
- 查看是否可以搜索成功
- 重復輸入Arrays,查看是否可以搜索成功
測試數據
搜索:Arrays
期望結果
搜索成功,打開含有關鍵詞的搜索結果
測試結果
搜索成功,打開含有關鍵詞搜索結果,測試結果如下圖
搜索多個關鍵詞中間加上空格
模塊
搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入英文:Arrays list,點擊搜索按鈕
- 查看是否可以搜索成功
測試數據
搜索:Arrays list
期望結果
搜索成功,打開含有關鍵詞的搜索結果
測試結果
搜索成功,打開含有關鍵詞搜索結果,測試結果如下圖
搜索多個關鍵詞中間加上逗號
模塊
搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入英文:Arrays , list,點擊搜索按鈕
- 查看是否可以搜索成功
測試數據
搜索:Arrays , list
期望結果
搜索成功,打開含有關鍵詞的搜索結果
測試結果
搜索成功,打開含有關鍵詞搜索結果,測試結果如下圖
搜索英文+中文的內容
模塊
搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入英文:Arr哈哈,點擊搜索按鈕
- 查看是否可以搜索成功
測試數據
搜索:Arr哈哈
期望結果
搜索成功,打開含有關鍵詞的搜索結果
測試結果
搜索成功,打開含有關鍵詞搜索結果,測試結果如下圖
搜索英文+數字的內容
模塊
搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入英文:Arr123,點擊搜索按鈕
- 查看是否可以搜索成功
測試數據
搜索:Arr123
期望結果
搜索成功,打開含有關鍵詞的搜索結果
測試結果
搜索成功,打開含有關鍵詞搜索結果,測試結果如下圖
主頁搜索模塊
測試搜索按鈕
模塊
主頁搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入英文:Array, 點擊搜索按鈕
- 查看搜索按鈕是否可以正常點擊,功能是否正常
測試數據
搜索:Array
期望結果
搜索成功,打開含有關鍵詞的搜索結果
測試結果
搜索成功,打開含有關鍵詞搜索結果,測試結果如下圖
點擊搜索結果的標題,測試是否能夠正常跳轉到對應的頁面
模塊
主頁搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入英文:Arrays, 點擊搜索按鈕
- 查看是否搜索成功
- 點擊搜索結果
測試數據
搜索:Array
期望結果
搜索成功,打開含有關鍵詞的搜索結果
測試結果
搜索成功,打開含有關鍵詞搜索結果,測試結果如下圖
然后點擊第一個搜索結果,測試是否可以跳轉到對應的頁面:
用戶搜索的關鍵詞是否高亮顯示
模塊
主頁搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入英文:Arrays, 點擊搜索按鈕
- 查看是否搜索成功
- 點擊搜索結果
測試數據
搜索:Arrays
期望結果
搜索成功,打開含有關鍵詞的搜索結果
測試結果
搜索成功,打開含有關鍵詞搜索結果,測試結果如下圖
易用性測試
測試用戶輸入的大寫字母是否可以自動轉換成小寫字母
模塊
主頁搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入英文:ARRAYS, 點擊搜索按鈕
- 查看是否會將大寫字母轉換成小寫字母
測試數據
搜索:ARRAYS
期望結果
搜索成功,打開含有關鍵詞的搜索結果
測試結果
搜索成功,打開含有關鍵詞搜索結果,測試結果如下:
是否支持搜索結果的復制粘貼
模塊
主頁搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入英文:list, 點擊搜索按鈕
- 查看搜索結果是否支持復制粘貼
測試數據
搜索:list
期望結果
搜索成功,打開含有關鍵詞的搜索結果
測試結果
搜索成功,打開含有關鍵詞搜索結果,測試結果如下:
搜索內容按照關鍵詞在文檔中的權重顯示
模塊
主頁搜索模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
測試步驟
- 打開谷歌瀏覽器,輸入URL
- 在搜索頁面的輸入框中
- 輸入英文:list, 點擊搜索按鈕
- 查看搜索結果是否按照關鍵詞在文檔中的權重顯示
測試數據
搜索:list
期望結果
搜索成功,打開含有關鍵詞的搜索結果
測試結果
搜索成功,打開含有關鍵詞搜索結果,測試結果是按照關鍵詞在文檔中的權重顯示的:
兼容性測試
不同的設備
模塊
主頁搜索模塊,主頁展示模塊
測試環境
1:電腦:MateBook 14 版本號23H2(64 位)PC端 Windows系統
2:手機:iQOO 10 MP_0.1(64 位)移動端 OriginOS 14.0
3:平板:OPPO Pad Air(64 位)平板端 ColorOS V12.1(Android 12)
測試步驟
- 打開電腦瀏覽器,輸入URL,測試是否可以正常運行
- 打開手機瀏覽器,輸入URL,測試是否可以正常運行
- 打開平板瀏覽器,輸入URL,測試是否可以正常運行
測試數據
搜索:list
期望結果
搜索成功,打開含有關鍵詞的搜索結果
測試結果
電腦的測試結果如下所示:
手機的測試結果如下所示:
平板的測試結果如下所示:
測試不同的瀏覽器
模塊
搜索模塊,主頁展示模塊
測試環境
Chrome 版本 137.0.7151.69(正式版本)(64 位)PC端 Windows系統
Firefox 139.0.4(20250609112858) PC端 Windows系統
Microsoft Edge版本 137.0.3296.68 (正式版本) (64 位) PC端 Windows系統
華為瀏覽器 11.0.8.301 | 內核版本: 92.0.4515.107 PC端 Windows系統
測試步驟
1:在Chorme瀏覽器中輸入url:http://123.56.249.238:8080/index.html,然后在搜索框中輸入關鍵字list,正確彈出頁面.
2: 在Firefox 瀏覽器中輸入url:http://123.56.249.238:8080/index.html,然后在搜索框中輸入關鍵字list,正確彈出頁面.
3:在Microsoft Edge瀏覽器中輸入url:http://123.56.249.238:8080/index.html,然后在搜索框中輸入關鍵字list,正確彈出頁面.
4:在華為瀏覽器中輸入url:
http://123.56.249.238:8080/index.html,然后在搜索框中輸入關鍵字list,正確彈出頁面.
測試數據
url : http://localhost:8080/index.html
關鍵字 :list
期望結果
在各個瀏覽器中輸入url后,輸入關鍵字,正確彈出內容頁面
測試結果
測試成功,在各個不同的瀏覽器中都可以正常打開運行,測試結果如下:
谷歌瀏覽器測試結果:
火狐瀏覽器測試結果:
Edge瀏覽器測試結果:
華為瀏覽器的測試結果: