測試介面代碼
Ⅰ java編寫介面測試DEMO
嗯 URLconnection 或者應用 apache 的開源包
Ⅱ 介面測試流程是什麼
1介面測試的定義與分類,以下就是介面測試
介面測試是測試系統組件間介面的一種測試。
主要用於檢測外部系統與系統之間以及系統內部各個子系統之間的交互點。
重點測試數據的交換、傳遞和控制管理過程,以及系統間的相互邏輯依賴關系等等。
這要求對業務邏輯有一定程度上的理解,對數據流向有較好的定位。
介面測試般會用於多系統間交互開發,或者擁有多個子系統的應用系統開發的測試。
介面測試適用於為其他系統提供服務的底層框架系統和中心服務系統,主要測試這些系統對外部提供的介面,驗證其正確性和穩定性。
介面測試同樣適用於一個上層系統中的服務層介面,越往上層,其測試的難度越大。
介面測試實施在多系統多平台的構架下,有著極為高效的成本收益比。
介面測試天生為高復雜性的平台帶來高效的缺陷監測和質量監督能力。平台越復雜,系統越龐大,介面測試的效果越明顯。
介面測試的目的是測試介面,尤其是那些與系統相關聯的外部介面,測試的重點是要檢查數據的交換、傳遞和控制管理過程,還包括處理的次數。外部介面測試一般是作為系統測試來看待的。
不是所有的團隊都可以在一個隔離的測試環境中進行測試工作的,因此使得對外部介面的測試顯得困難。
我們應該確保較早地與相關的組織協調好並確定進行外部介面測試的方案。
有時候相關的組織只是人工的靜態的審閱一次數據而並不真正的用這些數據來測試,這些都增加了實際測試執行中遇到的風險,但有些時候是可以避免的。
介面測試有的公司是歸納在集成測試裡面,也有的公司會放在系統測試階段,不過這個都沒有什麼區別,本質上介面測試就是通過某個功能模塊對外暴露的一個介面地址傳參進行測試。
一般來說介面分為如下三類:
A. 系統與系統之間的調用(如我們一般常見的分享內容到朋友圈或者是微信朋友時,微信會提供介面給這些需要用到分享的應用)上層服務對下層服務的調用(這個理解難度稍微有點大,在我們程序中功能是分層的,那麼屬於上層對底層服務的調用,以後能夠有機會接觸到代碼或者更加稍微復雜點的介面測試就能夠理解。舉個例子,我們的程序框架分為三層,分別是web層:提供給用戶請求的層次;feb遷至層:作為信息傳遞的中轉站;service層:作為程序應用的核心,處理所有的請求
C.服務之間的調用(如添加一條數據時,會先調用數據查詢的服務,查詢該數據是否是重復數據)
不同類型的介面測試方法可能不一致,但總體來說不管是哪種類型,被測介面即為服務,測試手段為客服方,介面測試的目的就是:通過我們的測試手段,去驗證滿足其申明提供的功能。
2如何做介面測試
介面測試的原理:通過測試程序模擬客服端向伺服器發送請求報文,伺服器接收請求報文後對相應的報文做出處理然後再把應答報文發送給客戶端,客戶端接收應答報文這一過程(reques->response)。
介面測試的流程與功能測試有什麼區別呢?從原則上以及流程上講,是沒有啥區別的,都同一套軟體測試流程:需求討論->評審需求->確定需求->產出介面定義->根據需求文檔及介面定義設計測試用例(測試用例主要從業務場景,功能以及異常測試幾個方面考慮)->評審用例->執行測試。
介面測試採用的最基本的就是黑盒測試,在這個測試過程中我們最需要關注的是,如何來設計測試用例,設計測試用例所採用的方法也是我們常所用的幾大方法:等價類、邊界值以及錯誤推測法、場景法。在設計測試用例之前,我們先來看看常見的介面文檔形式。
這就是上圖是一種比較規范的介面文檔說明,包含了如下內容模塊:介面的類型說明、介面地址、http請求方式、輸入參數和請求介面後返回的響應結果。
介面測試編寫測試用例,主要關注點是輸入參數、輸出結果以及內部業務邏輯是否正常『,所以我夢設計用例也要從這幾方面出發考慮:
a)輸入參數測試:針對輸入參數進行的測試,也可以說是假定介面參數的不正確性 進行的測試,確保介面對任意類型的輸入都做了相應的處理:輸入參數合法(不合法),輸入參數為空,為null,輸入參數超長等等;
b)介面是否滿足了所提供的功能,相當正常情況測試,如果一個介面功能復雜時推薦對介面用例進行結構劃分,這樣子用例就有更好的可讀性和可維護性;
c)邏輯測試:邏輯測試嚴格講應為單元測試,單元測試應保持內部邏輯的正確性,可單元測試和介面測試的界限並不是那麼清晰,所以我們也可以從給出的設計文檔中考慮內部邏輯錯誤的分支情況和異常;
d)異常情況介面測試:介面實現是否對異常情況都進行了處理,介面輸入參數雖然合法,但是在介面實現中,也會出現異常,因為內部的異常不一定是輸入的數據造成的,而有可能是其他邏輯造成的,程序需要對任何異常都進行處理;
針對上面的注冊介面,我們利用測試用例設計方法來編寫測試用例,如下所示:
3介面測試的工具選擇
可以進行介面測試的工具有很多,這里簡單介紹幾個:
>loadrunner :一款商業性能測試工具,用來做介面測試,很好很強大。
>jmeter :一款開源的性能測試工具,操作簡單方便,既有jdbc request 操作資料庫數據,也有http request 和 soap request 應對測試;
>httprequester :火狐瀏覽器自帶介面測試工具,插件中安裝即可,界面簡單明了,容易上手。
>postman :谷歌瀏覽器的擴展工具,界面簡潔,開發者比較常用的一款插件工具。
>soapui : 開源測試工具,通過soap/http 來檢查、調用、實現web service的功能/負載/符合性測試。
我們將在後面的教學中,重點講解Jmeter這款綜合性比較高的工具;
Ⅲ 介面是怎樣測試的
對於介面測試,首先測試人員要懂代碼,你只需要知道介面的作用是什麼就可以了(有文檔更好,但大部分都沒有);其次,自己去讀開發的代碼;然後,根據該介面功能及代碼寫測試用例;
用例設計:
1:寫一個程序去調用該介面,看是否能夠達到該介面所定義的功能
2:根據該介面參數,構造不同的用例,測試介面在參數合法及非法情況下能否達到預期效果
3:根據該介面中的邏輯,設計不同條件的用例,測試該介面實現代碼的邏輯
4:進行容錯及健壯性測試
5:靜態檢測代碼,看是否有內存泄露、或永遠走不到的分支、代碼規范及邏輯是否合理。
6:對於一些介面,需要進行多線程測試