個人專案

AY-NR發表於2024-09-14

 一.   題目簡介

 圖書管理系統

 本系統主要實現對圖書館資訊的管理,主要可以分為兩大塊:圖書資訊的服務系統和圖書的綜合管理系統。

 圖書的使用物件是借閱者,例如學生,教師;管理者是圖書館的管理員。因此根據這些資訊,本系統的主要功能就是:實現圖書館圖書資訊的管理和維護,如使用者資訊管理,圖書館規則維護,新書入庫,整理圖書,修改圖書資訊和進行查詢等;以及服務系統的圖書資訊查詢,圖書的借出和歸還等功能。圖書資訊管理系統能夠為使用者提供充足的資訊和快捷的查詢手段.

 

一、    原始碼的github連結

 

 https://github.com/xutiantian/Test   (程式碼在主分支master中)

 

二、    所設計的模組測試用例、測試結果截圖

 

1.測試用例簡介

 

主要是JUnit4測試,從系統產品的介面﹑架構出發。被測試物件主要包括,圖書館管理系統的註冊,登入介面,借書,還書,續借以及查詢等功能的測試。也用到迴歸測試方法。

 

在實際工作中,迴歸測試需要反覆進行,需要通過自動測試來實現重複的和一致的迴歸測試。通過測試自動化可以提高迴歸測試效率。為了支援多種迴歸測試策略,自動測試工具應該是通用的和靈活的,以便滿足達到不同迴歸測試目標的要求。

 

迴歸測試並不減少對系統新功能和特徵的測試需求,迴歸測試包應包括新功能和特徵的測試。如果迴歸測試包不能達到所需的覆蓋要求,必須補充新的測試用例使覆蓋率達到規定的要求。

 

用例圖:

 

 

2.測試內容

 

測試1:名稱:系統身份驗證測試

 

目的:測試系統登入介面。

 

內容:使用者名稱、密碼、身份輸入、合理性檢查、合法性檢查,系統操作介面顯示控制

 

測試2:名稱:借書測試。

 

目的:測試借書功能。 

 

內容:括借閱證號輸入、合理性檢查、合法性檢查,借書對話顯示控制, 圖書書號提交、合理性檢查、合法性檢查,借書登記。

 

測試3:名稱:還書測試。

 

目的:測試還書功能。

 

內容:還書對話方塊顯示控制,圖書書號提交、合理性檢查、合法性檢查, 還書登記。

 

測試 4:名稱:圖書庫管理測試。

 

目的:測試圖書庫操作功能。

 

內容:圖書庫管理介面顯示控制,圖書庫瀏覽,增加圖書記錄,刪除圖 書記錄,編輯圖書記錄。

 

測試5:名稱:圖書查詢、借閱證查詢、借閱資訊查詢測試。

 

目的:測試圖書查詢、借閱證查詢、借閱資訊查詢功能。

 

內容:圖書查詢對話方塊顯示控制,借閱證資訊查詢對話方塊顯示控制,借閱資訊查詢對話方塊顯示控制,輸入資料合理性檢驗、提交,圖書查詢結果顯示,借閱證查詢結果顯示,借閱資訊查詢結果顯示。

 

3. 測試過程中發現的缺陷

 

(1)需求定義不明確

 

需求文件中,存在功能定義錯誤,輸入輸出欄位描述錯誤,輸入輸出欄位限制定義錯誤,輸入輸出限制定義缺失這幾種型別的缺陷。使得開發人員根據需求進行設計時,沒有考慮相關功能的關聯性,以及需求錯誤的地方,在測試過程中,需求相關的問題表現出來。需求做改正,設計必須跟著做改動,浪費時間和影響開發人員的積極性,降低開發人員對需求的任,可能會導致開發人員不按照需求進行設計而根據自己的經驗來進行設計。

 

(2)功能性錯誤

 

功能沒有實現,導致無法進行需求規定的功能的測試。功能實現錯誤,實現了需求未定義的功能,執行需求定義的功能時系統出現 錯誤。

 

(3)頁面設計和需求不一致

 

頁面設計沒有根據需求進行,輸入,出現欄位文字錯誤,使用者無法理解欄位含義。頁面設計沒有完成需求規定的輸入限制驗證,導致使用者可以輸入錯誤的或者無效的資料,這些資料有可能會引起功能性錯誤。

 

(4) 多語言資料問題

 

系統中很多輸入欄位是通過呼叫資料字典的方式輸入,但是現有系統中,很多資料字典的多語言資訊沒有完成,導致使用多語言的時候,顯示空白欄位。系統中很多地方使用多語言,由於多語言編碼統一導致頁面設計和資料設計使用語言編碼不一致,由此引起的多語言資料無法顯示的缺陷。

 

(5)頁面設計易用性缺陷

 

