這里寫自定義目錄標題
- 介面基礎
- 單元測驗
- 介面
- 網路協議
- http請求協議
- 面試被問到是如何做介面測驗的?
- 介面測驗常見的問題?
- http和https協議的區別:
- 介面的引數
- 用戶資訊認證
- 介面自動化
- 什么樣的專案適合做自動化
- 介面自動化測驗的流程
- 介面自動化框架設計
- 面試時被問到如何搭建自動化測驗框架?
介面基礎
單元測驗
單元測驗是組織代碼的最小單元,組織代碼的方式有:包、類、模塊、函式,最小單元就是函式或者類下面的方法
介面
-
介面的定義:介面是系統各個組件間的一種介面,介面測驗主要用于檢測外部系統與系統之間以及內部各個子系統之間的互動點,測驗重點主要是檢查資料的交換、傳遞和控制管理的程序,以及系統間相互邏輯依賴的關系,
-
為什么要做介面測驗 :
①底層發現的bug,修復的成本低
② 檢查系統的安全性,穩定性,前端傳參不可信
③檢查系統的例外處理能力
④可以修改請求的引數,突破前端頁面輸入的限制,如金 額,登錄次數,發送短信驗證碼 -
介面的作用 :實作前后端的互動,實作資料的傳輸
網路協議
- 協議的定義 :計算機為了實作網路通信而達成的一種約定或者規則
- 介面協議 :
① http協議
② webservice協議
③ webscoket協議
http請求協議
- 定義 :超文本傳輸協議(Hyper Text Transfer Protocol),是一個簡單的請求回應協議
- 特點 :
① 靈活,引數可以支持任意型別:json,form表單,xml,html等
②簡單快速,只需要傳一個請求的地址和請求的方法,通信速度快,就能給到回應的資料
③無連接,每次連接值處理一個請求,請求完成后,就會斷開
④ 無狀態:每次都會重新請求 - http請求的內容:
① 請求頭:url,請求的方法(get,post).content_type:請求的格式
② 請求體:text、json、 form表單
③ 回應頭
Content-type:回應格式
Set-cookie:name=XXX
④ 回應體:text,html,json - http請求的方法:
① post
②get
③put
④patch
⑤delete - get和post的區別:
①get是向服務器請求資料,post是向服務器發送資料,可以創建或者修改服務器上的資料
② get沒有請求體,post有請求體
③get可以將請求放在url中,post不僅可以放在url中,也可以放在請求體中
④post的請求沒有暴露在外面,get請求一般將請求放在url中,故post請求比get請求稍微安全點 - http請求狀態碼:
① 100 -客戶端可以繼續想服務器發送請求
② 200 -請求成功
③201 -請求被創建成功
④202 -處理的請求已被介面,但未處理完成
⑤300 -重定向
⑥ 400 -服務未能理解的請求
⑦ 401 -請求的頁面需要用戶名和密碼
⑧ 403 -請求的頁面被禁止
⑨404 -服務器無法找到對應的頁面
⑩ 500 -服務器遇到不可未知的錯誤
11、504 --網關超時
12、505 --服務器 不支持請求中的http協議版本
面試被問到是如何做介面測驗的?
- 一般做介面測驗,會用到介面測驗工具jmeter或者postman任何一種都可以:
- 拿到介面檔案,先熟悉介面檔案,以及每個介面實作的功能,介面的地址,請求方式,請求引數,引數的約束,熟悉回應的資料,正確的回應碼和錯誤的回應碼
- 撰寫介面測驗用例
① 業務功能用例
②邊界值分析
③例外情況(重復提交,引數為空的判斷)
④安全測驗,敏感資訊是否加密 - 執行用例
用jmeter建立一個執行緒組,再添加http請求,填寫和請求的地址,請求的方法,引數,設定介面測驗資料,設定引數化,添加斷言,添加一個查看結果樹,運行介面,運行完成后,檢查介面是否通過,如果不通過,先定位問題,是否是引數請求有問題,如果引數有問題,修改引數再次運行,如果是介面本身存在問題,提交bug給開發,把服務器上的日志取下來,提交bug給開發 - 撰寫介面測驗報告
介面測驗常見的問題?
- 傳入引數不正確,導致介面例外:
- 權限未設定,可以訪問其他用戶的敏感資訊
- 狀態碼不正確
- 邏輯校驗不完善
http和https協議的區別:
http是超文本傳輸協議,客戶端與服務端的互動是明文傳輸的,埠是80
https是http+ssl結合的傳輸方式,客戶端和服務端的互動是加密傳輸的,比較安全,一般需要安裝證書,埠一般是443
介面的引數
url,請求的方法、請求引數,回應體
用戶資訊認證
cookie、session token的區別:
1.token是開發自定義的,session是http協議定義的標準
2.token不需要存盤起來,不需要占用服務器的資源,session需要存盤在服務器上,一般會占用服務器的資源
3.cookie和session的共同之處就是都是用來跟蹤瀏覽器用戶身份的會話方式
4.Token是可以跨平臺的,(手機,電視,盒子),session不能跨域
介面自動化
什么樣的專案適合做自動化
- 需求穩定,不會頻繁變更的專案:
- 研發和測驗周期長,需要頻繁的進行回歸測驗
- 需要在多平臺上運行相同的測驗場景
- 手工測驗成本高
- 被測軟體的開發較為規范,能夠保障系統的可測性
介面自動化測驗的流程
1. **需求分析**
2. 測驗計劃(什么時候完成,用什么做自動化,優先級)
3. 測驗用例的撰寫(Excel)
4. 用例的評審
5. 撰寫自動化腳本
6. 用例執行
7. 測驗報告輸出
介面自動化框架設計

-common:專案通用模塊管理,如日志模塊,Excel操作模塊,資料庫操作模塊,讀取組態檔操作模塊
-config:存放組態檔,負責測驗報告和測驗日志路徑的模塊
-data:負責測驗用例的管理
-logs:負責測驗日志的管理
-reports:負責測驗報告的管理
-test:負責測驗用例的管理
-.gitignore:提交git時需要忽略的檔案
-run.py:專案入口,主程式,負責收集用例,運行用例,生成報告
-readme.md:專案說明檔案
面試時被問到如何搭建自動化測驗框架?
使用的技術:Python+pytest+requests+allure
首先創建一個專案,接下來創建專案的目錄結構:

-common:專案通用模塊管理,如日志模塊,Excel操作模塊,資料庫操作模塊,讀取組態檔操作模塊
-config:存放組態檔,負責測驗報告和測驗日志路徑的模塊
-data:負責測驗用例的管理
-logs:負責測驗日志的管理
-reports:負責測驗報告的管理
-test:負責測驗用例的管理
-.gitignore:提交git時需要忽略的檔案
-run.py:專案入口,主程式,負責收集用例,運行用例,生成報告
-readme.md:專案說明檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/260712.html
標籤:其他
上一篇:HTTP和HTTPS
