1.什么是性能測試蕊苗?
? ? ? 性能測試也是軟件測試的一種碱屁,它的主要方向是測試系統(tǒng)在一定的負荷壓力下陕赃,系統(tǒng)的:1.響應時間碎绎;2.吞吐量跛溉;3.穩(wěn)定性物蝙;4.可擴展性等性能指標蛉迹。
? ? ? ?做性能測試前要先理解功能測試靠欢。
? ? ? ?做性能測試的關鍵點:理解用戶業(yè)務需求杭隙,并知道性能測試點有哪些哟绊,時間、成本痰憎、回報票髓,用戶最關心的功能攀涵,web性能需要測試的幾點:首頁、登錄洽沟、支付以故、秒殺、競爭關系裆操。
2.為什么要做性能測試怒详?
主要目的是識別系統(tǒng)瓶頸;
為將來的測試建立一個基準踪区;
能夠確定系統(tǒng)性能的目標和需求昆烁;
收集其它的與性能相關的數據;
能夠讓決策層做出關于產品總提質量的合理決定缎岗;
性能測試結果和分析也能幫助我們估計當產品上線時需要配置多少硬件來支持相應的業(yè)務静尼。
3.性能測試的目標
1.評定系統(tǒng)的可行性;
2.評估系統(tǒng)的性能指標传泊;
3.比較多個不同系統(tǒng)或是不同系統(tǒng)配置時的性能特征鼠渺;
4.找出系統(tǒng)性能問題并確定問題根源;
5.做系統(tǒng)性能調優(yōu)或渤;
6.找出系統(tǒng)吞吐量的不同等級系冗;
4.性能測試與項目的關系
? ? ? ?性能測試做的成功與否奕扣,與測試方法和測試自身所關聯(lián)的項目背景都有關系薪鹦。若不理解項目背景,測試人員僅僅靠直覺來猜想哪些是重要的惯豆,這樣很容易造成背離重要的測試點池磁,浪費大量時間和精力在其它方面上,從而導致項目失敗楷兽。
5.性能測試與性能調優(yōu)的關系
? ? ? ?性能調優(yōu)的背景:當端到端的性能測試披露出系統(tǒng)或業(yè)務應用的特征不可接受地熄,多個團隊開始把注意力從性能測試轉向性能調優(yōu),來發(fā)現(xiàn)怎樣做能使業(yè)務性能達到可接受芯杀。當系統(tǒng)性能指標達到時端考,而團隊想要減少使用的系統(tǒng)資源來減少平臺使用硬件數量以及改善系統(tǒng)性能。
? ? ? ?性能測試:前期分析揭厚、場景構建却特、腳本開發(fā)(工具、測試數據準備)筛圆、加壓裂明、監(jiān)控
6.性能測試工程師與調優(yōu)
? ? ? ?性能調優(yōu)要求對系統(tǒng)各部分資源進行額外的監(jiān)控,以及對系統(tǒng)在不同的負荷條件太援、不同的配置下的相應時間進行監(jiān)控闽晦。一般來說性能測試人員利用工具和專業(yè)的技能以有效的方式提供信息扳碍,才能使性能調優(yōu)得以進行。
7.性能調優(yōu)過程
1.所要測試的系統(tǒng)或業(yè)務的部署是明確仙蛉,可控的笋敞,用于確保測試開始階段的配置和結果都是清晰的可復現(xiàn)的。
2.當測試披露出不可接受的性能特征時荠瘪,性能測試和調優(yōu)團隊開始進入診斷和修復階段液样,這個階段會要求對測試環(huán)境或應用做一些改變,一般情況下巧还,出于診斷的目的鞭莽,會做出一些臨時的改變有意對問題進行放大,或者改變測試環(huán)境來看一下這種改變是否會導致性能更好麸祷。
3.測試團隊和調優(yōu)團隊會完全的控制測試環(huán)境以便在此階段能更有效的進行調優(yōu)澎怒。
4.每一次對測試環(huán)境改變后,都會執(zhí)行性能測試阶牍,以便度量一些修復下的改變帶來的影響喷面。
5.調優(yōu)過程是一個典型的比較快的改變,測試執(zhí)行序列走孽。在這個階段惧辈,如果測試和調優(yōu)團隊不能密切配合的話,整個過程話費的時間將會大大增加磕瓷。
6.當調優(yōu)結束的時候盒齿,測試環(huán)境一般來說被重置為開始時候的狀態(tài),成功的修復性改變被應用到系統(tǒng)上困食,失敗的修復性改變(以及一些臨時性的手段和診斷性改變)丟棄掉边翁。這時,還要進行性能測試以證明這些成功的修復性改變的可行性硕盹。
8.性能測試關鍵術語解讀
1.延遲(latency):響應時間的度量符匾。指的是完成請求的執(zhí)行所花費的時間,延遲也表示幾個延遲或子任務執(zhí)行時間之和瘩例。電商啊胶、門戶、OA相關的垛贤,響應時間一般是1s焰坪,3s,5s南吮,電信琳彩,股票,監(jiān)控,傳感相關的露乏,響應時間一般是200ms碧浊,1s。
2.度量指標(Metrics):通過運行性能測試所獲取的一些度量值瘟仿,并以大家都能理解的方式表達出來箱锐,一些度量指標包括隨時間變化的處理器使用情況和符合壓力下的內存使用情況。
3.性能(performance):關于業(yè)務的相應時間劳较,吞吐量驹止,資源利用程度等信息。
4.性能預算或分配(budgets or allocations):給開發(fā)人員增加一些限制條件观蜗,開發(fā)人員設計部件時臊恋,允許部件所使用的資源耗費大小。
5.測試場景(scenarios):性能測試中墓捻,指的是業(yè)務應用的執(zhí)行步驟抖仅,一個測試場景可以是一個測試用例或一個商業(yè)功能如在產品列表中搜索,把一個商品加入購物車砖第,或下訂單撤卢。
6.穩(wěn)定性:系統(tǒng)在不同的條件下總體的可靠性,強健性梧兼,功能和數據的整體性放吩,可用性,相應時間的一致性等。
7.吞吐量:單位時間內系統(tǒng)能夠處理的工作數量羽杰。如每秒處理的請求數渡紫,每天處理的會話,每年產生的報告數等忽洛。
8.利用率(utilization):性能測試中腻惠,利用率是系統(tǒng)資源處理用戶請求的時間占總時間的百分比。
9.工作負荷(workload):施加到系統(tǒng)欲虚,業(yè)務應用或產品部件上的使用負荷,涉及到并發(fā)性和數據輸入悔雹。工作負荷包括用戶總數量复哆,并發(fā)用戶數,數據量腌零,事務量等梯找。
? ? ? ?