軟件測試之接口測試常見面試題

一、什么是(軟件)接口測試?

接口測試:是測試系統組件間接口的一種測試方法

接口測試的重點:檢查數據的交換,數據傳遞的正確性,以及接口間的邏輯依賴關系

接口測試的意義:在較早期開展,在軟件開發的同時實現并行測試,減少頁面層測試的深入問題,降低開發成本,縮短整個項目的測試周期;脫離頁面的限制,更全面的進行測試,發現更底層的問題。

二、為什么要做接口測試?

1)越底層越早期發現bug,它的修復成本是越低的。

2)測試時能夠跨越前端UI的限制,做更充分的測試,檢查系統的安全性、穩定性。

3)接口相對UI自動化也比較穩定,也相對容易實現自動化持續集成,且可以減少回歸測試人力成本,縮短測試周期,支持后端快速發版需求。

三、解釋API測試和單元測試之間的區別

API(Application Programming Interface,應用程序編程接口),指一個軟件組件與外界進行的交互的接口。它是一組功能和過程,可用于創建訪問應用程序或操作系統的功能或數據的應用程序。

API測試:屬于黑盒測試;一般測試人員執行;單元測試完成再執行API測試;API測試可以檢查系統的全部功能,以便最終用戶可以完美地使用它。

單元測試:屬于白盒測試;一般歸開發人員執行;在每個模塊準備就緒,則進行單元測試;執行單元測試以檢查每個隔離單元是否按預期執行。

四、UI測試和API測試之間的關鍵區別?

UI(用戶界面)是指測試圖形界面,如用戶如何與應用程序交互,測試應用程序元素,如字體,圖像,布局等。UI測試基本上側重于應用程序的外觀和感覺。 API可以實現兩個獨立的軟件系統之間的通信。實現API的軟件系統包含可由另一軟件系統執行的功能或子例程。

五、接口自動化測試的流程?

半自動化: 了解接口—用例設計—選擇工具、實現用例—問題分析

自動化: 需求分析–>用例設計–>自動化工具或框架選擇–>腳本開發–>測試執行–>結果分析–>維護—>持續集成。

六、接口文檔一般有哪些內容?

接口文檔一般包括用戶使用接口時必備信息:

接口說明、調用url、使用的方式、使用舉例

請求參數列表、參數類型、請求參數說明

返回參數說明、錯誤碼說明。

七、沒有接口文檔怎么辦

抓包分析,或者源代碼、日志,或者根據數據庫設計,根據業務,溝通–梳理接口文檔,

不規范—找到必備信息—自己簡要整理成文檔—確認。

八、接口功能測試用例的編寫要點?

首先是接口的基本功能測試:正常場景和異常場景,

請求參數:

參數基本校驗:是否有默認值,類型要求、是否必填,合法性要求、邊界值

各參數之間是否有邏輯關系

業務邏輯測試:正向,反向,

響應內容:

對結果碼的覆蓋

響應數據校驗:格式和內容

九、對API執行哪些常見測試?

1)通常根據請求響應驗證返回值是否基于請求。

2)當API更新數據時,我們應驗證系統是否在驗證結果。

3)我們將驗證API是觸發其他事件還是請求其他API。

4)當沒有返回值時,我們將驗證API的行為。

十、在API測試期間,面臨哪些不同類型的挑戰?

1)參數選擇、參數組合、調用順序、輸出驗證和確認

2)鑒權、身份認證、協議

十一、接口調用的步驟?

用戶:發送接口請求,然后接收響應內容;

Client發送請求<-------->Server處理并返回響應

十二、API測試會發現哪些Bug?

功能缺失或重復;沒有友好處理錯誤情況;可靠性;安全性;性能;錯誤處理不一致;多線程問題;

十三、接口測試中依賴登錄狀態的接口如何測試?

依賴登錄狀態的接口的本質上是在每次發送請求時需要帶上Sessionid或者Cookie才能發送成功,在構建請求時添加必要的Sessionid或者Cookie即可。

