首頁技術(shù)文章正文

接口和抽象類的區(qū)別是什么?接口測試的重點(diǎn)

更新時(shí)間:2022-09-30 來源:黑馬程序員 瀏覽量:

接口和抽象類的區(qū)別:

1、都不能被實(shí)例化。

2、接口的實(shí)現(xiàn)類和抽象類的子類只有全部實(shí)現(xiàn)了接口或者抽象類中的方法后才可以被實(shí)例化。

不同點(diǎn):

1、接口只能定義抽象方法不能實(shí)現(xiàn)方法,抽象類既可以定義抽象方法,也可以實(shí)現(xiàn)方法。

2、單繼承,多實(shí)現(xiàn)。接口可以實(shí)現(xiàn)多個(gè),只能繼承一個(gè)抽象類。

3、接口強(qiáng)調(diào)的是功能,抽象類強(qiáng)調(diào)的是所屬關(guān)系。

4、接口中的所有成員變量 為public static final, 靜態(tài)不可修改,當(dāng)然必須初始化。接口中的所有方法都是public abstract 公開抽象的。而且不能有構(gòu)造方法。抽象類就比較自由了,和普通的類差不多,可以有抽象方法也可以沒有,可以有正常的方法,也可以沒有。

那么接口的作用是什么呢?

1、Java單繼承的原因所以需要曲線救國 作為繼承關(guān)系的一個(gè)補(bǔ)充。

2、把程序模塊進(jìn)行固化的契約,降低偶合。把若干功能拆分出來,按照契約來進(jìn)行實(shí)現(xiàn)和依賴。(依賴倒置原則)

3、定義接口有利于代碼的規(guī)范。(接口分離原則)

接口測試的測試重點(diǎn):

1、通過性驗(yàn)證,說白了就是傳遞正確的參數(shù),是否返回正常的結(jié)果

2、參數(shù)組合,因?yàn)閰?shù)有必傳和非必傳,參數(shù)的類型和長度,以及傳遞時(shí)可能業(yè)務(wù)上的一些限制,所以在設(shè)計(jì)用例時(shí),就要排列組合這些情況,保證所有情況都能覆蓋到

3、接口的安全性,這個(gè)又分為幾種情況:

1)繞過驗(yàn)證,比如提交訂單時(shí),在傳遞商品價(jià)格參數(shù)時(shí),修改商品價(jià)格,就要看后端有沒有驗(yàn)證了?;蛘呶抑Ц稌r(shí),抓個(gè)包將訂單金額一改,如果能以我改后的金額支付,那這個(gè)借口就有問題了。

2)繞過身份驗(yàn)證,就是某個(gè)功能只有有特殊權(quán)限的用戶才能操作,那我傳遞一個(gè)普通的用戶,是不是也能操作呢

3)參數(shù)是否加密,這個(gè)關(guān)系到一些賬戶的安全,比如我們?cè)诘卿浺恍┚W(wǎng)站時(shí),它要將我們的登錄信息進(jìn)行加密,如果不加密我們的信息就會(huì)暴露,危害性極大。

4) 密碼安全規(guī)則,設(shè)置密碼時(shí)復(fù)雜程度的校驗(yàn)。

4、根據(jù)業(yè)務(wù)邏輯來設(shè)計(jì)用例


分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!