一、實驗題目 :軟體測試
二、實驗目的
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.測試用例1:
輸入值:3 4 8 9 10 11
預期輸出:3 4 8 9 10 11
2.測試用例2:
輸入值:26 25 14 13 12 11
預期輸出:11 12 13 14 25 26
3.測試用例3:
輸入值:16 45 26 85 97 22
預期輸出:16 22 26 45 85 97
4.測試用例4:
輸入值:6
預期輸出:6
5.測試用例5:
輸入值:-5,-6,0,1,5 -4
預期輸出:-6 -5 -4 0 1 5
六、單元測試結果截圖
1.測試用例1結果:
2.測試用例2結果:
3.測試用例3結果:
4.測試用例4結果:
5.測試用例5結果:
6.測試結果全部透過
七、實驗中遇到的問題及解決方法
問題一:程式碼中出現邏輯錯誤導致單元測試無法透過。
解決方法:首先要檢查程式碼邏輯是否正確,可以透過除錯工具逐步跟蹤程式碼執行過程,檢視變數取值是否符合預期。如果發現問題,及時修改程式碼並重新執行單元測試。
問題二:單元測試覆蓋率不夠,無法全面檢驗程式碼功能。
解決方法:可以透過工具檢視程式碼覆蓋率報告,找出未被測試到的程式碼塊,補充相應的測試用例。確保儘可能覆蓋所有程式碼路徑,提高測試的全面性。
問題三:單元測試環境配置問題導致無法正常執行測試。
解決方法:檢查測試環境的配置是否正確,確保所選用的測試框架(如Junit或unittest)與開發環境相容。可以查閱相關文件或搜尋解決方案,保證環境設定正確。
問題四:測試用例設計不合理或不充分。
解決方法:重新審視測試用例設計,確保覆蓋各種邊界情況和特殊情況。可以嘗試使用邊界值分析、等價類劃分等測試方法,提高測試用例的有效性。
問題五:單元測試結果不穩定,有時透過有時不透過。
解決方法:檢查程式碼中是否存在依賴外部因素的情況,如隨機數、時間等。可以考慮對這些因素進行模擬或者使用mock物件進行測試,確保測試結果的穩定性。