交叉測試也就是嵌入式軟體測試或嵌入式測試,只是叫法不一樣,目的與非嵌入式軟體是相同的。
通常嵌入式系統對可靠性的要求比較高。嵌入式系統安全性的失效可能會導致災難性的後果,即使是非安全性系統,由於大批次生產也會導致嚴重的經濟損失。這就要求對嵌入式系統,包括嵌入式軟體進行嚴格的測試、確認和驗證。隨著越來越多的領域使用軟體和微處理器控制各種嵌入式裝置,對門益複雜的嵌入式軟體進行快速有效的測試愈加顯得重要。
測試方法:
一般來說,軟體測試有7個基本階段,即單元或模組測試、整合測試、外部功能測試、迴歸測試、系統測試、驗收測試、安裝測試。嵌入式軟體測試在4個階段上進行,即模組測試、整合測試、系統測試、硬體/軟體整合測試。前3個階段適用於任何軟體的測試,硬體/軟體整合測試階段是嵌入式軟體所特有的,目的是驗證嵌入式軟體與其所控制的硬體裝置能否正確地互動。
1、白盒測試與黑盒測試
一般來說,軟體測試有兩種基本的方式,即白盒測試方法與黑盒測試方法,嵌入式軟體測試也不例外。
白盒測試或基本程式碼的測試檢查程式的內部設計。根據原始碼的組織結構查詢軟體缺陷,一股要求測試人員對軟體的結構和作用有詳細的瞭解,白盒測試與程式碼覆蓋率密切相關,可以在白盒測試的同時計算出測試的程式碼的覆蓋率,保證測試的充分性。把100%的程式碼都測試到幾乎是不可能的, 所以要選擇最重要的程式碼進行白盒測試。由於嚴格的安全性和可靠性的要求,嵌入式軟體測試同非嵌入式軟體測試相比,通常要求有更高的程式碼覆蓋率。對於嵌入式軟體,白盒測試一般不必在目標硬體上進行,更為實際的方式是在開發環境中透過硬體模擬進行,所以選取的測試工具應該支援在宿主環境中的測試。
黑盒測試在某些情況下也稱為功能測試。這類測試方法根據軟體的用途和外部特徵查詢軟體缺陷,不需要了解程式的內部結構。黑盒測試最大的優勢在於不依賴程式碼,而是從實際使用的角度進行測試,透過黑盒測試可以發現白盒測試發現不了的問題。因為黑盒測試與需求緊密相關,需求規格說明的質量會直接影響測試的結果,黑盒測試只能限制在需求的範圍內進行。在進行嵌入式軟體黑盒測試時,要把系統的預期用途作為重要依據,根據需求中對負載、定時、效能的要求,判斷軟體是否滿足這些需求規範。為了保證正確地測試,還須要檢驗軟硬體之間的介面。嵌入式軟體黑盒測試的一個重要方面是極限測試。在使用環境中,通常要求嵌入式軟體的失效過程要平穩,所以,黑盒測試不儀要檢查軟體工作過程,也要檢查軟體換效過程。
2、目標環境測試和宿主環境測試
在嵌入式軟體測試中,常??折衷。基於目標的測試消耗較多的經費和時間,而基於宿主的測試代價較小,但畢竟是在模擬環境中進行的。目前的趨勢是把更多的測試轉移到宿主環境中進行,但是,目標環境的複雜性和獨特性不可能完全模擬。
在兩個環境中可以出現不同的軟體缺陷,重要的是目標環境和宿主環境的測試內容有所選擇。在宿主環境中,可以進行邏輯或介面的測試、以及與硬體無關的測試。在模擬或宿主環境中的測試消耗時間通常相對較少,用除錯工具可以更快地完成除錯和測試任務。而與定時問題有關的白盒測試、中斷測試、硬體介面測試只能在目標環境中進行。在軟體測試周期中,基於目標的測試是在較晚的“硬體/軟體整合測試”階段開始的,如果不更早地在模擬環境中進行白盒測試,而是等到“硬體/軟體整合測試”階段進行全部的白盒測試,將耗費更多的財力和人力。
交叉測試也就是嵌入式軟體測試或嵌入式測試,只是叫法不一樣,目的與非嵌入式軟體是相同的。
通常嵌入式系統對可靠性的要求比較高。嵌入式系統安全性的失效可能會導致災難性的後果,即使是非安全性系統,由於大批次生產也會導致嚴重的經濟損失。這就要求對嵌入式系統,包括嵌入式軟體進行嚴格的測試、確認和驗證。隨著越來越多的領域使用軟體和微處理器控制各種嵌入式裝置,對門益複雜的嵌入式軟體進行快速有效的測試愈加顯得重要。
測試方法:
一般來說,軟體測試有7個基本階段,即單元或模組測試、整合測試、外部功能測試、迴歸測試、系統測試、驗收測試、安裝測試。嵌入式軟體測試在4個階段上進行,即模組測試、整合測試、系統測試、硬體/軟體整合測試。前3個階段適用於任何軟體的測試,硬體/軟體整合測試階段是嵌入式軟體所特有的,目的是驗證嵌入式軟體與其所控制的硬體裝置能否正確地互動。
1、白盒測試與黑盒測試
一般來說,軟體測試有兩種基本的方式,即白盒測試方法與黑盒測試方法,嵌入式軟體測試也不例外。
白盒測試或基本程式碼的測試檢查程式的內部設計。根據原始碼的組織結構查詢軟體缺陷,一股要求測試人員對軟體的結構和作用有詳細的瞭解,白盒測試與程式碼覆蓋率密切相關,可以在白盒測試的同時計算出測試的程式碼的覆蓋率,保證測試的充分性。把100%的程式碼都測試到幾乎是不可能的, 所以要選擇最重要的程式碼進行白盒測試。由於嚴格的安全性和可靠性的要求,嵌入式軟體測試同非嵌入式軟體測試相比,通常要求有更高的程式碼覆蓋率。對於嵌入式軟體,白盒測試一般不必在目標硬體上進行,更為實際的方式是在開發環境中透過硬體模擬進行,所以選取的測試工具應該支援在宿主環境中的測試。
黑盒測試在某些情況下也稱為功能測試。這類測試方法根據軟體的用途和外部特徵查詢軟體缺陷,不需要了解程式的內部結構。黑盒測試最大的優勢在於不依賴程式碼,而是從實際使用的角度進行測試,透過黑盒測試可以發現白盒測試發現不了的問題。因為黑盒測試與需求緊密相關,需求規格說明的質量會直接影響測試的結果,黑盒測試只能限制在需求的範圍內進行。在進行嵌入式軟體黑盒測試時,要把系統的預期用途作為重要依據,根據需求中對負載、定時、效能的要求,判斷軟體是否滿足這些需求規範。為了保證正確地測試,還須要檢驗軟硬體之間的介面。嵌入式軟體黑盒測試的一個重要方面是極限測試。在使用環境中,通常要求嵌入式軟體的失效過程要平穩,所以,黑盒測試不儀要檢查軟體工作過程,也要檢查軟體換效過程。
2、目標環境測試和宿主環境測試
在嵌入式軟體測試中,常??折衷。基於目標的測試消耗較多的經費和時間,而基於宿主的測試代價較小,但畢竟是在模擬環境中進行的。目前的趨勢是把更多的測試轉移到宿主環境中進行,但是,目標環境的複雜性和獨特性不可能完全模擬。
在兩個環境中可以出現不同的軟體缺陷,重要的是目標環境和宿主環境的測試內容有所選擇。在宿主環境中,可以進行邏輯或介面的測試、以及與硬體無關的測試。在模擬或宿主環境中的測試消耗時間通常相對較少,用除錯工具可以更快地完成除錯和測試任務。而與定時問題有關的白盒測試、中斷測試、硬體介面測試只能在目標環境中進行。在軟體測試周期中,基於目標的測試是在較晚的“硬體/軟體整合測試”階段開始的,如果不更早地在模擬環境中進行白盒測試,而是等到“硬體/軟體整合測試”階段進行全部的白盒測試,將耗費更多的財力和人力。