国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

不用寫代碼,也能做好接口測試

idisfkj / 1187人閱讀

摘要:接口測試形式單個接口測試包含性能測試和通過接口調(diào)用進(jìn)行場景測試。充分來說就是接口測試相對容易實(shí)現(xiàn)自動化持續(xù)集成。

本文你將了解到

1、接口測試基本概念,包含什么是接口,什么是接口測試,為什么要做接口測試
2、接口測試用例設(shè)計(jì)
3、怎樣不用寫代碼,也能快速的根據(jù)開發(fā)的API文檔完成接口自動化測試腳本

注:如果你對接口基本概念和接口測試用例已熟悉,可以直接跳過,其實(shí)看一遍也無防,就當(dāng)作 溫故知新了。
適合本文人群

1、之前學(xué)習(xí)接口測試從入門到放棄的初級測試工程師
2、想快速完成 接口測試腳本編寫的測試工程師(強(qiáng)烈推薦)
3、因某種原因(比如公司沒有專職測試人員),需要自己寫接口測試腳本的開發(fā)人員(強(qiáng)烈推薦)

一、接口測試基本概念

首先了解被 測試對象:接口

接口是指外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各子系統(tǒng)之間的交互點(diǎn)。

包括外部接口、內(nèi)部接口,內(nèi)部接口又包括:上層服務(wù)與下層服務(wù)接口(比如serivce層調(diào)用DAO層接口)、同級接口(比如用戶注冊,會先調(diào)用查詢用戶信息的接口,查看該用戶是否已經(jīng)注冊)。

不管是內(nèi)部接口還是外部接口,一般是以API形式出現(xiàn),通常在規(guī)范的API接口文檔中,應(yīng)該包含:接口描述、接口URL、請求方式、請求參數(shù)、參數(shù)類型、參數(shù)含義說明、取值限制、是否必填、返回參數(shù)、成功與失敗示例等。


然后了解對接口進(jìn)行的測試活動:接口測試

廣義的理解 接口測試就是,對模塊或系統(tǒng)間接口進(jìn)行測試;

狹義的理解接口測試就是,對接口的入?yún)ⅰ⒔涌谔幚磉壿嫛⒃O(shè)計(jì)的返回內(nèi)容進(jìn)行測試。

接口測試形式:單個接口測試(包含性能測試)和通過接口調(diào)用進(jìn)行場景測試。

接口測試原理:通過工具或自己擼代碼,模擬客戶端(根據(jù)測試用例定義請求參數(shù))向服務(wù)器端請求訪問接口,檢查服務(wù)器端返回內(nèi)容是否與預(yù)期值一致。

接口測試流程(僅指迭代中的流程):需求評審 -> 接口定義 -> 用例設(shè)計(jì) -> 腳本編寫 -> 執(zhí)行腳本 -> 結(jié)果分析


最后了解做接口測試的意義,即:為什么要做接口測試

簡單來說就是,降低測試成本,提高開發(fā)效率。

充分來說就是:

1、接口測試相對容易實(shí)現(xiàn)自動化持續(xù)集成。
2、接口測試能讓測試提早介入,發(fā)現(xiàn)潛在問題;保證接口質(zhì)量,提高前后端聯(lián)調(diào)開發(fā)效率。
3、接口測試進(jìn)行安全驗(yàn)證比較容易:前后端是否統(tǒng)一校驗(yàn)和敏感信息打印(接口返回內(nèi)容中的敏感信息)是否加密過。

二、接口測試 用例設(shè)計(jì)

這里只說單個接口測試用例設(shè)計(jì),場景接口測試用例設(shè)計(jì)和UI功能的場景測試用例一樣,只是通過調(diào)用接口來實(shí)現(xiàn)而已。

設(shè)計(jì)接口測試用例,主要從接口入?yún)ⅰ⒔涌谔幚磉壿嫛⒔涌诜祷貐?shù)等3個方面入手:

1、設(shè)計(jì)接口入?yún)y試用例,常見參數(shù)類型有:數(shù)值、字符串、數(shù)組或鏈表、結(jié)構(gòu)體

針對這些類型入?yún)ⅲǔN覀兺ㄟ^等價類方法和邊界值方法 去設(shè)計(jì)測試用例

等價類方法:關(guān)注取值為范圍內(nèi)、取值為范圍外的情況;通常會出現(xiàn) 取值在范圍外時,接口沒有正確返回錯誤信息的問題。

