程式的測試
在python中,測試就是反覆的編輯和執行。
當 你寫一段程式的時候,你必須首先要清楚這段程式要解決什麼問題,你可以先寫乙個文件,以闡明這段程式要達到的目標,以便以後檢查原程式是否滿足要求,然後 為它寫一測試程式。比如,如果你想寫一模組,它只有乙個函式rect_area,這個函式用來計算給定的長和寬的面積,在開始寫這一模組之前,你應該寫一 如下測試程式來測試它是否能達到要求:
from area import rect_area
height = 3
width = 4
correct_answer = 12
answer = rect_area(height, width)
if answer == correct_answer:
print 'test passed '
else:
print 'test failed '
這個測試程式能夠反映出你的模組是否能達到目標,如果它給出了錯誤提示,你可以根據提示來檢查模組的**。寫測試程式也有利於日後程式的擴充套件和維護。
一、測試的一般步驟
1、明確你想要的功能。盡可能寫乙個文件,然後為它寫乙個測試程式。
2、為這些功能寫一些框架**(就是先把程式的基本結構寫好,避免語法錯誤),以便程式能執行。
3、為你的框架寫一些樣品**,僅用於滿足測試,不必實現所要的功能,僅僅為了通過測試。
4、重寫這些樣品**使它實現你要求的功能,並保證測試通過。
二、測試工具
1、doctest
doctest模組用於在文件字串中找尋類似python命令行會話的文字,並執行它們以檢查它們是否和文件字元中所寫的結果一樣。示例如下:
def square(x):
'''squares a number and returns the result.
>>> square(2)
4>>> square(3)
9'''
return x*x
上面定義了乙個計算平方的函式,其中文件字串中:
>>> square(2)
4>>> square(3)
9就是命令行會話。
然後我們再寫乙個名為my_math.py的模組用來測試函式的正確性:
if __name__=='__main__':
import doctest, my_math
doctest.testmod(my_math)
然後我們執行如下命令:
>>> python my_math.py
>>>
沒有輸出何結果,這是因為檢查通過,也就是說square(2)的值是4,square(3)和值是9。如果沒有成功,將給出錯誤資訊,根據錯誤資訊可以很容易地找到錯誤。
如果我們要看詳細的檢查情況的話,可以如下:
>>> python my_math.py -v
輸出結果如下:
running my_math.__doc__
0 of 0 examples failed in my_math.__doc__
running my_math.square.__doc__
trying: square(2)
expecting: 4
oktrying: square(3)
expecting: 9
ok0 of 2 examples failed in my_math.square.__doc__
1 items had no tests:
test
1 items passed all tests:
2 tests in my_math.square
2 tests in 2 items.
2 passed and 0 failed.
test passed.
proc的乙個測試小程式
資料庫 release 11.1.0.6.0 os windows xp 編譯環境 gcc version 4.5.1 code include include include include sqlda.h include sqlcpr.h exec sql include sqlca relea...
程式的測試 三
源 檢查工具 doctest和unittest都是檢查功能的。現在我們介紹兩個檢查原始碼的工具,以便提高你的 的質量。它們分別是pychecker http pychecker.sf.net 和pylint 用pychecker檢查檔案的方法如下 pychecker file1.py file2.p...
程式測試的小結
或曰之程式測試 今天測試buff的屬性疊加的時候,犯了致命性的原則錯誤,就是為了證明自己的正確性而測試,以下便是偶的自我檢討。或曾經曰過 程式測試是為了發現錯誤而執行程式的過程 就是在 完成後,通過執行程式來發現 或模組中錯誤。但是,這種意義上的測試是不能在 完成之前發現系統需求 設計上的問題,也就...