接口測試簡介以及接口測試用例設(shè)計(jì)思路

接口測試簡介

1.什么是接口

接口就是內(nèi)部模塊對模塊,外部系統(tǒng)對其他服務(wù)提供的一種可調(diào)用或者連接的能力的標(biāo)準(zhǔn),就好比usb接口,他是系統(tǒng)向外接提供的一種用于物理數(shù)據(jù)傳輸?shù)囊粋€(gè)接口,當(dāng)然僅僅是一個(gè)接口是不能進(jìn)行傳輸?shù)模覀冞€的對這個(gè)接口怎么進(jìn)行傳輸進(jìn)行進(jìn)行一些設(shè)置和定義。開發(fā)所謂的接口是模塊模塊之間的一種連接,而測試眼中的接口是一種協(xié)議(對接口的功能的一種定義)

2.接口的種類和分類

外部接口,內(nèi)部接口:上層服務(wù)于下層服務(wù),同級服務(wù)。常見的接口分類http:get,post,delete,put
系統(tǒng)對外的接口:比如你要從別的網(wǎng)站或服務(wù)器上獲取資源或信息,別人肯定不會(huì)把數(shù)據(jù)庫共享給你,他只能給你提供一個(gè)他們寫好的方法來獲取數(shù)據(jù),你引用他提供的接口就能使用他寫好的方法,從而達(dá)到數(shù)據(jù)共享的目的。
程序內(nèi)部的接口:方法與方法之間,模塊與模塊之間的交互,程序內(nèi)部拋出的接口,比如bbs系統(tǒng),有登錄模塊、發(fā)帖模塊等等,那你要發(fā)帖就必須先登錄,那么這兩個(gè)模塊就得有交互,它就會(huì)拋出一個(gè)接口,供內(nèi)部系統(tǒng)進(jìn)行調(diào)用。
接口的分類:1.webservice接口 2.http api接口
  webService接口是走soap協(xié)議通過http傳輸,請求報(bào)文和返回報(bào)文都是xml格式的,我們在測試的時(shí)候都用通過工具才能進(jìn)行調(diào)用,測試。
  http api接口是走h(yuǎn)ttp協(xié)議,通過路徑來區(qū)分調(diào)用的方法,請求報(bào)文都是key-value形式的,返回報(bào)文一般都是json串,有g(shù)et和post等方法,這也是最常用的兩種請求方式。
  json是一種通用的數(shù)據(jù)類型,所有的語言都認(rèn)識(shí)它。(json的本質(zhì)是字符串,他與其他語言無關(guān),只是可以經(jīng)過稍稍加工可以轉(zhuǎn)換成其他語言的數(shù)據(jù)類型,比如可以轉(zhuǎn)換成Python中的字典,key-value的形式,可以轉(zhuǎn)換成JavaScript中的原生對象,可以轉(zhuǎn)換成java中的類對象等。)

3.各個(gè)接口之間的區(qū)別

通常我們測試的接口分為get接口和post接口,get的提交方式是明文提交,把提交的參數(shù)跟在url后面發(fā)送給服務(wù)器,所以不安全,而且get提交的參數(shù)是有字符限制的且可以被當(dāng)做書簽保存,但是post的提交方式跟get完全不一樣,post提交的參數(shù)是放在表單里的,所以不會(huì)存在字符限制,而且因?yàn)閰?shù)是放在表單里,不容易被看到,所以會(huì)比get更安全。

4.什么是接口測試

簡單的來說接口測試對于測試來說其實(shí)是對接口協(xié)議的一種測試,這個(gè)協(xié)議指的是為了讓這個(gè)接口實(shí)現(xiàn)某種需要的功能還設(shè)計(jì)的一種要求。

5.為什么要進(jìn)行接口測試

