iT邦幫忙

0

Day 28|完整測試所有功能

  • 分享至 

  • xImage
  •  

今天不再新增功能,而是像真正開發軟體一樣,逐一測試每個功能,確保網站不是「剛好可以使用」,而是遇到錯誤輸入時也能合理處理。
步驟 1:建立測試清單
在專案中建立 TEST_PLAN.md:

My Media Library 測試計畫

一、收藏功能

  • [ ] 可以新增電影
  • [ ] 可以新增遊戲
  • [ ] 可以查看作品詳細資訊
  • [ ] 可以修改作品資料
  • [ ] 可以刪除作品
  • [ ] 刪除前會要求確認

二、搜尋與篩選

  • [ ] 可以搜尋完整作品名稱
  • [ ] 可以搜尋部分作品名稱
  • [ ] 可以依照收藏狀態篩選
  • [ ] 可以依照分類篩選
  • [ ] 可以依照評分排序

三、資料驗證

  • [ ] 作品名稱不能為空
  • [ ] 評分只能為 1 至 10
  • [ ] 年份必須在允許範圍內
  • [ ] 不存在的作品 ID 會回傳 404
  • [ ] 空白收藏頁會顯示提示

四、統計與匯出

  • [ ] 首頁收藏數量正確
  • [ ] 平均評分正確
  • [ ] 圖表資料正確
  • [ ] CSV 可以下載
  • [ ] CSV 中文正常顯示

步驟 2:手動測試
建議用以下順序測試:

  1. 新增一部電影「星際效應」,評分 9 分。
  2. 新增一款遊戲「Hades」,狀態設為遊玩中。
  3. 搜尋「星際」,確認電影會出現。
  4. 篩選「已看」,確認只顯示符合條件的電影。
  5. 修改電影評分為 10 分。
  6. 開啟統計頁面,確認平均評分更新。
  7. 匯出 CSV,確認資料與網站一致。
  8. 刪除測試作品,確認列表與統計同步更新。
    步驟 3:測試資料驗證
    在新增頁嘗試輸入:
  • 空白名稱。
  • 評分 0。
  • 評分 11。
  • 年份 1800。
  • 非法作品類型。
    每次測試後,都要確認網站有合理的提示,而且沒有把不合法資料寫入資料庫。
    步驟 4:測試不存在的網址
    例如開啟:
    http://127.0.0.1:5000/media/999999

如果資料庫沒有這個 ID,應顯示找不到作品的畫面,並回傳 404。
進階:加入自動化測試
如果還有時間,可以在虛擬環境中安裝 pytest:
python -m pip install pytest

建立 test_app.py:
from app import appdef test_home_page(): app.config["TESTING"] = True with app.test_client() as client: response = client.get("/") assert response.status_code == 200 assert b"My Media Library" in response.datadef test_movies_page(): app.config["TESTING"] = True with app.test_client() as client: response = client.get("/movies") assert response.status_code == 200def test_games_page(): app.config["TESTING"] = True with app.test_client() as client: response = client.get("/games") assert response.status_code == 200

執行:
python -m pytest -v

這些測試會檢查首頁、電影頁與遊戲頁能否正常回應。因為目前使用的是正式的 media.db,更完整的測試應另外建立測試資料庫,避免測試修改到自己的收藏資料。

今日成果: 完成測試計畫,並確認主要功能正常。


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言