在現在以及不遠的未來家裡的空調、冰箱、房門可能有一個共同點:網際網路連線。這種新現象被稱為物聯網。所有這些連線的硬體也由軟體驅動的,這些軟體應該經過軟體測試。在這篇文章中,我們討論測試物聯網裝置的主要挑戰。
今天,我們面臨著在不同環境中執行的相互關聯的計算裝置的興起,這些裝置通常被稱為物聯網(IoT)。
生產廠商承諾這些產品會讓我們的日常生活更輕鬆,在這個相對新的萬物互聯生活中有許多陷阱。
令人擔憂的是,不少IoT產品或解決方案提供商,在組織中並沒有針對其基礎架構這一特定方面的軟體測試策略。他們中的許多人可能完全依靠製造商來保證其裝置的高質量。大量受訪者表示,他們計劃在不久的將來實施物聯網測試策略。這將導致新工具的出現及其設計,以處理測試要求和資料呈指數級增長需求。
從根源上講,物聯網技術正在擴充套件機器對機器和機器對人的通訊和資料互動。隨著使用者越來越依賴互聯、自引導和自學裝置,應考慮的關鍵質量方面是安全性、效能、功能性和可用性。
選擇用於測試 IoT 的裝置
如今市場上有數千種互聯產品,所有這些產品都在收集和傳送資料和資訊。一些公司設計、生產和銷售自己的裝置。對他們來說,讓他們進行全部專案的測試以保障最終產品的質量不是問題。但也有一些公司為不同的物聯網裝置開發應用程式,他們很難對終端軟體和服務的質量完成全面的檢查。
後者必須選擇最合適的裝置矩陣,以提高的測試覆蓋率。找出哪些裝置在目標受眾中最受歡迎。利用來自有意義的客戶的實際資訊,公司可以做出明智的選擇,選擇他們應該測試的裝置,並維護一批支援裝置的列表。
除了裝置選擇之外,QA 工程師和軟體測試公司還應考慮另一點。他們應該制定廣泛的測試策略,以滿足使用者不斷增長的需求,並在激烈市場中保持競爭力。
物聯網測試的特點
在沉浸式的新環境中,QA 工程師不僅必須測試裝置自己的功能,還要測試裝置的互連性。必須確保如果一臺裝置發生故障,其他關聯裝置依然可以正常工作。
根據經驗和當前趨勢,建議以下物聯網主要測試領域:
安全性
安全測試應包括隱私、自主性、控制和攻擊活動。適當的安全和滲透測試至關重要,因為薄弱的安全措施可能導致敏感的個人資訊洩露。當涉及到物聯網裝置時,網路罪犯不僅可以竊取私人資訊,還可以攻擊家庭安全系統或汽車機械系統以造成事故。
效能
效能測試包括網路通訊和內部計算功能。在效能測試期間,QA 工程師應驗證所有資料是否正確傳輸和儲存,即使發生意外的服務中斷。針對一些物聯網裝置還需要測試在無網或者弱網測試情況下的功能和體驗。
功能
功能測試針對Web/UI、嵌入式和服務介面。最終目標是驗證應用程式功能是否滿足所有功能要求。在功能測試期間,QA 工程師可以執行正向測試和反向測試用例。在正向測試中,根據有效的輸入資料檢查應用程式。反向測試用於證明在提供無效輸入資料時應用程式也需要按照既定規則執行。除了功能測試之外,還需要執行大量探索性測試,以便從使用者角度測試裝置。QA 工程師應努力超越一般測試場景,並在編寫測試用例時考慮更多條件和場景。
相容性
由於IoT 裝置通常需要各種硬體配置,因此必需要進行大量相容性測試。它用於檢查所有功能是否在不同的配置、裝置版本、協議版本、移動裝置和移動作業系統版本中正常執行。還有技術級別質量屬性:相容性、安裝和資源利用率。QA 測試工程師需要檢查這些結果,以便為客戶提供客觀的測試結果。
結論
這些軟體測試方法和技術正隨著物聯網的不斷發展而迅速發展。為了交付高質量的應用,確保測試在目標環境中進行,並徹底檢查所有相關方面至關重要。
公眾號FunTester首發,原創分享愛好者,騰訊雲、開源中國和掘金社群首頁推薦,知乎準八級強者,歡迎關注、交流,禁止第三方擅自轉載。
FunTester 熱文精選
- 寫給所有人的程式設計思維
- 2020 年 Tester 自我提升
- 未來的神器 fiddler Everywhere
- 測試開發工程師工作技巧
- Selenium4 IDE,它終於來了
- 自動化測試靈魂三問:是什麼、為什麼和做什麼
- 為什麼測試覆蓋率如此重要
- 吐個槽,非測勿入
- 自動化測試框架
- 敏捷中的端到端測試
- 開一門免費課程