聊聊接口測(cè)試(二)——測(cè)試腳本的規(guī)劃

背景

最近接口測(cè)試做的多了,略有一點(diǎn)思想俱济,總結(jié)一下

怎么做

我之前專門寫過(guò)接口測(cè)試的文章,也對(duì)比過(guò)好多現(xiàn)有的工具钙勃,發(fā)現(xiàn)現(xiàn)有的工具并不是非常好用蛛碌,至少擴(kuò)展性不好。所以自己寫才是最好的辖源。方法嘛有很多蔚携,用Java、Python都行克饶,最近在用RobotFramework酝蜒,感覺(jué)都差不多,只要能實(shí)現(xiàn)定制化矾湃,都沒(méi)問(wèn)題亡脑。

測(cè)試腳本怎么規(guī)劃

文章標(biāo)題是測(cè)試腳本的規(guī)劃,那就專門說(shuō)說(shuō)這個(gè)。

以前的代碼都是一個(gè)人玩远豺,所以怎么玩都行,換工作之后需要協(xié)作坞嘀,那么就和以前不一樣了躯护,至少我覺(jué)得,現(xiàn)在的腳本結(jié)構(gòu)還是不錯(cuò)的丽涩。

公共方法

公共方法指的是所有項(xiàng)目都能使用的方法棺滞,比如網(wǎng)絡(luò)連接,文件操作矢渊,數(shù)據(jù)庫(kù)連接等等继准。這種方法所有項(xiàng)目都需要使用,就可以全部抽象出來(lái)成為資源矮男,然后調(diào)用就行了移必。

當(dāng)然,不僅僅是這些毡鉴,某些特定的項(xiàng)目?jī)?nèi)崔泵,也一樣會(huì)有公共方法,但是這些方法僅僅在這個(gè)項(xiàng)目?jī)?nèi)通用猪瞬,出了項(xiàng)目就沒(méi)用了憎瘸,比如你把這個(gè)項(xiàng)目需要用的數(shù)據(jù)庫(kù)查詢,修改等專門封裝成方法陈瘦,那么就只能是項(xiàng)目的公共方法幌甘。

當(dāng)然,項(xiàng)目公共方法在足夠抽象時(shí)痊项,也是能夠上升到全局的公共方法的锅风,主要看組織者對(duì)于這塊的規(guī)劃。說(shuō)白了线婚,公共方法的主要目的就是減少代碼的重復(fù)遏弱,以及寫腳本的效率。

項(xiàng)目個(gè)體

每個(gè)項(xiàng)目都應(yīng)該做一些清晰的劃分塞弊,以便以后的拓展漱逸,迭代總是難免的,每次迭代都要花大量時(shí)間來(lái)修改腳本游沿,那么寫代碼測(cè)試的意義就不大了饰抒。我認(rèn)為應(yīng)該有這么幾塊要?jiǎng)澐殖鰜?lái)的。主要有這么幾塊:

  1. 業(yè)務(wù)模塊
  2. 報(bào)文構(gòu)建模塊
  3. 基礎(chǔ)報(bào)文模塊
  4. 環(huán)境模塊
  5. 公告方法
  • 冒煙部分

冒煙測(cè)試是每個(gè)項(xiàng)目都會(huì)有的诀黍,而且在回歸的時(shí)候必定要回歸冒煙測(cè)試袋坑。屬于業(yè)務(wù)模塊部分

  • 業(yè)務(wù)部分

所有的業(yè)務(wù)測(cè)試部分就應(yīng)該放在這里了,測(cè)試用例寫的各種場(chǎng)景眯勾,在這里應(yīng)該都要能提現(xiàn)出來(lái)枣宫。屬于業(yè)務(wù)模塊部分婆誓。

  • 調(diào)試部分

這部分我放置的都是業(yè)務(wù)的拆分調(diào)試的腳本,畢竟業(yè)務(wù)流總是會(huì)有各種環(huán)境因素導(dǎo)致不通也颤,單步拆分是非常有必要的洋幻。屬于業(yè)務(wù)模塊部分

  • 項(xiàng)目資源部分

這里應(yīng)該是整個(gè)腳本結(jié)構(gòu)的地基,之前的腳本都應(yīng)該從項(xiàng)目資源部分調(diào)取方法翅娶,所以這塊的構(gòu)建需要非常清楚文留。

基礎(chǔ)報(bào)文模塊。這塊用來(lái)組件基礎(chǔ)的報(bào)文竭沫,需要包括報(bào)文的所有字段燥翅,已經(jīng)某些字段的常量的定義。比如一個(gè)接口有30個(gè)字段蜕提,有一些字段是非必選的森书,有一些字段是常量,在構(gòu)建基礎(chǔ)報(bào)文時(shí)就可以確定的贯溅,還有一些是業(yè)務(wù)字段拄氯,需要根據(jù)不同的業(yè)務(wù)場(chǎng)景來(lái)傳值。在構(gòu)建基礎(chǔ)模塊時(shí)就要注意這些字段它浅,必選和非必選要能很好的區(qū)分開(kāi)來(lái)译柏,有時(shí)候需要只要測(cè)非必選參數(shù)即可,有時(shí)候全部參數(shù)都要拿來(lái)測(cè)姐霍。常量必須要確認(rèn)清楚鄙麦,這部分定義好之后是不做更改的。業(yè)務(wù)字段要保留默認(rèn)值镊折,在報(bào)文構(gòu)建模塊要對(duì)這些字段做業(yè)務(wù)場(chǎng)景的修改胯府。

