爆肝整理,性能測試方法與關鍵指標以及瓶頸定位思路,一篇貫通...

目錄:導讀

    • 前言
    • 一、Python編程入門到精通
    • 二、接口自動化項目實戰
    • 三、Web自動化項目實戰
    • 四、App自動化項目實戰
    • 五、一線大廠簡歷
    • 六、測試開發DevOps體系
    • 七、常用自動化測試工具
    • 八、JMeter性能測試
    • 九、總結(尾部小驚喜)


前言

性能測試方法

1、驗收性能測試
模擬生產上線業務環境,測試是否滿足性能需求

特點:
確定用戶的環境
用戶需求的性能指標
執行、分析結果
驗收性質
測試結果要有客觀性

2、負載測試
主要考察軟件系統在既定負載下的性能表現,其中既定負載一般是指客戶需求的負載。

測試指標一般體現在:響應時間、交易容量TPS(或者吞吐量)、并發容量以及資源使用率等。

3、壓力測試
為了考察軟件系統在極端條件下的表現,我們需要進行壓力測試。其中極端條件可以是超負荷的交易量和并發用戶數。

這個極端條件可能要遠高于用于的性能需求。

壓力測試的目的是:系統出現問題后,需要考察系統處理問題的方式。如我們期待軟件系統在面臨壓力的情況下仍然可以保持穩定,處理速度可以稍微慢些,但是系統不能崩潰。

通過壓力測試可以讓我們識別系統的弱點(或bug)以及了解系統在極限負載下程序將如何運行。

4、并發測試
目的:驗證系統的并發處理能力。

手段:和客戶端建立大量的并發連接時,通過客戶端的響應時間和服務端的性能監測情況來判斷系統是否達到了既定的并發能力指標。

5、配置測試
通過對被測系統軟硬件環境的調整,了解不同環境對系統性能影響的程度,從而找到系統各項資源的最優分配原則。

6、可靠性測試
目的:測試系統在一定負載下長時間運行是否會發生問題。

原因:軟件系統的有些問題并不能一下子就暴露出來,需要時間積累才能達到能夠度量的程度。如內存泄露問題需要經過一段時間積累才能慢慢變得顯著,在運行初期缺很難檢測出來。

7、恢復性測試
目的:驗證系統在局部出現故障情況下,能否繼續使用。 – 針對這一問題,關鍵的業務系統都會采用熱備份或者負載均衡的方式實現系統的恢復。

性能測試關鍵指標

1、響應時間
2、并發用戶數
平均并發用戶數的計算:C = nL/T
其中,C表示平均的并發用戶數
n:表示平均每天訪問用戶數
L:表示一天內用戶從登陸到退出的平均時間
T:表示考察時間,即一天內多長時間有用戶使用系統

3、吞吐量:單位時間內處理用戶請求的數量
4、系統性能計算器
5、思考時間

性能瓶頸定位思路

整體思路:從前到后,從表象到內部

1、首先排查壓力機自身的問題,如CPU、內存、網絡、腳本
2、監控中間件的訪問日志,觀察相應時間耗時,出現在哪一個環節。Tomcat、nginx、apache、mysql
3、排查網絡問題,監控壓力機到后端服務器的網絡是否出現瓶頸

4、監控服務端的所有機器(Tomcat、nginx、apache、mysql)的操作負載,CPU、內存、網絡、磁盤是否達到瓶頸

5、監控應用服務器日志,查看是否存在ERROR、timeout、等報錯
6、監控中間件連接數是否達到上線,比如tomcat、nginx、mysql連接數是否達到上線
7、監控應用程序的線程狀態,使用jstack、jvisualvm查看是否有死鎖、阻塞等情況

8、監控應用程序的jvm,使用jstat、jamp查看gc情況,是否存在內存泄漏
9、監控耗時比較長的代碼方法,使用jprofiler監控應用程序
10、監控數據庫,是否存在慢查詢,一般數據庫CPU高都是因為sql語句效率低
11、監控數據庫的執行計劃,是否有全表掃描,預計索引不生效的情況
12、檢查系統外部依情況,如果外部依賴系統性能差,也會造成本系統性能低
13、對于不好定位的問題,可以考慮采用模塊隔離法來確定問題

下面是我整理的2023年最全的軟件測試工程師學習知識架構體系圖

一、Python編程入門到精通

請添加圖片描述

二、接口自動化項目實戰

請添加圖片描述

三、Web自動化項目實戰

請添加圖片描述

四、App自動化項目實戰

請添加圖片描述

五、一線大廠簡歷

請添加圖片描述

