接口測試

什么是接口?

一般來說接口有兩種维费,一種是程序內(nèi)部的接口果元,一種是系統(tǒng)對外的接口。廣義來說掩完,客戶端與后臺服務(wù)間的協(xié)議噪漾;插件間通信的接口;模塊間的接口且蓬;再小到一個類提供的方法欣硼;都可以理解為接口。

系統(tǒng)對外的接口:

如果我們要從網(wǎng)站或服務(wù)器上獲取資源或信息恶阴,網(wǎng)站肯定不會把數(shù)據(jù)庫共享給你诈胜,它只會給你提供一個寫好的方法來獲取數(shù)據(jù),我們通過引用它提供的接口就能獲取數(shù)據(jù)冯事。

程序內(nèi)部的接口:

它是方法與方法之間焦匈,模塊與模塊之間的交互,也是程序內(nèi)部拋出的接口昵仅。比如一個web項目缓熟,有登錄、新增摔笤,修改够滑,刪除等等,那么這幾個模塊會有交互吕世,會拋出一個接口彰触,供內(nèi)部系統(tǒng)進行調(diào)用。

接口的組成

一個完整的接口應(yīng)該包含以下內(nèi)容:

1. 接口說明

2. 調(diào)用的url

3. 請求方法(get\post)

4. 請求參數(shù)命辖、參數(shù)類型况毅、請求參數(shù)說明

5. 返回參數(shù)說明

接口至少應(yīng)有請求地址分蓖、請求方法、請求參數(shù)(入?yún)⒑统鰠ⅲ┒恚糠纸涌谟姓埱箢^header么鹤。header是服務(wù)器以HTTP協(xié)議傳HTML資料到瀏覽器前所送出的字串,一般存放cookie母债、token等信息午磁。

header和入?yún)⑹怯袇^(qū)別的。header一般存放的是一些校驗信息比如cookie毡们,它是為了校驗這個請求是否有權(quán)限請求服務(wù)器迅皇。如果有權(quán)限它才能請求服務(wù)器,然后把請求地址連同入?yún)⒁黄鸢l(fā)送到服務(wù)器衙熔,然后服務(wù)器會根據(jù)地址和入?yún)矸祷爻鰠⒌峭恰R簿褪钦f,服務(wù)器是先接受header信息進行判斷該請求是否有權(quán)限請求红氯,判斷有權(quán)限后框咙,才會接受請求地址和入?yún)ⅰ?/p>

常見的接口類型

1、webService接口

它使用soap協(xié)議并通過http傳輸痢甘,請求報文和返回報文都是xml格式的喇嘱,我們在測試的時候通過工具才能進行調(diào)用∪ぃ可以使用的工具有SoapUI者铜、jmeter。

2放椰、http-api接口

它使用http協(xié)議作烟,通過路徑來區(qū)分調(diào)用的方法,請求報文都是key-value形式的砾医,返回報文一般都是json串拿撩,有g(shù)et和post等方法,這也是最常用的兩種請求方式如蚜⊙购悖可以使用的工具有postman、jmeter等错邦。

前端和后端

前端

咱們使用的網(wǎng)頁涎显,打開的網(wǎng)站,都是前端兴猩。包括Web頁面的結(jié)構(gòu)、Web的外觀視覺表現(xiàn)以及Web層面的交互實現(xiàn)早歇;

后端

我們在頁面上進行操作的時候倾芝,這些業(yè)務(wù)邏輯讨勤、功能,比如說新增晨另,修改潭千,刪除這些功能是由后端來實現(xiàn)的。后端更多的是與數(shù)據(jù)庫進行交互去處理相應(yīng)的業(yè)務(wù)邏輯借尿。需要考慮的是如何實現(xiàn)功能刨晴、數(shù)據(jù)的存取、平臺的穩(wěn)定性與性能等路翻。

前端和后端通過接口進行交互狈癞。前端頁面通過調(diào)用后端接口來實現(xiàn)功能、數(shù)據(jù)的存取茂契,將數(shù)據(jù)展現(xiàn)在用戶面前蝶桶。

接口測試定義

1、接口測試是測試系統(tǒng)組件之間接口的一種測試方法

2掉冶、它用于檢測外部系統(tǒng)與系統(tǒng)之間以及系統(tǒng)內(nèi)部各個子系統(tǒng)之間的交互