報(bào)文構(gòu)建模塊。這部分也是非常關(guān)鍵的恨胚,在這里需要構(gòu)建成業(yè)務(wù)場(chǎng)景的報(bào)文骂因,那么這部分必須要有這么幾個(gè)哦功能。首先赃泡,要能從基礎(chǔ)報(bào)文模塊中獲取基礎(chǔ)報(bào)文寒波。然后,能夠動(dòng)態(tài)的修改和刪除所有的報(bào)文(不用增加功能升熊,因?yàn)榛A(chǔ)報(bào)文就應(yīng)該把所有字段定義好)俄烁。最后,要能夠往服務(wù)器發(fā)送報(bào)文级野。

環(huán)境模塊页屠。這塊主要是用來(lái)定義腳本的執(zhí)行環(huán)境。最好定義成可傳參的方式,在構(gòu)建的時(shí)候區(qū)分環(huán)境辰企。

公共方法风纠。這部分沒(méi)啥說(shuō)的,項(xiàng)目使用的方法都放到這里牢贸。

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

根據(jù)上面來(lái)看议忽,總體結(jié)構(gòu)大概是這樣的

|____所有項(xiàng)目的公共方法
|____項(xiàng)目1
| |____業(yè)務(wù)模塊
| |____基礎(chǔ)模塊
| |____公共方法
|____項(xiàng)目2
| |____業(yè)務(wù)模塊
| |____基礎(chǔ)模塊
| |____公共方法
...

總結(jié)

以上是現(xiàn)階段的接口測(cè)試腳本規(guī)劃,目前來(lái)看十减,還是比較清晰的。畫一張圖來(lái)表示一下吧愤估。

就像蓋房子一樣帮辟,項(xiàng)目中好的公共方法抽象到總的公共方法中,抽象的越多玩焰,相當(dāng)于地基打的越牢靠由驹,業(yè)務(wù)模塊的可擴(kuò)展性才能強(qiáng)大,在快速迭代中才能夠減少工作量昔园,提升效率蔓榄。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市默刚,隨后出現(xiàn)的幾起案子甥郑,更是在濱河造成了極大的恐慌,老刑警劉巖荤西,帶你破解...
    沈念sama閱讀 217,734評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件澜搅,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡邪锌,警方通過(guò)查閱死者的電腦和手機(jī)勉躺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)觅丰,“玉大人饵溅,你說(shuō)我怎么就攤上這事「咎眩” “怎么了蜕企?”我有些...
    開(kāi)封第一講書人閱讀 164,133評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)嚣伐。 經(jīng)常有香客問(wèn)我糖赔,道長(zhǎng),這世上最難降的妖魔是什么轩端? 我笑而不...
    開(kāi)封第一講書人閱讀 58,532評(píng)論 1 293
  • 正文 為了忘掉前任放典,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘奋构。我一直安慰自己壳影,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,585評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布弥臼。 她就那樣靜靜地躺著宴咧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪径缅。 梳的紋絲不亂的頭發(fā)上掺栅,一...
    開(kāi)封第一講書人閱讀 51,462評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音纳猪,去河邊找鬼氧卧。 笑死,一個(gè)胖子當(dāng)著我的面吹牛氏堤,可吹牛的內(nèi)容都是我干的沙绝。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼鼠锈,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼闪檬!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起购笆,我...
    開(kāi)封第一講書人閱讀 39,153評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤粗悯,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后同欠,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體为黎,經(jīng)...
    沈念sama閱讀 45,587評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,792評(píng)論 3 336
  • 正文 我和宋清朗相戀三年行您,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了铭乾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,919評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡娃循,死狀恐怖炕檩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情捌斧,我是刑警寧澤笛质,帶...
    沈念sama閱讀 35,635評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站捞蚂,受9級(jí)特大地震影響妇押,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜姓迅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,237評(píng)論 3 329
  • 文/蒙蒙 一敲霍、第九天 我趴在偏房一處隱蔽的房頂上張望俊马。 院中可真熱鬧,春花似錦肩杈、人聲如沸柴我。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,855評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)艘儒。三九已至,卻和暖如春夫偶,著一層夾襖步出監(jiān)牢的瞬間界睁,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,983評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工兵拢, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留晕窑,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,048評(píng)論 3 370
  • 正文 我出身青樓卵佛,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親敞斋。 傳聞我的和親對(duì)象是個(gè)殘疾皇子截汪,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,864評(píng)論 2 354

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,116評(píng)論 25 707
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)植捎,斷路器衙解,智...
    卡卡羅2017閱讀 134,656評(píng)論 18 139
  • 先說(shuō)項(xiàng)目開(kāi)發(fā)過(guò)程中團(tuán)隊(duì)人員的分工協(xié)作。 一 人員安排 畢業(yè)至今的大部分項(xiàng)目都是獨(dú)立完成焰枢,雖然也有和其他同事協(xié)作的時(shí)...
    SnowflakeCloud閱讀 10,769評(píng)論 3 59
  • 真如題目所說(shuō)蚓峦,打擊面未免過(guò)大,在中年大叔前加一定語(yǔ):別有用心济锄,勉強(qiáng)可以稱得上是精準(zhǔn)投放了暑椰。 如果讀者是中年大叔,這...
    任風(fēng)南閱讀 1,415評(píng)論 0 3
  • 我們從早上就進(jìn)入同里古鎮(zhèn)閑逛荐绝。 10點(diǎn)多時(shí)一汽,看到琳瑯滿目的店鋪中有一豬蹄店,腌漬后蒸熟的豬蹄低滩,以很誘惑人的樣子擺放...
    昆侖濯羽閱讀 189評(píng)論 8 3