以基于HTTP協議的接口為例,
1.首先需要了解HTTP協議和協議相關聯的知識,掌握和理解通過URL調用接口的至少兩種常用方法:Get請求和Post請求
2.學會分析接口的測試點:掌握單接口測試要點和場景功能測試要點以及常用的異常場景測試點,并能根據接口文檔編寫測試用例。
達到第1點和第2點,就能進行初步的進行接口測試了。
3.學會批量運行測試用例,完成接口測試自動化和自動生成測試報告以及持續(xù)集成。就能進入項目實戰(zhàn)了。
4.至少要掌握一門語言,如Python,Java,然后學會使用數據庫,Linux后,技能上就達到了中級的水準,如果此時能夠1-2個成熟項目作為經驗,并能恰當的表達,則能順利基本入職接口測試崗位。
5.繼續(xù)向上晉升,則需要掌握接口自動化框架設計思想,并且有自己參與開發(fā)的項目能夠進行展示
6.還需要補充的是,性能測試和安全測試也是接口測試的知識范疇,所以也需要對性能測試和安全測試有一定的理解。
這些技能都是當初在傳智播客學習時候直接結合實例教的,學完出來現在工資都15k了。
我在TestBird做功能測試比較多,但是接口測試和功能測試的流程也是比較類似的。
因為接口測試依賴的主要對象也是需求說明書,所以,最初的流程就是參與需求討論,評審需求。需求確定以后,開發(fā)會根據需求進行接口設計,會產出接口定義,在開發(fā)設計過程中,有能力的話,可以給出一些針對設計的建議,提高可測性,針對需求及設計,進行測試計劃,測試設計,然后還需要和配管確定測試環(huán)境相關的事情。
在開發(fā)完成接口定義之后,就根據需求文檔及接口定義進行測試用例設計,測試用例設計主要從業(yè)務場景,功能,以及異常測試幾個方面考慮。測試用例設計完成后,針對測試用例進行評審,然后,如果開發(fā)代碼部分可測時,即可進入測試了,因為是部分可測,可能會使用到mock方法。
已有測試代碼時,就要進行測試代碼的持續(xù)集成了。當然在最后還會對每個項目進行總結。
對于接口測試來說,項目測試用例的重復運行首先是表現在單個測試用例的獨立性方面的,也就是說,每一個測試用例的運行除了依賴被測對象和對應的數據庫環(huán)境外,是不依賴于其他任何測試用例的,并且這個測試用例執(zhí)行完畢后,對系統(tǒng)來說,也是沒有任何痕跡的,這樣就保證了每個測試用例運行時,都在一個干凈的環(huán)境中運行。要實現測試用例的獨立性,就必須對被測系統(tǒng)的設計有詳細的了解,這樣,不會出現測試用例執(zhí)行后遺漏數據,環(huán)境未改變,另外,還需要對測試用例進行詳細的設計。另外,要保證測試用例的重復使用,還需要做到測試用例的及時更新,在這個方面,我們是做接口測試的人會維護對應的系統(tǒng)的接口測試用例,要保證,代碼每次更新,測試用例都必須全部執(zhí)行通過。
接口測試用例的設計方法其實和功能測試用例的設計方法是類似的,因為接口是需要滿足需求的,而接口測試所依賴的也是需求說明書,但是,因為接口測試畢竟是通過代碼去測試代碼,所以,為了保證覆蓋率,可能會使用到單元測試的方法,具體的測試用例設計,我考慮的如下,請參考,如果有錯誤,一起討論。
輸入參數測試:針對輸入的參數進行測試,也可以說是假定接口參數的不正確性進行的測試,確保接口對任意類型的輸入都做了相應的處理:輸入參數合法,輸入參數不合法,輸入參數為空,輸入參數為null,輸入參數超長;
功能測試:接口是否滿足了所提供的功能,相當于是正常情況測試,如果一個接口功能復雜時推薦對接口用例進行結構劃分,這樣子用例具有更好的可讀性和維護性。
邏輯測試:邏輯測試嚴格講應為單元測試,單元測試應保持內部邏輯的正確性,可單元測試和接口測試界限并不是那么清楚,所以我們也可以從給出的設計文檔中考慮內部邏輯錯誤的分支情況和異常; 異常情況測試:接口實現是否對異常情況都進行了處理,接口輸入參數雖然合法,但是在接口實現中,也會出現異常,因為內部的異常不一定是輸入的數據造成的,而有可能是其他邏輯造成的,程序需要對任何的異常都進行處理。
接口測試是項目測試的一部分 ,它測試的主要對象是接口 ,是測試系統(tǒng)組件間接口的一種測試。
接口測試主要用于檢測外部系統(tǒng)與所測系統(tǒng)之間以及內部各系統(tǒng)之間的交互點。測試的重點是檢查數據交互、傳遞、和控制管理過程以及系統(tǒng)間的相互依賴關系等。
如何設計接口測試用例?首先,明確出發(fā)點,和所有的測試一樣 ,接口測試出發(fā)點是你要證明所測的程序是錯誤的。以這個出發(fā)點為導向 ,你的設計行為就會盡量朝這個方向,更易發(fā)現問題 其次,選擇好測試對象。
對于一個系統(tǒng)做接口測試選擇好的測試對象是接口測試關鍵。一個系統(tǒng)有無數的接口 ,每個接口如果分別測試 ,那將是很痛苦的一件事情,而且任何一個內部接口的變動 ,都將導致我們用例的不可用。
可將這些最外層的接口分為兩類:一類是數據進入系統(tǒng)的接口;一類是數據流出系統(tǒng)的接口。進入系統(tǒng)的接口實際是我們用例的執(zhí)行調用的接口。
可通過變化參數對這些接口進行調用 ,模擬外部的使用;而流出的接口則是我們用例真正該驗證的點。數據從哪里流出,流出時的狀態(tài)如何 ,此時系統(tǒng)又是什么狀態(tài)都是我們所應該驗證的。
然后,確認完整的測試對象的功能:確認外部接口提供給使用這些接口的外部用戶什么樣的功能,外部用戶真正需要什么樣的功能。此兩個功能一定要準確詳細,用例的設計要嚴格按照測試對象功能設計才是正確的用例。
最后當出發(fā)點、對象、功能都確定了,就可以真正設計用例了。下面詳細介紹下如何去設計一個結構好、可讀性高、滲透性強的接口測試用例。
接口測試用例設計和測試用例設計一樣,用例設計的內容應該包括:主要測試功能點、測試環(huán)境、測試數據、執(zhí)行操作以及預期結果。 1)接口測試環(huán)境分為兩種:一種是程序內部的環(huán)境;一種是程序的所調用外部接口的環(huán)境。
2)接口測試測試數據分為接口參數數據和用例執(zhí)行所需系統(tǒng)數據。數據的設計、準備測試用例的數據上需要花費更多的心思。
要通過好的測試數據使用例查找問題。接口參數數據需對每個參數根據測試接口的實際的功能進行分析,在符合業(yè)務邏輯的情況下進行邏輯組合排列 ,不要遺漏了某些邊界值和錯誤點的數據。
每個用例執(zhí)行所需系統(tǒng)數據和接口參數數據盡可能的采用不一樣的數據 ,使用例更容易發(fā)現問題。 3)測試功能點,如果一個接口功能復雜時推薦對接口用例進行結構劃分 ,這樣子用例具有更好的可讀性和維護性。
接口劃分原則為以接口提供的功能點的不同進行合適粒度的劃分。同一功能點的用例又可根據測試環(huán)境的不同、數據的不同進行用例的填充。
4)接口測試用例執(zhí)行操作非常簡單,就是所測接口的調用。 5)預期結果驗證,這也是接口用例設計的很關鍵的一步 ,應該細而不冗余。
每個用例均需驗證 ,避免一個用例中重復做相同的驗證 ,提高測試用例的效率。 如何設計接口測試用例小例子: 簡單劃分可以按照2個基本組成要素進行劃分:1. 參數 2. 業(yè)務 以下為最簡單的一種劃分用例的方法,可能涵蓋不全,但只為說明一種劃分接口用例的方法方式以及需要考慮的測試用例的測試點 為何要如此設計,是為了更好的將用例分類為程序規(guī)定型以及業(yè)務限制型,盡量的保證覆蓋,盡量細化到點的劃分形式來保證工作時間的預估和計劃。
所有的自動化接口的測試用例 都基本圍繞三部曲進行,傳數據,執(zhí)行,校驗返回的數據和期望數據是否一致來構成每個簡單的測試用例。 有清晰的線路和清晰的思維,才能做好整體測試的掌控。
聲明:本網站尊重并保護知識產權,根據《信息網絡傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個月內通知我們,我們會及時刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學習鳥. 頁面生成時間:4.338秒