深圳接口測試?培訓(xùn)
¥詳詢
班制:其它
深圳市川石信息技術(shù)有限公司
深圳接口測試培訓(xùn)
接口測試到底是什么?
測試工程師必備技能
一、什么是接口測試
接口可以分下面幾種
1、系統(tǒng)與系統(tǒng)之間的調(diào)用,比如銀行會提供接口供電子商務(wù)網(wǎng)站調(diào)用,或者說,支付寶會提供接口給淘寶調(diào)用。
2、上層服務(wù)對下層服務(wù)的調(diào)用,比如service層會調(diào)用DAO層的接口,而應(yīng)用層又會調(diào)用服務(wù)層提供的接口,一般會**。
3、服務(wù)之間的調(diào)用,比如注冊用戶時,會先調(diào)用用戶查詢的服務(wù),查看該用戶是否已經(jīng)注冊。而我們所要做的接口測試,先要了解是基于哪一種類型的接口測試,不同類型的接口測試方法可能是不一致的,總體來說,不管是那種類型,我們只要把被測接口當(dāng)做是服務(wù)方,而把我們的測試手段當(dāng)做是客戶方,我們的目的就是,**我們的測試手段,去驗證服務(wù)端滿足了他聲明提供的功能。
4、至于說到具體的測試方法,http協(xié)議的接口測試,一般會用jmeter去測試,jmeter的好處是不用寫測試代碼,直接使用jmeter提供的http請求去測試,也可以使用HTTPClient去測試,好處是可以方便集成和自動化。java接口的測試,則需要編寫測試代碼去測試,有點類似于單元測試,但是需要更多的考慮業(yè)務(wù)場景。
二、接口測試的流程一般是怎么樣的?
1、接口測試的流程其實和功能測試的流程類似,因為接口測試依賴的主要對象也是需求說明書,所以,**初的流程就是參與需求討論,評審需求。
2、需求確定以后,開發(fā)會根據(jù)需求進行接口設(shè)計,會產(chǎn)出接口定義,在開發(fā)設(shè)計過程中,有能力的話,可以給出一些針對設(shè)計的建議,提高可測性,針對需求及設(shè)計,進行測試計劃,測試設(shè)計,然后還需要和配管確定測試環(huán)境相關(guān)的事情。
3、在開發(fā)完成接口定義之后,就根據(jù)需求文檔及接口定義進行測試用例設(shè)計,測試用例設(shè)計主要從業(yè)務(wù)場景,功能,以及異常測試幾個方面考慮。
4、測試用例設(shè)計完成后,針對測試用例進行評審,然后,如果開發(fā)代碼部分可測時,即可進入測試了,因為是部分可測,可能會使用到mock方法。
5、已有測試代碼時,就要進行測試代碼的持續(xù)集成了,我們是使用hudson來進行持續(xù)集成的在項目結(jié)束后,會對每個項目進行總結(jié)
三、接口測試的數(shù)據(jù)準(zhǔn)備,應(yīng)該怎么做呢?
接口測試的數(shù)據(jù)準(zhǔn)備,可以從下面幾個方面去考慮:
1、如果是只測試一次的接口,可以使用硬編碼的方式準(zhǔn)備測試數(shù)據(jù),在寫測試代碼的時候,使用到什么數(shù)據(jù)就寫什么數(shù)據(jù),為了避免數(shù)據(jù)重復(fù),可能比較多的會用到隨機字符或隨機數(shù)
2、可以直接**調(diào)用其他API的方式準(zhǔn)備測試數(shù)據(jù),這種情況在測試**上層服務(wù)的時候比較有用,比如測試團購購買服務(wù),就需要準(zhǔn)備要購買的團購數(shù)據(jù),購買團購的用戶數(shù)據(jù),這個時候,可以直接調(diào)用生產(chǎn)團購的api和生成用戶的api直接生成測試數(shù)據(jù)
3、使用excel或xml準(zhǔn)備測試數(shù)據(jù),這種準(zhǔn)備測試數(shù)據(jù)的方式,主要針對對象數(shù)據(jù)的準(zhǔn)備,比如可以將一條團購數(shù)據(jù)對應(yīng)excel中的一條數(shù)據(jù),因為一般開發(fā)都會使用pojo映射,而在準(zhǔn)備測試數(shù)據(jù)的時候,這些pojo對象屬性的設(shè)置往往是重復(fù)和大工作量的,用excel或XML方式準(zhǔn)備,則可以減少在代碼當(dāng)中重復(fù)去準(zhǔn)備這些數(shù)據(jù)。
4、也可以使用工具方法的形式去準(zhǔn)備測試數(shù)據(jù),**在代碼中寫工具方法去實現(xiàn)數(shù)據(jù)生成,而在測試代碼中調(diào)用工具方法去得到所需數(shù)據(jù)。
四、接口測試怎么設(shè)計測試用例呢?
接口測試用例的設(shè)計方法其實和功能測試用例的設(shè)計方法是類似的,因為接口是需要滿足需求的,而接口測試所依賴的也是需求說明書,但是,因為接口測試畢竟是**代碼去測試代碼,所以,為了保證覆蓋率,可能會使用到單元測試的方法,具體的測試用例設(shè)計如下:輸入?yún)?shù)測試:
1、針對輸入的參數(shù)進行測試,也可以說是假定接口參數(shù)的不正確性進行的測試,確保接口對任意類型的輸入都做了相應(yīng)的處理:輸入?yún)?shù)合法,輸入?yún)?shù)不合法,輸入?yún)?shù)為空,輸入?yún)?shù)為null,輸入?yún)?shù)超長;
2、功能測試:接口是否滿足了所提供的功能,相當(dāng)于是正常情況測試,如果一個接口功能復(fù)雜時推薦對接口用例進行結(jié)構(gòu)劃分,這樣子用例具有更好的可讀性和維護性;
3、邏輯測試:邏輯測試嚴(yán)格講應(yīng)為單元測試,單元測試應(yīng)保持內(nèi)部邏輯的正確性,可單元測試和接口測試界限并不是那么清楚,所以我們也可以從給出的設(shè)計文檔中考慮內(nèi)部邏輯錯誤的分支情況和異常;
4、異常情況測試:接口實現(xiàn)是否對異常情況都進行了處理,接口輸入?yún)?shù)雖然合法,但是在接口實現(xiàn)中,也會出現(xiàn)異常,因為內(nèi)部的異常不一定是輸入的數(shù)據(jù)造成的,而有可能是其他邏輯造成的,程序需要對任何的異常都進行處理。
五、接口測試盒單元測試有什么區(qū)別?接口測試和白盒測試又有什么區(qū)別?
單元測試是針對具體的代碼邏輯進行測試,主要測試被測代碼的一個很小的、很明確的功能是否正確。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數(shù)的行為。例如,你可能把一個很大的值放入一個有序list 中去,然后確認(rèn)該值出現(xiàn)在list 的尾部?;蛘?,你可能會從字符串中刪除匹配某種模式的字符,然后確認(rèn)字符串確實不再包含這些字符了。盡量減少這些功能單元集成起來出錯的可能性,單元測試一般是由開發(fā)人員自己去完成,單元測試可能不會考慮業(yè)務(wù)是如何的,會更多的考慮,我這個單元模塊邏輯是否正確。
接口測試指的是針對程序內(nèi)部的或者外部的接口進行的測試,一個接口方法可能會包含多個單元模塊,而且,一個接口會有自己特定的業(yè)務(wù)定義,所以,做接口測試的時候,更多的需要從業(yè)務(wù)的角度去考慮如何測試這個接口。
不管是接口測試還是單元測試,其實都屬于白盒測試的一個階段,白盒測試具體的方法有很多種,比如代碼審查,比如代碼覆蓋。
前景待遇:
課程特色:
講師介紹:
上課時間:
周末脫產(chǎn)班,周末上課,合計12天,96課時。全程項目訓(xùn)練,老師一對一輔導(dǎo)!
公司介紹:
川石信息成立于2013年,專注于軟件測試領(lǐng)域,自主研發(fā)軟件測試工具。秉承“一切以客戶價值為依歸”的經(jīng)營理念,為客戶提供全球領(lǐng)先的軟件測試整體解決方案,為行業(yè)培養(yǎng)優(yōu)秀的軟件測試人才。
插入公司環(huán)境圖1
截止目前公司已經(jīng)和1000余家知名企業(yè)建立戰(zhàn)略合作伙伴關(guān)系,為企業(yè)輸送上千名專業(yè)的軟件測試工程師。同時,為眾多國際一流企業(yè)提供持續(xù)改進研發(fā)流程解決方案。
插入合作伙伴圖
目前公司已經(jīng)匯聚了國內(nèi)頂尖的軟件測試技術(shù)專家,這些專家均曾在國內(nèi)外知名IT企業(yè)從事軟件測試工作多年,加盟川石之后,專注于軟件測試技術(shù)和思想的研究,并在為各行業(yè)客戶實施服務(wù)的過程中,積累了豐富的軟件測試實踐經(jīng)驗,形成了公司獨有的軟件測試整體解決方案。
公司堅持“技術(shù)創(chuàng)新,持續(xù)改變”,以為IT企業(yè)提供“一站式服務(wù)”作為戰(zhàn)略目標(biāo),提供持續(xù)改進軟件質(zhì)量服務(wù)、企業(yè)人才建設(shè)服務(wù)、質(zhì)量體系服務(wù)。
聯(lián)系人:蘇老師
熱線電話:18988787201
手機:18676348600
微信:SC26641392