一、get和post的區別?html
l http是上層請求協議,主要定義了服務端和客戶端的交互規格,底層都是tcp/ip協議python
l Get會把參數附在url以後,用?分割,&鏈接不一樣參數,Get獲取資源,post會把參數放置在http請求體中,Post發送請求數據mysql
l Get產生一個tcp數據包,post產生兩個tcp數據包sql
l Get請求,瀏覽器會把http header和data一塊兒發送,服務器返回200響應碼數據庫
l Psot請求,瀏覽器先發送header,服務器響應100(continue),而後再發送data,服務器返回200響應碼json
l Post的安全性比get高,若是瀏覽器緩存了,會把get參數留在緩存中,用戶能夠看到參數信息後端
二、post請求的四種參數形式是什麼?數組
Application/x-www-form-urlencoded:將參數以一組鍵對值的方式發送瀏覽器
Multipart/form-data:支持單組和多組文件上傳緩存
Application/json:根據後端接口的定義支持數據類型
Text/xml
三、http狀態碼302, 403, 503分別表明什麼?
302:臨時重定向到某一個頁面,好比要登陸以後才能進入的頁面,他首先會臨時重定向到登陸界面
403:權限不夠 服務器理解客服端的請求,但拒絕此請求
503:服務端目前沒法使用,過載或者維護中
500:服務端異常
404:請求失敗,請求所但願獲得的資源未被在服務器上發現
401:請求身份驗證
1XX系列:指定客戶端應相應的某些動做,表明請求已被接受,須要繼續處理
2XX系列:表明請求已成功被服務器接收、理解、並接受。這系列中最多見的有200、201狀態碼。
3XX系列:表明須要客戶端採起進一步的操做才能完成請求,這些狀態碼用來重定向,後續的請求地址(重定向目標)在本次響應的 Location 域中指明。這系列中最多見的有30一、302狀態碼。
4XX系列:表示請求錯誤。表明了客戶端看起來可能發生了錯誤,妨礙了服務器的處理。常見有:40一、404狀態碼。
5xx系列:表明了服務器在處理請求的過程當中有錯誤或者異常狀態發生,也有多是服務器意識到以當前的軟硬件資源沒法完成對請求的處理。常見有500、503狀態碼。
四、公司有用到第三方服務,出了問題,打電話給第三方,第三方不認可,這時候日誌又顯示不到錯誤,應該怎麼處理?
1/ 單獨調用第三方服務,查看三方接口返回的status,code,msg,看是否能支持正常服務
2/ 在本身的應用中mock第三方服務,來調用本身的接口,看可否正常工做,將結果反饋給第三方
3/ 配置日誌級別在debug級別時,添加第三方請求過程的日誌,查看入參,響應來追蹤問題
五、接口自動化中的關聯怎麼處理?
把上一個請求返回的結果傳入到下一個請求的參數中,將請求的結果反射到一個類屬性(使用setattr()函數),下一個請求去調用這個類屬性
六、自動化測試怎麼校驗結果?
斷言 ,預期結果與實際結果對比
數據庫校驗,根據測試場景來查詢數據庫裏的數據和請求以前的數據進行比對
七、自動化使用的測試框架是什麼?簡述自動化框架的設計、維護
1/測試框架:python+unittest+requests+ddt+openpyxl+pymysql+logging
測試框架:
python:入門簡單,語法簡潔
unittest :定義一個測試用例類,具體的方法來維護測試用例的生命週期,測試場景行爲,測試用例 前置場景,行爲,指望結果,實際結果,斷言方法,Setup teardown方法
requests:接口調用 ,支持http請求的庫,API 簡潔,提供不一樣的http請求方法,支持session,cookies,
ddt :數據驅動,ddt 類裝飾器,data 測試方法裝飾器 unpack解包可迭代的數據類型
普通用戶,數據庫,配置文件---(基礎數據)
openpyxl: 數據管理 excel管理數據,使用openpyxl模塊來進行excel數據的讀和寫(excle,csv, json, yaml, txt均可以管理測試數據)
pymysql:數據庫交互,數據校驗
eval,json:數據格式的轉換 Eval將python支持的格式轉換成對應的格式
logging:日誌處理, 統一日誌輸出格式,渠道,級別,執行結果的記錄,便於定位問題
jenkins:持續集成
2/框架設計思路:數據驅動+結構分層(可讀性,可維護性,可擴展性)
數據驅動:將維護數據與代碼分離,接口調用行爲一致,針對不一樣的參數組合驅動不一樣的測試場景,減小代碼冗餘
結構分層:數據層+用例層+邏輯層
數據層:測試數據的支撐 data.xls
用例層:用例的執行 test_register.py test_recharge.py
邏輯層:公用的方法的封裝與提取 doexcle.py do_mysql.py http_requests.py logger.py等模塊
3/框架設計步驟:
準備測試數據: EXCEL表準備測試用例---excel數據的讀取---參數值的替換
發起請求:請求方法(get/post方法進行封裝---URL的拼接(不一樣---參數轉化爲字典
拿到請求的返回值:解析返回值code,status,msg信息
斷言
好處:
一、自動化測試用例和手工測試用例的完美結合,減小重複工做
二、配置靈活,能夠自主切換測試環境,執行測試用例
三、經常使用功能進行封裝,邏輯清晰,易於維護
四、統一執行入口,管理測試用例集:
run.py模塊經過模糊查找來選擇須要執行的測試用例
五、持續集成,定時構建,快速反饋
八、具體的在這個項目中自動化怎麼應用到實際的,您對自動化結果的分析
完成全部的自動化測試框架的設計和實現後,進行接口測試,而後集成到jenkins,配置定時執行,生成html報表,查看測試經過率,查看接口的功能
每次發版時,進行迴歸測試,新功能開發未提測前
九、作好測試計劃的關鍵是什麼?
明確測試目的,加強測試計劃的實用性,保證測試用例的實用性和覆蓋率,徹底需求文檔和規格指標書等,嚴格界定測試周期,測試輪次,測試覆蓋模塊等
20200617天喻軟件初面:
1.post,get請求的區別
2.接口測試用例的重點
3.接口之間的關聯怎麼作
4.cookies怎麼存儲
5.併發時,cookies,token如何處理
6.三方接口故障時,如何處理
7.如何開展的接口自動化,框架是本身搭建的嗎?