【測試報告】SoundWave(Java+Selenium+Jmeter自動化測試)

一、項目背景

隨著數字音樂內容的爆炸式增長,用戶對于便捷、高效的音樂管理與播放需求日益增強。傳統的本地音樂管理方式已無法滿足多設備同步、在線分享與個性化推薦等現代需求。為此,我們設計并開發了一款基于Spring Boot框架的SoundWave,旨在為用戶提供一個輕量級、可擴展的在線音樂管理與播放平臺。

二、測試環境

硬件: Dell G15 5511
操作系統: Windows 11 家庭中文版
瀏覽器: Google Chrome 138.0.7204.169(正式版本) (64 位)

測試工具: 自動化測試 Selenium,性能測試 Jmeter
自動化腳本運行環境: IntelliJ IDEA 2025.1.4

三、測試分類

1、功能測試用例與非功能測試用例

功能測試、界面測試、性能測試、兼容性測試、易用性測試、安全測試、網絡測試

2.測試內容

(1)登陸頁面

測試用例:

測試用例編號操作賬號密碼預期結果
1輸入正常的賬號密碼zhangsan123456登錄成功
2輸入錯誤的賬號和密碼tt333登錄失敗,提示錯誤
3輸入正確的賬號和錯誤的密碼zhangsan332登錄失敗,提示錯誤
4輸入錯誤的賬號和正確的密碼tt123456登錄失敗,提示錯誤
5不填寫賬號和密碼  登錄失敗,提示錯誤
6填寫賬號不填寫密碼zhangsan 登錄失敗,提示錯誤
7不填寫賬號填寫密碼 123456登錄失敗,提示錯誤

測試結果:

①測試用例:

結果:登錄成功

②測試用例:

結果:登錄失敗,提示錯誤信息

③測試用例:

結果:登錄失敗,提示錯誤信息

④測試用例:

結果:登錄失敗,提示錯誤信息

⑤測試用例:

結果:登錄失敗,提示錯誤信息

⑥測試用例:

結果:登錄失敗,提示錯誤信息

⑦測試用例:

結果:登錄失敗,提示錯誤信息

(2)注冊頁面

測試用例:

測試用例編號操作賬號密碼預期結果
1輸入正常的賬號密碼zhangzifeng123456注冊成功
2輸入存在的賬號zhangsan123456注冊失敗,提示錯誤
3輸入正確的賬號和錯誤的密碼admin332注冊失敗,提示錯誤
4輸入錯誤的賬號和正確的密碼1123456注冊失敗,提示錯誤
5不填寫賬號和密碼  注冊失敗,提示錯誤
6填寫賬號不填寫密碼zhangsan 注冊失敗,提示錯誤
7不填寫賬號填寫密碼 123456注冊失敗,提示錯誤

①測試用例:

結果:注冊成功,可登錄

②測試用例:

結果:注冊失敗,提示錯誤信息

③測試用例:

結果:注冊失敗,提示錯誤信息

④測試用例:

預期結果:注冊失敗

實際結果:注冊成功

⑤測試用例:

結果:注冊失敗,提示錯誤信息

⑥測試用例:

結果:注冊失敗,提示錯誤信息

⑦測試用例:

結果:注冊失敗,提示錯誤信息

(3)列表頁面

1.刪除
測試用例編號操作預期結果實際結果
1未登錄返回登錄login.html跳轉login.html未跳轉login.html,界面顯示空白
2未登錄刪除一首歌無法刪除無法刪除
3未登錄批量刪除>=2首歌無法刪除無法刪除
4刪除一首歌刪除成功刪除成功
5批量刪除>=2首歌刪除成功刪除成功

①測試用例:

結果:未跳轉,無法進行訪問list.html

②測試用例:

結果:無法刪除

③測試用例:

結果:無法刪除

④測試用例:

結果:成功刪除

⑤測試用例:

結果:刪除成功

2.搜索
測試用例編號操作預期結果實際結果
1未登錄返回登錄login.html跳轉login.html未跳轉login.html,界面顯示空白
2未登錄進行搜索無法搜索無法搜索
3已登錄進行模糊搜索歌名正常搜索正常搜索
4已登錄進行搜索歌手正常搜索無法搜索

