測試工具的使用在無數應用程序中非常廣泛,但在客戶環境中用于質量保證時具有特別的價值。
在軍事軟件技術開發方面,軟件開發范式與汽車技術非常不同。在軍事技術中,重復的應用程序和系統是例外,而不是規則。然而,如果有一種方法可以調整軟件測試過程,以最大限度地提高軍事應用中的代碼重用率,則可以簡化認證過程,并且可以有效地重用軟件,從而使開發更快,更經濟。更好的是,它有可能通過使用已經適用于先前應用的軟件模塊來增加信心,而不是基于家庭轎車生產運行的絕對數量。
回顧影響未來
雖然上述辦法有其優點,但問題依然存在。例如,它假設當我們開始重用源代碼時,代碼是合理的,因為應用程序已經在現場得到了證明。但是,如果某些新功能建立在代碼的路徑上,而實際上很少或從未執行過,該怎么辦?即使是經過充分驗證的代碼現在也可能處理非常不同的數據。它將如何表現?
深入了解現代軟件測試工具的工具箱可以幫助回答這些問題,并確保代碼是健壯的,盡管有無窮無盡的不同應用程序的不同需求。
任何讀過1996年6月4日阿麗亞娜5號失敗的人都知道任何錯誤假設所固有的危險。阿麗亞娜5號失敗是因為慣性參考系統中出現的軟件異常 - 盡管設計與阿麗亞娜4上成功使用的設計幾乎完全相同,特別是在軟件的情況下[1]。
如果對阿麗亞娜4號慣性參考系統源代碼進行結構覆蓋分析,則通過代碼的所有相關路徑都將被證明以穩健的方式運行。使用適當的邊界情況來顯示極端情況下的魯棒性,將顯示從 64 位浮點數到 16 位有符號整數值的不受保護的數據轉換。當時,從開發人員的角度來看,這可能顯得迂腐且無關緊要 - 這永遠不會導致Ariane 4出現問題。但它與阿麗亞娜 5 有關。
快進到結構覆蓋率分析
經過 16 年的發展,這些結構覆蓋分析原則不僅在動態分析中被最好的測試工具套件所采用,而且在整個軟件開發范圍內也實現了自動化。例如,需求可追溯性工具提供了一個可追溯性矩陣,該矩陣在應用程序的整個開發生命周期中始終保持最新且相關。
在從現有應用程序開發新的自定義應用程序時,工具可以在源代碼可能受到修訂要求的影響時提醒開發人員。在阿麗亞娜5號的情況下,這種能力可能突出了重新測試慣性參考系統的必要性。它甚至可能在設計階段具有相關性,當時它可以比較不同方法所隱含的間接費用,以滿足每個修訂的要求。
靜態分析工具不僅可以確認源代碼符合撰寫本文時有效的編碼標準,還可以在重用時從修訂標準的角度分析代碼。動態測試證明了在撰寫本文時在極端情況下重用代碼的能力,并促進了自動回歸測試,以表明最新項目的任何增強都沒有損害先前證明的功能能力和健壯性。
測試工具和軟件重用 – 完美匹配
測試工具的用途遠不止于定制開發,但正如這些示例所示,客戶環境可以說是它們帶來最大質量保證優勢的環境。
審核編輯:郭婷
-
代碼
+關注
關注
30文章
4808瀏覽量
68811 -
應用程序
+關注
關注
37文章
3285瀏覽量
57779
發布評論請先 登錄
相關推薦
評論