六、測試開發DevOps體系

請添加圖片描述

七、常用自動化測試工具

請添加圖片描述

八、JMeter性能測試

請添加圖片描述

九、總結(尾部小驚喜)

不要害怕前進的路途再漫長,只因腳下有堅定的步伐;不要畏懼人生的風雨再狂暴,只因心中有無盡的勇氣。奮斗吧,這世界正等待你展現璀璨的光芒!

不管遇到何等艱難險阻,心中要始終燃燒著激情與勇氣;不論前方多么迷茫困頓,永遠保持信念與堅定的步伐。奮斗的人生,終將綻放屬于自己的輝煌與榮耀!

每一次堅持,都是超越自己的勇敢;每一次努力,都是邁向輝煌的腳步。不停奮斗,才能收獲無盡的可能。相信自己的力量,勇往直前,終將書寫屬于自己的傳世之章。

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

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

相關文章

Python編程實現百度AI開放平臺的接口對接方法,詳解和實踐指南

Python編程實現百度AI開放平臺的接口對接方法,詳解和實踐指南 引言 百度AI開放平臺提供了豐富的人工智能接口,包括語音識別、圖像識別、自然語言處理等功能。本文將通過Python編程,詳解如何對接百度AI開放平臺的接口,并提供實際代碼示例。準備工作 在開始之前,我們需要先完…

智能家居(1)---工廠模式實現燈光控制(繼電器組)以及火災報警模組的封裝

采用工廠模式以面向對象的方式來封裝各種設備模塊&#xff0c;方便整合項目以及后期的維護和擴展 mainPro.c&#xff08;主函數&#xff09; #include <stdio.h> #include "controlDevice.h"struct Devices *pdeviceHead NULL; //設備工廠鏈…

抓包工具Fiddler下載與安裝

一、Fiddler介紹 1.Fiddler簡介 Fiddler 是一款免費、靈活、操作簡單、功能強大的 HTTP 代理工具&#xff0c;是目前最常用的 HTTP 抓包工具之一。可以抓取所有的 HTTP/HTTPS 包、過濾會話、分析請求詳細內容、偽造客戶端請求、篡改服務器響應、重定向、網絡限速、斷點調試等…

數據結構刷題訓練:隊列實現棧

目錄 前言 1. 題目&#xff1a;使用隊列實現棧 2. 思路 3. 分析 3.1 創建棧 3.2入棧 3.3 出棧 3.4 棧頂數據 3.5 判空和 “ 棧 ” 的銷毀 4. 題解 總結 前言 我們已經學習了棧和隊列&#xff0c;也都實現了它們各自的底層接口&#xff0c;那么接下我們就要開始棧和隊列的專項刷…

go內存管理機制

golang內存管理基本是參考tcmalloc來進行的。go內存管理本質上是一個內存池&#xff0c;只不過內部做了很多優化&#xff1a;自動伸縮內存池大小&#xff0c;合理切割內存塊。 基本概念&#xff1a; Page&#xff1a;頁&#xff0c;一塊 8 K大小的內存空間。Go向操作系統申請和…

2.Model、ModelMap和ModelAndView的使用詳解

1.前言 最近SSM框架開發web項目&#xff0c;用得比較火熱。spring-MVC肯定用過&#xff0c;在請求處理方法可出現和返回的參數類型中&#xff0c;最重要就是Model和ModelAndView了&#xff0c;對于MVC框架&#xff0c;控制器Controller執行業務邏輯&#xff0c;用于產生模型數據…

Spring Cloud構建微服務斷路器介紹

什么是斷路器 斷路器模式源于Martin Fowler的Circuit Breaker一文。“斷路器”本身是一種開關裝置&#xff0c;用于在電路上保護線路過載&#xff0c;當線路中有電器發生短路時&#xff0c;“斷路器”能夠及時的切斷故障電路&#xff0c;防止發生過載、發熱、甚至起火等嚴重后果…

【Redis】使用Docker鏡像配置集群時的Operation timed out問題

不知道有沒有小伙伴跟我一樣是使用的Docker鏡像進行Redis集群案例模擬的&#xff08;三臺虛擬機確實帶不動 &#xff09;&#xff0c;然后我遇到了一個問題&#xff1a;Could not connect to Redis at 172.17.0.2:6379: Operation timed out 172.17.0.2是我其中一個Redis實例的…

如何測試Linux磁盤的讀寫速度

