2023秋招上岸必備軟件測試面試題

1、請結合你熟悉的項目,介紹一下你是怎么做測試的?

  -首先要自己熟悉項目,熟悉項目的需求、項目組織架構、項目研發接口等

  -功能 + 接口 + 自動化 + 性能 是怎么處理的??

    -第一步: 進行需求分析,需求評審,研發和測試對需求達成統一的理解

    -第二步:架構師會輸出接口規范;

      前后端開發根據接口進行開發

      功能測試人員,開始根據需求設計測試用例

      接口測試人員根據接口規范設計測試接口測試用例

    -第三步:后端開發 先測接口

    -第四步:接口測試人員對接口進行測試

    -第五步:接口測試通過之后,輸出接口的測試報告

    -第六步:功能測試人員,根據接口的測試報告和前端開發的提測,來開始進入功能測試,接口測試人員整理接口自動化腳本,并開始在驗收環境進行接口測試

    -第七部: 功能測試人員測試環境測試通過后,進入驗收環境進行功能的驗收測試

      -UI 自動化小組成員,開始編寫回歸測試的自動化UI測試的代碼

    -第八步:發布到線上環境,進行最后一輪的功能回歸測試

    -第九步:跟蹤產生BUG

2、你們公司是如何做接口測試的?

  分析: 一般會發這類問題,最好結合項目回答,并且要回答出使用工具、技術、設計的人力安排、工作成果等

  答: 我在上一家公司里面,對HRM人力資源系統進行過接口測試,負責的呢輪轂、員工的增刪蓋茶,部門的增刪蓋茶,用戶資源查詢接口測試,一共12個接口

  在公司里我開展測試時,先要進行需求分析,然后開發開發代碼時,熟悉項目需求。等待開發提測試接口后,拿到接口文檔,然后根據接口文檔設計測試用例,使用postman 工具進行接口測試,經過3天的測試,一般能夠完成一輪的接口測試。測試完成后,如果所有測試用例都執行完畢,并且所有的bug都回歸測試通過,沒有嚴重等級bug之后,就可以移交功能測試。

  在功能測試人員進行功能測試時,我們可以編寫自動化接口測試代碼,然后進行接口層的回歸測試。

  同時,我們接口測試人員會提前在UAT驗收環境進行部署和回歸測試。等UAT回歸通過之后,前端測試就可以介入UAT測試。

  等前端測設通過并發布上線之后,我們可以在UAT 環境使用持續集成技術,持續的監控已發布的版本質量,達到保證項目質量的目的

  最后,我們使用接口測試自己數,對人力管理系統進行利系統接口層測試,測試效率比功能測試回歸的效率高了16倍,功能測試需要花費一天的時間才能執行完成回歸測試工作,我們接口人員利用自動化接口測試技術,只花了半個小時。而且還能持續的監控舊版本的代碼質量,提高我們的測試效率

如果面試官不打斷,就接著說:

  這里面,我們使用Postman的斷言,關聯、引入外部數據文件,對接口進行測試。并且使用newman工具來生成HTML報告,利用mysql來連接數據庫,校驗數據庫的數據。

其中,一些大數據的測試場景,我們使用csv文件來完成測試。

讓人印象深刻的bug:

  在工作中,我遇到一些讓我印象深刻的bug,其中我在測試登陸接口時,偶然發現,我們不輸入用戶名和輸入一個特定的密碼結果登陸成功了,然后讓我意識到這是一個后門,然后提單了,并且詢問開發為什么會有這種問題,最后開發說,這是數據庫中插入了一條臟數據,這個數據沒有用戶名,然后有密碼導致,他們會修復。

面試的建議:

  1、最好能夠主導面試的分為,控制面試官問的問題。(如果他有準備往往很難控制)

  2、面試官必然會問的3類問題:你簡歷中寫的技術;公司中使用的技術,擴展知識(超出面試者個人的知識,都是我們面試時不知道的內容)

  3、面試的問題本質上就是我們怎么做的

  例如: 你知道HTTP協議碼?

  這個問題不是在問你知不知道HTTP協議,而是在問你 什么是HTTP協議,有什么特點,有哪些部分組成?

  你寫過測試用例嗎?

  我曾經對登陸接口設計過接口測試用例,按照測試方法論等價類、邊界值設計了登陸的測試用例,一共設計了46個,主要的關鍵元素時用例的測試名稱,操作步驟,嚴重等級,預期結果這些部分。

