1、引言
隨著我國加入WTO,各行各業都面臨更多的機遇和挑戰。如何提高產品的質量,增強市場競爭力,日益成為企業發展必須解決的迫切問題,對軟件企業來說尤為重要。軟件企業要直接參與國際軟件市場的競爭,首要問題就是要保證軟件的質量,同時要加快軟件產品的發布與交付使用。因此,如何提高軟件質量,越來越成為當前軟件產業發展中一個迫在眉睫的問題。本文只針對軟件質量的性能方面,做一些探討。
2、軟件質量
質量保證能力的強弱直接影響著軟件業的發展和生存。那么,到底什么是軟件的質量呢?《GB/T 16260 信息技術 軟件產品評價 質量特性及其使用指南》明確定義:軟件質量是軟件產品具有滿足明確的或隱含需求能力的特征和特性總和。具體包括以下六個方面的質量特性:
1)功能性
與一組功能及其指定的性質有關的一組屬性。這里的功能是指滿足明確或隱含的需求的那些功能。
2)易用性
與一組規定或潛在的用戶為使用軟件所需作的努力和對這樣的使用所作的評價有關的一組屬性。
3)可靠性
與在規定的一段時間和條件下,軟件維持其性能水平的能力有關的一組屬性。
4)效率
與在規定的條件下,軟件的性能水平與所使用資源量之間關系有關的一組屬性。
5)可維護性
與進行指定的修改所需的努力有關的一組屬性。
6)可移植性
與軟件可從某一環境轉移到另一環境的能力有關的一組屬性。
因此,為了評價軟件產品的質量,需要對軟件質量的每個特性實施和執行測試. 隨著現代軟件構架技術的發展,特別是WEB技術的發展,與軟件可靠性、效率質量特性相關的軟件性能問題越來越受到包括軟件從業人員、專家學者以及軟件使用者的重視,軟件的性能指標的好壞已直接影響到軟件的質量。
3、軟件性能測試技術
軟件性能的測試一般包括三個方面,即性能評測、負載測試和強度測試。每一方面的測試都有其不同的測試目標、測試技術、完成標準,具體如下:
3.1 性能評測
針對響應時間、事務處理速率和其他與時間相關的需求進行評測和評估。目標是驗證性能需求是否都已滿足。
測試目標:
驗證所指定的事務或業務功能在以下情況下的性能行為:
(1)正常的預期工作量
(2)預期的最繁重工作量
測試技術:
使用為功能或業務周期測試制定的測試過程。
(1)通過修改數據文件來增加事務數量,或通過修改腳本來增加每項事務的迭代數量。
(2)腳本應該在一臺計算機上運行(最好是以單個用戶、單個事務為基準),并在多個客戶機(虛擬的或實際的客戶機)上重復。
完成標準:
(1)單個事務或單個用戶:在每個事務所預期或要求的時間范圍內成功地完成測試腳本,沒有發生任何故障。
(2)多個事務或多個用戶:在可接受的時間范圍內成功地完成測試腳本,沒有發生任何故障。
注意事項:
綜合的性能測試還包括在服務器上添加后臺工作量。 可采用多種方法來執行此操作,其中包括:
(1)直接將“事務強行分配到”服務器上,這通常以“結構化查詢語言”(SQL) 調用的形式來實現。
(2)通過創建“虛擬的”用戶負載來模擬許多個(通常為數百個)客戶機。此負載可通過“遠程終端仿真”(Remote Terminal Emulation) 工具來實現。此技術還可用于在網絡中加載“流量”。
(3)使用多臺實際客戶機在系統上添加負載。
(4)性能測試應該在專用的計算機上或在專用的機時內執行,以便實現完全的控制和精確的評測。
(5)性能測試所用的數據庫應該是實際大小或相同縮放比例的數據庫。
3.2 負載測試
負載測試通過使測試對象承擔不同的工作量,以評測和評估測試對象在不同工作量條件下的性能行為,以及持續正常運行的能力。目標是確定并確保系統在超出最大預期工作量的情況下仍能正常運行,以及軟件的性能特征,例如,響應時間、事務處理速率和其他與時間相關的方面。
測試目標:
驗證所指定的事務在不同的工作量條件下的性能行為時間。
原文轉自:http://www.uml.org.cn/Test/201204163.asp