性能測試經典面試題(帶答案)!

概述一下性能測試流程?

  • 1.分析性能需求。挑選用戶使用最頻繁的場景來測試。確定性能指標,比如:事務通過率
  • 為100%,TOP99%是5秒,最大并發用戶為1000人,CPU和內存的使用率在70%以下
  • 2.制定性能測試計劃,明確測試時間(通常在功能穩定后,如第一輪測試后進行)和測試環境和測試工具
  • 3.編寫測試用例
  • 4.搭建測試環境,準備好測試數據
  • 5.編寫性能測試腳本
  • 6.性能測試腳本調優(腳本增強)。設置檢查點、參數化、關聯、集合點、事務,調整思考時間,刪除冗余腳本
  • 7.設計測試場景,運行測試腳本,監控服務器
  • 8.分析測試結果,收集相關的日志提單給開發
  • 9.回歸性能測試
  • 10.編寫測試報告

如何確定系統最大負載?

通過負載測試,不斷增加用戶數,隨著用戶數的增加,各項性能指標也會相應產生變化,當出現了性能拐點,比如,當用戶數達到某個數量級時,響應時間突然增長,那么這個拐點處對應的用戶數就是系統能承載的最大用戶數

你們系統哪些地方(哪些功能)做了性能測試?

選用了用戶使用最頻繁的功能來做測試,比如:登陸,搜索,提交訂單

你們的并發用戶數是怎么確定的?

1)會先上線一段時間,根據收集到的用戶訪問數據進行預估