3、什么時候開展接口測試?

  我們公司一般都是前后端開發鏈條后進行接口測試。

  但是我們可以提前介入,例如在后端開發輸出接口文檔之后就開始進行模擬的接口測試,編寫測試腳本

  我們可以在UAT階段進行接口的回歸測試

  持續集成時,使用自動化接口自動的持續監控版本質量

4、接口測試和UI測試的工作是否重復?

  答: 接口測試和功能測試是有重復場景的,如果是接口和UI測試時完全分離的,沒有重復。

  接口測試和功能測試在業務邏輯上是重復的。但是接口測試更注重后端的交互,而功能測試可以注重前端UI交互,這樣的話各有側重點,能更好的管理測試。

  但是當前行業中,很多公司基本上都是通過功能測試來進行接口測試的,有時候會省略接口測試,但是這種風險比較高,功能測試無法覆蓋厚點接口測試中性能和安全測試點,導致測試不充分,有很高的上線風險。

5、接口測試框架怎么搭建的?

  答:我們公式使用的框架 python+unitest + request + parameterized + HTMLTestRuuner +pymysql 來進行測試接口

其中 unitest 主要用來管理測試用例

  requests模塊用來發送接口請求和封裝接口

  parameterized 用于參數化

  HTMLTestRunner 用于生成測試報告

  pymysql操作數據庫

  在我們接口框架中,我們首先是新建一個項目,然后再把項目所需要的目錄結構搭建好,接著安裝框架需要使用requests,parameterized htmltestrunner pymysql這些工具包

  編寫腳本會調用封裝的接口,來進行接口測試。最后再run_suite.py生成測試報告。report目錄用來存放測試報告,utils存放自定義的模塊

  自我介紹要簡潔,條理要清晰

6、接口之間有依賴時怎么處理?

  答; 可以用關聯,我之前在公司對人力資源管理系統進行接口測試時,其中登陸、員工管理模塊都有依賴關系,我遇到后,使用postman 工具,先獲取上一個接口的響應,然后保存到全局變量,接著在下一個接口中調用保存的變量,從而實現關聯來解決接口之間的依賴關系。

代碼實現也是將response響應消息中的值保存為變量,在下一次的接口中調用

7、如何判斷接口測試的結果 是成功還是失敗?

  1、斷言接口的返回數據和預期是否一致

  2、如果需要更新數據庫的數據,需要到數據庫中查詢數據是否和修改的一致

  3、數據庫中修改完成還需要查詢一下,看看是否能夠正常的查詢

8、常用的接口請求方式和區別

答:常見的接口請求方式:GET POST PUT delete

  GET:用于查詢

  POST:用于新增

  PUT 用于修改

  DELETE: 用于刪除

  其中 GET 和POST有顯著的區別:

  1、GET 沒有請求體,它的請求參數直接放在了url中,post 是有請求體的

  2、GET請求相對來講不安全,因為參數直接暴露了,post將數據放在了請求體中,相對來講安全

  3、GET請求的數據包比POST的小

  4、get請求支持的編碼格式沒有post多

9、發送HTTP請求時,傳遞參數的途徑有哪些?

10、自動化測試多久構建一次? 一天構建兩次

11、使用工具和代碼 實現接口自動化測試的區別

  答:

    工具:使用簡單,但是不靈活,可以應用一些非定制化需求的測試

    代碼: 非常靈活,可以定制化

12、HTTP和HTTPS的區別

  HTTP默認工作端口號是80,以明文的方式發送內容,不適合敏感信息的傳輸

  HTTPs默認工作端口號是443,加了一個SSL 來加密數據包,

  HTTP和HTTPS的區別:

    1、HTTP明文傳輸,數據未加密,安全性差,HTTPS(SSL+HTTP) 數據傳輸過程是加密的,安全性好

    2、使用HTTPS協議 要使用到 CA證書

    3、HTTP 頁面響應比HTTPS快,主要是因為HTTP使用TCP三次握手建立連接,客戶端和服務端需要交換三個包;而

    HTTPS除了TCP的三個包 還需要加上SSL的9個包,一共是12個包

    4、http和https 使用的是完全不同的連接方式,用的端口也不一樣,前者是80,后者是443

    5、HTTPS 起始就是構建在ssl、TLS 之上的http協議,所以https比HTTP更耗費服務器資源。