因?yàn)椴煌耍ㄇ岸危蠖耍┑墓ぷ鬟M(jìn)度不一樣,所以我們要針對最開始出來的接口,以及需要調(diào)用其他公司的(銀行,支付寶,微信,qq等)一些接口進(jìn)行接口測試及驗(yàn)證數(shù)據(jù),從安全層面來說,只依賴前端進(jìn)行限制已經(jīng)完全不能滿足系統(tǒng)的安全要求(繞過前面實(shí)在太容易),需要后端同樣進(jìn)行控制,在這種情況下就需要從接口層面進(jìn)行驗(yàn)證。前后端傳輸、日志打印等信息是否加密傳輸也是需要驗(yàn)證的,特別是涉及到用戶的隱私信息,如身份證,銀行卡等。

6.接口測試流程

需求討論,需求評審,場景設(shè)計(jì),編寫用列,準(zhǔn)備數(shù)據(jù),執(zhí)行測試

7.怎么進(jìn)行接口測試

通過工具模擬客戶端向服務(wù)端發(fā)送請求并接受服務(wù)器返回的數(shù)據(jù)來對接口的功能,邏輯業(yè)務(wù),異常,安全進(jìn)行測試

功能測試:測試這個(gè)接口的功能是否實(shí)現(xiàn),并且測試這個(gè)接口是否按照接口文檔來進(jìn)行開發(fā)的(比如說接口文檔規(guī)定了一些關(guān)鍵字,而開大的時(shí)候把關(guān)鍵字改成了其他的關(guān)鍵字,因?yàn)樵谡麄€(gè)項(xiàng)目周期,并不只有一個(gè)開發(fā)而是有多個(gè),所以可能因?yàn)樵陂_發(fā)過程中因?yàn)殛P(guān)鍵字不一樣導(dǎo)致某些開發(fā)的功能異常,還有自動(dòng)化腳本也會(huì)發(fā)生異常)

邏輯業(yè)務(wù),主要指的是一些邏輯業(yè)務(wù)依賴關(guān)系(比如支付寶提交訂單的時(shí)候要保證你是在登錄的情況下,如果你沒有登錄而提交成功了,這就是異常,可以修改請求的cookie來測試)

異常測試:參數(shù)異常:關(guān)鍵字參數(shù)(應(yīng)用其他的關(guān)鍵字替換進(jìn)行測試)、參數(shù)為空、參數(shù)多少(通過添加參數(shù)增添個(gè)數(shù)),參數(shù)錯(cuò)誤。數(shù)據(jù)異常:關(guān)鍵字?jǐn)?shù)據(jù)(填入的數(shù)據(jù)用其他的數(shù)據(jù)語言的數(shù)據(jù)替用)、數(shù)據(jù)長度、數(shù)據(jù)為空、數(shù)據(jù)錯(cuò)誤。
  
  由于我們項(xiàng)目前后端調(diào)用主要是基于http協(xié)議的接口,所以測試接口時(shí)主要是通過工具或代碼模擬http請求的發(fā)送與接收。工具有很多如:postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等。
  –也可以用 接口自動(dòng)化來實(shí)現(xiàn),就是用代碼實(shí)現(xiàn),框架和UI自動(dòng)化差不多,發(fā)送請求用斷言來判斷。

8.接口測試需要用到的工具

接口測試常用的工具,fiddler抓取請求,postman模擬客戶端通過對fiddler抓取的請求修改并發(fā)送到服務(wù)端并接收服務(wù)器返回的數(shù)據(jù)及異常來進(jìn)行驗(yàn)證接口。工具不是固定的,需要根據(jù)項(xiàng)目來進(jìn)行選擇。

9.接口的本質(zhì)及其工作原理

接口你可以簡單的理解他就是URL,工作原理就會(huì)說URL通過get或者post請求像服務(wù)器發(fā)送一些東西,然后得到一些相應(yīng)的返回值,本質(zhì)就是數(shù)據(jù)的傳輸與接收。

