版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年食堂租賃及校園食品安全監(jiān)督服務(wù)合同3篇
- 2024年酒店一次性用品采購與售后服務(wù)合同
- 2024年社保工傷賠償合同3篇
- 2024年防盜門定制安裝合同3篇
- 2024年高壓設(shè)備安裝工程標(biāo)準(zhǔn)協(xié)議模板
- 2024年簡化版戰(zhàn)略協(xié)作框架協(xié)議版B版
- 2024年電力企業(yè)戰(zhàn)略合作協(xié)議3篇
- 2024年社區(qū)垃圾清理工坊
- 2024年金融理財(cái)產(chǎn)品銷售代理合同模板3篇
- 2024蘇州二手房買賣與家居綠化養(yǎng)護(hù)服務(wù)合同3篇
- 2024家庭戶用光伏發(fā)電系統(tǒng)運(yùn)行和維護(hù)規(guī)范
- 醫(yī)療機(jī)構(gòu)強(qiáng)制報(bào)告制度
- 江蘇省鎮(zhèn)江市2023-2024學(xué)年高一上學(xué)期期末考試化學(xué)試題(解析版)
- 現(xiàn)場材料員述職報(bào)告
- 特種設(shè)備檢驗(yàn)人員考核培訓(xùn)課件-安全意識培養(yǎng)與心理健康
- 00和值到27和值的算法書
- 總務(wù)工作總結(jié)和計(jì)劃
- 護(hù)士條例與法律法規(guī)護(hù)理課件
- 老年人護(hù)理風(fēng)險(xiǎn)管理
- 蒸壓加氣混凝土制品課件
- 航空基礎(chǔ)英語課件
評論
0/150
提交評論