在軟件測(cè)試過(guò)程中敞斋,不同的階段會(huì)有不同的測(cè)試需求截汪,因此有不同的類型。其中單元測(cè)試是測(cè)試中效率最高的植捎,也最方便測(cè)試的衙解。如果在單元測(cè)試中能測(cè)試充分,能解決很多在其他測(cè)試階段無(wú)法解決的問(wèn)題焰枢。
測(cè)試單位: 一個(gè)函數(shù)丢郊,一個(gè)方法盔沫,一個(gè)類,或者一個(gè)很小的模塊枫匾。
測(cè)試人員: 開(kāi)發(fā)人員架诞,一般是開(kāi)發(fā)人員進(jìn)行編碼。
測(cè)試目的:完成覆蓋率干茉,代碼行谴忧,函數(shù),條件角虫,分支覆蓋率沾谓,不用的企業(yè)有不同的要求吹埠,一般都會(huì)要求85%以上盖灸。
測(cè)試方式: 通過(guò)傳入各類的入?yún)ⅲ缓髞?lái)驗(yàn)證返回值是否和預(yù)期是否一樣竿屹。在此過(guò)程中枫虏,可能會(huì)需要各種打樁(stub)
測(cè)試結(jié)論: 一般都會(huì)有單元測(cè)試報(bào)告妇穴,用來(lái)看有測(cè)試用例和通過(guò)。
產(chǎn)品代碼例子隶债,這里是用來(lái)表示長(zhǎng)方形:
class Renctl:
def __init__(self,x=1, y=1):
self.x = x
self.y = y
#面積
def area(self):
return self.x * self.y
#周長(zhǎng)
def circule(self):
return 2*(self.x + self. y)
對(duì)于這樣的產(chǎn)品代碼腾它,可以采用如下的方式進(jìn)行驗(yàn)證產(chǎn)品代碼是否正確。
構(gòu)造出的Renctl死讹,然后驗(yàn)證它的函數(shù)是否預(yù)期是否一致
if __name__ == "__main__":
rectl = Renctl()
rectl. x = 10
rectl. y = 2
print(rectl.area())
print(rectl.circule())
運(yùn)行結(jié)果:
/Users/jeffzhan/Documents/python/machinelearning/venv/bin/python /Users/jeffzhan/Documents/python/machinelearning/UtExample.py
20
24
Process finished with exit code 0