邊界值方法:關(guān)注取值范圍的邊界值、入?yún)⒌臄?shù)據(jù)類型邊界值;通常會出現(xiàn)數(shù)據(jù)類型邊界值溢出問題,比如int類型數(shù)據(jù)的最大值和最小值時。

為了補(bǔ)充用例,還要考慮特殊值的情況,比如0、空、null、負(fù)數(shù)、非特定類型值和重復(fù)值等;通常會出現(xiàn)接口沒有正確處理邏輯導(dǎo)致異常退出的問題。


2、設(shè)計(jì)接口處理邏輯測試用例,主要是驗(yàn)證前后端是否統(tǒng)一校驗(yàn)

針對接口處理邏輯,通過從以角度分析:

約束條件分析,常見的約束條件:數(shù)值限制、狀態(tài)限制(登陸狀態(tài))、關(guān)系限制(綁定了某種關(guān)系)、權(quán)限限制(會員、非會員等)。

操作對象分析,比如項(xiàng)目ID為PJ000屬于用戶A的,訪問這個項(xiàng)目的接口,需要傳項(xiàng)目ID,用戶B傳參時,使用PJ000這的ID時,檢查是否應(yīng)該不能訪問這個項(xiàng)目。

狀態(tài)轉(zhuǎn)換分析,比如優(yōu)惠券已使用,是否通過接口仍能使用等情況。

時序分析,比如不按流程順序執(zhí)行,是否出現(xiàn)數(shù)據(jù)異常情況。


3、設(shè)計(jì)接口返回參數(shù)測試用例

針對接口處理邏輯,通過從以下角度分析:

返回結(jié)果分析,覆蓋所有返回碼。

接口超時分析,接口超時通常會出現(xiàn),未進(jìn)行超時處理,導(dǎo)致流程阻塞或超時后,又收到接口返回,導(dǎo)致邏輯出錯。


三、不用寫代碼,也能做好接口測試:No Code, Still API Test

不用寫代碼,也能做好接口測試,當(dāng)然需要借助神器,才能完成這項(xiàng)工作,這個神器叫做:eolinker,官網(wǎng) https://www.eolinker.com

在用eolinker之前,我是用jmeter做接口測試的,用jmeter之前是用python requests,覺得jmeter效率更高,效率高體現(xiàn)在:

1、測試不需要寫代碼,大家知道 測試用代碼寫測試腳本跟開發(fā)寫產(chǎn)品代碼一樣,需要編寫-調(diào)試-測試-維護(hù),對于測試來講,需要消耗太多時間和精力,除非公司有專人做測試開發(fā)。

2、UI模式,填空就可以,很簡單,最多就是用Beanshell寫少量的函數(shù)調(diào)用或斷言


做接口測試只是用到eolinker的自動化測試功能模塊,其他功能去官網(wǎng)注冊賬號后,自行了解,這里只說下eoLinker 自動化測試功能模塊的特點(diǎn),也是我選用的理由:

1、開發(fā)的API文檔編寫和測試的接口測試腳本編寫,可以都在eolinker上進(jìn)行,所以寫測試腳本時,可以直接從eolinker的API文檔功能模塊中,導(dǎo)入API接口,寫測試腳本只需添加斷言,和要傳的參數(shù)即可。

2、支持UI和Code兩個編寫模式,就是說可以通過UI填空方式完成測試腳本設(shè)計(jì),也可以通過寫JS代碼,完成測試腳本設(shè)計(jì),官方有教程。

3、調(diào)用之前接口的返回參數(shù)內(nèi)容,作當(dāng)前接口的請求參數(shù),eolinker提供了 關(guān)聯(lián)功能,只要點(diǎn)點(diǎn)點(diǎn)就可以完成,比Jmeter還要便捷。

4、還提供比較高級的代碼注入功能,可以在請求接口前,做一些前置處理,比如請求參數(shù)值加密等,也可以把返回內(nèi)容進(jìn)行后置處理,比如把接口的返回內(nèi)容中某個字段值,設(shè)成全局變量

5、測試結(jié)果斷言提供4種方式:Json校驗(yàn)、XML校驗(yàn)、完全匹配、正則匹配,用的最多是Json校驗(yàn),如果想校驗(yàn)?zāi)硞€字段內(nèi)容,不需寫正則,只要直接要校驗(yàn)的字段名就可以了。

