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

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

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

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

1、都不能被實例化。

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

不同點:

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

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

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

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

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

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

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

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

接口測試的測試重點:

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

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

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

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

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

3)參數(shù)是否加密,這個關(guān)系到一些賬戶的安全,比如我們在登錄一些網(wǎng)站時,它要將我們的登錄信息進行加密,如果不加密我們的信息就會暴露,危害性極大。

4) 密碼安全規(guī)則,設置密碼時復雜程度的校驗。

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


分享到:
在線咨詢 我要報名
和我們在線交談!