13、cookie和session的區別

  cookie -- 客戶端會話技術? cookie 保存在客戶端,攜帶cookie 請求服務器

  session -- 服務端會話技術? sessionID 保存在服務端,攜帶sessionID 請求服務器

  token -- 令牌? token保存在客戶端? 攜帶token請求服務器

如何定位前后端bug?????????????????????????

問題:修改了參數后 點擊提交 沒有反應,這個時候怎么定位時前端還是后端的問題?

  要用fidder抓包來看

  1、看一下前端是否發送的正確的請求消息,如果沒有發送或者發送了錯誤的請求消息 則是前端問題

  2、如果發送了正確的請求消息:  但是服務器沒有相應數據返回,則是服務端問題

  3、如果發送了正確請求消息,服務端響應了 但是相應錯了,這個還是服務端的問題

  4、如果發送了正確的請求,服務端也相應了,相應也是正確的,這個就是前段問題

B站2023年最詳細的python接口自動化測試全棧測試開發技術入門到精通教程

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

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

相關文章

【Delphi】開發IOS 程序,TLabel 中英文字對齊(水平),一行代碼解決顯示對齊問題!

目錄 一、問題現象: 二、解決方案(一行代碼解決ios對齊問題): 三、解決后效果: 四、后記: 一、問題現象: 在用 Delphi 開發ios程序時,使用TLabel控件顯示,會出現中英…

WiFi 6的數據在發送端分片和在接收端重組的理解

802.11ax是WiFi 6標準,其引入了一些新的特性和技術來提升無線網絡的性能,其中包括幀聚合和幀分片。以下是它們的詳細處理流程: 1. 幀聚合 幀聚合是一種提高傳輸效率的技術,它允許多個數據幀被聚合到一起,然后作為一個…

layui(2.8.18)生成驗證碼

<!DOCTYPE html> <html> <head><meta charset"utf-8"><title>登入</title><meta name"renderer" content"webkit"><meta http-equiv"X-UA-Compatible" content"IEedge,chrome1&quo…

Go 工具鏈詳解(七):模塊緩存清理工具

go mod 緩存 在 Golang 中&#xff0c;模塊是對一組版本化的包的集合的描述。Go 1.11 版本引入了模塊支持&#xff0c;通過 go mod 命令提供了對模塊的管理。Go 模塊的一個重要特性是依賴管理&#xff0c;可以清晰地定義項目所依賴的模塊及對應的版本&#xff0c;并確保代碼使…

電磁優化的并行空間映射方法

空間映射(SM)是一種公認的加速電磁優化的方法。現有的SM方法大多基于順序計算機制。本文提出了一種用于電磁優化的并行SM方法。在該方法中&#xff0c;每次迭代開發的代理模型被訓練以同時匹配多個點的精細模型。多點訓練和SM使代理模型在比標準SM更大的鄰域內有效。本文提出的…

[補題記錄] Complete the Permutation(貪心、set)

URL&#xff1a;https://codeforces.com/group/OcmZ7weh45/contest/487583/problem/J 目錄 Problem/題意 Thought/思路 Code/代碼 Problem/題意 給出一個長度為 N 的序列&#xff0c;其中的元素都是奇數。 現在要求在兩個奇數之間插入一個偶數&#xff0c;使得這三個數遞增…

信息壓縮模型在自然語言處理中的應用和探討

信息壓縮模型在自然語言處理中的應用和探討 摘要:正文:結論:附錄:摘要: 隨著人工智能和深度學習的發展,自然語言處理(NLP)在信息處理中的角色變得越來越重要。然而,海量的自然語言數據為信息處理帶來了挑戰——更多的信息通常意味著更高的處理成本,并可能導致效率降低。為…

一個工具讓你明白“萬丈高樓平地起”,拒絕重復造輪子!

大家在公司工作當中是不是很多時間裝環境很麻煩&#xff0c;一個項目要上線了&#xff0c;開始網上搜了一邊又一遍的環境搭建教程&#xff1f;等到下一個項目要上線了&#xff0c;又上網上搜了一邊又一遍的環境搭建教程。關鍵天花亂墜的互聯網&#xff0c;找不到很靠譜的呀。有…

數組的移動