十四、當一個接口出現異常時候,你是如何分析異常的?

抓包分析,用fiddler、F12,app上的話,那就用fiddler設置代理,去看請求報文和返回報文了

查看后端日志

十五、有那些類型的接口?

如內部接口和外部接口;單一接口,組合接口

根據協議劃分:http接口,soap接口,

http接口: get, post, put, delete;

Web service接口: soap,rmi, rpc

十六、什么是Web Service?

Web Service是一個SOA(面向服務的編程)的架構,它是不依賴于語言和平臺,可以實現不同的語言間的相互調用,通過Internet進行基于Http協議的網絡應用間的交互;

Web Service = WSDL+SOAP+UDDI

十七、什么是SOAP接口

SOAP簡單對象訪問協議,是一種基于 XML 的協議。 SOAP 可以和現存的許多因特網協議和格式結合使用,包括超文本傳輸協議HTTP,簡單郵件傳輸協議SMTP。

十八、什么是REST/RESTFUL接口?

在REST API中,通過HTTP協議進行交互。

REST - 表述性狀態轉移,它不是協議和標準而是表示一種風格, 將Http協議的設計初衷作了詮釋。它正快速成為API創建的標準。

十九、GET請求和POST請求區別是什么?

1)GET一般從服務器上獲取資源,POST一般往服務器發送數據(不是絕對的)

2)GETGET方式主要是對數據庫進行查詢,GET是冪等和安全的,而POST主要用于讓數據庫增加數據或者刪除,修改數據,所以會有一定的安全性問題;

3)GET請求數據是通過URL傳送,POST請求數據通常在請求BODY中;

4)GET,因為受URL長度限制,數據量有限;POST可以傳輸大量數據,可用于文件上傳

5)GET是不安全的,因為URL是可見的;POST較安全

6)GET請求參數會被完整保留在瀏覽器歷史記錄里,而POST中的參數不會被保留

二十、HTTP接口的請求參數類型有哪些?

  1. 查詢字符串參數(Query String Parameters參數)一般用于GET請求,會以url string的形式進行傳遞。

  2. 請求體參數(Request Body)一般用于POST請求,可以使用Content-Type來指定不同參數類型。

二十一、常見的 POST 提交數據方式

請求body;請求url+請求body:

Content-type:

application/x-www-form-urlencoded: 表單提交–鍵值對, form

multipart/form-data:文件上傳—文件 ,MIME

application/json,text/xml:

二十二、、如何對請求數據加密?

為什么要加密,常規加密方式

  1. Jmeter–找它的對應組件或函數;如果沒有寫代碼,

  2. Requests–寫代碼,利用python自帶的或第三方的模塊

二十三、HTTP協議無狀態?怎么解決Http協議無狀態?

1)無狀態指對于事務處理沒有記憶能力,每個http請求都是完全獨立的。 2、無狀態協議解決辦法: 通過Cookie或Session。

A. client發送登錄請求,server判斷登錄成功,生成cookie并返回響應

B. Client保存cookie,并在接下來的請求時,帶上cookie

C. Server接收到請求,對請求中的cookie做驗證

二十四、Cookies機制和session機制的區別

cookies數據保存在客戶端,session數據保存在服務器端;

cookies可以減輕服務器壓力,但是不安全,容易進行cookies欺騙;

session較安全,但占用服務器資源;

Cookie實現方式:

  1. 登錄成功,server返回cookie—響應的header的set-cookie字段

2)下次請求,請求header中通過cookie字段帶上需要的cookie

session實現方式—cookie,Url回寫

1)登錄成功,server創建session并返回sessionid

2)下次請求時,請求報文中帶上sessionid
在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/80678.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/80678.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/80678.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Lua 第11部分 小插曲:出現頻率最高的單詞

