1 概述
目前,嵌入式軟件主要應用于指控系統、火控系統、飛機、艦船、導彈、宇宙飛船、某些指揮與控制系統等的數據處理機。對于在武器系統中的一些嵌入式軟件,由于其在武器中起著(zhù)至關(guān)重要的作用,因此必須對其進(jìn)行深入徹底地測試。對于大規模、復雜性高的武器系統軟件,軟件中的缺陷和錯誤有可能是致命的,因為武器系統的發(fā)射及指揮決策的成功與否,都涉及到巨大的投入、甚至國家安危。軟件測試是保障軟件可靠性、提高軟件質(zhì)量的重要措施。在軟件測試這個(gè)學(xué)科的發(fā)展過(guò)程中,人的主觀(guān)能動(dòng)性是起主導作用的。將人的主觀(guān)能動(dòng)性與軟件測試工具有機結合起來(lái),提高軟件
測試的效率,從量化的角度來(lái)衡量測試的充分性。單元測試是在軟件開(kāi)發(fā)過(guò)程中要進(jìn)行的最低級別的測試活動(dòng),在單元測試中能夠發(fā)現軟件中存在的大部分錯誤;軟件測試方法可以分為靜態(tài)測試和動(dòng)態(tài)測試兩種情況。因此,從上述的幾個(gè)方面,根據使用的設計語(yǔ)言的差異,分別描述不同測試工具在軍用嵌入式軟件測試中的應用。
2 單元測試
單元測試又稱(chēng)模塊測試,可從程序的內部結構出發(fā)設計測試用例,多個(gè)模塊可以平行地、對立地測試,通常在編碼階段進(jìn)行,必要的時(shí)候要制作驅動(dòng)模塊和樁模塊。單元測試以發(fā)現模塊設計錯誤為主要測試目的,因此測試應覆蓋模塊的每條語(yǔ)句和分支。單元測試的主要內容包括代碼審查、靜態(tài)分析、功能測試、性能測試、結構覆蓋測試等等。由于單元測試的主要目的是發(fā)現軟件中是否存在錯誤,在設計測試用例時(shí)還要注意以下幾點(diǎn):
(1) 是否存在混合類(lèi)型運算;
(2) 程序中是否誤解或用錯了算符優(yōu)先級;
(3) 是否在不同數據類(lèi)型的對象之間進(jìn)行比較;
(4) 精度是否不夠;
(5) 表達式符號是否有錯;
(6) 是否存在死循環(huán)等。
邊界條件測試是單元測試中最重要的測試項目之一,采用邊界值分析技術(shù),針對邊界值極其左、右設計測試用例,很有可能發(fā)現新的錯誤。對于軍用嵌入式軟件而言,一部分軟件主要是由8086/8087 匯編語(yǔ)言編寫(xiě),還有用C/C++語(yǔ)言編寫(xiě)的。根據匯編語(yǔ)
言的特點(diǎn)開(kāi)發(fā)專(zhuān)用的軟件,在Testbed 的基礎上開(kāi)發(fā)了8086/87 單元測試軟件包。在Testbed 的輔助下進(jìn)行單元測試,測試者不但可以通過(guò)圖形界面的方式清楚地看到被測模塊的覆蓋
文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/