最初運行的是一組為期 30 天的基線運轉,然后增加到 60 天和 90 天的 xSeries 和 pSeries 服務器上的 Linux 測試運轉。初始重點在于內核、網絡和 I/O 測試。
測試工具
Linux Test Project(即 LTP;參考資料中有鏈接和更多信息)是 SGI、IBM、OSDL、Bull 和 Wipro Technologies 合作的項目,目的是為開放源代碼團體提供測試套件,以測試 Linux 的可靠性、健壯性和穩定性。Linux Test Project 是測試 Linux 內核和相關部件的工具的集合。目的是通過使內核測試工作自動化來幫助改進 Linux 內核。
當前,在 LTP 套件中有超過 2000 個測試用例,涵蓋了內核的大多數接口,比如系統調用、內存、IPC、I/O、文件系統和網絡。測試套件每月都會更新發布,可以運行于多種體系結構上。已知的 LTP 測試套件測試過的體系結構有 11 種,包括 i386、ia64、PowerPC、PowerPC 64、S/390、S/390x (64bit)、MIPS、mipsel、cris、AMD Opteron 和嵌入式體系結構。我們的可靠性測試中使用的 LTP 版本是 20030524,這是當時可以獲得的最新版本。
測試策略
在基線運轉中有兩個特別的階段:一個 24 小時的“初始測試”,接下來是壓力可靠性運轉階段,或者說是“壓力測試”。
通過初始測試是開始測試的必要條件。初始測試包括 LTP 測試套件在硬件和操作系統上 24 小時的成功運轉,這些硬件和操作系統將用于可靠性運轉。LTP 測試套件包附帶的驅動程序腳本 runalltest.sh 用于驗證內核。這個腳本串行地運行一組成包的測試,并報告全部結果。也可以選擇同時并行地運行幾個實例。默認地,這個腳本執行:
文件系統壓力測試。
硬盤 I/O 測試。
內存管理壓力測試。
IPC 壓力測試。
調試器測試。
命令功能的驗證測試。
系統調用功能的驗證測試。
壓力測試可以驗證產品在系統高使用率時的健壯性。作為 runalltest.sh 的補充,特別設計了一個名為 ltpstress.sh 的測試場景,在使用網絡與內存管理的同時并行地運行大范圍的內核組件,并在測試系統上生成高壓力負荷。ltpstress.sh 也是 LTP 測試套件的一部分。這個腳本并行地運行相似的測試用例,串行地運行不同的測試用例,這樣做是為了避免由于同時訪問同一資源或者互相干擾而引起的間歇性故障。默認地,這個腳本執行:
NFS 壓力測試。
內存管理壓力測試。
文件系統壓力測試。
數學 (浮點) 測試。
多線程壓力測試。
硬盤 I/O 測試。
IPC (pipeio, semaphore) 測試。
系統調用功能的驗證測試。
網絡壓力測試。
系統監控
LTP 測試套件附帶的修改過的 top 工具用作系統監控工具。使用 top 可以實時地觀察處理器的行為。改進的 top 工具具有附加的功能,可以將 top 結果的快照保存到文件中,并給出結果文件的平均總結,包括 CPU、內存和交換空間利用率等信息。
在我們的測試中,每 10 秒鐘截取一次系統利用率(或者 top 輸出文件)的快照,并保存到結果文件。另外,每天或每周要處理系統利用率的快照和 LTP 測試輸出文件并得到數據分數,以確定系統在長時間運轉中性能是否下降。此功能由 cron 作業和腳本控制。
測試之前
所有選定的測試系統的硬件配置盡可能相同。去掉了額外的硬件以減少潛在的硬件故障。在映像安裝過程中選擇最低的安全選項。預留至少 2 GB 的硬盤空間以保存 top 數據文件和 LTP 日志文件。
注意,這是一個測試場景;現實生活中,最好建議用戶保持安全設置遠高于最低設置。
測試期間
在測試期間系統不要受到干擾。偶爾訪問一下系統以確認測試仍在進行是可以接受的。確認的手段包括使用 ps 命令、檢查 top 數據和檢查 LTP 日志數據。
文章來源于領測軟件測試網 http://www.kjueaiud.com/