自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

性能測(cè)試的劃分與定義

開發(fā) 測(cè)試
性能測(cè)試種類的劃分與定義這里就不說了,各有各的說法,比如性能測(cè)試、負(fù)載測(cè)試、壓力測(cè)試這三個(gè)詞。

  性能測(cè)試種類的劃分與定義這里就不說了,各有各的說法,比如性能測(cè)試、負(fù)載測(cè)試、壓力測(cè)試這三個(gè)詞,在網(wǎng)上能找到N個(gè)版本的定義,大體理解就行了,沒必要在文字層面上較這個(gè)真。以下的內(nèi)容也只是我個(gè)人的理解,一些名詞的定義可能和其他資料有所不同,但在我的工作中,這樣是比較形象和容易理解的。

  性能測(cè)試的目的,簡(jiǎn)單說其實(shí)就是為了獲取待測(cè)系統(tǒng)的響應(yīng)時(shí)間、吞吐量、穩(wěn)定性、容量等信息。而發(fā)現(xiàn)一些具體的性能相關(guān)的缺陷(如內(nèi)存溢出、并發(fā)處理等問題),我認(rèn)為只是一種附加結(jié)果。從更高的層次來說,性能測(cè)試最想發(fā)現(xiàn)的,是瓶頸。

  在實(shí)際工作,一般的應(yīng)用系統(tǒng)會(huì)從這么幾個(gè)方面進(jìn)行性能測(cè)試。

  1.基準(zhǔn)測(cè)試

  Benchmark或者Baseline測(cè)試。一般為單用戶測(cè)試,或者是零數(shù)據(jù)量環(huán)境下的測(cè)試。目的在于建立一個(gè)可度量的參考標(biāo)準(zhǔn),為其他測(cè)試場(chǎng)景或者調(diào)優(yōu)過程提供對(duì)比參考。也可認(rèn)為是最基礎(chǔ)的性能測(cè)試,如果基準(zhǔn)測(cè)試的結(jié)果都不能達(dá)到預(yù)期要求,那么后續(xù)場(chǎng)景也就沒必要測(cè)試了。

  2.日常壓力測(cè)試

  在基準(zhǔn)測(cè)試通過后,應(yīng)該先進(jìn)行較小壓力下的測(cè)試,首先對(duì)系統(tǒng)在日常壓力下的表現(xiàn)進(jìn)行測(cè)試。此壓力需要根據(jù)系統(tǒng)使用相關(guān)數(shù)據(jù)得出,如系統(tǒng)平均每天訪問量、平均在線人數(shù)、每日完成事務(wù)數(shù)等。通過此測(cè)試,發(fā)現(xiàn)一些較表面的性能問題并進(jìn)行處理。

  3.峰值壓力測(cè)試

  在日常壓力測(cè)試通過后,需要進(jìn)行更大壓力的測(cè)試。此處壓力同樣需要相關(guān)數(shù)據(jù)的支持,一般為未來幾年后的預(yù)期壓力。可根據(jù)歷史日均壓力、日***壓力等信息,估算出未來幾年的日均以及日***壓力。再通過一些通用估算方法、如二八原則(80%的工作在20%時(shí)間內(nèi)完成,相當(dāng)于2小時(shí)完成一天8小時(shí)的工作量),將日壓力轉(zhuǎn)換成峰值壓力。

  峰值壓力為可預(yù)期到的***負(fù)載壓力,通過了此測(cè)試,則認(rèn)為系統(tǒng)有能力滿足未來增長的壓力。

  4.容量測(cè)試

  驗(yàn)證了系統(tǒng)是否可滿足預(yù)期的壓力后,還需要知道系統(tǒng)能夠承受的***壓力,也就是容量。一般通過“拐點(diǎn)法”進(jìn)行測(cè)試,逐步增大系統(tǒng)的壓力,直到性能指標(biāo)不可接受或者出現(xiàn)了明顯的拐點(diǎn)。如圖:

5.穩(wěn)定性測(cè)試

  驗(yàn)證系統(tǒng)是否可長期穩(wěn)定的運(yùn)行,是否存在一些短時(shí)間內(nèi)可能無法發(fā)現(xiàn)的缺陷(如內(nèi)存溢出、數(shù)據(jù)庫連接不釋放等)。為了縮短測(cè)試工期,一般可將預(yù)期一天的壓力集中在2小時(shí)內(nèi)完成(二八原則),這樣持續(xù)加壓10小時(shí),便相當(dāng)于系統(tǒng)運(yùn)行5天。注意監(jiān)控各種性能指標(biāo)是否平穩(wěn),有無下降。

  以上幾種類型的測(cè)試,是性能測(cè)試過程中最多用到的。當(dāng)然也也其他一些比較常用的類型,如絕對(duì)并發(fā)測(cè)試,測(cè)試多用戶對(duì)某一功能的瞬時(shí)請(qǐng)求,主要用于驗(yàn)證系統(tǒng)是否存在并發(fā)邏輯上的處理問題。此測(cè)試也可劃分到不同的壓力測(cè)試場(chǎng)景中去,根據(jù)不同的用戶壓力,測(cè)試相應(yīng)的絕對(duì)并發(fā),一般取在線用戶數(shù)的10%進(jìn)行測(cè)試;突發(fā)壓力測(cè)試,對(duì)一些不在預(yù)期內(nèi)的突然壓力進(jìn)行測(cè)試(其實(shí)既然想到了,就應(yīng)該是在預(yù)期內(nèi)了)。以銀行門戶網(wǎng)站為例,可能會(huì)由于發(fā)布了一條重要消息(政策調(diào)整)而導(dǎo)致訪問量激增,這種壓力是否會(huì)導(dǎo)致系統(tǒng)宕機(jī)或者暫時(shí)無法提供服務(wù),就是突發(fā)壓力測(cè)試需要考慮的了。也有人將此壓力定義為峰值壓力,這就無所謂了,只要考慮到會(huì)有這么一個(gè)問題就夠了。

  上面主要說的是測(cè)試內(nèi)容的劃分,也就是說做性能測(cè)試時(shí)要考慮到的幾個(gè)方面。從實(shí)際執(zhí)行層面來看,測(cè)試的過程一般分為這么幾個(gè)階段:

  1.測(cè)試確認(rèn)

  理解被測(cè)系統(tǒng)、尋找測(cè)試點(diǎn)、確認(rèn)測(cè)試范圍、測(cè)試環(huán)境等。一些重要信息需要同PM、需求人員、設(shè)計(jì)人員討論確認(rèn),如用戶最常用哪些功能、最關(guān)注哪的性能,程序上哪可能是壓力點(diǎn),哪些數(shù)據(jù)需要模擬到真實(shí)的量級(jí),大體上需要使用哪種測(cè)試方法。

  2.確定通過標(biāo)準(zhǔn)

  性能是好是壞、測(cè)試是否通過,必須有明確的標(biāo)準(zhǔn)。這個(gè)標(biāo)準(zhǔn),主要從客戶的期望和業(yè)務(wù)上的需求兩方面來考慮,客戶的期望一般指頁面上的響應(yīng)時(shí)間,業(yè)務(wù)需求則是系統(tǒng)的處理能力,一般為吞吐量或TPS(每秒完成事務(wù)數(shù))。標(biāo)準(zhǔn)制定的不合理,測(cè)試結(jié)果可能無法反映系統(tǒng)真實(shí)的性能表現(xiàn),或者會(huì)讓客戶無法接受我們認(rèn)為通過的軟件。

  至于具體如何去設(shè)定,是需要同業(yè)務(wù)負(fù)責(zé)人(一般為PM)和技術(shù)負(fù)責(zé)人(一般為設(shè)計(jì)人員)共同確認(rèn)的,業(yè)務(wù)負(fù)責(zé)人了解用戶的實(shí)際需求和期望,技術(shù)負(fù)責(zé)人了解具體的實(shí)現(xiàn),可以判斷哪些是不可達(dá)到的要求。

  一旦達(dá)成了共識(shí),那么測(cè)試就要嚴(yán)格的按照標(biāo)準(zhǔn)去執(zhí)行。

  3.測(cè)試設(shè)計(jì)

  主要從上面提到的幾個(gè)方面進(jìn)行分析,針對(duì)系統(tǒng)的特點(diǎn)設(shè)計(jì)出合理的測(cè)試場(chǎng)景。為了讓測(cè)試結(jié)果更加準(zhǔn)確,這里需要很細(xì)致的工作。如建立用戶模型,只有知道真實(shí)的用戶是如何對(duì)系統(tǒng)產(chǎn)生壓力,才可以設(shè)計(jì)出有代表性的壓力測(cè)試場(chǎng)景。這就涉及到很多信息,如用戶群的分布、各類型用戶用到的功能、用戶的使用習(xí)慣、工作時(shí)間段、系統(tǒng)各模塊壓力分布等等。只有從多方面不斷的積累這種數(shù)據(jù),才會(huì)讓壓力場(chǎng)景更有意義。***將設(shè)計(jì)場(chǎng)景轉(zhuǎn)換成具體的用例。

  測(cè)試數(shù)據(jù)的設(shè)計(jì)也是一個(gè)重點(diǎn)且容易出問題的地方。生成測(cè)試數(shù)據(jù)量達(dá)到未來預(yù)期數(shù)量只是最基礎(chǔ)的一步,更需要考慮的是數(shù)據(jù)的分布是否合理,需要仔細(xì)的確認(rèn)程序中使用到的各種查詢條件,這些重點(diǎn)列的數(shù)值要盡可能的模擬真實(shí)的數(shù)據(jù)分布(數(shù)據(jù)統(tǒng)計(jì)信息、執(zhí)行計(jì)劃相關(guān)的內(nèi)容,此處就不細(xì)說了),否則測(cè)試的結(jié)果可能是無效的。

  此外,性能測(cè)試執(zhí)行過程中,需要監(jiān)控收集的各種指標(biāo)數(shù)據(jù),也需要明確下來。

  4.測(cè)試環(huán)境準(zhǔn)備

  部署測(cè)試環(huán)境,生成測(cè)試數(shù)據(jù),環(huán)境預(yù)調(diào)優(yōu)等等。

  5.測(cè)試執(zhí)行、監(jiān)控

  準(zhǔn)備測(cè)試腳本,執(zhí)行之前設(shè)計(jì)好的各個(gè)用例,監(jiān)控并收集需要的數(shù)據(jù)。

  6.問題分析定位、調(diào)優(yōu)

  發(fā)現(xiàn)問題或者性能指標(biāo)達(dá)不到預(yù)期,及時(shí)的分析定位,處理后重復(fù)測(cè)試過程。

  性能問題通常是相互關(guān)聯(lián)相互影響的,表面上看到的現(xiàn)象很可能不是根本問題,而是另一處出現(xiàn)問題后引起的反應(yīng)。這就要求監(jiān)控收集數(shù)據(jù)時(shí)要全面,從多方面多個(gè)角度去判斷定位。

  調(diào)優(yōu)的過程其實(shí)也是一種平衡的過程,在系統(tǒng)的多個(gè)方面達(dá)到一個(gè)平衡即可。

  7.性能報(bào)告

  將測(cè)試過程中記錄的各種數(shù)據(jù)匯總成報(bào)告,將各方面需要的結(jié)果清楚的展現(xiàn)出來。

  上面所有內(nèi)容中,如果排除技術(shù)上的問題,性能測(cè)試中最難做好的,就是用戶模型(或者叫系統(tǒng)使用模型)的分析。它直接決定了壓力測(cè)試場(chǎng)景是否能夠有效的模擬真實(shí)世界壓力,而正是這種對(duì)真實(shí)壓力的模擬,才使性能測(cè)試有了更大的意義??梢哉f,性能測(cè)試做到一定程度,差距就體現(xiàn)在了模型建立上。

  至于性能問題的分析、定位或者調(diào)優(yōu),很大程度是一種技術(shù)問題,需要多方面的專業(yè)知識(shí)。數(shù)據(jù)庫、操作系統(tǒng)、網(wǎng)絡(luò)、開發(fā)都是一個(gè)合格的性能測(cè)試人員需要擁有的技能,只有這樣,才能從多角度全方位的去考慮分析問題。

  當(dāng)然,對(duì)于測(cè)試人員來說,技術(shù)能力只是輔助手段,測(cè)試思想才是最根本的。敏銳的嗅覺、嚴(yán)謹(jǐn)?shù)倪壿?、合理的推測(cè)、大膽的實(shí)踐是一個(gè)合格測(cè)試工程師的必備要素。