3真竖、重點是要檢查數(shù)據(jù)的交換,以及系統(tǒng)間的相互邏輯依賴關(guān)系等

4厌小、接口測試就是通過測試不同情況下的入?yún)⑴c之相應(yīng)的出參信息來判斷接口是否符合或滿足相應(yīng)的功能性恢共、安全性要求。

接口測試意義

1璧亚、系統(tǒng)復(fù)雜度不斷上升讨韭,傳統(tǒng)的測試方法成本急劇增加且測試效率大幅下降,所以要做接口測試涨岁。

2拐袜、接口測試相對容易實現(xiàn)。且接口自動化相對UI自動化也較穩(wěn)定梢薪。減少人工回歸測試人力成本與時間蹬铺,縮短測試周期,支持快速迭代秉撇。

3甜攀、由于很多系統(tǒng)前后端是分離的,所以從安全層面來說琐馆,只依賴前端進行限制已經(jīng)完全不能滿足系統(tǒng)的安全要求(繞過前端很容易)规阀, 需要后端也進行校驗,在這種情況下就需要從接口層面進行驗證瘦麸。前后端傳輸谁撼、日志打印等信息是否加密傳輸也是需要驗證的,特別是涉及到用戶的隱私信息滋饲,如錢厉碟,身份信息等喊巍。

接口測試的價值

1、更早發(fā)現(xiàn)問題

測試應(yīng)該更早的介入到項目開發(fā)中箍鼓,因為越早的發(fā)現(xiàn) bug崭参,修復(fù)的成本越低。然而功能測試必須要等到系統(tǒng)提供可測試的界面才能對系統(tǒng)進行測試款咖。而接口測試可以功能界面開發(fā)出來之前對系統(tǒng)進行測試何暮。系統(tǒng)接口是上層功能的基礎(chǔ),接口測試可以更早更低成本的發(fā)現(xiàn)和解決問題铐殃。然而海洼,在實際的開發(fā)過程中,開發(fā)人員并沒有充足的時間去編寫單元測試背稼,并且他們往往對自己編寫的代碼迷之自信贰军,不愿意花時間在編寫單元測試上。這個時候接口測試的作用就會變得更加重要蟹肘。

2词疼、縮短產(chǎn)品研發(fā)周期

對于產(chǎn)品研發(fā)周期來說,如果將所有測試工作都集中在功能測試階段帘腹。那么測試的問題和修復(fù)周期就會變長贰盗。因為測試可以更早的介入產(chǎn)品開發(fā)中,所以阳欲,可以有效的控制功能階段 bug的數(shù)量舵盈;從而有效的縮短產(chǎn)品開發(fā)周期。

3球化、發(fā)現(xiàn)更底層的問題

系統(tǒng)的有些底層邏輯是在UI功能測試中不太容易觸發(fā)的秽晚,那么這些邏輯可能會存在問題。接口測試可以更容易更全面的測試到這些底層的邏輯筒愚。

4赴蝇、檢查服務(wù)器的異常處理能力

通常把前端的驗證稱為弱驗證,因為它很容易被繞過巢掺,這個時候如果只站在功能的層面進行測試句伶,就很難發(fā)現(xiàn)一些安全的問題。不以功能為入口的接口測試就會很容易的驗證這些異常情況陆淀。

常見請求

GET和POST請求

如果是get請求的話考余,直接在瀏覽器里輸入就可以,只要在瀏覽器里面直接能請求到的轧苫,都是get請求楚堤,如果是post的請求的話就得借助工具來發(fā)送。

GET請求和POST的區(qū)別

1、GET使用URL或Cookie傳參身冬。而POST將數(shù)據(jù)放在BODY中鳄袍。

2、GET的URL會有長度上的限制吏恭,則POST的數(shù)據(jù)則可以非常大。

3重罪、POST比GET安全樱哼,因為數(shù)據(jù)在地址欄上不可見。

4剿配、一般get請求用來獲取數(shù)據(jù)搅幅,post請求用來發(fā)送數(shù)據(jù)

常見問題:

(1)傳入?yún)?shù)處理不當(dāng),導(dǎo)致程序異常呼胚;?

(2)類型溢出茄唐,導(dǎo)致數(shù)據(jù)讀出和寫入不一致;

(3)因?qū)ο髾?quán)限未進行校驗蝇更,可以訪問其他用戶敏感信息沪编;

