Windows軟體效能測試工具與方法
這篇文章主要說明企業內部使用的Windows軟體,
進行效能測試時應該考慮的效能指標、測試方法與工具。
我們在安裝軟體的時候,希望可以使用該軟體功能,
另一方面我們又不希望該軟體造成電腦的效能負擔。
所以針對使用者常見的使用情境、上網、檔案複製、安裝軟體、網路、CPU、記憶體使用等效能做觀察,
看看是否因為該軟體的安裝,造成額外太多系統負擔,我們會討論幾個效能測試指標與測試工具。
效能測試報告範例
[pastacode lang=”markup” message=”” highlight=”” provider=”manual”]
EXECUTIVE SUMMARY
TABLE OF CONTENTS
REVISION HISTORY
PRODUCTS AND VERSIONS
PERFORMANCE METRICS SUMMARY
TEST RESULTS
BENCHMARK 1 – INSTALLATION TIME (SECONDS)
BENCHMARK 2 – USER INTERFACE LAUNCH TIME (MILLISECONDS)
BENCHMARK 3 – WORD DOCUMENT LAUNCH TIME (MILLISECONDS)
BENCHMARK 4 – INTERNET EXPLORER LAUNCH TIME (SECONDS)
BENCHMARK 5 – BOOT TIME (SECONDS)
BENCHMARK 6 – SCAN TIME ON DEMAND (SECONDS)
BENCHMARK 7 – SCAN TIME ON SCHEDULE (SECONDS)
BENCHMARK 8 – CPU USAGE DURING SCAN (PERCENT)
BENCHMARK 9 – BROWSE TIME (SECONDS)
BENCHMARK 10 – NETWORK THROUGHPUT (SECONDS)
BENCHMARK 11 – FILE COPY, MOVE AND DELETE (SECONDS)
BENCHMARK 12 – FILE COMPRESS AND DECOMPRESS (SECONDS)
BENCHMARK 13 – MEMORY USAGE DURING SYSTEM IDLE (MEGABYTES)
BENCHMARK 14 – CPU USAGE DURING IDLE (PERCENT)
DISCLAIMER AND DISCLOSURE
CONTACT DETAILS
APPENDIX 1 – TEST ENVIRONMENT
APPENDIX 2 – METHODOLOGY DESCRIPTION
[/pastacode]
效能測試指標與測試情境
衡量軟體效能的相關指標可以包含如下:
如果是防毒軟體會額外有所謂的”掃描”動作的測試。
指標 | 說明 |
Installation Time | 整個軟體安裝完畢到使用者可以正常使用所需的時間。 |
User Interface Launch Time | 啟動該防毒軟體所需要的時間。由於可能會受到快取的影響,所以執行兩次取平均。 |
Word Document Open Time |
|
Chrome Launch Time |
|
Boot Time | 開機時間。 |
Scan Time on Demand | 整個硬碟掃描 5G檔案所需花的時間 |
Scan Time on Schedule | 整個硬碟掃描 5G檔案所需花的時間 |
Average CPU Usage during Scan | 當執行掃描時,CPU的使用狀況 |
Browse Time | 瀏覽網站所需花的時間 |
Network Throughput | 瀏覽網站下載檔案時的網路流量 |
File Copy, Move and Delete | 執行檔案操作時所需花的時間。檔案的樣本包含:
|
File Compress and Decompress | 檔案壓縮與解壓說的時間 |
Memory Usage during System Idle | 當系統不忙碌時,防毒軟體占用記憶體的比例 |
Average CPU Usage during Idle | 當系統不忙碌時,防毒軟體占用CPU的比例 |
Windows測試環境準備
為了讓測試結果一致,我們會準備測試機器,網站或是檔案伺服器等固定的環境與 Image.
為減少其他干擾,Windows 設定上須注意下列事項:
1. Disabled Automatic Updates.
2. Changed User Account Control settings to “Never Notify”.
3. Disable Windows Defender automatic scans to avoid unexpected background activity.
4. Disable the Windows firewall to avoid interference with security software.
5. Disabled Superfetch to ensure consistent results.
6. Disabled updates, accelerators and compatibility view updates in Internet Explorer 8.
另外,也會統一安裝相關測試與衡量工具。
如何測試安裝時間?
一般來說,軟體的安裝可以分為四大部分
- 安裝過程中的使用者輸入與操作 (不計入安裝時間)
- 安裝前的掃描動作 (計入安裝時間)
- 軟體安裝 (計入安裝時間)
- 安裝完後的病毒碼更新 (計入安裝時間)
如何測試應用程式開啟時間?
http://www.passmark.com/products/apptimer.htm
如何測試開機時間?
可以使用這個工具 xbootmgr https://technet.microsoft.com/en-us/windows/jj663181.aspx
“xbootmgr.exe -trace boot –prepSystem” |
“xbootmgr.exe -trace boot -numruns 5”. |
衡量開機時間BootTimer
另外筆者也推薦這個工具, http://www.planetsoft.org/utils/BootTimer.exe
紀錄開機過程的活動資訊
另外可以使用 Process Monitor 紀錄整個開機過程會執行的相關活動。
https://www.sophos.com/en-us/support/knowledgebase/119038.aspx
https://support.symantec.com/en_US/article.TECH92496.html
如何測試掃描時間?
通常我們會準備一定檔案數量的樣本。為了讓結果更模擬使用者一般的狀況,檔案的型態會包含各式類型。
[pastacode lang=”markup” message=”” highlight=”” provider=”manual”]
avi 247 1024MB
.dll 773 25MB
.exe 730 198MB
.gif 681 63MB
.doc 160 60MB
.docx 267 81MB
.jpg 2904 318MB
.mp3 333 2048MB
.png 451 27MB
.ppt 97 148MB
.sys 501 80MB
.wav 430 260MB
.wma 585 925MB
.xls 329 126MB
.zip 14 177MB
[/pastacode]
Process Explorer – TechNet – Microsoft如何測試 CPU與記憶體使用?
記憶體的使用要觀察的是 “Prviate Byte History”
如何測試瀏覽時間?
一般瀏覽器都會有類似的功能。例如 Chrome Developer tool > Timeline
如何測量指令間所需的時間?
我們會用BAT 或是程式將大量的檔案壓縮、拷貝、複製等操作,
如何衡量這個指令過程所需的時間呢?可以用下列工具
ptime
https://www.raymond.cc/blog/wp-content/plugins/download-monitor/download.php?id=3286
TimeThis
https://www.raymond.cc/blog/wp-content/plugins/download-monitor/download.php?id=3287
TimeMem
https://www.raymond.cc/blog/wp-content/plugins/download-monitor/download.php?id=3289
PowerShell
善用系統環境變數 %time%
ECHO Start Measure %Time% >> timer.txt user COMMAND here ECHO Stop Measure %Time% >> timer.txt |
測試工具列表
工具 | 用途 |
AppTimer : http://www.passmark.com/products/apptimer.htm | 用來測試應用程式啟動所需花的時間 |
Process Explorer https://technet.microsoft.com/en-us/sysinternals/processexplorer.aspx | 觀察記憶體與CPU使用量 |
ptime https://www.raymond.cc/blog/wp-content/plugins/download-monitor/download.php?id=3286 | 衡量指令執行所花的時間 |
BootTimer http://www.planetsoft.org/utils/BootTimer.exe | 衡量開機時間 |