性能測試往往在投產上線前開展,無法對整個系統變更進行全面的覆蓋測試,因此性能測試需求提出十分關鍵。性能測試需求交付過程中,需要對開發團隊提出的測試需求進行審查,重點分析交付的測試需求是否充分覆蓋了影響系統性能的因素,避免遺漏重要測試項,引發生產性能事件。
![]()
在很多企業中,性能測試需求交付都設置有需求評審環節,需求審查的動作也會包含系統變更影響性分析,其中最關鍵的分析內容就是梳理影響系統性能的因素,進而權衡性能測試需求交付的全面性。
分析影響性能的因素,不僅要從系統本身的程序改造來看,更要關注本次投產上線整個系統資源、配置、參數、程序、業務等多方面的變化情況,很可能程序調整不大,但因基礎軟件的版本變化或關鍵應用配置的參數發生調整,會引發重大的性能異常。
因此從性能測試的角度而言,測試的需求不僅來源于被測系統程序的改變,還涉及到架構調整、參數變化、容量配置、基礎軟件等各方面,下面我結合自身工作經驗簡要介紹五個方面可能影響系統性能的因素,供分析性能測試需求充分性做參考。
1.程序變更
程序變更引發的性能影響,是常規分析性能影響的首要因素,一方面涉及業務邏輯的處理調整,如新增業務邏輯或原始業務處理環節增加處理邏輯,導致程序性能消耗相比變大,另一方面涉及技術影響,如使用線程池、系統同步對接、事務處理調整等,會導致系統在技術應用方面帶來額外的性能損耗。
通常程序變更引發的性能影響是研發團隊最主要和最容易識別出來的因素。
2.架構調整
架構調整通常涉及技術架構調整包括基礎軟件的升級或更換,如Oracle更換為Mysql,WAS更換為TOMCAT、JDK版本變化等,此外還有升級開發框架、應用拆分、中間件引入、增加限流熔斷等框架服務組件等。
架構調整對性能的影響較大,因為涉及到技術架構與應用的適配,往往涉及應用較大規模改造,通常性能測試會開展全面測試以驗證性能影響。
3.容量調整
性能容量調整包括橫向資源規模的增擴減少以及單臺資源的硬件配置,通常容量擴容較為常見,但一些情況下因性能容量降低導致的系統性能隱患仍然存在,比如系統資源調整機房,可能存在硬件服役時間和配置上的差異,另一種情況是業務發生調整后,重新編排了生產資源規模,減少了資源數量,此時存在性能容量可能不足的隱患,需要在保持日均業務量的前提下,開展有效的性能容量測試,驗證系統性能。
4.配置調整
配置調整是分析性能影響可能遺漏的一項因素,系統中存在大量的配置項,具體包括JVM配置參數、系統功能啟停開關、WEB服務器最大連接數、數據庫連接池大小、日志級別等,這些參數的變化對系統性能有十分直接的影響,比如JVM配置的最大堆內存直接與GC頻率掛鉤,再比如配置文件中調整日志級別從ERROR改為INFO,將導致大量的日志讀寫進而影響資源IO能力。
5.業務調整
還有一些情況雖然系統未發生程序變更或架構調整,但業務層面使用系統的規則發生了變化,導致訪問系統的流量驟增,造成性能壓力。比如系統從試點轉為推廣、承接更多上游系統、突發熱點活動等。主要表現在系統的程序、架構、配置、資源尚未發生調整的情況下,需要應用突發的業務流量。
以上粗略的從五個方面分析可能影響性能的因素,在實際操作中,無論是需求分析或者需求評審會議,性能測試需求都直接或間接通過此類方法進行評判,全面分析性能影響,對準確提出性能測試需求,避免測試工作存在遺漏起到非常關鍵的作用。
看完這篇文章的你,大概對銀行金融行業非常感興趣,那就加入“Python自動化測試交流群”吧!
最后:在我的V :atstudy-js,可以免費領取一份10G軟件測試工程師面試寶典文檔資料。以及相對應的視頻學習教程免費分享!其中包括了有基礎知識、Linux必備、Shell、互聯網程序原理、Mysql數據庫、抓包工具專題、接口測試工具、測試進階-Python編程、Web自動化測試、APP自動化測試、接口自動化測試、測試高級持續集成、測試架構開發測試框架、性能測試、安全測試等。
![]()
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.