接口測試自動(dòng)化總結(jié)_第1頁
接口測試自動(dòng)化總結(jié)_第2頁
接口測試自動(dòng)化總結(jié)_第3頁
接口測試自動(dòng)化總結(jié)_第4頁
接口測試自動(dòng)化總結(jié)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、接口自動(dòng)化測試設(shè)計(jì)文檔管理信息表主題接口自動(dòng)化測試版本TIBCO_Adapter_V1.0內(nèi)容設(shè)計(jì)關(guān)鍵字接口參考文檔單元測試創(chuàng)建時(shí)間2008-03-21創(chuàng)建人馮昌建職位SDETest主管最新發(fā)布日期2008-04-02(一)測試背景概述新項(xiàng)目結(jié)構(gòu)大致是:即產(chǎn)品1和產(chǎn)品2為待測試對象,抽象出來可以歸結(jié)為【http json協(xié)議接口測試】與【http web功能測試】。其中【http web功能測試】針對未曾接觸的一種數(shù)據(jù)庫,還包含了大量數(shù)據(jù)庫和SQL級別的專有操作測試內(nèi)容,此處不予討論。測試對象無論是由C/C+還是Java還是JS/Html實(shí)現(xiàn),對于協(xié)議測試和功能測試(白盒測試和單元測試另當(dāng)別論

2、),都不需要深入了解該語言,熟悉任一種高級語言(最好還有一種腳本語言)+自動(dòng)化思維意識+快速學(xué)習(xí)能力,完全能實(shí)施測試自動(dòng)化策略。網(wǎng)上查了一下:JSON(JavascriptObjectNotation)是一種輕量級的數(shù)據(jù)交換語言,以文字為基礎(chǔ),且易于讓人閱讀。常應(yīng)用于http通信和數(shù)據(jù)傳輸,應(yīng)用如Apache開源搜索引擎ElasticSearch等。JSON建構(gòu)有兩種結(jié)構(gòu):1. “名稱/值”對的集合(A collection of name/value pairs)。不同的語言中,它被理解為對象(object),記錄(record),結(jié)構(gòu)(struct),字典(dictionary),哈希表(

3、hashtable),有鍵列表(keyed list),或者關(guān)聯(lián)數(shù)組(associative array)。2.值的有序列表(An ordered list of values)。在大部分語言中,它被理解為數(shù)組(array)。* Linux C/C+單元測試和覆蓋率統(tǒng)計(jì)參見:即使對上面一無所知,先來分析一下【http json協(xié)議接口】的特點(diǎn)。(二)測試需求分析1.      Web頁面(即產(chǎn)品2)HTTP請求數(shù)據(jù)包(post/put)格式如: POST -d     &qu

4、ot;task":"login","token":"ae873897a0a9a2afb9bb12a49c4237744a82ea77049df67c9b58d7acc5c0c7527926f07dd201b6aa","id":"admin","password":“123456","clientver":"8.4"  POST /cm_api -d"task":"st

5、artinfo","token":"ae873897a0a9a2af11077f40cf303d7406ec4d40b90b3a041b8a4edfd63d0fbe7926f07dd201b6aa" 2.  Web Service(即產(chǎn)品1)響應(yīng)數(shù)據(jù)包格式,除以下其余未知:(1)格式錯(cuò)誤,不響應(yīng);(http json協(xié)議層判定)(2) token(每個(gè)用戶每次登錄時(shí)取得,唯一)錯(cuò)誤或者連接、數(shù)據(jù)庫等其他問題,響應(yīng) status: failure(3)token正確,其他正確,響應(yīng) status:

6、 success如:  "_EXEC_TIME" : "1 ms",   "note" : "none",  "status" : "success",  "task" : "authenticate",  “token” : “ae873897a0a9a2afdb676eefe4e864e2b0e3abb07cd73cf0944e77d

7、6c792b1aa7926f07dd201b6aa”   登錄成功,響應(yīng) status: success,并取得token值   "note" : "Request is rejected due to invalid token. Pleasereconnect.",  "status" : "failure",  “task” : “startinfo”  token錯(cuò)誤,響應(yīng) st

8、atus: failure 3.       接口會(huì)擴(kuò)展,增加或改變(數(shù)百個(gè))。  4.       幾乎所有接口有嚴(yán)格執(zhí)行順序(如順序執(zhí)行:login-> optimized->stopdb->logout),login成功獲取該用戶本次動(dòng)態(tài)token,后面每個(gè)接口請求包使用此token。動(dòng)態(tài)token,即測試數(shù)據(jù)和結(jié)果都不是固定的,故Fitnesse等一些接口測試工具難以實(shí)現(xiàn)。 5.   

