20 倍
5,000 次
每月同時執行測試數
從數週縮短至數小時
驗證機器人軟體組建的時間
更高品質的程式碼
提供更好的產品
更快地發現
透過自動迴歸測試更快地發現外積錯誤
概觀
世界各地有數百萬人使用 iRobot 的機器人 (例如廣受歡迎的 Roomba) 來自動完成吸塵、拖地或修剪草坪等家務。自 1990 年成立以來,iRobot 已成為全球領先的消費機器人公司,已售出超過 2,500 萬台機器人,目前連網機器人數量達 500 萬台。
隨著公司的發展和產品線的擴大,軟體測試情境也隨之增加,公司的內部部署測試環境已經難以支撐增長。「每次為了測試一個版本的硬體和軟體,我們需要花費幾個月的時間。我們希望減少軟體測試時間,以便更快地為客戶提供更新,」iRobot 軟體工程總監 Chris Kruger 說道。
iRobot 的裝置變得越來越複雜。「Roomba 現在有一個攝像頭,可以繪製房間佈局,從而能夠清潔整個樓層,」Kruger 說道,「我們在家庭測試實驗室中設定了數百個情境,以確認機器人能夠應對不同的家庭環境和佈局。然而,我們的測試環境無法擴展,跟上不斷擴大的產品組合,並且它不夠穩定,無法讓我們信任結果。我們擔心程式碼的品質。」
機會 | 使用 AWS RoboMaker 同時執行多個模擬
為克服面臨的挑戰,iRobot 選擇將其模擬測試環境遷移到 Amazon Web Services (AWS) 雲端。「我們已經是 AWS 客戶,使用 AWS IoT 服務來監控我們的機器人機群,」Kruger 說道,「我們相信 AWS 能夠提供可靠性、靈活性和可擴展性。」
他們開始使用 AWS RoboMaker,這是一項協助開發人員在雲端中建置、測試和部署機器人應用程式的服務。iRobot 依靠該服務透過自動迴歸測試發現不同產品線的問題。藉助 AWS RoboMaker 模擬服務,iRobot 可以針對不同情境和機器人類型測試每個提取請求。
iRobot 還利用 AWS Lambda 和 AWS Step Functions 將其持續整合/持續交付 (CI/CD) 管道與 AWS RoboMaker 連結起來,以針對各種房子佈局和地板類型同時執行多個模擬。「當開發人員提交新程式碼時,新程式碼會在 AWS RoboMaker 上經過廣泛的模擬,」Kruger 說道,「範圍從清潔房間等基本測試到互動性更強的測試,例如將機器人放置在某個房間,然後讓它執行任務,再讓它自己返回基站。」
藉助 AWS RoboMaker 模擬器,我們可以比即時更快地同時執行多個測試,執行的測試數量達到之前的 20 倍,這讓我們能夠更全面地衡量產品的穩定性。」
Chris Kruger
iRobot 軟體工程總監
解決方案|將驗證測試情境的時間從數週縮短至數小時
藉助 AWS RoboMaker,iRobot 能夠同時測試所有五種較新的地板清潔保養產品,並且比使用內部部署解決方案時更快地執行測試。「與使用實體測試解決方案相比,使用 AWS RoboMaker 讓我們能夠更快地完成測試,」Kruger 說道,「我們可以將驗證測試情境的時間從數週縮短至數小時,並且可以在模擬測試中發現我們之前無法發現的程式碼品質問題。」 此前,iRobot 在將程式碼投入生產之前會執行一系列冒煙測試和迴歸測試。「冒煙測試需要幾個小時,而迴歸測試則可能需要幾週時間,」Kruger 表示,「現在,透過對每次提交的程式碼進行模擬測試,我們提高了品質基準。我們還看到冒煙測試的通過率有所提高,迴歸測試的重設次數有所減少。所有這些讓我們加快了軟體的上市時間。」
擴展到每月執行 5,000 次測試
iRobot 現在在 AWS RoboMaker 上同時執行多個每日測試。「同時執行 40 個測試就相當於多了 20 個測試人員,」Kruger 說道,「過去,我們可以針對一個機器人測試一個組建來驗證功能。現在,我們可以針對整個產品線進行測試。」 在使用 AWS RoboMaker 的前三個月內,iRobot 每月執行 5,000 個測試情境,而此前他們每月可能只能執行 100 個測試。
在變更和提取請求合併之後,他們還可以執行更深入的模擬測試。「我們過去常常在一個環境中執行兩到三次測試來測試產品的可靠性。藉助 AWS RoboMaker 模擬器,我們可以比即時更快地同時執行多個測試,執行的測試數量達到之前的 20 倍,這讓我們能夠更全面地衡量產品的穩定性,」Kruger 說道,「我們還從廣泛的測試轉向更有針對性的測試。」
成果 | 在開發在便發現缺陷而不至於讓缺陷出現在生產中
透過利用基於 AWS 建置的新測試解決方案,iRobot 能夠在開發中偵測軟體缺陷,從而避免缺陷進入生產環節。「我們的開發人員可以更輕鬆地確定變更請求是成功還是導致了錯誤,」Kruger 說道。因此,該公司提高了程式碼的品質,並為客戶提供了更好、更有效的產品。「同時執行多個測試可以為開發人員提供更快的意見回饋,讓他們可以更快地發現問題。這意味著我們可以在更短的時間內向客戶提供新的軟體更新。這將產生更好、更有效的機器人。」
iRobot 持續使用 AWS RoboMaker 新增更多測試情境。「我們將 AWS RoboMaker 視為建置的基礎,」Kruger 說道,「它協助我們加快運作速度,並使我們能夠繼續專注於為產品新增更多功能,讓產品變得更加智慧。」
若要進一步了解,請瀏覽 aws.amazon.com/robomaker。
關於 iRobot
iRobot 總部位於麻薩諸塞州貝德福,是世界領先的消費機器人公司。該公司開發和生產 Roomba 掃地機器人和 Braava 系列拖地機器人,全球有數百萬使用者。
使用的 AWS 服務
AWS RoboMaker
機器人在社會中的應用越來越普及,用途也越來越專精,例如複雜的裝配、挑選和包裝、最後一英里遞送、環境監控、搜尋和救援以及輔助手術。
AWS Lambda
使用 AWS Lambda 執行程式碼,不必佈建或管理伺服器。您只需為使用的運算時間支付費用。
進一步了解 »
AWS Step Functions
借助 AWS Step Functions,您可以協調多個 AWS 服務成為無伺服器的工作流程,以便您快速建立及更新應用程式。您可以使用 Step Functions 設計並執行工作流程,以便將服務 (例如 AWS Lambda、AWS Fargate 和 Amazon SageMaker) 整合到一個功能豐富的應用程式中。
進一步了解 »
採索 iRobot 使用 AWS 進行的創新之旅
更多 iRobot 案例
開始使用
各行各業各種規模的組織每天都在使用 AWS 來變革其業務和履行其使命。聯絡我們的專家,立即開始您的專屬 AWS 雲端之旅。