了解效能測試
效能測試不僅能夠定位、分析問題,還要把握系統效能變化趨勢;效能測試工程師能夠幫助解決效能問題,搞定測試過程中的各種不合理配置,給出專業的優化建議。
第一章 效能方向職業發展
軟體測試職業路線分為以下三個方向:
(1)業務路線:常見業務路線的職位有oa經理、業務專家、產品經理、產品總監、行業諮詢顧問等
(2)技術路線:掌握程式設計技術、擁有業務經驗,成為自動化測試工程師、效能測試工程師、軟體開發工程師、安全測試工程師、系統分析師、測試總監、研發總監等
(3)管理路線:積累業務知識或者提高技術儲備,能夠出色地完成本職工作,負責帶領團隊;崗位一般有測試leader、測試主管、測試經理及測試總監
除了測試還需要掌握的基本功
(1)需求:效能需求分析是做系統效能測試前必做的,不然沒有方向
(2)**:通過走讀**發現邏輯上的缺陷、寫法上的繁瑣帶來的效能問題;補充資料庫知識、中介軟體知識(程式部署在中介軟體上)、作業系統及硬體知識(中介軟體執行在作業系統上)
(3)運維:測試自動化不僅包括功能測試自動化、也包括效能測試自動化以及測試環境自動化(持續整合),掌握運維手段也變成必要
效能測試技術樹:
測試工具--常見難點
(1)使用者和業務模型分析搭建
(2)合適的指令碼開發(大部分初學者不根據使用者和業務模型來開發指令碼,認為要回歸成功即可)
(3)合適的需求分析轉化為場景設計(大部分初學者不知道如何根據需求進行場景設計)
(4)大容量系統的資料生成和使用
(5)大型系統的效能壓力負載和實施
(6)雲計算的負載生成和實施
測試基礎-常見難點
(1)評估需求
(2)負載建模(使用者與業務模型)
(3)效能壓力生成的原理和併發等之間的關係
(4)效能測試用例
(5)新系統需求分析
(6)容量規劃
(7)效能測試策略
伺服器效能診斷知識
作業系統:了解系統呼叫如何執行、cpu如何排程執行緒、有限大小的記憶體如何影響效能、檔案系統如何處理i/o
(1)linux:伺服器的作業系統,搭建環境、效能診斷
(2)windows server:伺服器作業系統,中小型公司使用較多
資料庫:是系統儲存處理的最重要手段,很大一部分效能問題都牽扯到資料庫
(3)oracle:關聯式資料庫管理系統,可移植性好、使用方便、功能強,是一種高效率、可靠性好的適應高吞吐量的資料庫解決方案
(4)mysql:輕量型開源資料庫
(5)nosql:泛指非關係型資料庫,解決大規模資料集合多重資料種類帶來的挑戰,尤其是大資料應用難題
①鍵值資料庫-redis:適用於資料變化快且資料庫大小可預見的應用程式,**、資料分析、實時資料蒐集、通訊等
②列儲存資料庫-cassandra:混合型的非關聯式資料庫,在網路社交雲計算方面應用較理想,讀操作比寫操作快很多,較適應於銀行、金融、資料分析等領域
③文件型資料庫-mongodb、couchdb:鍵值資料庫公升級版,允許之間巢狀鍵值,而且文件型資料庫比鍵值資料庫的查詢效率更高
常見難點
(1)程序、執行緒任務之間的區別
(2)執行緒的中斷優先和原理
(3)程序的生命週期
(4)上下文切換
(5)i/o密集型和cpu密集型工作負載之間有什麼區別
(6)生產環境和測試環境之間換算
(7)關係型資料庫體系結構和邏輯優化與非關係型資料庫體系結構和邏輯優化
(8)事務資料庫和分析資料庫的使用
(9)資料關係建模與設計
(10)top n sql診斷和優化(執行路徑、索引和表鏈結優化等)
(11)阻擊和**阻塞和死鎖
(12)熱點防範和定位優化
(13)業務資料批量快取化\非同步化
(14)資料庫配置優化
效能調優技能-常見難點
(1)系統硬體資源(cpu、網路、記憶體、io)相互之間的關係及原理
(2)選擇可靠性能指標及指標之間的關聯和判定方法
(3)永不宕機的實現原理和常見錯誤
(4)排隊系統與延遲及快取的優化關係
(5)優化的成本和價效比
(6)業務優化的操作實施
(7)多系統串聯原理及測試隔離
全棧效能測試 01效能測試的方法及流程
正確理解效能測試 什麼是效能測試 效能測試 屬於軟體測試範疇,旨在測試處於特定環境和配置下的系統在一定量的負荷下,系統的適合性,易用性,響應時間,吞吐量,成功率,穩定性,可靠性,可恢復性等特徵 是否滿足特定干係人需求的能力。系統效能關乎使用者體驗。效能屬於產品的非功能性質量特性。嚴格意義上去叫 效能...
全棧效能測試 04敏捷環境下的效能測試
最主要的一點就是這麼把功能測試的場景,這麼轉化為效能場景 效能測試的2個難點 1 不知道測什麼 2.不知道怎麼調優 效能測試計畫 doc文件可以參考 xx都市 專案 效能測試方案與計畫書 版本 v0.2 修訂記錄 版本號 修訂人 修訂日期 修訂描述 0.1 小豬 2019 12 1 新建 0.2 小...
全棧效能測試 22實戰專案架構解讀
1.都市 的架構 nginx伺服器,是web伺服器。同時又是反向 伺服器。就是為了保護或隱藏後面真實的伺服器,由他衝在最前面。給使用者的感覺就是自己在和別人互動 負責把請求分發給後面的伺服器。涉及到一定的策略。比如 權重,優先順序,或者路徑等等 nginx能應付10萬級的併發連線。對於中小型級的 是...