[go: up one dir, main page]

TWI598819B - 基於虛擬機器進行硬體裝置測試之電腦系統及方法 - Google Patents

基於虛擬機器進行硬體裝置測試之電腦系統及方法 Download PDF

Info

Publication number
TWI598819B
TWI598819B TW104113838A TW104113838A TWI598819B TW I598819 B TWI598819 B TW I598819B TW 104113838 A TW104113838 A TW 104113838A TW 104113838 A TW104113838 A TW 104113838A TW I598819 B TWI598819 B TW I598819B
Authority
TW
Taiwan
Prior art keywords
hardware device
test module
response message
extended
virtual machine
Prior art date
Application number
TW104113838A
Other languages
English (en)
Other versions
TW201638778A (zh
Inventor
邱瀚輝
Original Assignee
捷鼎國際股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 捷鼎國際股份有限公司 filed Critical 捷鼎國際股份有限公司
Priority to TW104113838A priority Critical patent/TWI598819B/zh
Priority to US14/851,193 priority patent/US9436491B1/en
Publication of TW201638778A publication Critical patent/TW201638778A/zh
Application granted granted Critical
Publication of TWI598819B publication Critical patent/TWI598819B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45579I/O management, e.g. providing access to device drivers or storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Description

基於虛擬機器進行硬體裝置測試之電腦系統及方法
本發明有關於一種基於虛擬機器進行硬體裝置測試之電腦系統及方法,尤指一種利用虛擬機器來測試硬體裝置之硬體或韌體之電腦系統及方法。
以往在進行硬體裝置之硬體或韌體開發時,測試人員會將開發中的硬體裝置連接一電腦主機,並將驅動裝置之韌體驅動程式安裝在電腦主機之主機端作業系統之中。而後,利用驅動程式去發送一連串的測試指令至硬體裝置,以測試硬體裝置是否可以正常運作或驗證硬體裝置對於錯誤的測試指令是否可以正確的回應。
然而,傳統硬體裝置的測試流程中,當硬體裝置之硬體或韌體驅動程式測試時產生異常情況,很容易造成電腦主機之主機端作業系統當機或崩潰,嚴重的話甚至導致主機端作業系統之資料損壞,而造成系統測試時的風險。此外,當電腦主機之主機端作業系統當機或崩潰時,電腦主機必須花費一段重新開機的時間,方能重新進行硬體裝置之軟硬體測試,此不僅會造成測試流程的不便且會增加測試流程的時程。
本發明提出一種基於虛擬機器進行硬體裝置測試之電腦系統及方法,其電腦系統可以利用虛擬機器來測試真實硬體裝置之硬體或韌體,若真實硬體裝置之硬體或韌體驅動程式測試時產生異常的情況,只會影響到虛擬機器的客戶端作業系統之運作,不會造成電腦系統的主機端作業系統的當機或崩潰,將可確保電腦系統測試真實硬體裝置之硬體或韌體驅動程式時的安全性。
本發明提出一種基於虛擬機器進行硬體裝置測試之電腦系 統及方法,其電腦系統利用一虛擬硬體裝置模擬周邊硬體裝置之操作功能,則,無須連接一外部的周邊硬體裝置,即可對於周邊硬體裝置之韌體驅動程式進行開發,藉以提升韌體驅動程式開發的便利性及時效性。
為達成上述目的,本發明提供一種基於虛擬機器進行硬體裝置測試之電腦系統,包括:一虛擬機器,包括:一客戶端作業系統,包括:一客戶端驅動程式,配置在客戶端作業系統中,用以發出一連串的測試指令;及一虛擬機器管理程式,包括一擴充測試模組;及一真實硬體裝置,透過一硬體直通單元連接擴充測試模組,其中客戶端驅動程式經由擴充測試模組依序傳送測試指令至真實硬體裝置,真實硬體裝置處理測試指令以產生至少一回應訊息且經由擴充測試模組傳送回應訊息至客戶端驅動程式。
本發明一實施例中,其中擴充測試模組在測試指令中加入一錯誤指令或一不符合傳輸協定規範之指令。
本發明一實施例中,其中擴充測試模組設定一延遲時間,擴充測試模組根據延遲時間以延遲每一測試指令傳送至真實硬體裝置的時間。
本發明一實施例中,其中當真實硬體裝置經由處理測試指令以判斷出測試指令包含有一錯誤指令、一不符合傳輸協定規範之指令或存在有指令傳送延遲之情況,將產生標示有韌體錯誤之回應訊息。
本發明一實施例中,其中擴充測試模組複製測試指令以重複傳送測試指令至真實硬體裝置。
本發明一實施例中,其中擴充測試模組在回應訊息中加入一錯誤資料或一不符合傳輸協定規範之資料。
本發明一實施例中,其中擴充測試模組設定一延遲時間,擴充測試模組根據延遲時間以延遲每一回應訊息傳送至客戶端驅動程式的時間。
本發明一實施例中,其中真實硬體裝置為一符合於PCI、PCI Express、SATA或USB傳輸協定規範之周邊硬體裝置。
本發明又提供一種基於虛擬機器進行硬體裝置測試之電腦系統,包括:一虛擬機器,包括:一客戶端作業系統,包括:一客戶端驅動程式,配置在客戶端作業系統中,用以發出一連串的測試指令;及一虛擬機器管理程式,包括一擴充測試模組及一虛擬硬體裝置,其中客戶端驅動程式經由擴充測試模組依序傳送測試指令至虛擬硬體裝置,虛擬硬體裝置處理測試指令以產生至少一回應訊息且經由擴充測試模組傳送回應訊息至客戶端驅動程式。
本發明一實施例中,其中虛擬硬體裝置被虛擬機器管理程式模擬成一符合於PCI、PCI Express、SATA或USB傳輸協定規範之裝置。
本發明又提供一種基於虛擬機器進行硬體裝置測試之電腦系統,包括:一虛擬機器,包括:一客戶端作業系統,包括:一客戶端驅動程式,配置在客戶端作業系統中,用以發出一連串的測試指令;及一虛擬機器管理程式,包括一擴充測試模組及一虛擬硬體裝置,其中客戶端驅動程式依序傳送測試指令至擴充測試模組,若擴充測試模組能夠處理測試指令,擴充測試模組直接產生至少一回應訊息;否則,擴充測試模組傳送測試指令至虛擬硬體裝置,由虛擬硬體裝置處理測試指令而產生回應訊息,且回應訊息經由擴充測試模組傳送至客戶端驅動程式。
本發明又提供一種基於虛擬機器進行硬體裝置測試之方法,其方法適用在一配置有一虛擬機器之電腦系統上,虛擬機器包括一客戶端作業系統及一虛擬機器管理程式,客戶端作業系統配置有至少一客戶端驅動程式,虛擬機器管理程式包括一擴充測試模組,方法步驟包括:令客戶端驅動程式發出一連串的測試指令且傳送測試指令至擴充測試模組;令擴充測試模組傳送測試指令至一真實硬體裝置或一虛擬硬體裝置;令真實硬體裝置或虛擬硬體裝置處理測試指令以產生至少一回應訊息;及令真實硬體裝置或虛擬硬體裝置經由擴充測試模組傳送回應訊息至客戶端驅動程式。
100‧‧‧電腦系統
101‧‧‧電腦系統
11‧‧‧主機端作業系統
12‧‧‧虛擬機器
13‧‧‧虛擬機器管理程式
130‧‧‧硬體直通
131‧‧‧擴充測試模組
133‧‧‧虛擬硬體裝置
1330‧‧‧回應訊息
1330‧‧‧額外指令
15‧‧‧客戶端作業系統
151‧‧‧客戶端驅動程式
1510‧‧‧測試指令
1511‧‧‧額外指令
153‧‧‧客戶端驅動程式
1530‧‧‧測試指令
20‧‧‧真實硬體裝置
2000‧‧‧回應訊息
2001‧‧‧額外指令
第1圖:本發明基於虛擬機器進行硬體裝置測試之電腦系統 一實施例之結構示意圖。
第2圖:本發明基於虛擬機器進行硬體裝置測試之電腦系統又一實施例之結構示意圖。
第3圖:本發明基於虛擬機器進行硬體裝置之硬體測試之一實施例之方法流程圖。
第4圖:本發明基於虛擬機器進行硬體裝置之韌體測試之一實施例之方法流程圖。
第5圖:本發明基於虛擬機器進行硬體裝置測試之又一實施例之方法流程圖。
請參閱第1圖,為本發明基於虛擬機器進行硬體裝置測試之電腦系統一實施例之結構示意圖。如第1圖所示,本實施例電腦系統100包括一虛擬機器12,其配置於一主機端作業系統11之中。虛擬機器12包括一虛擬機器管理程式(Hyper-visor)13及一客戶端作業系統15。虛擬機器管理程式13包括一擴充測試模組131,而客戶端作業系統15配置有一客戶端驅動程式151。
在本實施例中,虛擬機器12之擴充測試模組131可以經由一硬體直通(hardware pass-through)單元130連接一外部的真實硬體裝置20。此硬體直通單元130為一可以在虛擬機器12與真實硬體裝置20之間建構通訊連接之軟體介面。在本發明中,真實硬體裝置20亦可為一符合於PCI、PCI Express、SATA、USB或其他介面傳輸協定規範之周邊硬體裝置。
當電腦系統100欲對於真實硬體裝置20進行測試時,客戶端驅動程式151發出一連串的測試指令1510,測試指令1510經由擴充測試模組131傳送至真實硬體裝置20。真實硬體裝置20處理測試指令1510以產生至少一回應訊息2000,且經由擴充測試模組131傳送回應訊息2000至客戶端驅動程式151。之後,客戶端驅動程式151檢測回應訊息2000以得知是否可以驅使真實硬體裝置20正常運作。
本發明又一實施例中,擴充測試模組131可以複製客戶端驅 動程式151所發送的測試指令1510,且重複傳送測試指令1510至真實硬體裝置20,使得真實硬體裝置20重複處理這些測試指令1510,來驗證真實硬體裝置20的可靠度。
另,本發明又一實施例中,電腦系統100可以對於真實硬體裝置20執行除錯的測試流程。擴充測試模組131可以在客戶端驅動程式151所發出的測試指令1510之中加入一額外指令1511,此額外指令1511可以為一錯誤指令或一不符合傳輸協定規範之指令;或者,擴充測試模組131設定一延遲時間,擴充測試模組131根據延遲時間以延遲每一測試指令1510傳送至真實硬體裝置20的時間。若真實硬體裝置20接收到測試指令1510時,可以正確判斷出此測試指令1510包含有錯誤指令、不符合傳輸協定規範之指令或存在有指令傳送延遲之情況,將產生一標示有韌體錯誤之回應訊息2000,並經由擴充測試模組131傳送此標示有韌體錯誤之回應訊息2000至客戶端驅動程式151。客戶端驅動程式151經由檢測此標示有韌體錯誤之回應訊息2000即可得知真實硬體裝置20能夠對於錯誤的測試指令1510執行正確的處理。反之,若真實硬體裝置20接收到測試指令1510時,無法判斷出此測試指令1510包含有錯誤指令、不符合傳輸協定規範之指令或存在有指令傳送延遲之情況,仍以正常程序產生一正規的回應訊息2000,並經由擴充測試模組131傳送此正規的回應訊息2000至客戶端驅動程式151。客戶端驅動程式151經由檢測此正規的回應訊息2000即可得知真實硬體裝置20無法對於錯誤的測試指令1510執行正確的處理,以令真實硬體裝置20之開發人員可以對於真實硬體裝置20之硬體進行修正。
當然,本發明又一實施例中,電腦系統100也可以對於客戶端驅動程式151執行除錯的測試流程。擴充測試模組131可以在真實硬體裝置20所傳送的回應訊息2000加入一額外訊息2001,此額外訊息2001可以為一錯誤資料或一不符合傳輸協定規範之資料;或者,擴充測試模組131設定一延遲時間,擴充測試模組131根據延遲時間以延遲每一回應訊息2000傳送至客戶端驅動程式151的時間。若客戶端驅動程式151接收到回應訊息2000時,可以正確判斷出此回應訊息2000包含有錯誤資料、不符合傳輸協定規 範之資料或存在有訊息傳送延遲之情況,將可確認客戶端驅動程式151之韌體設計正常無誤。反之,若客戶端驅動程式151接收到回應訊息2000時,無法判斷出此回應訊息2000包含有錯誤資料、不符合傳輸協定規範之資料或存在有訊息傳送延遲之情況,客戶端驅動程式151之開發人員將對於客戶端驅動程式151之韌體進行除錯。
在此,本發明電腦系統100利用虛擬機器12測試真實硬體裝置20。若真實硬體裝置20之硬體或韌體驅動程式(例如:客戶端驅動程式151)測試時產生異常的情況,只會影響到虛擬機器12的客戶端作業系統15之運作,不會造成電腦系統100的主機端作業系統11的當機或崩潰,將可確保電腦系統100測試真實硬體裝置20之硬體或韌體驅動程式時的安全性。此外,受到真實硬體裝置20或客戶端驅動程式151異常而影響的虛擬機器12只要重新啟動即可恢復正常的運作。
請參閱第2圖,為本發明基於虛擬機器進行硬體裝置測試之電腦系統又一實施例之結構示意圖。如第2圖所示,本實施例電腦系統101之虛擬機器12之虛擬機器管理程式13將包括有一虛擬硬體裝置133。虛擬硬體裝置133為一虛擬機器管理程式13模擬真實硬體裝置20所形成之虛擬裝置,其符合於PCI、PCI Express、SATA或USB傳輸協定之規範。再者,客戶端作業系統15將包含有一可以操控虛擬硬體裝置133運作之客戶端驅動程式153。
當電腦系統101欲測試客戶端驅動程式153是否可以操控虛擬硬體裝置133正常運作時,要求客戶端驅動程式153發出一連串的測試指令1530,測試指令1530經由擴充測試模組131傳送至虛擬硬體裝置133。虛擬硬體裝置133處理測試指令1530以產生至少一回應訊息1330,且經由擴充測試模組131傳送回應訊息1330至客戶端驅動程式153。之後,客戶端驅動程式153經由檢測回應訊息1330即可驗證其韌體設計是否正確。
進一步,電腦系統101可以對於客戶端驅動程式153執行除錯的測試流程。擴充測試模組131可以在虛擬硬體裝置133所傳送的回應訊息1330加入一額外訊息1331,此額外訊息1331可以為一錯誤資料或一不符合 傳輸協定規範之資料;或者,擴充測試模組131設定一延遲時間,根據延遲時間以延遲每一回應訊息1330傳送至客戶端驅動程式153的時間。之後,若客戶端驅動程式153接收到回應訊息1330時,可以正確判斷出此回應訊息1330包含有錯誤資料、不符合傳輸協定規範之資料或存在有訊息傳送延遲之情況,將可確認客戶端驅動程式153之韌體設計正常無誤。反之,若客戶端驅動程式151接收到回應訊息1330時,無法判斷出回應訊息1330包含有錯誤資料、不符合傳輸協定規範之資料或存在有訊息傳送延遲之情形,則,客戶端驅動程式153之開發人員將對於客戶端驅動程式153之韌體進行除錯。
於是,在本實施例電腦系統101中,利用虛擬硬體裝置133模擬周邊硬體裝置(如第1圖之真實硬體裝置20)之操作功能,則,無須連接一外部的周邊硬體裝置,即可對於周邊硬體裝置之韌體驅動程式(例如:客戶端驅動程式153)進行開發,藉以提升韌體驅動程式開發的便利性及時效性。
再者,本發明一實施例中,周邊硬體裝置之操作功能亦可被擴充測試模組131及虛擬硬體裝置133之組合所模擬。換言之,擴充測試模組131具備有周邊硬體裝置之部分的操作功能,而虛擬硬體裝置133具備有周邊硬體裝置之其餘的操作功能。如此,當擴充測試模組131在接收到客戶端驅動程式153所發出的測試指令1530時,若擴充測試模組131可以處理測試指令1530,直接產生回應訊息1330回應客戶端驅動程式153,反之,若擴充測試模組131無法處理測試指令1530,將傳送測試指令1530至虛擬硬體裝置133,由虛擬硬體裝置133產生回應訊息1330。
請參閱第3圖,為本發明基於虛擬機器進行硬體裝置之硬體測試之一實施例之方法流程圖,且同時參閱於第1圖。當電腦系統100欲對於真實硬體裝置20進行測試時,首先,執行步驟S301,客戶端驅動程式151發出一連串的測試指令1510,且傳送測試指令1510至擴充測試模組131。
接著,步驟S303,擴充測試模組131將測試指令1510傳送至真實硬體裝置20。步驟S305,真實硬體裝置20在接收到測試指令1510後, 處理測試指令1510以產生至少一回應訊息2000,並傳送回應訊息2000至擴充測試模組131。之後,步驟S307,擴充測試模組131傳送回應訊息2000至客戶端驅動程式151,客戶端驅動程式151經由檢測回應訊息2000以得知是否可以驅使真實硬體裝置20正常運作及韌體設計是否正確。
本發明又一實施例中,在執行步驟S303之前,尚執行一步驟S302,擴充測試模組131加入一錯誤指令或一不符合傳輸協定規範之指令至測試指令1510中,或者擴充測試模組131延遲每一測試指令1510傳送至真實硬體裝置20的時間。接著,步驟S305,真實硬體裝置20在接收到此包含有錯誤指令、不符合傳輸協定規範之指令或存在有指令傳送延遲之測試指令1510後,處理該測試指令1510,且傳送回應訊息2000至擴充測試模組131。之後,步驟S307,擴充測試模組131傳送回應訊息2000至客戶端驅動程式151,則,客戶端驅動程式151經由檢測回應訊息1330以得知真實硬體裝置20是否能夠對於錯誤的測試指令1510執行正確的處理。若客戶端驅動程式151經由檢測回應訊息2000得知真實硬體裝置20無法對於錯誤的測試指令1510執行正確的處理,真實硬體裝置20之開發人員將對於真實硬體裝置20之硬體進行修正。
請參閱第4圖,為本發明基於虛擬機器進行硬體裝置測試之一實施例之方法流程圖,且同時參閱於第1圖。當電腦系統100欲對於真實硬體裝置20進行測試時,如同上述步驟S301及S303,客戶端驅動程式151發出一連串的測試指令1510,且經由擴充測試模組131傳送測試指令1510至真實硬體裝置20。步驟S305,真實硬體裝置20在接收到測試指令1510後,處理測試指令1510以產生至少一回應訊息2000,並傳送回應訊息2000至擴充測試模組131。
接著,執行步驟S306,擴充測試模組131可以加入一錯誤資料或一不符合傳輸協定規範之資料至回應訊息2000;或者擴充測試模組131延遲每一回應訊息2000傳送至客戶端驅動程式151的時間。之後,步驟S307,若客戶端驅動程式151接收到回應訊息2000時,可以正確判斷出此回應訊息2000包含有錯誤資料、不符合傳輸協定規範之資料或存在有訊息傳 送延遲之情況,將可確認客戶端驅動程式151之韌體設計正常無誤。反之,若客戶端驅動程式151接收到回應訊息2000時,無法判斷出此回應訊息2000包含有錯誤資料、不符合傳輸協定規範之資料或存在有訊息傳送延遲之情況,客戶端驅動程式151之開發人員將對於客戶端驅動程式151之韌體進行除錯。
請參閱第5圖,為本發明基於虛擬機器進行硬體裝置測試之又一實施例之方法流程圖,且同時參閱於第2圖。當電腦系統100欲對於虛擬硬體裝置133進行測試時,首先,執行步驟S331,客戶端驅動程式153發出一連串的測試指令1530,且傳送測試指令1530至擴充測試模組131。
接著,步驟S333,擴充測試模組131將測試指令1530傳送至虛擬硬體裝置133。步驟S335,虛擬硬體裝置133在接收到測試指令1530後,處理測試指令1530以產生至少一回應訊息1330,並傳送回應訊息1330至擴充測試模組131。之後,步驟S337,擴充測試模組131傳送回應訊息1330至客戶端驅動程式153,客戶端驅動程式153經由檢測回應訊息1330以得知是否可以驅使虛擬硬體裝置133正常運作及韌體設計是否正確。
再者,在執行步驟S333之前,尚執行步驟S332,判斷擴充測試模組131是否可以直接處理測試指令1530。若擴充測試模組131可以直接處理測試指令1530,則,接續執行步驟S3321,擴充測試模組131將產生回應訊息1330,反之,若擴充測試模組131無法處理測試指令1530,則,接續執行步驟S333及S335,擴充測試模組131將測試指令1530傳送至虛擬硬體裝置133,由虛擬硬體裝置133產生回應訊息1330。
本發明又一實施例中,在執行步驟S337之前,尚執行步驟S336,擴充測試模組131可以加入一錯誤資料或一不符合傳輸協定規範之資料至回應訊息1330;或者擴充測試模組131延遲每一回應訊息1330傳送至客戶端驅動程式153的時間。之後,步驟S337,若客戶端驅動程式153從擴充測試模組131接收到回應訊息1330時,可以正確判斷出此回應訊息1330包含有錯誤資料、不符合傳輸協定規範之資料或存在有訊息傳送延遲之情況,將可確認客戶端驅動程式153之韌體設計正常無誤。反之,若客戶端驅動程 式153接收到回應訊息2000時,無法判斷出此回應訊息1330包含有錯誤資料、不符合傳輸協定規範之資料或存在有訊息傳送延遲之情況,客戶端驅動程式153之開發人員將對於客戶端驅動程式153之韌體進行除錯。
以上所述者,僅為本發明之一較佳實施例而已,並非用來限定本發明實施之範圍,即凡依本發明申請專利範圍所述之形狀、構造、特徵及精神所為之均等變化與修飾,均應包括於本發明之申請專利範圍內。
100‧‧‧電腦系統
11‧‧‧主機端作業系統
12‧‧‧虛擬機器
13‧‧‧虛擬機器管理程式
130‧‧‧硬體直通
131‧‧‧擴充測試模組
15‧‧‧客戶端作業系統
151‧‧‧客戶端驅動程式
1510‧‧‧測試指令
1511‧‧‧額外指令
20‧‧‧真實硬體裝置
2000‧‧‧回應訊息
2001‧‧‧額外指令

Claims (20)

  1. 一種基於虛擬機器進行硬體裝置測試之電腦系統,包括:一主機端作業系統;一虛擬機器,包括:一客戶端作業系統,包括:一客戶端驅動程式,配置在該客戶端作業系統中,用以發出一連串的測試指令;及一虛擬機器管理程式,包括一擴充測試模組;及一真實硬體裝置,透過一硬體直通單元連接該擴充測試模組,其中該客戶端驅動程式經由該擴充測試模組依序傳送該測試指令至該真實硬體裝置,該真實硬體裝置處理該測試指令以產生至少一回應訊息且經由該擴充測試模組傳送該回應訊息至該客戶端驅動程式。
  2. 如申請專利範圍第1項所述之電腦系統,其中該擴充測試模組在該測試指令中加入一錯誤指令或一不符合傳輸協定規範之指令。
  3. 如申請專利範圍第1項所述之電腦系統,其中該擴充測試模組設定一延遲時間,該擴充測試模組根據該延遲時間以延遲每一該測試指令傳送至該真實硬體裝置的時間。
  4. 如申請專利範圍第1項所述之電腦系統,其中當該真實硬體裝置經由處理該測試指令以判斷出該測試指令包含有一錯誤指令、一不符合傳輸協定規範之指令或存在有指令傳送延遲之情況,將產生該標示有韌體錯誤之回應訊息。
  5. 如申請專利範圍第1項所述之電腦系統,其中該擴充測試模組複製該測試指令以重複傳送該測試指令至該真實硬體裝置。
  6. 如申請專利範圍第1項所述之電腦系統,其中該擴充測試模組在該回應訊息中加入一錯誤資料或一不符合傳輸協定規範之資料。
  7. 如申請專利範圍第1項所述之電腦系統,其中該擴充測試模組設定一延遲時間,該擴充測試模組根據該延遲時間以延遲每一該回應訊息傳送至該客戶端驅動程式的時間。
  8. 如申請專利範圍第1項所述之電腦系統,其中該真實硬體裝置為一符合於PCI、PCI Express、SATA或USB傳輸協定規範之周邊硬體裝置。
  9. 一種基於虛擬機器進行硬體裝置測試之電腦系統,包括:一主機端作業系統;一虛擬機器,包括:一客戶端作業系統,包括:一客戶端驅動程式,配置在該客戶端作業系統中,用以發出一連串的測試指令;及一虛擬機器管理程式,包括一擴充測試模組及一虛擬硬體裝置,其中該客戶端驅動程式經由該擴充測試模組依序傳送該測試指令至該虛擬硬體裝置,該虛擬硬體裝置處理該測試指令以產生至少一回應訊息且經由該擴充測試模組傳送該回應訊息至該客戶端驅動程式。
  10. 如申請專利範圍第9項所述之電腦系統,其中該擴充測試模組在該回應訊息中加入至少一錯誤資料或一不符合傳輸協定規範之資料。
  11. 如申請專利範圍第9項所述之電腦系統,其中該擴充測試模組設定一延遲時間,該擴充測試模組根據該延遲時間以延遲每一該回應訊息傳送至該客戶端驅動程式的時間。
  12. 如申請專利範圍第9項所述之電腦系統,其中該虛擬硬體裝置被該虛擬機器管理程式模擬成一符合於PCI、PCI Express、SATA或USB傳輸協定規範之裝置。
  13. 一種基於虛擬機器進行硬體裝置測試之電腦系統,包括:一虛擬機器,包括:一客戶端作業系統,包括:一客戶端驅動程式,配置在該客戶端作業系統中,用以發出一連串的測試指令;及一虛擬機器管理程式,包括一擴充測試模組及一虛擬硬體裝置,其中該客戶端驅動程式依序傳送該測試指令至該擴充測試模組,若 該擴充測試模組能夠處理該測試指令,該擴充測試模組直接產生至少一回應訊息;否則,該擴充測試模組傳送該測試指令至該虛擬硬體裝置,由該虛擬硬體裝置處理該測試指令而產生該回應訊息,且該回應訊息經由該擴充測試模組傳送至該客戶端驅動程式。
  14. 一種基於虛擬機器進行硬體裝置測試之方法,其方法適用在一配置有一虛擬機器之電腦系統上,其中該電腦系統包括一主機端作業系統,而該虛擬機器包括一客戶端作業系統及一虛擬機器管理程式,該客戶端作業系統配置有至少一客戶端驅動程式,該虛擬機器管理程式包括一擴充測試模組,該方法步驟包括:令該客戶端驅動程式發出一連串的測試指令且傳送該測試指令至該擴充測試模組;令該擴充測試模組傳送該測試指令至一真實硬體裝置或一虛擬硬體裝置;令該真實硬體裝置或該虛擬硬體裝置處理該測試指令以產生至少一回應訊息;及令該真實硬體裝置或該虛擬硬體裝置經由該擴充測試模組傳送該回應訊息至該客戶端驅動程式。
  15. 如申請專利範圍第14項所述之方法,尚包括一步驟:令該擴充測試模組在該測試指令中加入一錯誤指令或一不符合傳輸協定規範之指令。
  16. 如申請專利範圍第14項所述之方法,尚包括一步驟:令該擴充測試模組設定一延遲時間以根據該延遲時間延遲每一該測試指令傳送至該真實硬體裝置的時間。
  17. 如申請專利範圍第14項所述之方法,尚包括一步驟:令該真實硬體裝置判斷出該測試指令為一錯誤、傳送延遲或不符合傳輸協定規範之指令時產生該標示有韌體錯誤之回應訊息。
  18. 如申請專利範圍第14項所述之方法,尚包括一步驟:令該擴充測試模組複製該測試指令以重複傳送該測試指令至該真實硬 體裝置。
  19. 如申請專利範圍第14項所述之方法,尚包括一步驟:令該擴充測試模組在該回應訊息中加入一錯誤資料或一不符合傳輸協定規範之資料。
  20. 如申請專利範圍第14項所述之方法,尚包括一步驟:令該擴充測試模組設定一延遲時間以根據該延遲時間延遲每一該回應訊息傳送至該客戶端驅動程式的時間。
TW104113838A 2015-04-30 2015-04-30 基於虛擬機器進行硬體裝置測試之電腦系統及方法 TWI598819B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW104113838A TWI598819B (zh) 2015-04-30 2015-04-30 基於虛擬機器進行硬體裝置測試之電腦系統及方法
US14/851,193 US9436491B1 (en) 2015-04-30 2015-09-11 Computer system and method for testing hardware device based on virtual machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104113838A TWI598819B (zh) 2015-04-30 2015-04-30 基於虛擬機器進行硬體裝置測試之電腦系統及方法

Publications (2)

Publication Number Publication Date
TW201638778A TW201638778A (zh) 2016-11-01
TWI598819B true TWI598819B (zh) 2017-09-11

Family

ID=56878402

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104113838A TWI598819B (zh) 2015-04-30 2015-04-30 基於虛擬機器進行硬體裝置測試之電腦系統及方法

Country Status (2)

Country Link
US (1) US9436491B1 (zh)
TW (1) TWI598819B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11175708B2 (en) 2016-07-12 2021-11-16 American Megatrends International, Llc Thermal simulation for management controller development projects
US10120702B2 (en) * 2016-07-12 2018-11-06 American Megatrends, Inc. Platform simulation for management controller development projects
US10430222B2 (en) * 2016-08-10 2019-10-01 American Megatrends International, Llc Cloud based platform simulation for management controller development
US10042666B2 (en) * 2016-08-10 2018-08-07 American Megatrends, Inc. Platform simulation for management controller development on virtual machines
US11663338B2 (en) * 2019-05-14 2023-05-30 University Of Florida Research Foundation, Incorporated Automated security analysis of baseband firmware
CN110868321B (zh) * 2019-11-14 2022-12-06 四川中灌现代农业有限公司 一种基于边缘计算算法验证的故障定位方法及系统
CN113641444B (zh) * 2020-04-27 2024-06-07 南通华信中央空调有限公司 虚拟测试方法、虚拟测试装置及相关设备
CN112764981B (zh) * 2021-01-22 2023-03-14 山东云海国创云计算装备产业创新中心有限公司 一种协同测试系统及方法
US12222844B2 (en) 2022-11-30 2025-02-11 Advantest Corporation Systems and methods for testing virtual functions of a device under test

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7580826B2 (en) * 2004-06-30 2009-08-25 Microsoft Corporation Systems and methods for development of emulated devices in a virtual machine environment
US8775152B2 (en) * 2010-07-30 2014-07-08 Ciena Corporation Multi-core, multi-blade, and multi-node network environment simulation

Also Published As

Publication number Publication date
US9436491B1 (en) 2016-09-06
TW201638778A (zh) 2016-11-01

Similar Documents

Publication Publication Date Title
TWI598819B (zh) 基於虛擬機器進行硬體裝置測試之電腦系統及方法
CN104834576A (zh) 基于虚拟机进行硬件装置测试的计算机系统及方法
US9720808B2 (en) Offline debugging using a replicated operating environment
CN107122277A (zh) 基于pcie协议分析仪的pcieras注错测试系统及方法
TWI470420B (zh) 除錯方法及電腦系統
JP5973196B2 (ja) 1553バス動作の自己検査のためのシステムおよび方法
KR20190079809A (ko) 결함 주입 테스트 장치 및 그 방법
US20160092327A1 (en) Debugging system and debugging method of multi-core processor
CN102937932A (zh) 集成异构测试工具的自动化测试装置及方法
CN110275818B (zh) 硅后验证方法、装置及存储介质
US8954629B2 (en) Adapter and debugging method using the same
TW201423385A (zh) 電腦測試系統及方法
CN116048887A (zh) 一种芯片验证方法及装置、系统、电子设备、存储介质
CN104699620B (zh) 一种加速芯片中断控制器验证的系统及方法
TW588238B (en) Program debugging method
CN107038095A (zh) 用于冗余地处理数据的方法
CN103713977B (zh) 一种微处理器ip核比较验证的实现方法
CN106656564A (zh) 一种工控网络自动测试方法、装置及系统
JP6217086B2 (ja) 情報処理装置、エラー検出機能診断方法およびコンピュータプログラム
WO2018138816A1 (ja) テスト装置、テスト方法およびテストプログラム
CN113032199B (zh) 高速串行计算机扩展总线注错方法及装置
CN110764966A (zh) 用于ecu安全监控系统工作模式的自适应方法及系统
TWI796561B (zh) 具有即時中斷驗證功能的記憶體驗證系統及方法
CN108763001A (zh) 一种通用串行总线测试发包方法
CN114925639A (zh) 一种soc芯片仿真验证数据一致性的检测方法