python實現WordCount(第三次作業)
0x00 註明
合作者:201631062315 201631062310
程式碼地址:https://gitee.com/c1e4r/word-count2
作業地址:https://edu.cnblogs.com/campus/xnsy/2018softwaretest2398/homework/2187
0x01 互審程式碼情況
在完成本次作業的期間,同一位同學進行了合作,大概就是相互之間測試對方的程式,已達到軟體測試的目的。
發現的問題:
1.在進行檔案操作的時候報錯,經分析報錯後發現是在開啟某一檔案時未統一編碼規範。檔案是gbk編碼,在開啟檔案的時候要轉化為utf-8。
2.對程式碼的縮排,一些變數定義和空間進行了修改。
0x02 靜態程式碼檢查情況
1.使用的工具:pyflakes
PyChecker是Python程式碼的靜態分析工具,它能夠幫助查詢Python程式碼的bug,而且能夠對程式碼的複雜度和格式等提出警告。
2.檢查的模組以及檢查結果
檢查模組:所有
檢查結果:
3.程式碼存在的問題和改進的方法
由於程式碼是經過除錯和修改後才檢查的,且程式碼量比較少,所以檢查的時候並不存在多大的問題。
0x03 單元測試
1.設計測試用例方法:等價類劃分法
2.測試的模組以及思路
2.1測試所有模組功能:
2.1.1 測試思路
輸入 | 有效等價類 | 無效等價類 |
讀取檔案命令引數 |
(1)-l (2)-w (3)-c (4)-c -w (5)-l -c (6)-w -c (7)-l -w -c (8)空
|
(9)非-l -w -o的任意其他引數 |
結果寫入檔案命令引數 |
(10)-o |
(11)非-o的其他命令 |
檔名 | (12)原始檔名 | (13)非檔名 |
一共設計四個測試用例:
1.wc.py -c -w -l -e -a -o output.txt test.txt 覆蓋①②③④⑤⑥⑦⑧⑩⑫
2.wc.py -f -t test.txt,測試⑨;
3.wc.py -l -w -c test.txt -h output.txt,測試⑪;
4.wc.py -l -w -c dir,測試⑬
2.1.2 覆蓋情況:語句覆蓋,判定覆蓋,條件覆蓋
2.2 附加高階功能測試
2.2.1 等價類劃分
輸入 | 有效等價類 | 無效等價類 |
遍歷資料夾命令輸入 | (1)-s | (2) 非-s 其他任意引數 |
停用表 | (3)-e | (4) 非-e其他任意引數 |
共設計三個個測試用例:
-
-
- python3 wc.py -s -c -w -l -a -e stopList.txt -o output.txt *.py,覆蓋(1)(3)
- python3 wc.py -s *.py 測試(2)
- python3 wc.py -l test.txt,測試(4)
-
2.2.2 語句覆蓋,條件覆蓋
3.測試情況
0x04 效能測試和優化
1.測試工具的選擇:Locust
1.1 安裝方法 :
python3中: python3 -m pip install locust
安裝成功後終端輸入locust --help顯示幫助資訊表示安裝成功
2.測試結果
由於程式碼量不是很大,且不存在資料庫連線操作和聯網的互動操作,所以測試效能結果較優。
0x05 總結以及參考文章
通過本次的作業,初步認識到了到一些程式碼檢查工具在對開發過程中的重要性,也體會到了在軟體開發過程中必須保持嚴謹的態度,也要有一定的“大局觀念”,才能在方便在軟體測試時對軟體的功能進行細化的測試。
同時合作也是至關重要的一環,兩個人相互之間的思考方式不同,邏輯思維也不同,這樣審查程式碼也能發現一些程式碼上的邏輯錯誤,減少BUG的存在。其次程式碼的規範和風格極其重要,良好的編碼習慣不僅會大大地提升整個程式原始碼的可讀性,同時也會減少後期維護的成本,所以要在平時的練習中養成良好的編碼習慣。
參考文章: