接口測(cè)試中的業(yè)務(wù)邏輯

接口測(cè)試作為測(cè)試金字塔的第二層认境,有著低成本、高回報(bào)的優(yōu)勢(shì)课竣。越來(lái)越多的人開(kāi)始做接口測(cè)試嘉赎,同時(shí)可以選擇的工具、框架也越來(lái)越多于樟。測(cè)試人員甚至不用操作app或平臺(tái)公条,通過(guò)接口就可以測(cè)試不同場(chǎng)景,并測(cè)試完全流程迂曲,同時(shí)接口測(cè)試也給造數(shù)據(jù)也帶來(lái)了方便靶橱。
但是,這就是接口測(cè)試了嗎路捧?當(dāng)然不是关霸。完整的接口測(cè)試不僅要校驗(yàn)接口能否調(diào)通,還要校驗(yàn)各種組合場(chǎng)景杰扫、異常場(chǎng)景队寇、輸入?yún)?shù)合法性有效性和邊界值、接口安全章姓、接口性能等佳遣。大部分同學(xué)的接口測(cè)試普遍存在兩個(gè)問(wèn)題,一是場(chǎng)景太淺凡伊,另一個(gè)是斷言不足零渐。前者造成測(cè)試范圍有局限,后者是對(duì)測(cè)試結(jié)果校驗(yàn)不足窗声。只校驗(yàn)了響應(yīng)碼的接口測(cè)試是無(wú)意義的相恃,也不利于持續(xù)集成和持續(xù)部署。
那么接口測(cè)試用例如何設(shè)計(jì)呢笨觅。從輸入拦耐、處理邏輯、輸出三部分入手见剩。輸入就是各種參數(shù)類型及組合的校驗(yàn)杀糯,如對(duì)數(shù)值類型,通過(guò)負(fù)數(shù)苍苞、0固翰、小數(shù)狼纬、99999999999999999等,前端可能過(guò)濾掉了這些輸入骂际,但是在接口層還是要做校驗(yàn)疗琉,特別是對(duì)金額來(lái)說(shuō)。對(duì)輸入的測(cè)試可以用等價(jià)類歉铝、邊界值盈简、判定表、因果圖等方法來(lái)分析太示。對(duì)于輸出柠贤,則是要覆蓋各種響應(yīng)嗎和返回結(jié)果,正常的类缤、異常的臼勉、特殊的、失敗的情況等等餐弱。
我想討論的宴霸,是第二部分,業(yè)務(wù)邏輯岸裙。大家都會(huì)對(duì)接口做正常場(chǎng)景的測(cè)試猖败,也會(huì)做參數(shù)校驗(yàn)的測(cè)試,但是不知道如何結(jié)合業(yè)務(wù)做接口測(cè)試降允。我們知道在業(yè)務(wù)流程中恩闻,是用戶/后臺(tái)的一些操作,引起數(shù)據(jù)或者狀態(tài)的改變剧董,然后引申出各個(gè)檢查點(diǎn)幢尚。比如用戶還款,還清了最后一期翅楼,那么這個(gè)操作的結(jié)果需要列出來(lái):比如更新應(yīng)收臺(tái)賬尉剩、更新回款記錄、更新還款狀態(tài)毅臊、恢復(fù)額度理茎;我們的檢查點(diǎn)也要列出來(lái):在客戶端檢查待還列表、檢查提現(xiàn)記錄管嬉、檢查卡片狀態(tài)皂林,以及在后臺(tái)檢查各個(gè)表的數(shù)據(jù)。這些就是可以提供給接口測(cè)試的蚯撩。因?yàn)闃I(yè)務(wù)流程有很多條線础倍,場(chǎng)景不僅只有一個(gè)主流程,這個(gè)還清最后一筆就是一個(gè)場(chǎng)景胎挎,除了要校驗(yàn)接口響應(yīng)中的結(jié)果沟启,還要到數(shù)據(jù)庫(kù)校驗(yàn)各個(gè)值忆家,同時(shí)可以通過(guò)其它接口,如再次調(diào)用還款接口會(huì)還款失敗德迹,調(diào)用額度查看接口額度已回恢復(fù)芽卿,查看待還列表接口狀態(tài)為已還清。要在接口測(cè)試中實(shí)現(xiàn)比較全的場(chǎng)景和校驗(yàn)點(diǎn)浦辨,需要提前把checklist列出來(lái)蹬竖,詳細(xì)的測(cè)試用例可以不需要沼沈,但是checklist一定要有流酬。總結(jié)起來(lái)就是通過(guò)響應(yīng)結(jié)果進(jìn)行校驗(yàn)列另、到數(shù)據(jù)庫(kù)進(jìn)行校驗(yàn)芽腾、通過(guò)其它接口校驗(yàn)。
接口測(cè)試的業(yè)務(wù)場(chǎng)景如何梳理呢页衙。在app或者平臺(tái)上可能限制了我們的操作摊滔,但是接口不同,只要我們?cè)敢獾昀郑覀兛梢栽O(shè)計(jì)各種順序艰躺、各種次數(shù)的場(chǎng)景,當(dāng)然都是要和業(yè)務(wù)邏輯有關(guān)系的眨八。根據(jù)狀態(tài)不同腺兴,我們可以測(cè)試當(dāng)用戶處于未登錄、未綁卡廉侧、未借款狀態(tài)的時(shí)候的一些操作页响;根據(jù)操作路徑不同,我們可以讓用戶通過(guò)微信段誊、支付寶闰蚕、銀行卡支付;根據(jù)業(yè)務(wù)規(guī)則不同连舍,可以測(cè)試不可部分還款/提前還款的產(chǎn)品可否進(jìn)行部分還款/提前還款没陡、無(wú)該優(yōu)惠的用戶群可否使用該優(yōu)惠券;根據(jù)操作次數(shù)不同索赏,我們可以測(cè)試用戶重復(fù)綁卡盼玄、重復(fù)提現(xiàn)、重復(fù)還款参滴;根據(jù)操作順序不同强岸,我們可以測(cè)試先收到優(yōu)惠券再還款、還款中收到優(yōu)惠券砾赔;根據(jù)數(shù)據(jù)不同蝌箍,可以設(shè)計(jì)不同期數(shù)青灼、不同金額的提現(xiàn)方式。同時(shí)在接口中一樣也可以用場(chǎng)景插入妓盲、場(chǎng)景替換杂拨、場(chǎng)景刪除、場(chǎng)景重復(fù)悯衬、數(shù)據(jù)替換的方式設(shè)計(jì)用例弹沽。而針對(duì)異常場(chǎng)景,用戶權(quán)限不允許的操作筋粗、狀態(tài)不允許的操作策橘、數(shù)據(jù)不允許的操作、極限條件下的操作娜亿,都可以用上面的方式通過(guò)接口進(jìn)行測(cè)試丽已。
把重要的接口測(cè)試用例通過(guò)腳本實(shí)現(xiàn),不僅可以提高回歸效率买决,減少版本優(yōu)化所需要的測(cè)試時(shí)間沛婴;接入持續(xù)集成持續(xù)部署,還可以起到監(jiān)控的作用督赤,同時(shí)可以讓優(yōu)質(zhì)的代碼更快上線嘁灯。把重復(fù)性的工作通過(guò)自動(dòng)化的方式實(shí)現(xiàn),我們才能有更多的時(shí)間去做探索性的測(cè)試和其它專項(xiàng)測(cè)試躲舌。當(dāng)然接口測(cè)試維護(hù)成本還是需要的丑婿,但和UI自動(dòng)化相比已經(jīng)是非常低了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末孽糖,一起剝皮案震驚了整個(gè)濱河市枯冈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌办悟,老刑警劉巖尘奏,帶你破解...
    沈念sama閱讀 222,183評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異病蛉,居然都是意外死亡炫加,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,850評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門铺然,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)俗孝,“玉大人,你說(shuō)我怎么就攤上這事魄健「陈粒” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 168,766評(píng)論 0 361
  • 文/不壞的土叔 我叫張陵沽瘦,是天一觀的道長(zhǎng)革骨。 經(jīng)常有香客問(wèn)我农尖,道長(zhǎng),這世上最難降的妖魔是什么良哲? 我笑而不...
    開(kāi)封第一講書人閱讀 59,854評(píng)論 1 299
  • 正文 為了忘掉前任盛卡,我火速辦了婚禮,結(jié)果婚禮上筑凫,老公的妹妹穿的比我還像新娘滑沧。我一直安慰自己,他們只是感情好巍实,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,871評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布滓技。 她就那樣靜靜地躺著,像睡著了一般蔫浆。 火紅的嫁衣襯著肌膚如雪殖属。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 52,457評(píng)論 1 311
  • 那天瓦盛,我揣著相機(jī)與錄音,去河邊找鬼外潜。 笑死原环,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的处窥。 我是一名探鬼主播嘱吗,決...
    沈念sama閱讀 40,999評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼滔驾!你這毒婦竟也來(lái)了谒麦?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,914評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤哆致,失蹤者是張志新(化名)和其女友劉穎绕德,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體摊阀,經(jīng)...
    沈念sama閱讀 46,465評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡耻蛇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,543評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了胞此。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片臣咖。...
    茶點(diǎn)故事閱讀 40,675評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖漱牵,靈堂內(nèi)的尸體忽然破棺而出夺蛇,到底是詐尸還是另有隱情,我是刑警寧澤酣胀,帶...
    沈念sama閱讀 36,354評(píng)論 5 351
  • 正文 年R本政府宣布刁赦,位于F島的核電站愿卸,受9級(jí)特大地震影響宠叼,放射性物質(zhì)發(fā)生泄漏济竹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,029評(píng)論 3 335
  • 文/蒙蒙 一中跌、第九天 我趴在偏房一處隱蔽的房頂上張望宦焦。 院中可真熱鬧发钝,春花似錦、人聲如沸波闹。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,514評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)精堕。三九已至孵淘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間歹篓,已是汗流浹背瘫证。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,616評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留庄撮,地道東北人背捌。 一個(gè)月前我還...
    沈念sama閱讀 49,091評(píng)論 3 378
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像洞斯,于是被迫代替她去往敵國(guó)和親毡庆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,685評(píng)論 2 360

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