①測試用例:

結果:未跳轉,無法進行訪問list.html

②測試用例:

結果:無法搜索

③測試用例:

結果:搜索成功

④測試用例:

結果:無法搜索

3.收藏
測試用例編號操作預期結果實際結果
1未登錄返回登錄login.html跳轉login.html未跳轉login.html,界面顯示空白
2未登錄進行收藏無法收藏無法收藏
3已登錄進行收藏成功收藏成功收藏

①測試用例:

結果:未跳轉,無法進行訪問list.html

②測試用例:

結果:無法收藏

③測試用例:

結果:收藏成功

4.播放
測試用例編號操作預期結果實際結果
1未登錄返回登錄login.html跳轉login.html未跳轉login.html,界面顯示空白
2未登錄進行播放音樂無法播放無法播放
3已登錄進行播放音樂成功播放正常播放
4已登錄拖拽音樂進度正常拖拽無法拖拽
5已登錄切換音樂正常切歌無法切歌
6縮小音樂導航欄正常縮放正常縮放

①測試用例:

結果:未跳轉,無法進行訪問list.html

②測試用例:

結果:無法播放音樂

③測試用例:

結果:成功播放

④測試用例:

結果:只要拖拽就重新播放

⑤測試用例:

結果:無法切歌

⑥測試用例:

結果:縮小成功

(4)收藏頁面

1.播放
測試用例編號操作預期結果實際結果
1未登錄返回登錄login.html跳轉login.html未跳轉login.html,界面顯示空白
2進行播放音樂成功播放正常播放
3拖拽音樂進度正常拖拽無法拖拽
4切換音樂正常切歌無法切歌
5縮小音樂導航欄正常縮放正常縮放
6暫定音樂正常暫停正常暫停

①測試用例:

結果:未跳轉,無法進行訪問list.html

②測試用例:

結果:可以播放音樂

③測試用例:

結果:無法拖拽,只要拖拽就重頭播放音樂

④測試用例:

結果:無法切換音樂

⑤測試用例:

結果:正常縮小

⑥測試用例:

結果:可以暫停

2.搜索
測試用例編號操作預期結果實際結果
1未登錄返回登錄login.html跳轉login.html未跳轉login.html,界面顯示空白
2進行模糊搜索歌名正常搜索正常搜索
3進行搜索歌手正常搜索無法搜索

①測試用例:

結果:未跳轉,無法進行訪問list.html

②測試用例:

結果:正常搜索

③測試用例:

結果:無法搜索

3.移除收藏
測試用例編號操作預期結果實際結果
1未登錄返回登錄login.html跳轉login.html未跳轉login.html,界面顯示空白
2移除收藏正常移除正常移除

①測試用例:

結果:未跳轉,無法進行訪問list.html

②測試用例:

結果:移除成功

4.回到首頁
測試用例編號操作預期結果實際結果
1未登錄返回登錄login.html跳轉login.html未跳轉login.html,界面顯示空白
2點返回首頁跳轉首頁跳轉首頁

①測試用例:

結果:未跳轉,無法進行訪問list.html

②測試用例:

結果:跳轉成功

(5)上傳音樂

測試用例編號操作預期結果實際結果
1未登錄返回登錄login.html跳轉login.html未跳轉login.html,界面顯示空白
2上傳音樂,輸入歌手名上傳成功上傳成功
3上傳音樂,不輸入歌手名上傳失敗上傳失敗
4不上傳音樂,輸入歌手名上傳失敗上傳失敗
5上傳已有音樂,并輸入歌手名上傳失敗上傳失敗

①測試用例:

結果:未跳轉,無法進行訪問list.html

②測試用例:

結果:上傳成功

③測試用例:

結果:上傳失敗,提示輸入歌手名

④測試用例:

結果:無法上傳,無法點擊上傳按鈕

⑤測試用例:

結果:上傳失敗

四、自動化測試(Java)