(4)狀態(tài)處理不當(dāng),導(dǎo)致邏輯出現(xiàn)錯亂年扩;

(5)邏輯校驗不完善蚁廓,可利用漏洞獲取非正當(dāng)利益等

接口測試場景設(shè)計

1. 接口文檔的規(guī)范性檢查

2. 接口前置的檢查

3. 接口邏輯實現(xiàn)功能的檢查

4. 請求參數(shù)合法性的檢查

5. 請求參數(shù)屬性的檢查

6. 請求參數(shù)異常處理的檢查

7. 響應(yīng)體的結(jié)構(gòu)性檢查

8. 響應(yīng)數(shù)據(jù)的正確性檢查

9. 異常響應(yīng)的檢查

10. 響應(yīng)圖片的檢查

11. 對舊版本的兼容性檢查

12. 業(yè)務(wù)邏輯中的角色權(quán)限檢查

13. 業(yè)務(wù)邏輯中的參數(shù)依賴性檢查

接口測試流程

接口測試的流程其實和功能測試的流程類似,它依賴的主要對象是需求說明書厨幻,所以相嵌,最初流程是參與需求評審。

需求確定以后况脆,開發(fā)會根據(jù)需求進行接口設(shè)計饭宾,會給出接口定義。在開發(fā)設(shè)計過程中格了,測試可以給出一些針對設(shè)計的建議看铆,提高可測性,針對需求及設(shè)計笆搓,指定測試計劃性湿。

在開發(fā)完成接口定義之后,需要根據(jù)需求文檔及接口定義設(shè)計測試用例與導(dǎo)圖满败。測試用例設(shè)計主要從業(yè)務(wù)場景肤频,功能,以及異常測試幾個方面考慮算墨。

測試用例設(shè)計完成后宵荒,針對測試用例進行評審。測試人員可以提前介入開發(fā)的接口聯(lián)調(diào)階段。

在項目結(jié)束后报咳,需要對每個項目進行總結(jié)侠讯。

接口響應(yīng)狀態(tài)碼

http請求狀態(tài)碼詳細(xì)

使用ASP.NET/PHP/JSP 或者javascript都會用到http的不同狀態(tài),一些常見的狀態(tài)碼為:200 – 服務(wù)器成功返回網(wǎng)頁 404 – 請求的網(wǎng)頁不存在 503 – 服務(wù)不可用暑刃。

1xx(臨時響應(yīng))表示臨時響應(yīng)并需要請求者繼續(xù)執(zhí)行操作的狀態(tài)代碼

100(繼續(xù))請求者應(yīng)當(dāng)繼續(xù)提出請求厢漩。服務(wù)器返回此代碼表示已收到請求的第一部分,正在等待其余部分岩臣。

101(切換協(xié)議)請求者已要求服務(wù)器切換協(xié)議溜嗜,服務(wù)器已確認(rèn)并準(zhǔn)備切換。

2xx (成功)表示成功處理了請求的狀態(tài)代碼

200(成功)服務(wù)器已成功處理了請求架谎。通常炸宵,這表示服務(wù)器提供了請求的網(wǎng)頁。

201(已創(chuàng)建)請求成功并且服務(wù)器創(chuàng)建了新的資源谷扣。

202(已接受)服務(wù)器已接受請求土全,但尚未處理。

203(非授權(quán)信息)服務(wù)器已成功處理了請求会涎,但返回的信息可能來自另一來源裹匙。

204(無內(nèi)容)服務(wù)器成功處理了請求,但沒有返回任何內(nèi)容在塔。

205(重置內(nèi)容)服務(wù)器成功處理了請求幻件,但沒有返回任何內(nèi)容。

206(部分內(nèi)容)服務(wù)器成功處理了部分 GET 請求蛔溃。

3xx (重定向)表示要完成請求绰沥,需要進一步操作。通常贺待,這些狀態(tài)代碼用來重定向

300(多種選擇)針對請求徽曲,服務(wù)器可執(zhí)行多種操作。服務(wù)器可根據(jù)請求者 (user agent) 選擇一項操作麸塞,或提供操作列表供請求者選擇秃臣。

301(永久移動)請求的網(wǎng)頁已永久移動到新位置。服務(wù)器返回此響應(yīng)(對 GET 或 HEAD 請求的響應(yīng))時哪工,會自動將請求者轉(zhuǎn)到新位置奥此。

