在剛學習程式設計的時候總是忘記處理一些特例(尤其是動態語言可以傳各種值),為了養成良好的程式設計和測試習慣,在編寫單元測試用例的時候, 我們注意考慮下如下測試用例(等價類劃分):
def
binary_search
(array, target):if
not array:
return-1
beg, end =0,
len(array)
while beg < end:
mid = beg +
(end - beg)//2
# py3
if array[mid]
== target:
return mid
elif array[mid]
> target:
end = mid
else
: beg = mid +
1return-1
deftest()
:"""
如何設計測試用例:
- 正常值功能測試
- 邊界值(比如最大最小,最左最右值)
- 異常值(比如 none,空值,非法值)
"""# 正常值,包含有和無兩種結果
assert binary_search([0
,1,2
,3,4
,5],
1)==1
assert binary_search([0
,1,2
,3,4
,5],
6)==-
1assert binary_search([0
,1,2
,3,4
,5],
-1)==
-1# 邊界值
assert binary_search([0
,1,2
,3,4
,5],
0)==0
assert binary_search([0
,1,2
,3,4
,5],
5)==5
assert binary_search([0
],0)
==0# 異常值
assert binary_search(
,1)==
-1
當然我們也不用做的非常細緻,要不然寫測試是一件非常繁瑣累人的事情,甚至有時候為了測試而測試,只是為了讓單測覆蓋率好看點。 當然如果是web應用使用者輸入,我們要假設所有的引數都是不可信的。 但是很多內部呼叫的函式我們基於約定來程式設計,如果你瞎傳引數,那就是呼叫者的責任了。 單元測試中測試用例的設計方法
單元測試中測試用例的設計方法 1.用於語句覆蓋的基路徑法 基路徑法保證設計出的測試 用例,使程式的每乙個可執行語句至少執行一次,即實現語句覆蓋。基路徑法是理論與應用脫節的典型,基本上沒有應用價值,讀者稍作了解即可,不必理解和掌握。基路徑法步驟如下 1 畫出程式的控制流圖 控制流圖是描述程式控制流的一...
單元測試,測試用例 GO語言
資料夾目錄 split string split.go split string split test.go 執行測試函式 package split string import reflect testing 單元測試 可以和測試 放到一起,用同樣的包名 以測試 名開頭,以 test.go 結尾哦...
例解 整合測試用例與單元測試用例的區別
函式一 getmaxintwo int a,int b 函式二 getmaxinthree int a,int b,int c 單元測試用例的設計 getmaxintwo的ut 用例 3 2 1,3 2 2 語句覆蓋率為 100 getmaxinthree的ut 用例 1 2,3 語句覆蓋率為 10...