五、性能測試Jmeter?(接口與梯度壓力測試)

使用JMeter工具對論壇系統的接口進行簡單的性能測試:

(1) 接口測試

1.線程組

2.HTTP請求默認值

3.HTTP Cookie管理器

4.固定定時器

5.CSV 數據文件設置

用戶不同用戶登錄

6.登錄

7.查詢全部音樂

8.查詢音樂

9.播放音樂

10.刪除音樂

11.批量刪除音樂

12.注冊

13.收藏音樂

14.上傳音樂

15.查詢全部收藏音樂

16.查詢指定收藏音樂

17.取消收藏音樂

18.查看結果樹

(2)壓力梯度測試

1.SoundWave Stepping Thread Group

2.可視化圖

3.隨之時間推移

4.吞吐量

5.響應時間

5.結論

JMeter 性能測試報告,需從?錯誤率、響應時間、吞吐量、負載變化?等維度展開,結合圖表和統計數據定位系統瓶頸:

一、核心統計數據概覽
指標數值分析重點
總請求數832-
失敗請求數140(錯誤率 22.15%)錯誤率過高,需排查根源
平均響應時間1545.42 ms長尾響應明顯(最大 37273 ms)
主要錯誤類型500 錯誤(129 次,81.43%)、連接超時(10 次,7.14%)服務端內部錯誤 + 網絡 / 連接池問題
二、關鍵圖表分析
1. 負載與響應趨勢(Over Time 模塊)
  • Active Threads Over Time:線程數?階梯式上升(壓力逐漸增大),模擬真實場景的負載變化。
  • Response Times Over Time:多個接口(如 “上傳音樂”“上傳音樂 - 0”)的?平均響應時間隨負載上升而飆升,說明系統在高并發下性能退化嚴重。
  • Connect Time Over Time:連接時間隨負載增加而延長,暗示?服務端連接池飽和或網絡瓶頸
2. 吞吐量變化(Throughput 模塊)
  • Hits/Codes/Transactions Per Second:隨時間推移,成功請求數(200 碼)持續下降,失敗請求占比上升,表明系統?處理能力隨負載增加而衰減
3. 響應時間分布(Response Times 模塊)
  • Response Time Percentiles:高百分位(如 99th)響應時間極高(部分接口超 3000 ms),說明?大量請求經歷嚴重延遲(長尾效應)。
  • Response Time Overview:超過 500 ms 的請求占比高,且存在錯誤請求,用戶體驗差。
4. 錯誤詳情(Dashboard 統計)
  • 500 錯誤:集中在?刪除音樂、獲取收藏音樂、批量刪除音樂?等接口,推測?服務端業務邏輯異常或數據庫操作失敗
  • 連接超時(Non HTTP ConnectException):提示?Connection timed out,可能是?服務端連接池已滿,無法處理新連接
三、接口級性能分析
接口失敗率平均響應時間典型問題
刪除音樂56.36%1278.27 ms500 錯誤占比極高
獲取收藏音樂56.76%1099.84 ms500 錯誤 + 連接超時
批量刪除音樂40.00%131.32 ms500 錯誤為主
上傳音樂6.25%1918.43 ms長尾響應(最大 37273 ms)
登錄1.75%1157.66 ms偶爾出現超慢響應(21049 ms)
四、性能瓶頸與優化建議
1. 服務端穩定性問題
  • 500 錯誤排查:檢查服務端日志,定位接口的業務邏輯異常(如 SQL 錯誤、參數校驗失敗)。
  • 連接池優化:調整服務端連接池大小(如 Tomcat 線程池),避免高并發下連接超時。
2. 響應時間長尾問題
  • 慢操作剖析:對響應時間長的接口(如上傳播音樂)進行?代碼 Profiling,排查慢 SQL、IO 阻塞或鎖競爭。
  • 異步化改造:對耗時操作(如上傳播)采用異步處理,避免阻塞線程。
3. 高失敗率接口修復
  • 隔離測試:針對刪除、收藏等接口,單獨壓測并檢查依賴(如數據庫、緩存)是否正常。
  • 重試機制:對非冪等接口增加重試策略,降低瞬時錯誤對業務的影響。
