一、實驗題目 :軟體測試
二、實驗目的
1、熟悉開發環境下的自動化測試工具;
2、利用自動化測試工具進行自動化單元測試。
三、實驗內容
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、碼雲連結
https://gitee.com/Inton_JR/software-engineering/commit/c6c34f0a52b9a43a0182a1e18b6baa30cf8231f2
2、條件覆蓋
(1)測試資料正序,用於測試if中的false條件
輸入值:1,2,3,4,8 預期輸出:1,2,3,4,8
(2)測試資料逆序,用於測試if中的true條件
輸入值:8,5,4,3 預期輸出:3,4,5,8
(3)測試資料至少有一個逆序對
輸入值:8,2,3,4,7 預期輸出:2,3,4,7,8
(4)輸入單個元素
輸入值:1 預期輸出:1
(5)輸入0個元素
輸入值:[ ] 預期輸出:[ ]
3、判定覆蓋
(1)輸入至少包含一個逆序對
輸入值:1,3,5,2,1 預期輸出:1,1,2,3,5
(2)所有元素正序
輸入值:5,6,7,8,9 預期輸出:5,6,7,8,9
六、單元測試結果截圖
1、條件覆蓋
2、判定覆蓋
七、實驗中遇到的問題及解決方法
匯入JUnit 4的時候出現了一些異常,透過同學的研究探討,成功匯入並使用Test測試。在實驗中沒有對題目的條件覆蓋判定覆蓋有很好的定義,跟老師溝通後解決。在實驗前期我只能透過輸入輸出來判定是否輸入正確,後來經過線上學習assertArrayEquals方法來成功測試用例。透過本次實驗我收穫良多,感謝老師的教導和同學的幫助。