基於服務的自動化測試:高質量、安全的物聯網(IoT)設備的關鍵所在

物聯網須要不一樣的測試視角

物聯網的規模很大,可能比大多數嵌入式製造商之前所應對的規模還要大。此外,單個設備只是由許多種類和類型的設備組成的更大總體的一部分。在個人上一篇文章中,我討論了物聯網的承諾是如何在它所提供的服務以及將許多「東西」凝結成對企業有價值的東西。在(1)設備「物」)的需求,以及(2)它在軟件開發生命週期中爲整個自動化「服務」)增長的價值中,處理這種規模是很重要的,以知足成本、進度和上市時間的限制。特別是測試,必須根據預期的運行環境進行擴展,另外還要爲關鍵的非功能需求(如性能和安全性)提供支持。html

服務互聯網須要自動化

隨着物聯網實施規模的上升,軟件開發過程當中的自動化變得相當重要。隨着鏈接性和規模的增長,安全和非功能需求變得更加劇要。在集成和系統測試階段,基於服務的自動化測試變得相當重要,同時還能實現安全、穩定性和性能的測試。安全

讓咱們來看看Parasoft在測試自動化方面的深度和廣度,如圖1所示,由於它適用於SDLC的每一個階段。關鍵的啓示是每一個解決方案如何相互補充,並隨着產品的增加而擴展。單元測試與靜態和運行時分析相輔相成。在集成過程當中,單元測試發展到API和服務測試工具,而後發展到服務虛擬化。網絡

1:測試自動化解決方案以及它們被引入軟件開發生命週期的位置。框架

大多數開發人員都熟悉測試自動化的某些方面;然而,許多人並無從服務或基於服務的測試和虛擬化的角度來考慮。隨着模式從「事物」轉向「服務」,基於服務的測試的好處變得更加明顯。工具

基於服務的測試在物聯網中的風險和成本的下降

隨着產品在開發過程當中進入集成階段,測試變得更加複雜和昂貴。這也是發現許多關鍵錯誤的階段,包括在單元級沒法檢測到的安全和性能問題。一個很大的風險是測試人員、實驗室和硬件資源的可用性。性能

這裏的解決方案是自動化。自動化提供了一種提升測試生產率、可重複性和系統測試範圍的方法。自動化、基於服務的測試方法對於新開發的物聯網設備的成功相當重要。單元測試

其優勢包括如下幾點:測試

  • 提升測試生產力

自動化能夠協助生成基於服務的測試,以及可重複和可擴展的測試負載。運行時分析工具與實時測試一塊兒運行,以檢測和跟蹤錯誤。與手動測試相比,缺陷更容易被發現和修復。一旦進行了修復,自動化就能提供簡單的迴歸測試。支持重複測試做爲持續測試、敏捷或迭代開發過程的一部分。spa

  • 消除硬件資源瓶頸

測試調度中最大的問題之一是依賴性組件的可用性。這些組件多是網絡上的其餘設備,或者是物聯網網絡中更高層次的功能。模擬這些依賴性消除了測試瓶頸,同時使整個虛擬實驗室在每一個測試人員和開發人員的桌面上可用。設計

  • 根據當前和將來的需求進行擴展

隨着系統集成的進展,測試範圍增長,包括愈來愈多的依賴性組件。在物聯網系統中,可擴展性是關鍵,由於被測設備要在高度複雜的環境中執行。在設備的生命週期環境中,複雜性將增長,自動化測試必須與產品一塊兒擴展。

  • 實用和現實的性能和安全測試

開發團隊在集成過程當中盡其所能地測試性能和安全性,但若是沒有自動化,在實驗室中設置真實的場景每每耗時且昂貴。面向服務的方法爲指定和驗證性能和測試安全性提供了一個框架。

超越功能測試:安全和性能

純粹的功能測試並不足以將設備推向市場。安全性和性能等非功能性要求相當重要,但倒是最難測試的一些特性。一個性能差或安全性差的設備根本沒有競爭力,但知足上市時間限制和正確測試性能和安全性是物聯網設備的一個嚴峻挑戰。服務導向提供了一種常見的方式來指定需求(例如基於每一個服務的性能)和測試安全性(例如利用暴露的服務和API的攻擊)。

性能和負載測試

性能和安全要求極可能以服務質量聲明的形式表達。例如,暖通空調系統可能被要求在兩小時內根據外界溫差5度將建築溫度維持在75度,每10秒報告一次當前溫度。若是爲這個產品設計一個溫控器,你能夠在單個層面測試功能,或許也能夠測試性能。然而,若是一個部署的系統由數百個恆溫器組成,設備的性能只是其餘設備複雜網絡中的一小部分。

安全測試

安全要求每每是系統級的、模糊的。在暖通空調系統的例子中,可能要求恆溫器在網絡重載的狀況下不能失效。拒絕服務攻擊依賴於向目標氾濫大量流量,有時是畸形的數據包。在這些狀況下,會使用滲透和模糊測試來確保設備可以承受惡劣的網絡環境。虛擬環境中可用的可擴展性超過了真實硬件的可能性。

服務虛擬化

基於服務的自動化測試的下一個邏輯步驟是虛擬化。經過模擬全部的依賴性組件和全套的測試刺激,一個完整的虛擬環境是可能的。服務虛擬化的好處不只僅是真實和可重複的測試環境,並且還能隨意複製和部署,從而建立一個「虛擬實驗室」——一個和真實環境同樣有效的實驗室,但成本卻很低。

結語

通常來講,測試自動化對於知足物聯網產品目標(如上市時間和預算)相當重要。基於服務的方法能夠提升測試生產率,並容許進行性能和安全性的高重複性和可擴展性測試,以及構建虛擬測試環境的能力。隨着物聯網設備及其部署環境的複雜性增長,對可擴展的服務級測試的需求變得更加迫切。

相關文章
相關標籤/搜索