302(臨時移動)服務(wù)器目前從不同位置的網(wǎng)頁響應(yīng)請求,但請求者應(yīng)繼續(xù)使用原有位置來進行以后的請求雁比。

303(查看其他位置)請求者應(yīng)當(dāng)對不同的位置使用單獨的 GET 請求來檢索響應(yīng)時稚虎,服務(wù)器返回此代碼。

304(未修改)自從上次請求后偎捎,請求的網(wǎng)頁未修改過蠢终。服務(wù)器返回此響應(yīng)時序攘,不會返回網(wǎng)頁內(nèi)容。

305(使用代理)請求者只能使用代理訪問請求的網(wǎng)頁寻拂。如果服務(wù)器返回此響應(yīng)程奠,還表示請求者應(yīng)使用代理。

307(臨時重定向)服務(wù)器目前從不同位置的網(wǎng)頁響應(yīng)請求祭钉,但請求者應(yīng)繼續(xù)使用原有位置來進行以后的請求瞄沙。

4xx(請求錯誤)這些狀態(tài)代碼表示請求可能出錯,妨礙了服務(wù)器的處理

400(錯誤請求)服務(wù)器不理解請求的語法慌核。

401(未授權(quán))請求要求身份驗證帕识。對于需要登錄的網(wǎng)頁,服務(wù)器可能返回此響應(yīng)遂铡。

403(禁止)服務(wù)器拒絕請求。

404(未找到)服務(wù)器找不到請求的網(wǎng)頁晶姊。

405(方法禁用)禁用請求中指定的方法扒接。

406(不接受)無法使用請求的內(nèi)容特性響應(yīng)請求的網(wǎng)頁。

407(需要代理授權(quán))此狀態(tài)代碼與 401(未授權(quán))類似们衙,但指定請求者應(yīng)當(dāng)授權(quán)使用代理钾怔。

408(請求超時)服務(wù)器等候請求時發(fā)生超時。

409(沖突)服務(wù)器在完成請求時發(fā)生沖突蒙挑。服務(wù)器必須在響應(yīng)中包含有關(guān)沖突的信息宗侦。

410(已刪除)如果請求的資源已永久刪除,服務(wù)器就會返回此響應(yīng)忆蚀。

411(需要有效長度)服務(wù)器不接受不含有效內(nèi)容長度標(biāo)頭字段的請求矾利。

412(未滿足前提條件)服務(wù)器未滿足請求者在請求中設(shè)置的其中一個前提條件。

413(請求實體過大)服務(wù)器無法處理請求馋袜,因為請求實體過大男旗,超出服務(wù)器的處理能力。

414(請求的 URI 過長)請求的 URI(通常為網(wǎng)址)過長欣鳖,服務(wù)器無法處理察皇。

415(不支持的媒體類型)請求的格式不受請求頁面的支持。

416(請求范圍不符合要求)如果頁面無法提供請求的范圍泽台,則服務(wù)器會返回此狀態(tài)代碼什荣。

417(未滿足期望值)服務(wù)器未滿足”期望”請求標(biāo)頭字段的要求。

5xx(服務(wù)器錯誤)這些狀態(tài)代碼表示服務(wù)器在嘗試處理請求時發(fā)生內(nèi)部錯誤怀酷。這些錯誤可能是服務(wù)器本身的錯誤

500(服務(wù)器內(nèi)部錯誤)服務(wù)器遇到錯誤稻爬,無法完成請求。

501(尚未實施)服務(wù)器不具備完成請求的功能胰坟。例如因篇,服務(wù)器無法識別請求方法時可能會返回此代碼泞辐。

502(錯誤網(wǎng)關(guān))服務(wù)器作為網(wǎng)關(guān)或代理,從上游服務(wù)器收到無效響應(yīng)竞滓。

503(服務(wù)不可用)服務(wù)器目前無法使用(由于超載或停機維護)咐吼。通常炭臭,這只是暫時狀態(tài)蓬网。

504 (網(wǎng)關(guān)超時)服務(wù)器作為網(wǎng)關(guān)或代理晚岭,但是沒有及時從上游服務(wù)器收到請求川尖。

505(HTTP 版本不受支持)服務(wù)器不支持請求中所用的 HTTP 協(xié)議版本书闸。

511 Network Authentication Required (要求網(wǎng)絡(luò)認(rèn)證)

接口用例設(shè)計

