論“性能需求分析”系列專題(一)之 性能需求剖析

軟件需求對於軟件研發和測試工作來說極端重要。美國Standish Group公司的報告顯示,失敗及延期項目中,超過60%是由需求相關的問題所導致,這裏的需求包含了多方面,其中“性能需求”不容忽視。性能測試需求的質量直接影響着性能測試的效果。對性能需求分析不夠準確將導致即便後續各項工作進展順利,也很難達到用戶對性能的期望結果。

性能需求如此重要,如何獲取性能需求則顯得尤爲關鍵。接下去,將向讀者介紹什麼是性能需求及其獲取的各種方法,尤其是將對“通過服務器日誌獲取需求方法”進行重點講解。旨在讓讀者能瞭解性能需求及來源,掌握通過服務器日誌方式獲取需求的方法,掌握WebLog Expert工具的使用及結果分析方法。

什麼是性能需求

性能需求可以劃分爲隱性性能需求和顯性性能需求。隱性性能需求通常由普通型客戶提出,這類客戶往往不瞭解性能指標,不能明確提出具體的性能需求,因此這類需求需要需求人員採用合理的方式去協助客戶明確需求指標,甚至需要開發方來提供需求指標,然後再由客戶進行確認。因此,隱性性能需求需要讀者結合實際情況仔細分析,最終得出顯性性能需求。顯性性能需求一般由專業型客戶提出,這類客戶往往具備自己的開發部門和測試團隊,他們非常清楚系統處理業務量的分佈,能夠明確指出系統應該達到的目標,顯然這類需求更加明確。值得一提的是,客觀來講,我們遇到的大多客戶爲普通型客戶。

下面結合實例講解,讓大家更加清楚這兩類性能需求。

1隱性需求舉例:“某禮堂的出入口樓梯寬度應該適宜,避免發生擁擠”這一需求看似是對功能的限制,實質上對於性能方面也有制約。具體而言,若出入口樓梯修建過窄,可能會導致入場或離場的人羣發生擁擠甚至引發事故,而修建過寬又勢必會造成資源浪費。用戶所要求的“適宜的疏散流通能力”實質就是性能測試中衡量處理能力的吞吐量指標,即上述需求中存在着“吞吐量”這一隱性性能需求。

再舉一個例子,用戶提出“Discuz論壇處理髮帖速度將與xxx論壇一樣快,能夠讓大量用戶同時發帖不出現故障”,也屬於隱性性能需求。

2顯性需求舉例:以下仍藉助Discuz論壇來展示顯性性能需求。

      • Discuz論壇處理髮帖速度比前一版本提高10%

      • Discuz能處理10000個發帖事務/天;

      • Discuz登錄操作響應時間<3秒;

      • Discuz論壇可容納100000個用戶帳號;

      • Discuz論壇可支持1000個用戶同時在線操作;

      • Discuz論壇在晚上8:00-11:00之間,至少可支持10000個用戶同時發帖;

      • Discuz論壇處理速度每秒5000筆,峯值處理能力達到每秒10000筆;

      • 服務器CPU使用率不能超過70%

      • 服務器磁盤隊列長度不能超過2

以上實例均存在很明確的指標或數字,可參照這些指標直接開展相應測試,故上述需求爲顯性性能需求。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章