2)根據需求來確定(使用高峰時間段,注冊用戶數,單次響應時間等

你們性能測試在什么環境執行?

參考答案:我們會搭建一套獨立的性能測試環境進行測試

你們性能測試什么時間執行?

基準測試:功能測試之后,系統比較穩定的時候再做。

負載測試:夜深人靜,系統沒人用的時候

怎么分析性能測試結果?

首先查看事物通過率(錯誤率),然后分析其他性能指標,比如,確認響應時間,事務通過率,CPU等指標是否滿足需求;如果測試結果不可信,要分析異常的原因,修改后重新測試(復測)。

現在我也找了很多測試的朋友,做了一個分享技術的交流群,共享了很多我們收集的技術文檔和視頻教程。
如果你不想再體驗自學時找不到資源,沒人解答問題,堅持幾天便放棄的感受
可以加入我們一起交流。而且還有很多在自動化,性能,安全,測試開發等等方面有一定建樹的技術大牛
分享他們的經驗,還會分享很多直播講座和技術沙龍
可以免費學習!劃重點!開源的!!!
qq群號:310357728【暗號:csdn999】

在確定性能測試結果可信后,如果發現以下問題,按下面的思路來定位問題

問題一:響應時間不達標

查看事務所消耗的時間主要在網絡傳輸還是服務器,如果是網絡,就結合Throughput(網絡吞吐量)圖,計算帶寬是否存在瓶頸,如果存在瓶頸,就要考慮增加帶寬,或對數據的傳輸進行壓縮處理;如果不存在瓶頸,那么,可能是網路不穩定導致。如果主要時間是消耗在服務器上,就要分別查看web服務器和數據庫服務器的CPU,內存的使用率是否過高,因為過高的CPU,內存必定會造成響應時間過長,如果是web服務器的問題,就把web服務器對應上對應的用戶操作日志取下來,發給開發定位;如果是數據庫的問題,就把數據庫服務器

對應上對應的日志取下來,發給開發定位。

問題二:服務器CPU指標異常

分析思路:就把web服務器

對應上對應的用戶操作日志取下來,發給開發定位。

問題三:數據庫CPU指標異常

分析思路:把數據庫服務器對應上對應的日志取下來,發給開發定位。

問題四:內存泄漏

分析思路:把內存的heap數據取出來,分析是哪個對象消耗內存最多,然后發給開發定位。

問題五:程序在單用戶場景下運行成功,多用戶運行則失敗,提示連不上服務器。

原因:程序可能是單線程處理機制

如何識別系統瓶頸?

從TPS指標分析

,TPS即系統單位時間內處理事務的數量。觀察當前隨著用戶數的增長期系統每秒可處理的事務數是否也會增長

如何判斷系統的性能是變好了還是變壞了

通過基準測試

對比性能指標

你們的性能測試需求哪里來?

1:客戶提供需求

2:運維提供需求(負責服務器的穩定性)

3:開發提供需求

如何實現200用戶的并發?

在腳本對應的請求后添加集合點(絕對并發)

相對并發:線程組

設置200線程數

什么情況下要做關聯,關聯是怎么做的?

當腳本的上下文有聯系,就用關聯。

比如登錄的token關聯,增刪改查主鍵id關聯

有驗證碼的功能,怎么做性能測試?

1、將驗證碼暫時屏蔽,完成性能測試后,再恢復

2、使用萬能的驗證碼

你們性能測試做的是前臺還是后臺?

BS項目:測試的是后臺服務器的性能和瀏覽器端性能;

APP項目:手機端和服務器端的性能都做

性能測試指標有哪些

響應時間

吞吐量

cpu

內存

io

disk

如何腳本增強?

1、做參數化

2、做關聯

3、添加事務

4、添加斷言

5、添加集合點(jmeter的同步定時器

)

6、添加思考時間(jmeter的統一隨機定時器和固定定時器)

如何找到并發數、平均響應時間

、tps的最佳平衡點?

先回顧下基礎,性能測試

常用的指標有三個:并發、響應時間、tps

  并發:跑道里參加賽跑的人數(這里的并發是廣義的并發,即同一個時間段內對系統發起的請求數量)

  響應時間:也就是平均每個事務的處理時間

tps:每秒處理的事務數

需求指標

:分為單指標和多指標

  單指標

:一般是單測試tps,或者根據并發測試

響應時間,或者根據響應時間測試并發,只考慮單指標的很少

  多指標:要同時考慮多個指標,比如tps + 響應時間(<1s)

這個題,意思就是要找到這三個指標同時最佳值的點,即:不能只追求并發數大,而忽略tps,所以,這是一個多指標性能需求,假設是這樣的:要求響應時間

1秒以內,并發數要盡可能的多,tps要盡可能的大。

是不是依舊有點懵逼?先畫一個簡單的示意圖,方便大家理解:隨著并發數增加,響應時間肯定是越來越高,所以,上面紅線是響應時間;

隨著并發數增加,tps是先升高到峰值,然后下降(也可能是一直平穩,或者平穩一段時間再下降),所以,上面藍線是tps;

紫色表示并發用戶數;

最后,給大家一個福利,分享軟件測試學習資料包!包含軟件測試入門-進階-高級課程,項目實訓, 思維導圖
等,可以自行下載!還可加入測試交流群,不定期發布名企內推信息!

該怎么去找這個最佳平衡點呢?

1.盡可能多的做不同并發數下的壓測,記錄下響應時間(1s以內)和最大tps,當然,服務器端,各個服務器的資源利用率在可接受范圍內(每個公司不一樣,我們是90%以內);

2.然后根據獲取到的不同并發下的指標數據(并發數、tps、響應時間),畫出上圖,關注右側的交點,即tps下降的地方和響應時間的交點,這個點的tps最大,如果響應時間在1s以內,此時并發數也是比較大的,這個點就可以認為是三個指標都不錯的平衡點(當然,我這里把tps放在第一位優先考慮了,這個就看大家最在乎哪個指標了,排個優先級);如果響應時間大于1s,最佳平衡點就往左找,找到響應時間為1秒的點,此時對應的tps和并發值

,就是最佳平衡點。總之,測試采樣越多,獲取的平衡點

就越準確。

另外,如果是用loadrunner

作為并發工具,并發過程中是可以增加或者減少并發用戶數的,就不用必須壓完一次,再調整并發數繼續壓,但是,loadrunner并發過程中調整了并發數,還是要盡可能跑久一點,比如10-15min。

最后感謝每一個認真閱讀我文章的人,看著粉絲一路的上漲和關注,禮尚往來總是要有的,雖然不是什么很值錢的東西,如果你用得到的話可以直接拿走!

軟件測試面試文檔

我們學習必然是為了找到高薪的工作,下面這些面試題是來自阿里、騰訊、字節等一線互聯網大廠最新的面試資料,并且有字節大佬給出了權威的解答,刷完這一套面試資料相信大家都能找到滿意的工作。
?

在這里插入圖片描述

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

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

相關文章

Ubuntu20.04使用cephadm部署ceph集群

文章目錄 Requirements環境安裝Cephadm部署Ceph單機集群引導&#xff08;bootstrap&#xff09;建立新集群 管理OSD列出可用的OSD設備部署OSD刪除OSD 管理主機列出主機信息添加主機到集群從集群中刪除主機 部署Ceph集群 Cephadm通過在單個主機上創建一個Ceph單機集群&#xff0…

游戲開發庫

整理了38個Python游戲開發庫 https://zhuanlan.zhihu.com/p/505095419 https://zhuanlan.zhihu.com/p/262012936 2023 年最佳游戲引擎推薦 https://zhuanlan.zhihu.com/p/624771157 十大開源游戲引擎深入比較之美 https://blog.51cto.com/u_15273495/2915535 panda3d https:…

【EI會議征稿中】第三屆網絡安全、人工智能與數字經濟國際學術會議(CSAIDE 2024)

第三屆網絡安全、人工智能與數字經濟國際學術會議&#xff08;CSAIDE 2024&#xff09; 2024 3rd International Conference on Cyber Security, Artificial Intelligence and Digital Economy 第二屆網絡安全、人工智能與數字經濟國際學術會議&#xff08;CSAIDE 2023&…

Verilog基礎:寄存器輸出的兩種風格

相關文章 Verilog基礎https://blog.csdn.net/weixin_45791458/category_12263729.html?spm1001.2014.3001.5482 Verilog中的寄存器操作一般指的是那些對時鐘沿敏感而且使用非阻塞賦值的操作。例如狀態機中的狀態轉移&#xff0c;實際上就是一種寄存器操作&#xff0c;因為這相…

聽GPT 講Rust源代碼--src/tools(10)

File: rust/src/tools/rust-analyzer/crates/ide-assists/src/handlers/generate_is_empty_from_len.rs 在Rust源代碼中&#xff0c;rust-analyzer是一個Rust語言的IDE插件和代碼分析器。其中&#xff0c;generate_is_empty_from_len.rs是rust-analyzer中的一個處理程序&#x…

終于有人把tcp、http、rpc和grpc總結完整了

隨著微服務的迅速發展&#xff0c;各大互聯網企業也投入到微服務的?使用種。微服務最大的特點是&#xff0c;跨進程、跨服務、跨語言之間的調用&#xff0c;使得我們能夠像調用本地類、函數一樣。當微服務具備該特點&#xff0c;將我們復雜的業務拆分成不同的服務&#xff0c;…

CentOS7安裝Docker,DockerCompose

安裝docker 1、卸載docker 查看是否有舊版本docker docker info首先檢測我們虛擬機是否已經安裝過Docker&#xff0c;如果安裝則需卸載。代碼中“\”符號為換行符&#xff0c;相當于一行內容分為多行&#xff0c;這是檢測docker的各種組件 yum remove docker \docker-clien…

VGG模型

概念&#xff1a; CNN感受野 在卷積神經網絡中&#xff0c;決定某一層輸出結果中的一個元素所對應的輸入層的區域大小&#xff0c;被稱作感受野&#xff08;receptive field&#xff09;。通俗的解釋是&#xff0c;輸出feature map上的一個單元對應輸入層上的區域大小。 VGG…

協同過濾算法springboot+java+ssm高校圖書館圖書借閱管理系統k32vr

課題主要分為四大模塊&#xff1a;即管理員模塊&#xff0c;員工模塊&#xff0c;教師模塊和學生模塊&#xff0c;主要功能包括&#xff1a;首頁&#xff0c;個人中心&#xff0c;員工管理&#xff0c;學生管理&#xff0c;教師管理&#xff0c;圖書分類管理&#xff0c;圖書信…

wsl2 ubuntu上搭建OpenIM

文檔 踩坑 版本要選擇好&#xff0c;不要直接main來跑&#xff0c;目前版本OpenIMServer 有release-v3.3和release-v3.4&#xff0c;對應Chat版本的release-v1.4和release-v1.4。但我跑3.4是有問題的&#xff0c;切到3.3可以跑通。export OPENIM_IP"http://ip:10002"…

HNU計算機結構體系-實驗2:CPU動態指令調度Tomasulo

文章目錄 實驗2 CPU動態指令調度Tomasulo一、實驗目的二、實驗說明三、實驗內容問題1&#xff1a;問題2&#xff1a;問題3&#xff1a;問題4&#xff1a;問題5&#xff1a; 四、思考題問題1&#xff1a;問題2&#xff1a; 五、實驗總結 實驗2 CPU動態指令調度Tomasulo 一、實驗…

【數據挖掘】國科大蘇桂平老師數據庫新技術課程作業 —— 第三次作業

part 1 設計一個學籍管理小系統。系統包含以下信息&#xff1a; 學號、學生姓名、性別、出生日、學生所在系名、學生所在系號、課程名、課程號、課程類型&#xff08;必修、選修、任選&#xff09;、學分、任課教師姓名、教師編號、教師職稱、教師所屬系名、系號、學生所選課…

汽車網絡安全--ISO\SAE 21434解析(一)

目錄 1.標準總覽 2.示例分析 2015年美國黑帽大會,知名網絡安全專家Charlie Miller和Chris Valasek詳細描述了他們是如何在有限距離下通過WiFI入侵到Jeep大切諾基的中控系統,從此關于汽車網絡安全的討論拉開了序幕。 2016 年,ISO 道路車輛技術委員會與 SAE 聯合成立 SC32/…

【算法每日一練]-結構優化(保姆級教程 篇5 樹狀數組)POJ3067日本 #POJ3321蘋果樹 #POJ2352星星