一個接口通常是有輸入輸出的秒咨,輸入就是我們常見的入?yún)⑻懊恚敵鰟t時有時無糯耍。調(diào)用相關(guān)接口抓半,接口會執(zhí)行相關(guān)處理邏輯喂急。

接口測試的用例設(shè)計,主要從輸入和接口處理兩方面考慮:

1)針對輸入笛求,可按照參數(shù)類型進行設(shè)計廊移;

2)針對接口處理,可按照邏輯進行用例設(shè)計探入;

3)針對輸出狡孔,可根據(jù)結(jié)果進行分析設(shè)計

針對輸入設(shè)計

對于接口來說,輸入就是入?yún)⒎渌浴3R妳?shù)類型有:

(1)數(shù)值型(int,long,float,double等)

(2)字符串類型

(3)數(shù)組或鏈表

(4)結(jié)構(gòu)體

可能出現(xiàn)的問題和風(fēng)險

傳入非特定類型程序異常退出

超長字符未進行處理苗膝,導(dǎo)致存儲、顯示等異常

其他用戶可見設(shè)置的敏感字

數(shù)組或鏈表類型

參數(shù)類型為數(shù)組或鏈表時植旧,用例可以考慮

例如批量提交任務(wù)的接口辱揭,參數(shù)用例設(shè)計考慮:

正常取值:1-5個權(quán)限,范圍外:6個權(quán)限病附;

邊界值:1-35的邊界值界阁,請求允許最大最小值;

特殊值:0個胖喳;

合法ID和不合法的泡躯;

重復(fù)的ID等。

可能存在的問題和風(fēng)險:

0個item時程序異常退出丽焊;

重復(fù)的item處理時未去重導(dǎo)致結(jié)果異常等较剃。

針對邏輯設(shè)計

接口需要進行一些邏輯處理的,那么按邏輯設(shè)計用例可以從以下幾個角度分析:

(1)數(shù)值限制技健、分?jǐn)?shù)限制写穴、等級限制等等。例如:兌換Q幣活動要求積分>50才可參與

(2)狀態(tài)限制:登錄狀態(tài)等例如:同步用戶信息需要先登錄賬號雌贱。

(3)權(quán)限限制:管理員等啊送。

約束條件的測試在功能測試中經(jīng)常遇到偿短,在接口測試中更為重要。它的意義在于:用戶進行操作時馋没,在該操作的前端可以已經(jīng)進行了約束條件的限制昔逗,故用戶無法直接觸發(fā)請求該接口。但是實際上篷朵,如果有其他手段:例如通過技術(shù)手段直接調(diào)用接口勾怒,那么接口是否針對這些條件進行了限制就尤為重要。

例如常見的例子:要兌換5Q幣需要200積分声旺,但是我積分不足笔链,所以兌換按鈕是灰色無法點擊的狀態(tài)。但是我是否可以繞過前端直接調(diào)用接口去兌換腮猖?預(yù)期當(dāng)然是不能兌換的鉴扫。因此積分這個數(shù)值限制就需要針對接口進行測試,并且非常重要澈缺。

針對輸出設(shè)計

針對輸出設(shè)計其實是針對接口返回的結(jié)果進行分析:

輸出結(jié)果

接口處理正確的結(jié)果可能只有一個幔妨,但是錯誤異常返回結(jié)果有很多情況很多值。如果知道返回結(jié)果有很多種谍椅,就可以針對不同結(jié)果設(shè)計用例。我們不一定能完全覆蓋所有錯誤碼古话,但是根據(jù)接口返回定義的返回碼可以設(shè)計更多用例雏吭。

常見問題和風(fēng)險

(1)錯誤前端處理不足,導(dǎo)致前端異常陪踩;

(2)錯誤提示處理不當(dāng)杖们,導(dǎo)致用戶看到晦澀的錯誤碼;

(3)錯誤提示不當(dāng)肩狂,導(dǎo)致用戶不知道哪里出了問題摘完,如何解決。

針對接口超時設(shè)計

接口正常情況下是有返回的傻谁,那么如果接口不返回呢孝治?也就是說接口超時后的處理也是測試需要考慮的部分。如果超時處理不當(dāng)审磁,可能會引起以下問題:

(1)未進行超時處理谈飒,導(dǎo)致整個流程阻塞

(2)超時后又收到接口返回,導(dǎo)致邏輯出現(xiàn)錯亂