原文鏈接:http://www.cnblogs.com/twocats/archive/2012/02/14/2351748.html

【編輯推薦】

  1. 高效的單元測(cè)試Rails該怎樣進(jìn)行
  2. 淺談單元測(cè)試方法和步驟
  3. 關(guān)于手機(jī)測(cè)試用例設(shè)計(jì)的幾件事
  4. 介紹幾種測(cè)試工作量的估算方法
  5. C++多線程調(diào)試和測(cè)試的注意事項(xiàng)
責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2013-03-21 11:20:00

性能測(cè)試性能調(diào)優(yōu)測(cè)試

2019-01-16 09:00:00

DevOps性能測(cè)試軟件

2018-03-23 10:51:21

云測(cè)試云計(jì)算性能測(cè)試

2012-08-01 10:50:48

性能測(cè)試測(cè)試架構(gòu)

2023-09-04 11:52:53

SpringMVC性能

2013-12-25 10:32:41

MySQL性能測(cè)試

2013-05-08 09:31:32

MangoDB

2023-09-18 16:14:35

性能測(cè)試開發(fā)

2017-08-10 14:04:25

前端JavaScript函數(shù)性能

2011-03-15 16:34:36

Iptables性能

2009-04-15 09:12:49

子網(wǎng)安全劃分

2013-04-03 10:04:36

MySQL 5.6

2021-12-29 10:30:15

JMH代碼Java

2013-12-25 09:32:52

測(cè)試平均性能

2011-07-04 17:38:47

性能測(cè)試

2020-05-18 07:00:00

性能測(cè)試壓力測(cè)試負(fù)載測(cè)試

2010-10-20 10:30:58

PHPJSP

2011-06-08 16:59:04

性能測(cè)試載測(cè)試壓力測(cè)試

2011-12-26 15:19:20

聚合

2012-03-26 10:55:03

JavaJava EE
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)