1、測試用例算法
不管是功能測試仍是性能測試,執行用例時候都有優先級之分,對於性能測試來講,優先級能夠這樣劃分:數據庫
①.重要的(業務場景中的核心)安全
②.重複的(用戶使用頻率最高的)服務器
③.重量級的(消耗大量系統資源的)網絡
設計性能測試用例的簡要過程:併發
一、具體的性能指標分爲如下幾類:工具
①.系統容量(數據容量、用戶量、用戶併發量)性能
②.系統併發度指標(註冊用戶、在線用戶、併發用戶)學習
③.響應度指標(正常壓力下響應能力、峯值壓力下響應能力、異常壓力下的響應能力)測試
二、熟悉而且理解整個系統的業務邏輯、實現原理,而後進行需求拆分,獲得性能測試需求點
三、多個渠道獲得具體性能要求,分析評估風險,優先級,是否進行測試等
四、編寫性能測試方案和用例,並進行評審經過,而後執行
PS:一些性能測試的測試點
a.查詢 b.保存 c.統計 d.刷新 e.顯示 f.傳輸 g.響應 h.下載
舉個例子:打開網絡上其餘媒介的文件,在網絡擁堵的狀況下打開執行相關操做,主要測試點以下:
①.數據量小的時候主要執行查詢統計刷新等功能點
②.數據量累計到必定程度時的查詢統計刷新時間(必定程度:根據實際狀況與需求來肯定範圍)
2、常見的基礎性能測試
一、安全可靠性測試
①.用戶權限限制:對不一樣用戶權限的限制狀況
②.用戶和密碼封閉性:對相應用戶和密碼進行次數限制
③.屏蔽用戶操做錯誤:對用戶常見操做錯誤的提示和屏蔽狀況
④.錯誤提示的準確性:對用戶的錯誤提示的準確度
⑤.錯誤是否致使系統異常退出:有無操做錯誤引發系統異常退出的狀況
⑥.數據備份和恢復手段:系統是否提供備份及恢復功能,備份手段具體如何,是否對備份數據進行加密、壓縮等
⑦.輸入數據有效性檢查:對錄入系統的數據進行有效性檢查
⑧.留痕功能:系統是否有操做日誌,日誌記錄的操做狀況的全面性和準確性,是否含有主要要素
⑨.異常狀況的影響:程序運行過程當中進行掉電掉網等測試,考察數據和系統的受影響程度,若受損,是否有補救措施等
⑩.數據傳輸安全性:對有特殊要求的數據傳輸,對其進行必要的加密處理,使用的算法等
二、資源佔用率測試
①.軟件安裝所佔用的硬盤空間:檢查軟件安裝所佔用的硬盤空間
②.模塊裝載後內存佔用量:檢查模塊裝載後內存佔用量(包括虛擬內存)
③.模塊卸載後內存釋放量:檢查模塊卸載後內存釋放率(包括虛擬內存)
三、兼容性測試
①.軟件兼容:測試軟件安裝運行的適用平臺
②.硬件兼容:硬件平臺的配置要求
四、易用性測試
①.易安裝性:安裝難易程度,是否符合當前流行的,易被接受的安裝模式
②.用戶界面友好性:界面的簡潔程度等
③.易學性:相對用戶使用者而言,學習使用的難度,對操做人員的要求等
④.易操做性:操做的難易程度
⑤.聯機幫助豐富性:檢查聯機操做的準確性、全面性,以及關鍵操做時使用聯機幫助的方便性
五、用戶文檔測試
①.用戶手冊的完整程度:用戶手冊內容的全面性、完整性
②.用戶手冊描述與軟件實際功能的一致性:手冊與軟件實際功能的一直程度
③.用戶手冊的易理解程度:用戶手冊對重要操做
④.用戶手冊提供的學習操做示例:對主要功能和關鍵操做提供的應用實例有多少,實例的詳細程度
六、效率測試
①.通訊效率:網絡負載、吞吐率、利用率、響應時間、延遲等
②.設備效率:CPU佔用率、內存佔用率、磁盤佔用率、輸入輸出效率等,包括軟件不工做狀態下對硬件資源的佔用狀況和進行業務處理過程當中對硬件資源的佔用狀況
③.執行效率:典型業務場景的執行效率,例如關鍵的查詢、統計等響應時間等
七、可擴展性測試
①.與異種數據接口:有無與其餘數據的接口
②.是否能擴展功能模塊:可否根據用戶要求擴展功能模塊
3、常見的進階性能測試
一、併發性能測試
併發測試的過程,是一個負載測試和壓力測試的過程。即逐漸增長負載,直到系統的瓶頸或者不能接收的性能點,經過綜合分析執行指標和資源監控指標來肯定系統併發性能的過程
測試案例:例如:中間件應能知足必定數量的客戶端同時辦公的須要
測試內容與監控指標:(負載壓力測試;模擬不一樣數量併發用戶測試)
模擬不一樣數量併發用戶執行關鍵業務,測試至系統可以承受的最大併發用戶數。
主要監控指標以下:
● 每分鐘事務處理數(Transaction Rate):不一樣負載下每分鐘成功完成的事務處理數;
● 響應時間(Response Time):服務器對每一個應用請求
● Mean:平均的服務器響應時間;
● Max:最大的服務器響應時間;
● StdDev:事務處理服務器響應的誤差,值越大,誤差越大;
● Median:中值響應時間;
● 90%:90%事務處理的服務器響應時間
● 虛擬併發用戶數(Total Virtual Users):測試工具模擬的用戶併發數量。
二、系統資源監控
在進行負載壓力測試的同時,用測試工具對數據庫服務器、Web服務器、應用服務器、認證及受權服務器上的操做系統、數據庫以及中間件等資源進行監控。
監控系統資源指標,在測試中,根據測試需求以及測試環境的變化,選取有意義的數據進行分析。
三、大數據量
例如:考慮系統將來發展須要的存儲空間,添加大數據量測試。
主要包括兩方面內容:
①.單獨的數據量測試;
②.與併發性能測試相結合的綜合測試。
測試數據的準備藉助於測試數據管理與生成工具,例如FileAid。
四、速度
例如:磁盤訪問速度、備份速度以及網絡辦公系統運行速度等(人工測試)
五、疲勞測試
一般是採用系統穩定運行狀況下可以支持的最大併發用戶數,持續執行一段時間業務,經過綜合分析執行指標和資源監控指標來肯定系統處理最大工做量強度性能的過程。
4、性能測試指標
通常有2種形式描述:產品需求指標和系統的性能指標。
一、產品需求指標
①.給出產品性能的主要指標,如在100000記錄中查詢一個特定數據的時間爲0.5秒;
②.以某個已發佈的版本爲基線,如比上一個版本的性能提升30-50%;
③.和競爭對手的同類產品比較。
二、系統的性能指標
①.CPU利用率;
②.內存佔用率;
③.磁盤I/O ;
④.響應時間。
5、性能測試的策略
性能測試策略通常從需求設計階段開始討論制定,策略的內容決定着性能測試工做投入多少資源、什麼時間開始實施等後繼工做如何安排。制定性能測試的策略的因素:
一、預期的指標性能的因素
系統在需求分析、設計階段和產品說明書等文檔中明確的提出都性能指標,這些指標是性能測試要完成的工做。
二、獨立業務性能測試的因素
獨立業務主要是指軟件產品的模塊具備獨立業務功能,在需求階段就能夠肯定,要單獨測試其性能。
三、業務性能組合測試的因素
應用類軟件系統一般不會使全部的用戶只使用一個或者幾個核心業務模塊,多是對多個業務進行組合使用,對多個業務進行組合性能測試。因爲組合業務測試是最能反映
用戶使用系統狀況,於是業務性能組合測試是測試的核心內容。
四、疲勞強度性能測試
疲勞強度測試是在系統穩定運行下模擬較大的用戶數量、並長時間運行系統的測試,經過綜合分析執行指標和資源監控來肯定系統處理最大業務量時的性能,主要目的是爲了測試系統的穩定性。
五、大數據量性能測試的因素
大數據量測試是爲了測試系統的業務處理能力進行的。第一種是針對某些系統存儲、傳輸、統計查詢等業務進行大數據量的測試,主要是測試數據增多時的性能狀況;
第二種是極限狀態下數據測試,主要指系統數據量達到必定程度時,經過性能測試來評估系統的響應狀況,測試對象是某些核心業務或者平常經常使用的組合業務。
六、網絡性能測試的因素
網絡性能測試主要是爲了準確展現帶寬、延遲、吞吐量、負載、瓶頸和端口的變化是如何影響用戶的響應時間的。重點測試吞吐量指標,由於80%的系統性能瓶頸由吞吐量形成。
6、性能測試的方法
性能測試方法主要有:能力驗證、規劃性能、性能調優、壓力加載、性能降低曲線分析。
一、能力驗證
能力驗證強調:系統具有的硬件設備、軟件環境、網絡條件、基礎數據。能力驗證使用到可靠性測試、壓力測試、失效恢復測試 。
二、規劃性能
規劃性能關心的是要求系統具備的性能,強調系統配置,使系統可以知足增加的用戶數的須要等問題。規劃性能使用到負載測試、配置測試、壓力測試。
三、性能調優
性能調優關心的是要求系統肯定基準環境、基準負載和基準性能指標;調整系統運行環境和實現方法;記錄測試結果、進行測試分析。
四、壓力加載
壓力加載強調:
①.穩定壓力加載。一次性將負載加到某個水平,持續一段時間;
②.逐漸加載或交替加載到某個負載水平;
③.峯谷測試。肯定從系統高峯時間的負載轉爲幾乎空閒、再攀升到高負載這樣峯值交替狀況下的系統性能狀態/指標。
5. 性能降低曲線分析
性能降低曲線分析關心的是性能隨着用戶數的增長而出現降低趨勢的曲線分析、查看性能降低的環境點與上下文。肯定性能閥值。性能曲線經過單用戶區域、
性能平坦區域、壓力區域、性能拐點進行監控和分析。