針對廢棄接口設(shè)計

已廢棄協(xié)議态蒂,是指之前有定義杭措,但是因為需求變更或其他原因,暫時不用钾恢。這些接口雖然不再使用手素,但有可能代碼并沒有及時刪除鸳址。如果利用技術(shù)手段調(diào)用這些接口,可能產(chǎn)生風(fēng)險泉懦。因此新版本在考慮兼容舊版本的同時稿黍,還應(yīng)做好相關(guān)廢棄接口的檢查,避免風(fēng)險祠斧。

常見的問題和風(fēng)險:約束條件判斷不足闻察,導(dǎo)致用戶可通過特殊手段獲取利益。

針對接口合理性設(shè)計

接口定義是否合理可以從以下幾個方面分析:

(1)接口字段是否冗余琢锋;

(2)接口是否冗余辕漂;

(3)接口是否返回了調(diào)用方期望得到的信息;

(4)接口定義是否可滿足所有調(diào)用需求吴超;

(5)接口定義調(diào)用是否方便钉嘹。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市鲸阻,隨后出現(xiàn)的幾起案子跋涣,更是在濱河造成了極大的恐慌,老刑警劉巖鸟悴,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件陈辱,死亡現(xiàn)場離奇詭異,居然都是意外死亡细诸,警方通過查閱死者的電腦和手機沛贪,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來震贵,“玉大人利赋,你說我怎么就攤上這事⌒上担” “怎么了媚送?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵,是天一觀的道長寇甸。 經(jīng)常有香客問我塘偎,道長,這世上最難降的妖魔是什么拿霉? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任式塌,我火速辦了婚禮,結(jié)果婚禮上友浸,老公的妹妹穿的比我還像新娘峰尝。我一直安慰自己,他們只是感情好收恢,可當(dāng)我...
    茶點故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布武学。 她就那樣靜靜地躺著祭往,像睡著了一般。 火紅的嫁衣襯著肌膚如雪火窒。 梳的紋絲不亂的頭發(fā)上硼补,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天,我揣著相機與錄音熏矿,去河邊找鬼已骇。 笑死,一個胖子當(dāng)著我的面吹牛票编,可吹牛的內(nèi)容都是我干的褪储。 我是一名探鬼主播,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼慧域,長吁一口氣:“原來是場噩夢啊……” “哼鲤竹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起昔榴,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤辛藻,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后互订,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吱肌,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年仰禽,在試婚紗的時候發(fā)現(xiàn)自己被綠了氮墨。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡坟瓢,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出犹撒,到底是詐尸還是另有隱情折联,我是刑警寧澤,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布识颊,位于F島的核電站诚镰,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏祥款。R本人自食惡果不足惜清笨,卻給世界環(huán)境...
    茶點故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望刃跛。 院中可真熱鬧抠艾,春花似錦、人聲如沸桨昙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至齐苛,卻和暖如春翘盖,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背凹蜂。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工馍驯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人玛痊。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓汰瘫,卻偏偏與公主長得像,于是被迫代替她去往敵國和親卿啡。 傳聞我的和親對象是個殘疾皇子吟吝,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,851評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 由于平臺服務(wù)器是通過接口來與客戶端交互數(shù)據(jù)提供各種服務(wù),因此服務(wù)器測試工作首先需要進行的是接口測試工作颈娜。測試人員需...
    shadow雨軒閱讀 573評論 0 6
  • 基于Jmeter 工具的接口測試 1剑逃、Jmeter 工具的安裝 1.1安裝步驟: l安裝環(huán)境:Windows XP...
    MrGago閱讀 2,925評論 0 1
  • 掃盲內(nèi)容: 1.什么是接口?2.接口都有哪些類型官辽?3.接口的本質(zhì)是什么蛹磺?4.什么是接口測試?5.問什么要做接口測試...
    Jennifer_hu閱讀 583評論 0 9
  • 1)賽事:貓姐第2期公開課復(fù)盤文大賽 2)作品:蕓唲的參賽作品《年入百萬達(dá)人貓姐用N種方式,手把手教你如何新媒體變...
    氷瓶座閱讀 522評論 0 1
  • 連老師都佩服 孩子談情說愛 那是激流澎湃 別怪作文應(yīng)付 那是情感倦怠 孩子為什么情書寫的這么明白俗批?不用輔導(dǎo)不用...
    旖旎i閱讀 415評論 2 7