4. 壓測策略優化
  • 拐點分析:通過調整線程組,找到系統?吞吐量拐點(如并發多少時性能驟降),明確容量上限。
  • 監控補充:壓測時增加服務端監控(CPU、內存、數據庫負載),輔助定位資源瓶頸。
?

綜上,系統在?高并發下穩定性不足、響應延遲明顯,需從?服務端錯誤排查、連接池優化、慢操作治理?三方面突破,結合監控和壓測迭代優化。

六、測試結果評估

1、主線功能測試通過,項目可以上線

2、項目上線后觀察線上數據

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

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

相關文章

C++ 類和對象詳解(1)

類和對象是 C 面向對象編程的核心概念,它們為代碼提供了更好的封裝性、可讀性和可維護性。本文將從類的定義開始,逐步講解訪問限定符、類域、實例化、對象大小計算、this 指針等關鍵知識,并對比 C 語言與 C 在實現數據結構時的差異&#xff0…

奈飛工廠:算法優化實戰

推薦系統的算法邏輯與優化技巧在流媒體行業的 “用戶注意力爭奪戰” 中,推薦系統是決定成敗的核心武器。對于擁有2.3 億全球付費用戶的奈飛(Netflix)而言,其推薦系統每天處理數十億次用戶交互,最終實現了一個驚人數據&…

【人工智能99問】BERT的訓練過程和推理過程是怎么樣的?(24/99)

文章目錄BERT的訓練過程與推理過程一、預訓練過程:學習通用語言表示1. 數據準備2. MLM任務訓練(核心)3. NSP任務訓練4. 預訓練優化二、微調過程:適配下游任務1. 任務定義與數據2. 輸入處理3. 模型結構調整4. 微調訓練三、推理過程…

[TryHackMe]Challenges---Game Zone游戲區

這個房間將涵蓋 SQLi(手動利用此漏洞和通過 SQLMap),破解用戶的哈希密碼,使用 SSH 隧道揭示隱藏服務,以及使用 metasploit payload 獲取 root 權限。 1.通過SQL注入獲得訪問權限 手工注入 輸入用戶名 嘗試使用SQL注入…

北京JAVA基礎面試30天打卡09

1.MySQL存儲引擎及區別特性MyISAMMemoryInnoDBB 樹索引? Yes? Yes? Yes備份 / 按時間點恢復? Yes? Yes? Yes集群數據庫支持? No? No? No聚簇索引? No? No? Yes壓縮數據? Yes? No? Yes數據緩存? NoN/A? Yes加密數據? Yes? Yes? Yes外鍵支持? No? No? Yes…

AI時代的SD-WAN異地組網如何落地?

在全球化運營與數字化轉型浪潮下,企業分支機構、數據中心與云服務的跨地域互聯需求激增。傳統專線因成本高昂、部署緩慢、靈活性差等問題日益凸顯不足。SD-WAN以其智能化調度、顯著降本、敏捷部署和云網融合的核心優勢,成為實現高效、可靠、安全異地組網…

css中的color-mix()函數

color-mix() 是 CSS 顏色模塊(CSS Color Module Level 5)中引入的一個強大的顏色混合函數,用于在指定的顏色空間中混合兩種或多種顏色,生成新的顏色值。它解決了傳統顏色混合(如通過透明度疊加)在視覺一致性…

Github desktop介紹(GitHub官方推出的一款圖形化桌面工具,旨在簡化Git和GitHub的使用流程)

文章目錄**1. 簡化 Git 操作****2. 代碼版本控制****3. 團隊協作****4. 代碼托管與共享****5. 集成與擴展****6. 跨平臺支持****7. 適合的使用場景****總結**GitHub Desktop 是 GitHub 官方推出的一款圖形化桌面工具,旨在簡化 Git 和 GitHub 的使用流程,…

整數規劃-分支定界

內容來自:b站數學建模老哥 如:3.4,先找小于3的,再找大于4的 逐個

JetPack系列教程(六):Paging——讓分頁加載不再“禿”然

