一、實驗題目 :軟體測試
二、實驗目的
1、熟悉開發環境下的自動化測試工具;
1、利用自動化測試工具進行自動化單元測試。
三、實驗內容
1、選擇開發環境,IDEA或PYCHARM任選其一;
2、基於所選擇的開發環境實現對輸入的n個整數進行排序的程式碼;
3、對所編寫程式碼設計測試用例;
4、基於所選擇的開發環境開展單元測試。
IDEA環境:
利用Junit對所編寫程式碼進行單元測試
https://blog.csdn.net/antony9118/article/details/51736135
PYCHARM環境:
利用unittest對所編寫程式碼進行單元測試
https://zhuanlan.zhihu.com/p/688994644
四、實驗要求
1、預先準備的程式碼要求獨立編寫,嚴禁抄襲,具體排序演算法可以自由選擇一種;
2、利用平臺提供的單元測試工具對程式碼中的方法或函式進行單元測試,擷取測試結果。
五、設計單元測試用例
測試用例1:空陣列
輸入:[]
預期輸出:[] (空陣列排序後仍然是空陣列)
與預期結果一致
測試用例2:只有一個元素的陣列
輸入:[5]
預期輸出:[5](一個元素的陣列已經是有序的)
與預期結果一致
測試用例3:已經排序的陣列
輸入:[1, 2, 3, 4, 5]
預期輸出:[1, 2, 3, 4, 5](已排序的陣列排序後保持不變)
與預期結果一致
測試用例4:逆序陣列
輸入:[5, 4, 3, 2, 1]
預期輸出:[1, 2, 3, 4, 5](逆序陣列應被正確排序)
與預期結果一致
測試用例5:隨機陣列
輸入:[3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
預期輸出:[1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9](隨機陣列應被正確排序)
與預期結果一致
測試用例6:包含重複元素的陣列
輸入:[1, 2, 2, 3, 3, 3, 4, 4, 5]
預期輸出:[1, 2, 2, 3, 3, 3, 4, 4, 5](包含重複元素的陣列排序後應保留重複元素)
與預期結果一致
測試用例7:大整數陣列
輸入:[999999999, 1000000000, 1000000001, 1000000002]
預期輸出:[999999999, 1000000000, 1000000001, 1000000002](大整數陣列應被正確排序)
與預期結果一致
測試用例8:包含負數的陣列
輸入:[-5, -2, 0, 3, 7]
預期輸出:[-5, -2, 0, 3, 7](包含負數的陣列應被正確排序)
與預期結果一致
六、單元測試結果截圖
七、實驗中遇到的問題及解決方法
1.測試覆蓋率不足:
問題:即使進行了大量的測試,但如果沒有覆蓋到所有可能的程式碼路徑和邊界條件,就無法保證軟體的完整性和穩定性。
解決辦法:
使用程式碼覆蓋工具來分析測試覆蓋率,以定位測試薄弱的部分。
編寫更多、更全面的測試用例,涵蓋各種場景和邊界條件。
2.變數和邏輯問題:
問題:包括變數初值化錯誤、資料型別不匹配、邏輯判斷錯誤等。
解決辦法:
在編寫測試用例時,仔細檢查變數的初值化和預設值是否正確。
確保在比較操作中使用正確的資料型別。
仔細審查邏輯判斷條件,確保它們符合預期的行為。