在本章中&#xff0c;我們要開發一個讀取并輸出一段文本中出現頻率最高的單詞的程序。像之前的小插曲一樣&#xff0c;本章的程序也十分簡單但是也使用了諸如迭代器和匿名函數這樣的高級特性。 該程序的主要數據結構是一個記錄文本中出現的每一個單詞及其出現次數之間關系的表。…

軟件項目進度管理活動詳解

目錄 1. 活動定義&#xff08;Activity Definition&#xff09; 2. 活動排序&#xff08;Activity Sequencing&#xff09; 3. 活動資源估算&#xff08;Activity Resource Estimating&#xff09; 4. 活動歷時估算&#xff08;Activity Duration Estimating&#xff09; …

docker 國內源和常用命令

Ubuntu | Docker Docs 參考docker官方安裝docker # Add Dockers official GPG key: sudo apt-get update sudo apt-get install ca-certificates curl sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt…

身份與訪問管理(IAM):零信任架構下的認證授權技術與實戰

身份與訪問管理&#xff08;IAM&#xff09;&#xff1a;零信任架構下的認證授權技術與實戰 在網絡安全防御體系中&#xff0c;身份與訪問管理&#xff08;Identity and Access Management, IAM&#xff09;是守護數字資產的“數字門禁系統”。隨著遠程辦公和多云架構的普及&a…

Maven進階知識

一、Maven 坐標 &#xff08;一&#xff09;概念 在 Maven 中坐標是構件的唯一標識&#xff0c;其元素包括 groupId、artifactId、version、packaging、classifier。其中 groupId、artifactId、version 是必定義項&#xff0c;packaging 默認為 jar。 &#xff08;二&#x…

網絡原理 ——TCP 協議

TCP 報文結構 TCP 頭部 20字節&#xff08;無選項&#xff09;&#xff0c;關鍵字段&#xff1a; 字段長度&#xff08;bit&#xff09;說明源端口16發送方端口目的端口16接收方端口序列號&#xff08;seq&#xff09;32數據字節的編號確認號&#xff08;ack&#xff09;32期…

C#使用sftp遠程拷貝文件

需要下載 的包&#xff1a;Core.Renci.SshNet 下載依賴包的時候需要注意版本&#xff0c;高版本的.net環境不支持會用不了&#xff0c;我用的.net5,所以下載的2021.10.2 功能的核心式創建一個SftpClient&#xff0c;并傳入所需要的參數&#xff1a;遠程IP地址&#xff0c;端口…

文本預處理(NLTK)

1. 自然語言處理基礎概念 1.1 什么是自然語言處理 自然語言處理( Natural Language Processing, NLP)是計算機科學領域與人工智能領域中的一個重要方向。它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。自然語言處理是一門融語言學、計算機科學、數學于…

socket編程基礎

上一篇 --- 網絡基礎概念&#xff08;下&#xff09;https://blog.csdn.net/Small_entreprene/article/details/147320155?fromshareblogdetail&sharetypeblogdetail&sharerId147320155&sharereferPC&sharesourceSmall_entreprene&sharefromfrom_link 理…

CSS 解決手機瀏覽器默認行為(點擊出現藍色背景)

最近寫了一個 Web 應用&#xff0c;可以兼容手機端和PC端&#xff0c;在PC端調試的時候沒有發現這個問題&#xff0c;但是在手機上或者PC瀏覽器改成手機模式進行調試的時候就會出現下面這個場景&#xff1a; 這是兩個 div&#xff0c;點擊的時候&#xff0c;會出現一個藍色的背…

多模態大語言模型arxiv論文略讀(三十八)

Tables as Texts or Images: Evaluating the Table Reasoning Ability of LLMs and MLLMs ?? 論文標題&#xff1a;Tables as Texts or Images: Evaluating the Table Reasoning Ability of LLMs and MLLMs ?? 論文作者&#xff1a;Naihao Deng, Zhenjie Sun, Ruiqi He, A…

聊聊Spring AI Alibaba的YuQueDocumentReader

