關鍵詞:軟件測試 仿真 軟件測試平臺
A Research on Real-Time Embedded Software Testing Tools
ABSTRACT This thesis has a test for the Real-Time Embedded Software under the environment without the real hardware with simulation. Construct an environment suitable for the simulation of software running, and put forward some testing models suitable for varied environment.
1、引言
在國內,目前大型的軟件工程中大都使用國外的軟件測試平臺,我們在測試工程中使用法國的LOGISCOPE測試平臺對C語言開發的實時嵌入式軟件進行測試。
由于實時嵌入式軟件主要是對外部接口設備進行控制,而被送檢的軟件需要大量不同的硬件環境,在進行測試時,由于無法建立大量不同的接口設備的硬件仿真環境,每當執行輸入輸出指令時,程序便無法繼續運行,因此,測試軟件無法完整地覆蓋整個程序的各個分支和語句。同時,被測試軟件常常需要多個模塊同時對某個外設進行共同測試,需要通過網絡環境進行集中測試。
為了完成對各種實時嵌入式軟件的測試工作,我們研制開發了基于網絡的接口設備的軟件仿真環境,使得用戶程序運行時不再需要真正的接口硬件設備,而是與仿真軟件進行通訊,交換數據,從而使得被測程序在脫離硬件的環境中順利運行。本課題主要解決C語言和匯編語言混合編程中,把所有原來控制外設的輸入輸出指令都修改成與仿真軟件進行通信的函數,同時,把原來由硬件觸發的中斷處理功能轉由軟件觸發,以及通過網絡環境完成多模塊的集中測試。
本課題的意義在于建成一種通用的方法,使得不同軟件開發的程序都能夠使用這些功能模塊與接口仿真軟件進行通信,從而順利地進行軟件測試。
被測軟件的運行環境絕大多數是基于DOS的,在仿真環境下進行測試時,由于原來的硬件環境不再存在,因此要求對被測軟件進行相應的修改,使其在一個新的系統模型當中運行:原來與硬件進行I/O的指令,變成對仿真軟件通訊動態鏈接庫中函數的調用;由硬件觸發的中斷信號變成來自仿真軟件的消息;更重要的是,原來由CPU負責調度的中斷服務函數必須由新的模型來負責(因為不再有硬件中斷信號),而由于DOS是一個單任務的操作系統,系統模型需要解決以下的問題:系統如何在程序運行的時刻檢測到通過網絡發過來的“中斷信號”,如何中斷當前的程序,去執行相應的中斷服務函數,如何具有中斷嵌套的功能。
基于以上要求,系統模型采用以下兩種:
1、基于DOS的多任務調度系統模型
2、基于Windows多線程環境的系統模型

2.基于DOS環境的多任務調度模型
文章來源于領測軟件測試網 http://www.anti-gravitydesign.com/