功能:
郵件系統能夠支持收發以30種語言為標題和正文的郵件,并支持粘貼10MB的郵件附件。
性能:
郵件系統能夠在2GB RAM/1GHz CPU的服務器上,支持10000注冊用戶,日均處理10000郵件,響應時間不超過5秒/封。
我們來對比一下功能需求說明和性能需求說明,發現兩者有一些不同之處:
(1)功能需求中名詞和動詞多,描述軟件主體和動作行為,比如“標題”、“正文”、“收發”、“粘貼”等;
(2)性能需求中對涉及容量和時間詞匯多,如“2GB RAM服務器”、“1000注冊用戶”、“5秒/封”等。
相信我們的讀者已經從上面的對比看出功能和性能的區別了,軟件性能和功能區別的實質是,軟件功能焦點在于軟件“做什么”,關注軟件物質“主體”發生的“事件”;而軟件性能則關注于軟件物質“做得如何”,這是綜合“空間”和“時間”考慮的方案(資源和速度),表現為軟件對“空間”和“時間”的敏感度。認識到性能的這個基本特征對于性能測試人員非常重要,因為在下面的章節中我們將要通過多個“空間”和“時間”的組合,來揭開性能指標的實質和提高的辦法。另外,我們也要認清一個事實,軟件的性能實現是建立在功能實現的基礎之上的。
這就像一個人首先要能跑,這是一個健康的人的正常功能,然后才能參加百米比賽,這就如對人身體的性能考驗。而百米比賽隱含了兩個要素:一個是運動員有一個一百米的運動空間;另一個是比賽,要跑得足夠快,要在短時間內跑完。因此我們說百米比賽其實就是一個空間和時間的綜合結果。
“空間”和“時間”是一個哲學中抽象層次較高的概念,在不同的應用范圍有不同的詮釋。那么在軟件理論和實踐中,我們怎樣理解“空間”和“時間”呢?所謂“仁者見仁,智者見智”,下面我們就分別從用戶的角度和軟件人員的角度來看一下軟件的性能。
1.1.4 用戶眼里的軟件性能
軟件系統在滿足用戶強大的功能需求同時,架構和實現上也變得復雜,軟件系統經過單機系統時代、客戶機服務器系統時代,到現在跨廣域網的龐大分布式系統時代,這樣的例子在金融、電信系統中隨處可見。
系統的業務量大了,就要使用更多的時間和空間資源,在一般情況下不能出現的軟件性能問題就暴露出來了,這些問題“不鳴則已,一鳴驚人”,輕則讓軟件對外不能正常提供服務,重則可能會導致系統的崩潰甚至數據的丟失,這都會給用戶帶來無法估量的損失。

案例1
某西部大型油田使用鉆井平臺數據采集系統,在上線之前已經通過功能測試,但軟件系統上線之后,在使用采集的電子數據勘探油層時,總是不能準確地找到油口,導致數百萬元的損失。經過研究試驗,發現軟件從平臺采集的數據和手工采集的數據有很大出入,性能測試后,找到根本原因:由于采集過程中產生的數據量非常大,導致軟件系統在采集過程中線程死掉,丟失部分數據,最終產生的是一個錯誤的采集結果,為工程人員提供了錯誤的判斷依據。
文章來源于領測軟件測試網 http://www.kjueaiud.com/