最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

軟件測(cè)試 | Tcp協(xié)議的接口測(cè)試

2023-06-05 11:49 作者:愛(ài)測(cè)軟件測(cè)試  | 我要投稿

tcp 協(xié)議的接口測(cè)試

首先明確 Tcp 的概念,針對(duì) Tcp 協(xié)議進(jìn)行接口測(cè)試,是指基于 Tcp 協(xié)議的上層協(xié)議比如 Http ,串 口,網(wǎng)口, Socket 等。這些協(xié)議與 Http 測(cè)試方法類似(具體查看接口自動(dòng)化測(cè)試章節(jié)),但在測(cè)試過(guò) 程中需要做些調(diào)整。

Socket

Socket 又稱套接字,進(jìn)程可通過(guò)套接字進(jìn)行網(wǎng)絡(luò)通信,使多個(gè)設(shè)備具有交互能力。Socket 適合對(duì)傳輸速 度和安全性有嚴(yán)格要求的應(yīng)用,比如手機(jī)內(nèi)核與外界進(jìn)行測(cè)試數(shù)據(jù)的傳輸。支持 Socket 設(shè)備不止計(jì)算 機(jī),還會(huì)有移動(dòng)端,如果測(cè)試 Socket 協(xié)議,需要有收發(fā) Socket 數(shù)據(jù)的能力或代理 Socket 的能力。下 圖展示了正常的 Socket 通信流程:

如果測(cè)試 Socket 協(xié)議,需要做以下改造,即利用 Socket 代理,進(jìn)行 Socket 數(shù)據(jù)的接收:

需要特別注意,需要應(yīng)用可更改 Socket 地址,才可使用代理。以 Python 的 Socket 為例,下面是一個(gè) 簡(jiǎn)單的 Socket 客戶端和服務(wù)端:

客戶端可與服務(wù)端進(jìn)行交流,但 Socket 地址不可更改,即上述客戶端代碼的 127.0.0.1 和 12345 端口不能通過(guò)配置文件進(jìn)行更改。如果不能更改這兩者,就堵死了通向代理的道路:

如何進(jìn)行修改?以客戶端代碼為例,可通過(guò)配置文件來(lái)配置 host 和 port :

config.yaml 的內(nèi)容如下:

上述更改,可使應(yīng)用走 Socket 代理。測(cè)試人員還需一款合適的代理工具,推薦 mitmproxy 或自寫(xiě) Socket 代理。 mitmproxy 使用請(qǐng)參考:

mitmproxy 官網(wǎng):mitmproxy.org/

其它協(xié)議

其它協(xié)議,比如串口、網(wǎng)口、visa等,與Socket的測(cè)試模式類似,用相同的圖即可簡(jiǎn)述:

再次強(qiáng)調(diào),需要讓?xiě)?yīng)用支持端口修改,才能使用代理工具,這部分需要與開(kāi)發(fā)交流,提修改需求。其它 協(xié)議較 Sokcet 更冷門(mén),無(wú)合適的代理工具。需要測(cè)試人員自己寫(xiě)代理,比如串口協(xié)議, Python 雖然支 持 Pyserial 進(jìn)行收發(fā)串口,但無(wú)代理。此時(shí)需要測(cè)試人員自行編寫(xiě)串口代理工具。這個(gè)過(guò)程需要開(kāi)啟兩 個(gè)監(jiān)聽(tīng)服務(wù),如下圖,監(jiān)聽(tīng)服務(wù) A 監(jiān)聽(tīng)端口 123 ,如果有數(shù)據(jù)進(jìn)來(lái),會(huì)透?jìng)鳎ɑ蜃鰯?shù)據(jù)更改,實(shí)現(xiàn) mock)給端口 456,監(jiān)聽(tīng)服務(wù) B 同理:

使用兩個(gè)監(jiān)聽(tīng)服務(wù),可編寫(xiě)任意協(xié)議,但注意缺點(diǎn),數(shù)據(jù)的傳輸時(shí)間會(huì)增加,如果過(guò)分注重性能,此方 案慎用。下面是參考代碼,其中只保留了關(guān)鍵邏輯:


軟件測(cè)試 | Tcp協(xié)議的接口測(cè)試的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
三门峡市| 康乐县| 曲阳县| 崇阳县| 丽江市| 日照市| 建阳市| 金堂县| 峨山| 边坝县| 工布江达县| 陵川县| 闽侯县| 福泉市| 安溪县| 沁阳市| 大连市| 廉江市| 班戈县| 西安市| 宣武区| 美姑县| 开鲁县| 蚌埠市| 扎兰屯市| 隆子县| 江达县| 凤翔县| 夏河县| 建湖县| 滁州市| 祁连县| 乐陵市| 东安县| 南部县| 兴安县| 水富县| 新余市| 乌鲁木齐市| 绥化市| 锦屏县|