9、60;   用例中可含自定義的任意參數(shù)變量,如針對Linux:$DBNAME=/home/DBNAME,$DBNAME_DATABASES=/home/DBNAME /databases ,;Windows:$DBNAME=C:DBNAME, $DBNAME_DATABASES =C:DBNAME databases , 6.       成本1(=不熟悉à找測試工具à學(xué)習(xí)測試工具à執(zhí)行測試) >成本2(=自己花部分時(shí)間寫個(gè)測試程序或工具靈活可控:生

10、成自定義測試用例和判定結(jié)果、報(bào)告) 7.      最后解決方案確定:自己花部分時(shí)間寫個(gè)測試程序或工具靈活可控:生成自定義測試用例和判定結(jié)果、報(bào)告(三)設(shè)計(jì)和技術(shù)細(xì)節(jié)準(zhǔn)備1.      測試用例和測試結(jié)果生成,我希望按以下數(shù)據(jù)格式生成文件,固定分隔符分割(便于excel打開),token錯(cuò)誤響應(yīng) status: failure則Pass,token正確響應(yīng)status:success則Pass,F(xiàn)ail的記錄status手工核查(擴(kuò)展:每條接口用例設(shè)定一個(gè)

11、字段表示期望值,檢查收到期望值則Pass,收不到則Fail)。Case-ID:CMS-145Interface Name:updateattributePreconditions:correcttoken: ae873897a0a9a2afd540113d7e03001469caacde0c9322491cd95e57cef94f427926f07dd201b6aaStep:curl-POST -d "task":"updateattribute","token":"ae873897a0a9a2afd540113d7e030

12、01469caacde0c9322491cd95e57cef94f427926f07dd201b6aa","dbname":"demodb","classname":"athlete"Result:  "_EXEC_TIME": "11 ms",   "note" : "Failed to connect to database server, demodb, on the following h

13、ost(s): localhost:localhost",   "status" : "failure",   "task" : "updateattribute"P/F:FRemark:status:"failure" 2.      測試輸入數(shù)據(jù)(開發(fā)維護(hù)):數(shù)據(jù)包文件列表(根據(jù)接口名字命名,增加一個(gè)接口相應(yīng)增加一個(gè))接口順序文件json_list(接口名的執(zhí)行順序列表,根

14、據(jù)此文件中接口順序執(zhí)行) 3.      動(dòng)態(tài)token獲取:longin 響應(yīng)保存tokenà讀取jsonlist保存列表à根據(jù)jsonlist順序讀取對應(yīng)接口名數(shù)據(jù)包文件,并替換token字段值à請求和響應(yīng)à檢查響應(yīng)結(jié)果的狀態(tài)和其他內(nèi)容(斷言) 4.  兩種方式實(shí)現(xiàn)(C#):  方式一:封裝開源Ssh庫登錄一臺(tái)Linux調(diào)用Curl命令,記錄整個(gè)過程并分析處理,生成測試用例和測試結(jié)果文件,人工查看和整理。(涉及平臺(tái)環(huán)節(jié)更多,更鍛煉。

15、)  方式二:利用.Net豐富的Web類庫和其他庫文件實(shí)現(xiàn)。(更簡單,技術(shù)積累熟練程度,時(shí)間分鐘級到小時(shí)級即可完成。)(四)開發(fā)實(shí)施和自測1.      SSH方式遠(yuǎn)程登錄Linux2.       執(zhí)行流程舉例3.       保存正確的token值4.       幾個(gè)讀寫文件流5.     &

16、#160; 順序讀取、拼接、發(fā)送、接收、判斷處理、記錄6.       配置參數(shù)項(xiàng):json請求地址、cci請求地址、自定義參數(shù)變量(變長)、用例路徑、是否循環(huán)(長時(shí)間穩(wěn)定性測試)(五)結(jié)果演示1.             執(zhí)行效果(可配置循環(huán)長時(shí)間測試)2.       輸入輸出生成結(jié)果3.    【新版本檢測>

17、;新版本部署>執(zhí)行測試工具】【整理查看測試結(jié)果>校驗(yàn)Fail問題>提交bug】  其中,“新版本檢測à新版本部署à執(zhí)行測試工具”流程可以通過一些測試框架(如staf/stax,或其他,或自己靈活開發(fā)定制等)實(shí)現(xiàn)全自動(dòng)(包括版本通知和測試結(jié)果通知),可實(shí)現(xiàn)手工時(shí)間集中到“整理查看測試結(jié)果à校驗(yàn)Fail問題à提交bug”流程。 附:通用自動(dòng)化測試工具效果1. 主體框架實(shí)現(xiàn)特定功能,高級語言完成,并開放大量實(shí)用API,且不斷增加和完善2.  嵌套或封裝一種或多種腳本語言解析器,能夠動(dòng)態(tài)執(zhí)行測試用例腳本,對Windows窗體、Web、代碼、接口、

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論