1. 開發生命周期瓶頸
比如說,設計團隊已經確定,您正在設計的設備或系統最適合采用的處理器/操作系統組合中包含還沒有上市的硬件部件,或者這些硬件雖然已經上市但成本太高,無法讓每個團隊成員都同時使用。對于這些硬件部件,整個項目團隊嗷嗷待哺,翹首以盼——有點像您已經擁有了一輛豪華跑車,但它只能使用某種稀有的燃料油,您目前在任何地方都找不到。
也許您可以得到相似的代用品,勉強滿足正在開發的系統。然而,我們的許多客戶都是制造關鍵應用設備,可能是需要準確無誤地執行100多萬次任務的工業機器人,也可能是經常將數百名乘客從這座城市安全運送到那座城市的飛機。這些應用場景是絕對不能允許“湊合”的!
2. 精度與速度
已經有些開發團隊使用某種形式的模擬或仿真來解決缺少硬件部件的問題。在選擇仿真模型時,有些人會看到精度和速度之間的光譜,可以在兩者之間進行游走權衡。我認為事情沒那么簡單。
應用場景對仿真模型的精度有著特定的要求。例如,如果您正在開發基于Intel?的特定SoC芯片,而您無法獲得這款芯片,就可以在仿真x86系統上進行開發和測試,或者在相似設備上進行較普通的x86開發。您可能會發現一些缺陷,或者錯誤地認為您的設計是可靠的——一旦您能在真實的電路板上進行開發,很可能發現以前做的工作都白費了。
如果您想對您的設計進行微調,或者圍繞您的解決方案用實際設備和外圍設備來構建復雜的邏輯,并盡早開始測試,那么在開發早期就擁有一套高度逼真的模型,并將其集成到DevOps流水線中,這才是更好的選擇。
通過更清晰的描述,您可以在測試中獲得更高的準確性,并對結果有更強的信心。如果您擁有一套80%通過率的低精度仿真模型,這會讓您有怎樣的感覺?再設想如果您擁有更高精度的仿真模型,您對80%的通過率的感覺就完全不同了。最終的底線是,DevOps流水線中的仿真模擬越精確,您對代碼的信心就越高,您的軟件發布準備也會更加完備。
在準備認證時,這種精度同樣很重要。雖然在大多數情況下您不能使用仿真模型進行實際認證,但您還是可以在實際認證之前的測試中使用模擬仿真工具,以更高的置信度、更快的速度為認證做好準備。
3. 無損測試
在這方面模擬仿真技術帶來的好處非常明顯。雖然您可能無法使用模擬技術進行實際認證,但在準備過程中,您需要查找所有可能的漏洞。您需要了解當您的設備面臨多種壓力的情況下會發生什么事情。問題是,在不損壞實驗室、不破壞實際設備的情況下,如何進行壓力測試?如果您必須反復測試設備甚至摧毀它以便發現所有漏洞,那么這將變得非常昂貴,更不用說潛在的危險了。
通過使用模擬仿真工具,您可以擴展DevOps實踐的價值,從而加快認證速度,同時大幅削減硬件實驗室的成本。通過采用預先模擬技術,您幾乎可以對無窮無盡的場景組合進行測試,測試的次數也幾乎是無窮無盡。您不需要更換硬件、重新布線或重新配置,只需直接點擊重置、修改測試場景,然后再次執行即可。您甚至可以在夜間將其設置為自動運行,然后在第二天早上登錄觀察運行結果。
4. 一臺還是多臺設備
在一臺設備上設置運行測試是一件事。如果您正在構建包括一群設備的系統,那就是另一回事了!如果每個設備都將處于不同的環境中,或者需要執行不同的操作,但仍然聯網或甚至完全依賴于網絡,又該怎么辦?如果用幾十臺、幾百臺或上千臺設備建立一個實驗環境,在其中運行測試肯定更不容易。有一家企業曾將所有測試設備連接到他們的網絡中,跨越公司的整個園區。雖然這是可以做到的,但是既痛苦又昂貴。您必須購買所有設備,然后花時間讓所有設備實現網絡互連。即便您的設備不是散布于辦公室的各個角落,而只是在一個實驗室里,那同樣會到處都是電線電纜。環境混亂是真正的挑戰。
那么,一旦您建立了實體實驗室,當您需要進行更改時,DevOps流水線會發生什么變化?在單一盒子上測試一段代碼可能已經很有挑戰性,但如果您在網絡環境中工作,挑戰就遠不止于此。您需要花費大量的時間在將要部署的環境中測試每一部分硬件。
速度是另一個問題。當您面對著包含多個組件的物理測試實驗室,您實際完成一次測試需要多久的時間?如果您需要非常頻繁地進行部署,那么您真的可以每月、每周、每天進行多次測試嗎?
模擬仿真技術允許您使用任意多個設備來設置完整的環境,不受任何限制——無論是一臺設備還是1000臺設備。一旦設置了環境,就可以很容易地添加其他設備并根據需要修改配置。如果要測試新的配置或變量,也沒有問題。想要返回到原始配置嗎?這非常容易!無需到隔壁房間去弄清楚哪根電線連接到哪臺設備。而且,通過對所有模型進行模擬仿真,您可以更加頻繁地進行測試,這將提高測試的信心,進而提高產品的質量。
所以,再次強調:如果您是從事智能邊緣開發,那么您的硬件就會成為關鍵問題。好消息則是模擬仿真可以解決這些問題!
正如您所看到的,可以在物理設備上進行測試,但有很多因素告訴您——這不是最佳的方法!如果您依賴物理硬件,可能會增加部署成本和時間,同時降低信心和質量。硬件可用性造成的瓶頸不僅會拖延完成日期,同時也會限制您的全面測試能力。上市時間延遲可能會讓競爭對手捷足先登,也會導致客戶不滿意。同時,在項目完成之前,沒有給自己足夠的時間進行測試,這會增加您的風險,不能交付滿足客戶需求的產品。
在決定仿真模型時,注重速度而精度,這很可能會降低您的交付能力。如果您采用低精度模型,就無法獲得可以信賴的測試結果,最終需要做更多的工作。
無損測試的意義不言自明。每次拆解您的硬件,就會抬高您的成本。每次添加設備就要測試更多設備,這都會增加成本。其中不僅僅是設備成本,連接和管理正在測試的物理網絡也會增加成本。
相比之下,采用Simics Simulation,就可以立即開始工作,而且從一開始就采用高精度模型。您無需等待供應商提供硬件,也免除了工程師因為沒有硬件而等待的時間。從一開始就采用高精度模型,讓您在項目截止日期前有足夠的時間運行所需的全部測試。讓這些測試實現自動化,每項更改都會直接反饋到您的DevOps流水線中,從而允許您根據需要隨時進行部署。
如果一個模擬模型被破壞了,只需按下按鈕,就會立即重新創建起來。更有意義的是,可以自動設置并再次運行,這樣您就可以直接查看結果。
您需要測試網絡嗎?添加任意數量的組件,這基本上是復制粘貼之類的簡單操作。根據您的應用場景,您甚至可以連接到其他網絡或物理設備,并將其包括在測試工作中。
-
處理器
+關注
關注
68文章
19166瀏覽量
229147 -
硬件
+關注
關注
11文章
3252瀏覽量
66121 -
devops
+關注
關注
0文章
111瀏覽量
11997
發布評論請先 登錄
相關推薦
評論