設計程序&#xff0c;給定包含N個整數的數組array&#xff0c;實現操作&#xff1a;前面各個整數順序向后移動m個位置&#xff0c;最后的m個整數移動到最前面。方法&#xff1a;void move(int array[], int n,int m ) 輸入要求 第一行輸入兩個整數N(1<N<1e6)和m(0<m&…

webpack 配置

1、基礎配置 // node js核心模塊 const path require(path) // 插件是需要引入使用的 const ESLintPlugin require(eslint-webpack-plugin) // 自動生成index.html const HtmlWebpackPlugin require(html-webpack-plugin); // 將css文件單獨打包&#xff0c;在index.html中…

如何做好項目管理?年薪百萬項目大佬一直在用這11張圖

大家好&#xff0c;我是老原。 日常工作中&#xff0c;我們會遇到各種大大小小的工作項目&#xff0c;如何能讓項目保質保量的完成&#xff0c;是我們項目經理的目標。 項目管理的流程可以說是由一系列的子過程組成的&#xff0c;它是一個循序漸進的過程&#xff0c;所以不能…

python數字

目錄 整數&#xff08;如&#xff0c;2、4、20 &#xff09;的類型是 int&#xff0c;帶小數&#xff08;如&#xff0c;5.0、1.6 &#xff09;的類型是 float。 Python 用 ** 運算符計算乘方 1&#xff1a; 等號&#xff08;&#xff09;用于給變量賦值。 解釋器像一個簡單…

進程API

linux下進程的api forkwaitexec fork #include <stdio.h> #include <stdlib.h> #include <unistd.h>/* linux環境運行 子進程并不是完全拷貝了父進程。具體來說&#xff0c;雖然它擁有自己的 地址空間&#xff08;即擁有自己的私有內存&#xff09;、寄存器…

【Delphi】使用TWebBrowser執行JavaScript命令傳入JSON參數執行出錯解決方案

目錄 一、問題背景&#xff1a; 二、實際示例&#xff1a; 三、解決方案&#xff1a; 1. Delphi 代碼&#xff1a; 2. javaScript代碼&#xff1a; 一、問題背景&#xff1a; 在用Delphi開發程序&#xff0c;無論是移動端還是PC端&#xff0c;都可以很方便的使用TWebBrows…

Postman如何使用(一):導入導出和發送請求查看響應

一、Postman如何導入導出打包的應用 在Postman中導入導出我們的 測試數據包 和 工作環境 非常的方便&#xff1a; 導出數據包的方法如下&#xff1a; 如果你想學習自動化測試&#xff0c;我這邊給你推薦一套視頻&#xff0c;這個視頻可以說是B站播放全網第一的自動化測試教程…

七天.NET 8操作SQLite入門到實戰 - 第三天SQLite快速入門

前言 今天我們花費一個小時快速了解SQLite數據類型、SQLite常用命令和語法。 七天.NET 8操作SQLite入門到實戰詳細教程 第一天 SQLite 簡介第二天 在 Windows 上配置 SQLite環境 EasySQLite項目源碼地址 GitHub地址&#xff1a;https://github.com/YSGStudyHards/EasySQLite&…

第一百七十六回 如何創建漸變色邊角

文章目錄 1. 概念介紹2. 實現方法3. 代碼與細節3.1 示例代碼3.2 代碼細節 4. 內容總結 我們在上一章回中介紹了"如何創建放射形狀漸變背景"相關的內容&#xff0c;本章回中將介紹"如何創建漸變色邊角".閑話休提&#xff0c;讓我們一起Talk Flutter吧。 1.…

2023-11-22 LeetCode每日一題(網格中的最小路徑代價)

2023-11-22每日一題 一、題目編號 2304. 網格中的最小路徑代價二、題目鏈接 點擊跳轉到題目位置 三、題目描述 給你一個下標從 0 開始的整數矩陣 grid &#xff0c;矩陣大小為 m x n &#xff0c;由從 0 到 m * n - 1 的不同整數組成。你可以在此矩陣中&#xff0c;從一個…

一石激起千層浪,有關奧特曼被炒的消息引發了一場熱烈的討論

在毫無征兆的情況下&#xff0c;OpenAI CEO山姆-奧特曼被炒了。 一石激起千層浪&#xff0c;有關奧特曼被炒的消息引發了一場熱烈的討論。 有人將其看成是一場「宮斗」&#xff0c;有人將其看成是OpenAI的董事會與創始人們的一次糾偏。 無論如何&#xff0c;這樣一件看似并無…