在Linux系統中也有很多命令可以測試硬盤的讀寫速度指標。以下是幾個常用命令&#xff08;注意&#xff1a;在執行測試命令之前&#xff0c;請務必備份數據以避免數據丟失&#xff01; 1、dd 命令 首先掛載磁盤 mount /dev/sdb /testdd 命令可用于進行硬盤讀寫速度測試。 例…

uniapp踩坑之項目:判斷字符串長度自動調整選項卡寬度

利用動態:class來判斷字長調整選項卡uni-data-select 寬度 //html <view><view style"width:100%" :class"checkLength(text)>4 ? textexplode:textshrink"><uni-data-select v-model"value" :localdata"rangeTag"…

android 開發中常用命令

1.反編譯 命令&#xff1a;apktool d <test.apk> -o <folderdir> 其中&#xff1a;test.apk是待反編譯文件的路徑&#xff0c;folderdir是反編譯后的文件的存儲位置。 apktool d -f <test.apk> -o <folderdir> 注意&#xff1a;如果dir已經存在&am…

從零學算法34

34.給你一個按照非遞減順序排列的整數數組 nums&#xff0c;和一個目標值 target。請你找出給定目標值在數組中的開始位置和結束位置。 如果數組中不存在目標值 target&#xff0c;返回 [-1, -1]。 你必須設計并實現時間復雜度為 O(log n) 的算法解決此問題。 示例 1&#xff1…

React Native 在高IOS版本下無法顯示圖片的問題處理

圖片在低ios版本下可以看到圖片&#xff0c;在高版本ios下顯示不了圖片 直接上解決方法 找文件 /node_modules/react-native/Libraries/Image/RCTUIImageViewAnimated.m 修改源碼 原代碼 if (_currentFrame) {layer.contentsScale self.animatedImageScale;layer.contents…

php中nts和ts

PHP語言解析器:官方提供了2種類型的版本&#xff0c;線程安全(TS)版和非線程安全(NTS)版 TS: TS(Thread-Safety)即線程安全&#xff0c;多線程訪問時&#xff0c;采用了加鎖機制&#xff0c;當一個線程訪問該類的某個數據時進行數據加鎖保護&#xff0c;其他線程不能同時進行訪…

您的網站不應該只提供一套通用 API

后端應該提供兩套 API&#xff0c;一套是外部使用的通用 API&#xff0c;服務特定的數據&#xff0c;另一套是自家使用的應用 API&#xff0c;服務特定的頁面。 在當今的web開發中&#xff0c;構建一個提供JSON服務的后端和一個渲染應用程序的前端是很流行的。我不太喜歡&…

【Sklearn】基于決策樹算法的數據分類預測(Excel可直接替換數據)

【Sklearn】基于決策樹算法的數據分類預測&#xff08;Excel可直接替換數據&#xff09; 1.模型原理1.1 模型原理1.2 數學模型 2.模型參數3.文件結構4.Excel數據5.下載地址6.完整代碼7.運行結果 1.模型原理 決策樹是一種基于樹狀結構的分類和回歸模型&#xff0c;它通過一系列…

MySql(干貨)

寫這篇博客的目的不是為了將介紹原理&#xff0c;而是為了Sql中的代碼操作屬實太多了&#xff0c;在這里進行一個匯總&#xff0c;方便查閱&#xff01;&#xff01;&#xff01; Sql分類 分類全稱說明 DDL Data Definintion Language數據定義語言&#xff0c;用來定義數據庫對…

微信小程序(由淺到深)

文章目錄 一. 項目基本配置1. 項目組成2. 常見的配置文件解析3. app.json全局的五大配置4.單個頁面中的page配置5. App函數6.tabBar配置 二. 基本語法&#xff0c;事件&#xff0c;單位1. 語法2. 事件3. 單位 三. 數據響應式修改四 . 內置組件1. button2. image3. input4. 組件…

k8s常用資源管理 控制

目錄 Pod&#xff08;容器組&#xff09;&#xff1a;Pod是Kubernetes中最小的部署單元&#xff0c;可以包含一個或多個容器。Pod提供了一種邏輯上的封裝&#xff0c;使得容器可以一起共享網絡和存儲資源 1、創建一個pod 2、pod管理 pod操作 目錄 創建Pod會很慢 Pod&…

什么是事務,并發帶來的事務問題以及事務隔離級別(圖文詳解)

一、什么是事務&#xff1f; 簡單說就是邏輯上的一組操作&#xff0c;要么都執行&#xff0c;要么都不執行。 舉個例子&#xff0c;假如小明要給小紅轉賬100元&#xff0c;這個轉賬會涉及到兩個關鍵操作&#xff1a;①將小明的余額減少100元。 ②將小紅的余額增加100元 。但…