接口和抽象類的區別:
1、都不能被實例化。
2、接口的實現類和抽象類的子類只有全部實現了接口或者抽象類中的方法后才可以被實例化。
不同點:
1、接口只能定義抽象方法不能實現方法,抽象類既可以定義抽象方法,也可以實現方法。
2、單繼承,多實現。接口可以實現多個,只能繼承一個抽象類。
3、接口強調的是功能,抽象類強調的是所屬關系。
4、接口中的所有成員變量 為public static final, 靜態不可修改,當然必須初始化。接口中的所有方法都是public abstract 公開抽象的。而且不能有構造方法。抽象類就比較自由了,和普通的類差不多,可以有抽象方法也可以沒有,可以有正常的方法,也可以沒有。
那么接口的作用是什么呢?
1、Java單繼承的原因所以需要曲線救國 作為繼承關系的一個補充。
2、把程序模塊進行固化的契約,降低偶合。把若干功能拆分出來,按照契約來進行實現和依賴。(依賴倒置原則)
3、定義接口有利于代碼的規范。(接口分離原則)
接口測試的測試重點:
1、通過性驗證,說白了就是傳遞正確的參數,是否返回正常的結果
2、參數組合,因為參數有必傳和非必傳,參數的類型和長度,以及傳遞時可能業務上的一些限制,所以在設計用例時,就要排列組合這些情況,保證所有情況都能覆蓋到
3、接口的安全性,這個又分為幾種情況:
1)繞過驗證,比如提交訂單時,在傳遞商品價格參數時,修改商品價格,就要看后端有沒有驗證了。或者我支付時,抓個包將訂單金額一改,如果能以我改后的金額支付,那這個借口就有問題了。
2)繞過身份驗證,就是某個功能只有有特殊權限的用戶才能操作,那我傳遞一個普通的用戶,是不是也能操作呢
3)參數是否加密,這個關系到一些賬戶的安全,比如我們在登錄一些網站時,它要將我們的登錄信息進行加密,如果不加密我們的信息就會暴露,危害性極大。
4) 密碼安全規則,設置密碼時復雜程度的校驗。
4、根據業務邏輯來設計用例
Copyright ? 2013-2021 河南云和數據信息技術有限公司 豫ICP備14003305號 ISP經營許可證:豫B-20160281