接口測試用例設(shè)計(jì)思路
目的:測試接口的正確性和穩(wěn)定性;
  原理:模擬客戶端向服務(wù)器發(fā)送請求報(bào)文,服務(wù)器接收請求報(bào)文后對相應(yīng)的報(bào)文做處理并向客戶端返回應(yīng)答,客戶端接收應(yīng)答的過程;
  重點(diǎn):檢查數(shù)據(jù)的交換,傳遞和控制管理過程,還包括處理的次數(shù);
  核心:持續(xù)集成是接口測試的核心;
  優(yōu)點(diǎn):為高復(fù)雜性的平臺(tái)帶來高效的缺陷監(jiān)測和質(zhì)量監(jiān)督能力,平臺(tái)越復(fù)雜,系統(tǒng)越龐大,接口測試的效果越明顯(提高測試效率,提升用戶體驗(yàn),降低研發(fā)成本);
  用例設(shè)計(jì)重點(diǎn):通常情況下主要測試最外層的兩類接口:數(shù)據(jù)進(jìn)入系統(tǒng)接口(調(diào)用外部系統(tǒng)的參數(shù)為本系統(tǒng)使用)和數(shù)據(jù)流出系統(tǒng)接口(驗(yàn)證系統(tǒng)處理后的數(shù)據(jù)是否正常);
  PS:設(shè)計(jì)用例時(shí)還需要注意外部接口提供給使用這些接口的外部用戶什么功能,外部用戶真正需要什么功能;

1 輸入

輸入?yún)?shù)主要從以下幾各方面設(shè)計(jì):

a 必填項(xiàng)校驗(yàn)

接口文檔中有是否必填的說明。參考接口文檔即可。

b 參數(shù)長度校驗(yàn)

參考接口文檔即可。

c 參數(shù)值的有效性校驗(yàn)

如:身份證號(hào)的校驗(yàn) ,設(shè)計(jì)的數(shù)據(jù)雖然符合身份證號(hào)的規(guī)則,但是并不是真實(shí)有效的身份證號(hào);這種情況就要看身份證號(hào)的校驗(yàn)規(guī)則是什么樣了,一般都是用的現(xiàn)成的身份證號(hào)校驗(yàn)器,但是有些是自己寫的校驗(yàn)算法,這個(gè)本人就遇到過這種問題—校驗(yàn)算法寫的不正確;

所以參數(shù)有效性的校驗(yàn)就需要結(jié)合實(shí)際業(yè)務(wù)場景,判斷哪些數(shù)據(jù)是真實(shí)有效的數(shù)據(jù),一定要確保所有真實(shí)有效的數(shù)據(jù)是可以驗(yàn)證通過的。

d 參數(shù)組合校驗(yàn)

不同的參數(shù)組合可能會(huì)存在不同的業(yè)務(wù)場景;

e 如果參數(shù)是枚舉值,一定要各種枚舉值都要測試,因?yàn)榭赡懿煌拿杜e走的不同的業(yè)務(wù)流程;

f 參數(shù)值的默認(rèn)值的校驗(yàn)

參考接口文檔。

g 某些參數(shù)具有特定的生成規(guī)則,要單獨(dú)針對生成規(guī)則設(shè)計(jì)用例,一定要保證真實(shí)有效的數(shù)據(jù)是可以驗(yàn)證通過的。

如身份證號(hào)中間幾位 19860701,本人就遇到過輸入19861001這種值校驗(yàn)不正確;

2 接口邏輯

接口邏輯我用的設(shè)計(jì)方法是分支覆蓋—>路徑覆蓋—>場景覆蓋,同樣也是要結(jié)合實(shí)際業(yè)務(wù)場景,根本不發(fā)生的業(yè)務(wù)場景就是無效的測試用例。

a 第一步先把業(yè)務(wù)流程圖畫出來;

b 依據(jù)路程圖中的分支分別設(shè)計(jì),不同分支不同的場景,這里就要把異常的場景考慮進(jìn)去;如接口超時(shí),接口異常,接口請求成功或失敗,成功后怎么處理,失敗后流程是否繼續(xù)執(zhí)行,失敗后的數(shù)據(jù)怎么處理;