目錄 今天知識點 求交點轉化求逆序對&#xff0c;每次操作都維護一個y點的前綴和 樹的變動轉化成一維數組的變動&#xff0c;利用時間戳將節點轉化成區間 先將y排序&#xff0c;然后每加入一個就點更新求一次前綴和 POJ3067&#xff1a;日本 思路&#xff1a; POJ3321蘋…

案例063:基于微信小程序的傳染病防控宣傳系統

文末獲取源碼 開發語言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 數據庫&#xff1a;mysql 5.7 開發軟件&#xff1a;eclipse/myeclipse/idea Maven包&#xff1a;Maven3.5.4 小程序框架&#xff1a;uniapp 小程序開發軟件&#xff1a;HBuilder …

leetcode系列:反轉鏈表的形象表示

反轉鏈表是一道比較簡單的題&#xff0c;主要考察的是對鏈表數據結構的理解和雙指針應用&#xff0c;比較容易出錯的地方是指針的移動順序。在練習的過程中想到了一個比較形象的表示方法&#xff0c;于是記錄下來。 # Definition for singly-linked list. # class ListNode: #…

地理信息系統概論

地理信息系統概論 第一章導論第二章地理信息系統的數據結構第三章空間數據的處理第四章地理信息系統空間數據庫第五章空間分析的原理與方法第六章地理信息系統的應用模型第七章地理信息系統的設計與評價第八章地理信息系統產品的輸出與設計 第一章導論 數據與信息的關系&#…

Java基礎-java.util.Scanner接收用戶輸入

目錄 1. 導入所需要的jar包2. 編寫代碼運行3. 輸出運行結果 1. 導入所需要的jar包 import java.util.Scanner;2. 編寫代碼運行 public class ScannerDemo {public static void main(String[] args) {/** 使用Scanner接收用戶鍵盤輸入的數據* 1. 導包&#xff1a;告訴程序去JD…

【Python】translate包報錯RuntimeError: generator raised StopIteration

根據網上有些教程&#xff0c;使用translate包翻譯稍微復雜語句的時候&#xff0c;會報錯RuntimeError: generator raised StopIteration 實際測試之后發現&#xff0c;主要是from_lang、to_lang兩個參數的設置有問題&#xff0c;比如有人說中文寫"Chinese"、"Z…

Mysql、Oracle安全項檢查表及操作腳本

軟件開發全資料獲取&#xff1a;點我獲取 Mysql檢查表 Oracle檢查表