頁面設計不友好,系統中很多頁面的輸入欄位無明確的輸入提示,使用者無法理解何種輸入是正確的,但是使用者輸入錯誤後,系統提示出錯,增加使用者負擔。提示資訊錯誤,不同模組相同結果的提示資訊不一致,使用者操作後,相應的 提示資訊不明確,引起使用者誤解。提示資訊一致性,使用者在不同頁面執行相同的操作,提示資訊不同。

 

4.測試結果截圖

進度條是紅顏色表示發現錯誤,具體的測試結果在進度條上面有表示“共進行了4個測試,其中1個測試被忽略,兩個測試失敗”。

在測試類中用到了JUnit4框架,自然要把相應地Package包含進來。最主要地一個Package就是org.junit.*。把它包含進來之後,絕大部分功能就有了。還有一句話也非常地重要“import static org.junit.Assert.*;”,我們在測試的時候使用的一系列assertEquals方法就來自這個包。

你要測試哪個類,那麼你首先就要建立一個該類的物件。

   為了測試Calculator類,我們必須建立一個calculator物件。

註釋說明

@Test:

表明該方法是一個測試方法

@Before:

使用了該後設資料的方法在每個測試方法執行之前都要執行一次。

@After:

使用了該後設資料的方法在每個測試方法執行之後要執行一次。

注意:@Before和@After標示的方法只能各有一個。這個相當於取代了JUnit以前版本中的setUp和tearDown方法,當然你還可以繼續叫這個名字,不過JUnit不會霸道的要求你這麼做了

@Ignore:

該後設資料標記的測試方法在測試中會被忽略。同時可以為該標籤傳遞一個String的引數,來表明為什麼會忽略這個測試方法。比如:@lgnore("該方法還沒有實現"),在執行的時候,僅會報告該方法沒有實現,而不會執行測試方法。

 

 三.問題及解決方案、心得體會

 

通過這次設計真切地體會到設計的目的並不止於自己單純任務的完成,而在於學習新的知識並掌握具體的方法,如何具體使用和具體應用你所學所用的語言。從而獲得一種本領:就是融會貫通各種語言。回首整個開發設計過程,我學到了很多書本上學不到的東西。包括系統可行性分析、系統需求分析、系統概要設計、系統詳細設計等方面的工作。在每個設計階段我都能學到一些新知識,對我的動手能力提高很大。

 

通過本次實踐,掌握軟體測試的基本步驟和方法,掌握實際軟體工程中與軟體測試有關的相關文件的編制。深刻學習掌握了軟體測試和軟體測試過程的基本方法和基本技術。頁面設計還有進一步改善的地方,我會在今後的學習工作中著重加強這方面的鍛鍊。其中包括:分析各種需求、完善各種功能、增加必要環節、對各部分及整體進行檢測與維護。當然仍存在許多問題不能解決地盡善盡美,還需不斷地繼續與探索。在結束設計的同時也感到了勞動的艱辛與勞動成果的來之不易,明白了設計專案是給自己提供了一個鍛鍊、昇華、提高、完善的機會。

1、  在設計的時候最好先 右擊 專案名稱 選擇 Properties  選擇 java Compiler 將Compiler compliance level 設定為較高的版本

2、  要使用JUnit4進行測試 一定要進行如下操作

右擊專案的名稱選擇 Properties

開啟的介面中選擇 java Build Path 選項

 

 

 

然後單擊畫紅框的按鈕

 

選擇JUnit 選項

 

單擊Next 按鈕 在彈出的介面中將JUnit library version 設定為 JUnit4

 

最後單擊 Finish 按鈕。

      通過這次設計真切地體會到設計的目的並不止於自己單純任務的完成,而在於學習新的知識並掌握具體的方法,如何具體使用和具體應用你所學所用的語言。從而獲得一種本領:就是融會貫通各種語言。回首整個開發設計過程,我學到了很多書本上學不到的東西。包括系統可行性分析、系統需求分析、系統概要設計、系統詳細設計等方面的工作。在每個設計階段我都能學到一些新知識,對我的動手能力提高很大。

      通過本次實踐,掌握軟體測試的基本步驟和方法,掌握實際軟體工程中與軟體測試有關的相關文件的編制。深刻學習掌握了軟體測試和軟體測試過程的基本方法和基本技術。頁面設計還有進一步改善的地方,我會在今後的學習工作中著重加強這方面的鍛鍊。其中包括:分析各種需求、完善各種功能、增加必要環節、對各部分及整體進行檢測與維護。當然仍存在許多問題不能解決地盡善盡美,還需不斷地繼續與探索。在結束設計的同時也感到了勞動的艱辛與勞動成果的來之不易,明白了設計專案是給自己提供了一個鍛鍊、昇華、提高、完善的機會。

相關文章