以打款接口為例:

打款結(jié)果有打款成功或打款失敗,成功后怎么處理,需要回寫打款成功狀態(tài),失敗后怎么處理,也需要回寫失敗狀態(tài),失敗后的數(shù)據(jù)可以操作退回,也可以操作重新出款等等;

c 測試邏輯設(shè)計(jì)完成后要想一想不同的業(yè)務(wù)場景怎么去測試,需要哪些人員協(xié)助,

如接口超時(shí)怎么去測試,請求重復(fù)怎么去測試,請求并發(fā)怎么去測試

3 輸出

輸入結(jié)果:正常輸出和異常輸出,常用的方法有錯(cuò)誤推斷法(列舉出程序中可能存在的錯(cuò)誤或者異常,根據(jù)他們選擇測試用例)

4 以上都完成后,要結(jié)合實(shí)際的業(yè)務(wù)場景去掉冗余的用例(即實(shí)際業(yè)務(wù)場景不存在的流程或者輸入數(shù)據(jù));

5 如果業(yè)務(wù)流程涉及到狀態(tài)轉(zhuǎn)換,要單獨(dú)設(shè)計(jì)用戶—方法:狀態(tài)轉(zhuǎn)換圖;

6 涉及到多個(gè)不同金額或者手續(xù)費(fèi)的計(jì)算,可能還會(huì)用到正交實(shí)驗(yàn)法去設(shè)計(jì)用例;

7 另外,用例設(shè)計(jì)中還應(yīng)當(dāng)包含異常流程中產(chǎn)生的異常數(shù)據(jù)的處理流程;—通常所說的補(bǔ)償機(jī)制,這塊流程能大大的減輕人工運(yùn)營的工作量,當(dāng)然,這需要在做系統(tǒng)設(shè)計(jì)的時(shí)候就需要把這部分考慮進(jìn)去。

接口測試和app測試的相同和區(qū)別

1.兩者區(qū)別:App端性能主要關(guān)注與手機(jī)相關(guān)的特性,如手機(jī)cpu、內(nèi)存、流量、fps等。而接口性能主要關(guān)注接口響應(yīng)時(shí)間、并發(fā)、服務(wù)端資源的使用情況等。兩種測試時(shí)的策略和方法都有很大區(qū)別,所以這部分內(nèi)容是需要分開單獨(dú)進(jìn)行測試的,理論上來說這也是不同的部分。
2.接口測試持續(xù)集成:
  對接口測試而言,持續(xù)集成自動(dòng)化是核心內(nèi)容,通過持自動(dòng)化的手段我們才能做到低成本高收益。目前我們已經(jīng)實(shí)現(xiàn)了接口自動(dòng)化,主要應(yīng)用于回歸階段,后續(xù)還需要加強(qiáng)自動(dòng)化的程度,包括但不限于下面的內(nèi)容:
    a) 流程方面:在回歸階段加強(qiáng)接口異常場景的覆蓋度,并逐步向系統(tǒng)測試,冒煙測試階段延伸,最終達(dá)到全流程自動(dòng)化。
    b) 結(jié)果展示:更加豐富的結(jié)果展示、趨勢分析,質(zhì)量統(tǒng)計(jì)和分析等
    c) 問題定位:報(bào)錯(cuò)信息、日志更精準(zhǔn),方便問題復(fù)現(xiàn)與定位。
    d) 結(jié)果校驗(yàn):加強(qiáng)自動(dòng)化校驗(yàn)?zāi)芰Γ鐢?shù)據(jù)庫信息校驗(yàn)。
    e) 代碼覆蓋率:不斷嘗試由目前的黑盒向白盒下探,提高代碼覆蓋率。
    f) 性能需求:完善性能測試體系,通過自動(dòng)化的手段監(jiān)控接口性能指標(biāo)是否正常。

