自學介面一 基礎介紹

2022-08-29 07:45:10 字數 2093 閱讀 3413

一、什麼是介面測試?

1、系統與系統之間的呼叫

2、上層服務對下層服務的呼叫

二、做介面測試的流程一般是怎麼樣的?

介面測試依賴的主要物件也是需求說明書,所以最初的流程就是參與需求討論,評審需求。需求確定以後,開發會根據需求進行介面設計,會產出介面定義。

根據需求文件及介面定義進行測試用例設計,測試用例設計主要從業務場景,功能,以及異常測試幾個方面考慮。測試用例設計完成後,針對測試用例進行評審,如果開發**部分可測時,即可進入測試了,因為是部分可測,可能會使用到mock方法(mock測試就是在測試過程中,對於某些不容易構造或者不容易獲取的物件,用乙個虛擬的物件來建立以便測試的測試方法。)。(已有測試**時,就要進行測試**的持續整合了,我們是使用jenkins來進行持續整合的)

三、介面測試的資料準備,應該怎麼做呢?

介面測試的資料準備,可以從下面幾個方面去考慮:

1、如果是只測試一次的介面,可以使用硬編碼的方式準備測試資料,在寫測試**的時候,使用到什麼資料就寫什麼資料,為了避免資料重複,可能比較多的會用到隨機字元或隨機數

2、可以直接通過呼叫其他api的方式準備測試資料,這種情況在測試最上層服務的時候比較有用,比如測試**購買服務,就需要準備要購買的**資料,購買**的使用者資料,這個時候,可以直接呼叫生產**的api和生成使用者的api直接生成測試資料

四、介面測試怎麼設計測試用例呢?

介面測試用例的設計方法其實和功能測試用例的設計方法是類似的,因為介面是需要滿足需求的,而介面測試所依賴的也是需求說明書,但是,因為介面測試畢竟是通過**去測試**,所以,為了保證覆蓋率,可能會使用到單元測試的方法,具體的測試用例設計,參考如下:

1.輸入引數測試: 針對輸入的引數進行測試,也可以說是假定介面引數的不正確性進行的測試,確保介面對任意型別的輸入都做了相應的處理:

輸入引數合法,

輸入引數不合法,

輸入引數為空,

輸入引數為null,

輸入引數超長;

2.功能測試:介面是否滿足了所提供的功能,相當於是正常情況測試,如果乙個介面功能複雜時推薦對介面用例進行結構劃分,這樣子用例具有更好的可讀性和維護性。

3.邏輯測試:邏輯測試嚴格講應為單元測試,單元測試應保持內部邏輯的正確性,可單元測試和介面測試界限並不是那麼清楚,所以我們也可以從給出的設計文件中考慮內部邏輯錯誤的分支情況和異常;

4.異常情況測試:

介面實現是否對異常情況都進行了處理,介面輸入引數雖然合法,但是在介面實現中,也會出現異常,因為內部的異常不一定是輸入的資料造成的,而有可能是其他邏輯造成的,程式需要對任何的異常都進行處理。

五、介面測試工具

推薦使用fiddler

六、介面文件組成

1、介面說明

2、呼叫url

3、請求方法(get\post)

4、請求引數、引數型別、請求引數說明

5、返回引數說明

由介面文件可知,介面至少應有請求位址、請求方法、請求引數(入參和出參)組成,部分介面有請求頭header。

七、介面測試怎麼測:

1)、通用介面用例設計

①、通過性驗證:首先肯定要保證這個介面功能是好使的,也就是正常的通過性測試,按照介面文件上的引數,正常傳入,是否可以返回正確的結果。

②、引數組合:現在有乙個操作商品的介面,有個字段type,傳1的時候代表修改商品,商品id、商品名稱、**有乙個是必傳的,type傳2的時候是刪除商品,商品id  是必傳的,這樣的,就要測引數組合了,type傳1的時候,只傳商品名稱能不能修改成功,             id、名稱、**都傳的時候能不能修改成功。

③、介面安全:

繞過驗證,比如說購買了乙個商品,它的**是300元,那我在提交訂單時候,我把這個商品的**改成3元,後端有沒有

2)、根據業務邏輯來設計用例

根據業務邏輯來設計的話,就是根據自己系統的業務來設計用例,這個每個公司的業務不一樣,就得具體的看自己公司的業務了,其實這也和功能測試設計用例是一樣的。

舉個例子,拿bbs來說,bbs的需求是這樣的:

1、登入失敗5次,就需要等待15分鐘之後再登入

2、新註冊的使用者需要過了實習期才能發帖

3、刪除帖子扣除積分

4、......

像這樣的你就要把這些測試點列出來,然後再去造資料測試對應的測試點。

Java自學 介面與繼承 隱藏

與重寫類似,方法的重寫是子類覆蓋父類的物件方法 隱藏,就是子類覆蓋父類的類方法 步驟 1 父類 父類有乙個類方法 battlewin package charactor public class hero 步驟 2 子類隱藏父類的類方法 package charactor public class ...

Java自學 介面與繼承 重寫

子類可以繼承父類的物件方法 在繼承後,重複提供該方法,就叫做方法的重寫 又叫覆蓋 override 步驟 1 父類item 父類item有乙個方法,叫做effect package property public class item public void effect 步驟 2 子類lifepo...

Java自學 介面與繼承 內部類

內部類分為四種 非靜態內部類 靜態內部類 匿名類本地類 步驟 1 非靜態內部類 非靜態內部類 battlescore 戰鬥成績 非靜態內部類可以直接在乙個類裡面定義 比如 戰鬥成績只有在乙個英雄物件存在的時候才有意義 所以例項化battlescore 的時候,必須建立在乙個存在的英雄的基礎上 語法 ...