性能測試基礎知識瞭解

1.性能測試的目的:開發語言(Java,phython),操作系統(Linux),數據庫(MySQL),測試工具(Jmeter),網絡知識,業務知識(用戶)。

2.性能測試的分類:

性能測試是一個非常廣泛的概念,包括很多方面的測試,也可稱爲非功能測試。

自動化測試屬於功能測試範圍,由於其測試方法要求測試人員要有一定的代碼能力。

具體分類

負載測試:

併發測試:

壓力測試:

容量測試:

可靠性測試:

3.性能測試工作流程:

需求分析-->性能測試指標指定-->腳本開發-->場景設置(符合用戶)-->監控部署-->測試執行-->性能分析-->性能調優(畫線反覆執行).-->測試報告

4.常見系統應用分層架構

顯示層(用戶view): web,   android,   ios,   H5

邏輯控制層(controller):  Api

數據存儲層(model):MySQL(支持事務)MongoDB(文檔存儲)Redis(數據存儲在內存中,讀寫速度快)...

.

公衆號:

1、問:性能測試最好什麼時候開始更好?需求階段、設計階段、還是測試階段?

  答:有些同事在測試幾輪之後,功能穩定了開始介入性能測試,這時才發現性能根本支撐不了預期值。這個時候開發再回頭進行系統調優,如果事先選的架構能支撐就好,如果不能達不到預期值,後面討論或者請教高手發現原先的架構缺陷,再調整架構代價就非常大。基本導致前期的功能測試成果作廢。其實各個階段都有事情做。需求階段可以整理,評審出性能需求,評審需求可行性時就考慮好數據量和用戶量。設計階段--對預估的需求做設計,舉個例子。背景:我們現在使用的是mysql數據庫(公司去oracle化),我們要從一個5000W的一個數據表的6個不同查詢維度查詢數據,比如說城市、行業、地址類型、愛好、性別、時間範圍。這樣對於mysql的查詢常見的優化設計可能是分表、建立索引,但,對於這個場景就不好處理了。數據耦合強,沒有辦法分表。索引,組合索引太多。後面的處理辦法是用mongodb、nosql的方法解決。對於編碼和測試階段可以這樣去分不同階段做不同事情。

編碼階段,可以提出需要,讓研發通過單元測試(開多線程)的方式進行壓力測試。進行一些單元壓力測試測試階段---測試階段也有策略的,建議先做一下單一場景單一用戶的性能測試。常常會遇到有些同事在沒有壓單個場景的情況下,就進行負載測試,到處定位瓶頸,最後發現單一用戶單一場景都是問題

問題一:老師怎麼看待js的性能,以及測試如何下手這個環節。開發認爲js性能受終端配置影響嚴重且多數用戶會自認爲是不是我的網不好之類的,從而忽略掉這個環節的性能測試。

首先,性能是設計出來的不是被測試出來的。這個文章中有提到。因此一個好的性能需要做好前期的性能可行性設計。沒有這個流程的同學,建議研發流程中加入,性能可行性設計。給出現狀(使用工具查看現狀):js性能工具: JSLitmus、jsperf、chrome瀏覽器的profile等。可以檢查網頁性能情況比如chrome的profeil,操作簡單,錄製+停止。

可以用工具看到js大小,加載速度等,還可以看看研發的代碼。要讓研發動起來就的找方法:js常見的優化方法:建議動靜分離、建議壓縮、建議緩存、建議版本標示、文件合併、方法抽象、避免全局、解耦html和css,具體方法很多。動靜分離是常見的。就是把,js、圖片、css等靜態文件放到不同的服務器上。js由於是靜態資源,可以做動靜分離,來減輕服務器壓力。js做緩存,js由於版本特徵明顯,需要做好版本標示,保證不會由於緩存帶來功能問題。tags可以通過代碼或設置中間件如gizp壓縮(壓縮登記等),其實不光js前臺的圖片等都有很多優化方法,後面的chat會提到。比如nginx中間件,設置nginx.cfg就能壓縮。可以買一本js性能優化的書看看推薦《高性能JavaScript》。

問題二:性能測試個人覺得二點是性能數據分析及性能測試覆蓋面,我們在面對性能測試是用什麼想法能達到最大的覆蓋面,避免遺漏某些重要的性能測試點,因爲某些產品在不同的地區可能會因不同的時間差異出現不同的性能測試點,靚湯老師有沒有一個好的辦法來儘量避免這種“漏測”現象,也就是how的問題;數據分析基於產品歷史數據或公司/市面差異化產品數據,做性能測試數據分析時有哪些坑需要注意?

  答:覆蓋率避免漏測:

  場景。

  數據分析。

問題三:做性能測試可以使用第三方工具,也可以自己開發代碼,這兩種情況分別有什麼樣的適用範圍?您最看重性能測試工具那些方面的特性?能不能介紹一下對性能工程師來說使用工具進行測試最大的痛點在哪裏?能不能描述一下您理想中的性能測試工具(或者庫)要有什麼功能?

  答:總原則:以目標位出發點,不要受方法和工具限制。在回到爲什麼需要工具,工具幫我們在有限資源下,提升效率和生產力:有限制條件,有限資源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章