最后ps:接口測試需要掌握的知識(shí)。
  ①了解系統(tǒng)及內(nèi)部各個(gè)組件之間的業(yè)務(wù)邏輯交互;
  ②了解接口的I/O(input/output:輸入輸出);
  ③了解協(xié)議的基本內(nèi)容,包括:通信原理、三次握手、常用的協(xié)議類型、報(bào)文構(gòu)成、數(shù)據(jù)傳輸方式、常見的狀態(tài)碼、URL構(gòu)成等;
  ④常用的接口測試工具,比如:jmeter、loadrunner、postman、soapUI等;
  ⑤數(shù)據(jù)庫基礎(chǔ)操作命令(檢查數(shù)據(jù)入庫、提取測試數(shù)據(jù)等);
  ⑥常見的字符類型,比如:char、varchar、text、int、float、datatime、string等; 
  如何學(xué)這些技能?
  ①系統(tǒng)間業(yè)務(wù)交互邏輯:通過需求文檔、流程圖、思維導(dǎo)圖、溝通等很多渠道和方式;
  ②協(xié)議:推薦《圖解http》這本書,內(nèi)容生動(dòng),相對算是入門級的書籍,其他的還有《圖解tcp、IP》等;
  ③接口測試工具:百度這些工具,然后你會(huì)發(fā)現(xiàn),好多的教學(xué)博客、相關(guān)問題解決方案、以及一些基于工具的書籍,當(dāng)然,選擇合適的書很重要;
  ④數(shù)據(jù)庫操作命令:學(xué)習(xí)網(wǎng)站(W3C、菜鳥教程)、教學(xué)博客,以及一些數(shù)據(jù)庫相關(guān)書籍,入門級推薦:《mysql必知必會(huì)》、《oracle PL/SQL必知必會(huì)》等
  ⑤字符類型:還是百度,有句話這么說:內(nèi)事不決問百度,外事不決問Google。。。
   如何獲取接口相關(guān)信息?
  一般的企業(yè),都會(huì)由開發(fā)或者對應(yīng)的技術(shù)負(fù)責(zé)人員編寫接口文檔,里面會(huì)注明接口相關(guān)的地址、參數(shù)類型、方法、輸入、輸出等信息,如果沒有,想辦法獲取。。。
  接口文檔八要素:
  封面:封面最好是本公司規(guī)定的封面,有l(wèi)ogo,內(nèi)容標(biāo)題,版本號(hào),公司名稱,文檔產(chǎn)生日期;
  修訂歷史:表格形式較好些,包括:版本、修訂說明、修訂日期、修訂人、審核時(shí)間審核人等;
  接口信息:接口調(diào)用方式,常用的GET/POST方式,接口地址;
  功能描述:簡潔清晰的描述接口功能,比如:接口獲取的信息不包括哪些;
  接口參數(shù)說明:每個(gè)參數(shù)都要和實(shí)際中調(diào)用的一樣,包括大小寫;參數(shù)的含義言簡意賅的說明,格式,是string 還是int 還是long等格式;
   說明部分,說明參數(shù)值是需要哪里提供,并詳細(xì)說明參數(shù)怎么生成的,例如時(shí)間戳,是哪個(gè)時(shí)間段的,參數(shù)是否必填,一些參數(shù)是必須要有的,有些是可選參數(shù)等;
  返回值說明:
  ①最好有一個(gè)模板返回值,并說明每個(gè)返回參數(shù)的意義;
  ②提供一個(gè)真實(shí)的調(diào)用接口,真實(shí)的返回值;
  調(diào)用限制,安全方面:
  加密方式,或者自己公司一個(gè)特殊的加密過程,只要雙方采用一致的加密算法就可以調(diào)用接口,保證了接口調(diào)用的安全性,比如常見的md5;
  文檔維護(hù):文檔在維護(hù)的時(shí)候,如有修改一定要寫上修改日期,修改人,對大的修改要有版本號(hào)變更;

