產品測試是計算機世界實驗室的主要任務之一。
一般來說,每個工程師至少有超過3/4的工作時間花費在測試上,之后撰寫評測報告往往卻用不了太多時間。了解這行的人都知道,測試一點也不好玩,反倒是件很痛苦的事,因為一切都不可控,誰都永遠無法預知下一步會發生什么。一旦出現意外,往往就很難解決,以至于我們得出這樣一條工作經驗:測試計劃必須有,但不要指望能按計劃完成。
既然測試充滿那么多未知因素,想提升工作效率就必須從可控的部分入手。所謂工欲善其事必先利其器,測試環境中的硬件條件無疑是效率提升的基礎。我們結合自身應用的實際需求,于近期對實驗室測試環境進行了升級。作為計算機世界實驗室合作伙伴,北京宏正騰達科技有限公司對升級改造工作給予了大力支持,在此向他們表示感謝。
KVM的高度進化
與傳統的研發型測試不同,計算機世界實驗室進行的測試主要以應用層面的黑盒測試為主,驗證、考察一款產品的功能與性能,將真實的數據與客觀的評價傳遞給讀者。這種測試有著數量多,周期短的特點,要求實驗室工程師們必須合理分配有限的測試資源。而其中的最大矛盾在于輸入輸出設備,雖然各類遠程控制方案日趨成熟,可仍有一部分工作必須在本地完成,顯示器、鍵盤、鼠標是最起碼的需求。不過對于橫向對比測試來說,一下找來十臺八臺顯示器顯然不現實,況且工程師還得在大量設備間不停地切換操作,必須借助KVM(多電腦切換器)才能順利進行。
隨著操作需求的不斷提高,實驗室一直使用的幾臺老式桌面型KVM逐漸成為影響工作效率的關鍵因素。該產品后端可以接駁4臺主機,支持VGA+PS/2的搭配,工作在無源模式。這種設計有著天生的缺陷,例如它不會對任何信號做出響應,如果在開機時沒有選擇相應的輸入輸出線路,主機就不能檢測到鍵盤鼠標。兼容性方面的問題也很嚴重,有時在操作中切換到其他線路,再切換回來時鍵盤鼠標會失效。測試時我們最忌諱的就是這種情況,除了重啟主機外別無他法。
在升級改造選型中,ATEN CS1708A是最令我們感興趣的KVM產品。該產品采用1U規格設計,需要外部供電,可以安裝在標準機架中。每臺設備支持8路信號,如果不能滿足需求,還可以通過級聯方式控制多達256臺主機。由于嵌入式系統本身具有一定的處理能力,CS1708A可以對所有后端主機進行監控、響應,徹底杜絕了老式KVM時常丟失鍵盤鼠標的情況,大幅提高了兼容性與穩定性。視頻信號方面,該產品最大支持2048x1536的輸出分辨率,并可以準確識別外接顯示器所支持的規格。
CS1708A與后端主機間可以采用VGA+PS/2和VGA+USB兩種連接方式,后者相對更實用,畢竟今天USB無處不在,而PS/2接口在服務器上都愈發罕見。當采用VGA+USB線纜進行連接時,CS1708A對于主機來說以USB Hub帶USB鍵盤鼠標的形態存在,物理上只需一根額外的連接線,相比VGA+PS/2更簡單。
這種形態還可以帶來更多的優勢。ATEN長期以來一直堅持“KVMP”的設計理念,除常規的顯示、鍵盤、鼠標外,還支持USB接口的動態切換。CS1708A也不例外,該產品前面板處提供了一個USB接口,可以看做受控主機的USB延伸。這是實驗室工程師在實際操作中使用率最高的一個特性,例如之前的服務器橫向對比測試,我們在準備階段通過與之相連的移動硬盤一次性安裝了所有待測設備的驅動程序及測試軟件,顯著降低了操作復雜度。唯一遺憾的是,這個接口工作在USB 1.1規格,傳輸大量數據需要較長時間。不過性能在大多數情況下都不是瓶頸,USB接口帶來的功能擴展才是值得每一個用戶深入挖掘的特性。
全天候無邊界測試
搭建好測試環境,就進入了漫長的測試實施階段。對于企業級產品來說,測試出意外是常有的事情,有時甚至連廠商來配合測試的工程師都無法快速解決問題。但終究每個產品都有相應的測試周期,報紙預留的版面又不能“開天窗”,耽誤的進度必須靠加班趕回來。極端情況下,通宵趕工也是沒辦法的事,每個實驗室工程師都有過這樣的經歷。
實際上,在測試環境搭建完成后,就基本沒有必須在現場進行的操作了。無論是服務器還是網絡設備,大都可以通過遠程桌面或Telnet等方式進行操控,工程師還能遠離機房的噪音和電磁輻射。只有兩種情況是人必須到現場的,那就是設備加電和失去響應需要重啟的時候。后者在壓力測試中經常出現,如果被測設備在性能過載時處理機制不夠完善,就不得不面臨測試一次、復位一次的窘境。
需求很明顯,我們需要一臺功能全面的遠程電源管理設備,解放每一個工程師。經過甄選,ALTUSEN PN9108憑借強大的功能贏得實驗室工程師們的一致認可。該產品同樣采用1U規格設計,支持8路供電輸出,最大輸出功率為2200瓦。為了滿足不同規格機架的安裝要求,PN9108采用了可分離式設計,避免了部署后可能帶來的操作不便。用戶可以將前面板置于機架最前端,通過按鍵切換對應電路的狀態。
如果將供電狀態切換理解為簡單的電源開關,就顯得失之偏頗了。網絡設備的設計大多有所考慮,可以容忍突然的加電、掉電;服務器運行的系統和業務則復雜得多,異常掉電甚至可能導致系統損壞或數據丟失。PN9108內置有8組與供電系統一一對應的串口,可以模擬UPS與服務器進行通信,以做到遠程喚醒和安全關機,保證了系統的穩定性。為保險起見,我們在測試工作中全部采用這種方式對被測設備進行控制,除非它已經到了無法正常關機的狀態。
電力系統的遠程控制是PN9108的精華所在。該產品內置了一個百兆網口,用戶可以通過簡潔明了的WebUI和Telnet命令行對其進行控制,消除了操作的空間限制。控制臺中還提供了許多管理特性,其中以自建用戶與供電接口的綁定最為實用。在沒有大型測試的時候,我們通常將每兩路輸出與一個用戶綁定,分配給不同的工程師使用。每個工程師只能對屬于自己的供電接口進行遠程控制,避免了誤操作的可能。
有了PN9108,結合已有的VPN接入,實驗室工程師可以在任何時間、任何地點進行完整的測試。平心而論,我們也只是用到全部功能特性中的一小部分,還有許多用法需要在工作中逐步開發。例如借助Telnet或串口連接提供的命令行實現自動化測試,就是我們目前的重點攻關目標。