6、可以定時執(zhí)行測試用例,執(zhí)行完后,發(fā)送測試報(bào)告到指定人員郵箱中。


編寫接口測試用例腳本 工作流程:開發(fā)編寫API接口文檔 -> 導(dǎo)入開發(fā)的API接口,測試根據(jù)編寫好的測試用例,編寫測試用例

拿eolinker的一個“添加接口項(xiàng)目接口”測試為例,做以下工作:

1、編寫添加名為“添加接口項(xiàng)目”和“查詢項(xiàng)目列表”API接口文檔
2、導(dǎo)入API接口,編寫“添加項(xiàng)目成功”測試用例:

a. 添加項(xiàng)目,校驗(yàn)返回碼。

b. 調(diào)用“查詢項(xiàng)目列表接口”,檢查項(xiàng)目是否成功添加。(像這種新增接口,我以前校驗(yàn),用過連接數(shù)據(jù)庫,然后查表內(nèi)容,發(fā)現(xiàn)執(zhí)行腳本的時候,速度有點(diǎn)慢,后來改用調(diào)用查詢列表接口的方法校驗(yàn))

3、執(zhí)行測試腳本,查看測試報(bào)告。

Pre 準(zhǔn)備

接口1:添加接口項(xiàng)目接口

添加接口項(xiàng)目接口的請求頭

添加接口項(xiàng)目接口的返回內(nèi)容


接口2:查詢項(xiàng)目列表接口

查詢項(xiàng)目列表接口的請求頭

查詢項(xiàng)目列表接口的返回內(nèi)容


從上面得到2個接口API文檔信息:

注:實(shí)際項(xiàng)目中是有一份開發(fā)寫好的API文檔,可能是Word上,可能是RAP上,也有可能是在eolinker上,我在這里只是為了舉例,通過F12取了2個接口的信息(如下面),寫了2個不完整的API文檔作為本文的操作示例。

接口1:添加接口項(xiàng)目接口

接口URL:https://www.eolinker.com/apiM...
請求方法:POST
請求參數(shù):

companyHashKey
projectName
projectVersion:1.0
projectType:0

返回內(nèi)容:

{"type":"project","statusCode":"000000","projectHashKey":"Nr2PNlf82c6a7995d30286e041944fd40e4c01d58b3edeb"}

接口2:查詢項(xiàng)目列表接口

接口URL:https://www.eolinker.com/apiM...
請求方法:POST
請求參數(shù):companyHashKey

返回內(nèi)容:

{"type":"project","itemNum":4,"statusCode":"000000","projectList":[{"projectHashKey":"83uUHhud0519435001f268f0871eee88090cc68dc00cac7","projectName":"demo_project","projectType":0,"projectDesc":"","projectUpdateTime":"2018-10-08 18:26:57","projectVersion":"1.0","userType":0,"permission":{"userType":0,"endTime":"2099-01-01","isExpire":0}}]}

Step 1 編寫添加名為“添加API接口管理項(xiàng)目”和“查詢項(xiàng)目列表”API接口文檔

1、 添加API接口管理項(xiàng)目接口 API文檔

2、 查詢項(xiàng)目列表接口 API文檔


Step 2 導(dǎo)入API接口,編寫“添加項(xiàng)目成功”測試用例
注:這里訪問接口需要登錄,這次就不說接口授權(quán)的內(nèi)容了,后面會做個專題,這里我直接用cookie模擬登錄狀態(tài)

導(dǎo)入API接口,添加項(xiàng)目,校驗(yàn)返回碼

注:這里用到了正則,因?yàn)榉祷氐膒rojectList是數(shù)組,JSON校驗(yàn)中,目前不支持?jǐn)?shù)組校驗(yàn)

將導(dǎo)入的API接口編輯成測試用例腳本


Step 3 執(zhí)行測試腳本查看測試報(bào)告

執(zhí)行測試腳本,查看測試報(bào)告

如此,就很快速地完成了一個測試用例腳本的編寫啦!(點(diǎn)下 全部測試,去泡杯茶,回來看測試報(bào)告的日子,指日可待!!)

補(bǔ)充:

1、關(guān)于登錄,獲取接口授權(quán)的處理,可以寫到前置用例中(也有后置用例),如同python unittest的setUp與tearDown作用。
2、有多帶帶的環(huán)境管理模塊,包含設(shè)置默認(rèn)的hostname、請求頭部信息、全局變量和額外參數(shù)等,上個圖看下