其他相關(guān)知識(shí)?

get請求,post請求的區(qū)別:
  1、GET使用URL或Cookie傳參。而POST將數(shù)據(jù)放在BODY中。
  2、GET的URL會(huì)有長度上的限制,則POST的數(shù)據(jù)則可以非常大。
  3、POST比GET安全,因?yàn)閿?shù)據(jù)在地址欄上不可見。
  4、一般get請求用來獲取數(shù)據(jù),post請求用來發(fā)送數(shù)據(jù)。
  其實(shí)上面這幾點(diǎn),只有最后一點(diǎn)說的是比較靠譜的,第一點(diǎn)post請求也可以把數(shù)據(jù)放到url里面,get請求其實(shí)也沒長度限制,post請求看起來參數(shù)是隱式的,稍微安全那么一些些,但是那只是對于小白用戶來說的,就算post請求,你通過抓包也是可以抓到參數(shù)的。(唯一區(qū)別就是這一點(diǎn),上面3點(diǎn)區(qū)別都是不準(zhǔn)確的)
  http狀態(tài)碼:
  1、200 2開頭的都表示這個(gè)請求發(fā)送成功,最常見的就是200,就代表這個(gè)請求是ok的,服務(wù)器也返回了。
  2、300 3開頭的代表重定向,最常見的是302,把這個(gè)請求重定向到別的地方了。
  3、400 400代表客戶端發(fā)送的請求有語法錯(cuò)誤,401代表訪問的頁面沒有授權(quán),403表示沒有權(quán)限訪問這個(gè)頁面,404代表沒有這個(gè)頁面。
  4、500 5開頭的代表服務(wù)器有異常,500代表服務(wù)器內(nèi)部異常,504代表服務(wù)器端超時(shí),沒返回結(jié)果。
  webservice接口怎么測試:
  它不需要你在拼報(bào)文了,會(huì)給一個(gè)webservice的地址,或者wsdl文件,直接在soapui導(dǎo)入,就可以看到這個(gè)webservice里面的所有接口,也有報(bào)文,直接填入?yún)?shù)調(diào)用,看返回結(jié)果就可以了。
  天氣預(yù)報(bào)wsdl地址:http://www.webservicex.net/globalweather.asmx?wsdl  
  cookie與session的區(qū)別:
  1、cookie數(shù)據(jù)存放在客戶的瀏覽器上,session數(shù)據(jù)放在服務(wù)器上。
  2、cookie不是很安全,別人可以分析存放在本地的cookie并進(jìn)行cookie欺騙
  考慮到安全應(yīng)當(dāng)使用session。
  3、session會(huì)在一定時(shí)間內(nèi)保存在服務(wù)器上。當(dāng)訪問增多,會(huì)比較占用你服務(wù)器的性能
  考慮到減輕服務(wù)器性能方面,應(yīng)當(dāng)使用cookie。
  4、單個(gè)cookie保存的數(shù)據(jù)不能超過4K,很多瀏覽器都限制一個(gè)站點(diǎn)最多保存20個(gè)cookie。
  5、所以個(gè)人建議:
  將登陸信息等重要信息存放為session
  其他信息如果需要保留,可以放在cookie中

如果你對軟件測試、接口測試、自動(dòng)化測試、面試經(jīng)驗(yàn)交流感興趣可以加入我們。642830685,免費(fèi)領(lǐng)取最新軟件測試大廠面試資料和Python自動(dòng)化、接口、框架搭建學(xué)習(xí)資料!技術(shù)大牛解惑答疑,同行一起交流。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,406評論 6 538
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,034評論 3 423
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,413評論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,449評論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,165評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,559評論 1 325
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,606評論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,781評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,327評論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,084評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,278評論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,849評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,495評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,927評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,172評論 1 291
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,010評論 3 396
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,241評論 2 375