前言 在Android開發的世界里,分頁加載就像是一場永無止境的馬拉松,每次滾動到底部,都仿佛在提醒你:“嘿,朋友,還有更多數據等著你呢!”但別擔心,Google大佬們早就看透了我們的煩惱&a…

扎實基礎!深入理解Spring框架,解鎖Java開發新境界

大家好,今天想和大家聊聊Java開發路上繞不開的一個重要基石——Spring框架。很多朋友在接觸SpringBoot、SpringCloud這些現代化開發工具時,常常會感到吃力。究其原因,往往是對其底層的Spring核心機制理解不夠透徹。Spring是構建這些高效框架的…

Heterophily-aware Representation Learning on Heterogeneous Graphs

Heterophily-Aware Representation Learning on Heterogeneous Graphs (TPAMI 2025) 計算機科學 1區 I:18.6 top期刊 ?? 摘要 現實世界中的圖結構通常非常復雜,不僅具有全局結構上的異質性,還表現出局部鄰域內的強異質相似性(heterophily)。雖然越來越多的研究揭示了圖…

計算機視覺(7)-純視覺方案實現端到端軌跡規劃(思路梳理)

基于純視覺方案實現端到端軌跡規劃,需融合開源模型、自有數據及系統工程優化。以下提供一套從模型選型到部署落地的完整方案,結合前沿開源技術與工業實踐: 一、開源模型選型與組合策略 1. 感知-預測一體化模型 ViP3D(清華&#…

Nginx 屏蔽服務器名稱與版本信息(源碼級修改)

Nginx 屏蔽服務器名稱與版本信息(源碼級修改) 一、背景與目的 在生產環境部署 Nginx 時,默認配置會在 Server 響應頭中暴露服務類型(如 nginx)和版本號(如 nginx/1.25.4)。這些信息可能被攻擊者…

從鋼板內部應力視角,重新認識護欄板矯平機

一、為什么鋼板會“自帶波浪”? 鋼卷在熱軋后冷卻、卷取、長途運輸、多次吊運時,不同部位受到的溫度、張力、碰撞并不一致,內部會產生不均勻的殘余應力。應力大的區域想“伸長”,應力小的區域想“縮短”,宏觀上就表現為…

C++中的`auto`與`std::any`:功能、區別與選擇建議

引言 在C編程中,auto和std::any是兩個功能強大但用途不同的工具。理解它們的區別和適用場景對于編寫高效、可維護的代碼至關重要。本文將詳細介紹auto和std::any的基本概念、使用方法、適用場景以及它們之間的區別,并提供選擇建議,幫助開發者…

【Linux】進程(Process)

一、什么是進程二、進程的創建三、進程的狀態四、僵尸進程五、孤兒進程六、進程的優先級 以及 并發/并行七、進程的切換一、什么是進程?什么是進程呢(一)?官方話來說:進程是一個執行實例、正在執行的程序、是系統資源分配的基本單位按課本官方話可能有一…

銷售管理系統哪個好?14款軟件深度對比

本文將深入對比14款銷售管理系統:1.紛享銷客; 2.Zoho CRM; 3.神州云動 CRM; 4.勵銷云 CRM; 5.Microsoft Dynamics?365 CRM; 6.悟空 CRM; 7.泛微 CRM; 8.HubSpot CRM; 9.…

如何從 0 到 1 開發企業級 AI 應用:步驟、框架與技巧

本文來自作者 莫爾索 的 企業級 AI 應用開發與最佳實踐指南, 歡迎閱讀原文。 大家好,我之前出版的《LangChain 編程:從入門到實踐》一書獲得了良好的市場反響和讀者認可。近期推出了第二版,我對內容進行了大幅更新:近 …

【LLM】Openai之gpt-oss模型和GPT5模型

note gpt-oss模型代理能力:使用模型的原生功能進行函數調用、網頁瀏覽(https://github.com/openai/gpt-oss/tree/main?tabreadme-ov-file#browser)、Python 代碼執行(https://github.com/openai/gpt-oss/tree/main?tabreadme-o…