本文檔是為了給需要了解如何填寫性能需求或需要引導(dǎo)客戶填寫性能需求項(xiàng)目組成員參考性文檔(為公司內(nèi)部人員)。
1. 系統(tǒng)的性能
1)概念
系統(tǒng)的性能是一個很大的概念,覆蓋面非常廣泛,對一個軟件系統(tǒng)而言,包括:執(zhí)行效率、資源占用、系統(tǒng)穩(wěn)定性、安全性、兼容性、可靠性、可擴(kuò)展性。
2)主要指標(biāo)
響應(yīng)時間、點(diǎn)擊數(shù)、吞吐量、并發(fā)用戶數(shù)、資源利用率、每秒連接數(shù)
3)不同視角的性能
* 用戶角度
響應(yīng)時間(最關(guān)心的指標(biāo))2/5/10原則,過長的時間等待讓客戶煩燥不安
系統(tǒng)的穩(wěn)定性 HTTP500、數(shù)據(jù)庫崩潰、應(yīng)用服務(wù)器崩潰
* 系統(tǒng)角度
網(wǎng)絡(luò)延遲、數(shù)據(jù)延遲
系統(tǒng)資源的使用情況 硬件配備情況 軟件的配置情況(應(yīng)用服務(wù)器、數(shù)據(jù)庫、系統(tǒng))
* 開發(fā)角度
代碼實(shí)現(xiàn)(算法等)
數(shù)據(jù)庫實(shí)現(xiàn)(數(shù)據(jù)模型設(shè)計(jì)、語句的實(shí)現(xiàn)方式等)
2. 我們的目標(biāo)
我們的目標(biāo)是要開發(fā)出符合用戶的應(yīng)用系統(tǒng),其中包括性能的需求并且通過測試及其他驗(yàn)證等手段驗(yàn)證系統(tǒng)達(dá)到用戶的要求。首先要了解客戶,向客戶了解應(yīng)用系統(tǒng)運(yùn)行目標(biāo)硬件配置、應(yīng)用環(huán)境及網(wǎng)絡(luò)環(huán)境等。了解系統(tǒng)業(yè)務(wù)邏輯(可能有多種業(yè)務(wù))及處理業(yè)務(wù)量時間分布圖。然后由性能測試人員分析以上的數(shù)據(jù)制定測試策略及測試方法。例如分析出在某月的某一天10:00-11:00是系統(tǒng)處理業(yè)務(wù)高峰,平均處理50000個A業(yè)務(wù)量,那么性能測試人員需要根據(jù)這個數(shù)據(jù)設(shè)計(jì)一個處理業(yè)務(wù)A測試場景,驗(yàn)證(系統(tǒng)在目標(biāo)硬件環(huán)境)在1個小時內(nèi)至少能成功處理50000個A業(yè)務(wù)量。
3. 用戶類型
* 專業(yè)型:熟悉開發(fā)應(yīng)用系統(tǒng),具有深厚的計(jì)算機(jī)功底,并且非常清楚系統(tǒng)處理業(yè)務(wù)量的分布,即能明確的提出具體的性能需求。很遺憾,一般很難遇到這么“牛人”的客戶。
* 普通型:了解開發(fā)的應(yīng)用系統(tǒng),具有一般系統(tǒng)管理能力。不了解性能指標(biāo),不能明確提出具體性能需求。需求項(xiàng)目經(jīng)理或需求人員引導(dǎo)客戶明確性能需求,甚至需要我們開發(fā)方為客戶制定符合要求的性能需求。
4. 填寫性能需求調(diào)研表
專業(yè)型客戶很容易向我們提供明確的性能需求,而普通型客戶一般最關(guān)注的是響應(yīng)時間(遵循2/5/10原則)、必須支持多少在線用戶、應(yīng)用服務(wù)的穩(wěn)定性(如運(yùn)行1周或1月服務(wù)器后應(yīng)用服務(wù)還能正常提供服務(wù)等)。
為了性能測試更真實(shí)的接近系統(tǒng)實(shí)現(xiàn)的應(yīng)用,性能測試人員還必須獲取更為詳盡的信息??梢詮囊韵氯齻€方面獲取:
* 向項(xiàng)目經(jīng)理調(diào)研信息:如應(yīng)用系統(tǒng)目標(biāo)運(yùn)行硬件配置(此硬件設(shè)備是否運(yùn)行其他服務(wù))、應(yīng)用環(huán)境(是否有其它的服務(wù)共用服務(wù))、網(wǎng)絡(luò)環(huán)境、數(shù)據(jù)庫規(guī)模等。
* 向業(yè)務(wù)經(jīng)理調(diào)研信息:業(yè)務(wù)量分布圖及業(yè)務(wù)量增長分布圖、關(guān)鍵業(yè)務(wù)量(即場景)
* 向技術(shù)經(jīng)理調(diào)研信息:關(guān)鍵場景交易路徑及對數(shù)據(jù)庫操作的動作(見模板)
根據(jù)模板項(xiàng)目經(jīng)理向客戶調(diào)研時一般都能很方便獲取必要的信息
(即使用戶不能直接明確提出性能需求),項(xiàng)目組也能很容易制定出符合用戶的性能需求。
接下來的問題是量化性能需求、如何制定性能測試及性能調(diào)優(yōu)……