序 本文主要研究一下Spring AI Alibaba的YuQueDocumentReader YuQueDocumentReader community/document-readers/spring-ai-alibaba-starter-document-reader-yuque/src/main/java/com/alibaba/cloud/ai/reader/yuque/YuQueDocumentReader.java public class YuQueDocument…

OCR定制識別:解鎖文字識別的無限可能

OCR 定制識別是什么&#xff1f; OCR&#xff0c;即光學字符識別&#xff08;Optical Character Recognition&#xff09; &#xff0c;它就像是一個神奇的 “文字翻譯器”&#xff0c;能把圖片里的文字轉化成計算機可編輯的文本。比如&#xff0c;你掃描一份紙質文檔成圖片&am…

麒麟系統(基于Ubuntu)上使用Qt編譯時遇到“type_traits文件未找到”的錯誤

在麒麟系統&#xff08;基于Ubuntu&#xff09;上使用Qt編譯時遇到“type_traits文件未找到”的錯誤&#xff0c;通常是由于C標準庫頭文件缺失或項目配置問題導致的。以下是逐步解決方案&#xff1a; 1. 安裝C標準庫和開發工具 確保系統已安裝完整的開發工具鏈和標準庫&#…

服務器上安裝node

1.安裝 下載安裝包 https://nodejs.org/en/download 解壓安裝包 將安裝包上傳到/opt/software目錄下 cd /opt/software tar -xzvf node-v16.14.2-linux-x64.tar.gz 將解壓的文件夾移動到安裝目錄(/opt/nodejs)下 mv /opt/software/node-v16.14.2-linux-x64 /opt/nodejs …

Vue3 + Vite + TS,使用 ExcelJS導出excel文檔,生成水印,添加背景水印,dom轉圖片,插入圖片,全部代碼

Vue3 Vite TS,使用 ExcelJS導出excel文檔&#xff0c;生成水印&#xff0c;添加背景水印&#xff0c;dom轉圖片&#xff0c;插入圖片&#xff0c;全部代碼 ExcelJS生成文檔并導出導出表頭其他函數 生成水印設置文檔的背景水印dom 轉圖片插入圖片全部代碼 ExcelJS 讀取&#…

devops自動化容器化部署

devops 一、簡單案例體驗gitlabrunner部署靜態文件二、devops企業級部署方案1、流程圖2、依賴工具3、流程圖4、主機規劃5、安裝工具軟件1、安裝git2、安裝gitlab3、安裝jenkins-server4、安裝harbor5、安裝web-server&#xff0c;也就是部署服務的機子&#xff0c;需要安裝dock…

高級 SQL 技巧:提升數據處理能力的實用方法

在數據驅動的時代,SQL 作為操作和管理關系型數據庫的標準語言,其重要性不言而喻。基礎的 SQL 語句能滿足日常的數據查詢需求,但在處理復雜業務邏輯、進行數據分析和優化數據庫性能時,就需要掌握一些高級 SQL 技巧。這些技巧不僅能提高查詢效率,還能實現復雜的數據處理任務…

21.disql命令登錄達夢數據庫,查詢并操作數據庫

目錄 1.連接達夢數據庫 1.1 windows或linux系統 步驟&#xff08;1&#xff09;&#xff1a;打開終端窗口 步驟&#xff08;2&#xff09;&#xff1a;進入夢數據庫安裝目錄下的 bin 文件夾 步驟&#xff08;3&#xff09;&#xff1a;用disql命令進行登錄 1.2 docker部署…

N8N MACOS本地部署流程避坑指南

最近n8n很火&#xff0c;就想在本地部署一個&#xff0c;嘗嘗鮮&#xff0c;看說明n8n是開源軟件&#xff0c;可以在本地部署&#xff0c;于是就嘗試部署了下&#xff0c;大概用了1個多小時&#xff0c;把相關的過程記錄一下&#xff1a; 1、基礎軟件包 abcXu-MacBook-m2-Air…