環(huán)境管理界面

最后總結(jié):

本文向接口測試學(xué)習(xí)者描述了接口、接口測試為何物,通過對接口測試的基本概念了解,再掌握接口測試用例的設(shè)計(jì)方法及思路,最后借助優(yōu)秀的工具,達(dá)到簡易、快速的工作效果;

個人看法,不喜勿噴:有些測試可能為了表現(xiàn)自己也是個開發(fā)人員,會寫代碼,便使用大量的代碼去寫自動化測試腳本,文中我也提到測試寫代碼是有很大成本的,當(dāng)然不是說不建議測試會開發(fā),

我們可以去開發(fā)一些測試工具來協(xié)助自己的測試工作,一來鍛煉開發(fā)能力,二來了解軟件運(yùn)作原理,方便測試過程中,更清楚軟件內(nèi)部結(jié)構(gòu);

項(xiàng)目通常給我們測試的時間不多,為了保障項(xiàng)目按質(zhì)按量按時的完成,簡易、快速的工作狀態(tài)是我們所迫切的,所以我們可以借助一些優(yōu)秀的工具去達(dá)到我們的目的。

END...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/29489.html

相關(guān)文章

  • 程序人生 | 0基礎(chǔ)成功轉(zhuǎn)行IT軟件測試,坐標(biāo)上海薪資2w,分享下我本科畢業(yè)2年轉(zhuǎn)行的經(jīng)歷!

    摘要:在這種情況下,跟繼續(xù)死熬下去相比,轉(zhuǎn)行,或許是最不壞的選擇。轉(zhuǎn)行是個不容易的過程,轉(zhuǎn)行之后的技能積累和學(xué)習(xí)過程也是不容易的。最好是有經(jīng)驗(yàn)的人帶你,有大腿抱,學(xué)習(xí)效率極高,這個我深有體會。 如題,本人一個普通二本大學(xué)機(jī)械專業(yè)畢業(yè),14年畢業(yè),16年轉(zhuǎn)行,目前做IT行業(yè)的軟件測試已經(jīng)有3年多,...

    Carson 評論0 收藏0
  • 畢業(yè)3年,從銷售轉(zhuǎn)行測試工程師,我已不是那個叛逆少年...

    摘要:大家好,我是一名轉(zhuǎn)行人。會了以上這些內(nèi)容,只能說是能夠獲得一份工作,但是現(xiàn)在行業(yè)招人的要求原來越高,搞定自動化或者性能測試,才能拿到以上的月薪。機(jī)會只留給有準(zhǔn)備的人,這是一個靠本事的社會。 大家好,我是一名IT轉(zhuǎn)行人。2017年畢業(yè)于湖南生物機(jī)電職業(yè)學(xué)院,大學(xué)學(xué)的軟件技術(shù)(java)專業(yè),我...

    Yangder 評論0 收藏0
  • 前端如何高效的與后端協(xié)作開發(fā)

    摘要:移動端應(yīng)用一般都運(yùn)行在微信瀏覽器中中手機(jī)瀏覽器中。因?yàn)槲⑿艦g覽器是定制的瀏覽器,一般的遠(yuǎn)程調(diào)試方式都不可用,需要配合特定的工具,如微信開發(fā)者工具。 前端如何高效的與后端協(xié)作開發(fā) 1. 前后端分離 前端與后端的分離,能使前端的開發(fā)脫離后端的開發(fā)模式,擁有更大的自由度,以此便可做前端工程化、組件化、單頁面應(yīng)用等。 可以參考:前后端分離、web與static服務(wù)器分離 2. 盡量避免后端模板...

    rozbo 評論0 收藏0
  • 前端如何高效的與后端協(xié)作開發(fā)

    摘要:移動端應(yīng)用一般都運(yùn)行在微信瀏覽器中中手機(jī)瀏覽器中。因?yàn)槲⑿艦g覽器是定制的瀏覽器,一般的遠(yuǎn)程調(diào)試方式都不可用,需要配合特定的工具,如微信開發(fā)者工具。 前端如何高效的與后端協(xié)作開發(fā) 1. 前后端分離 前端與后端的分離,能使前端的開發(fā)脫離后端的開發(fā)模式,擁有更大的自由度,以此便可做前端工程化、組件化、單頁面應(yīng)用等。 可以參考:前后端分離、web與static服務(wù)器分離 2. 盡量避免后端模板...

    learning 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<