20회
5,000건
월 병행 테스트 실행 수
몇 주가 아닌 몇 시간
로봇 소프트웨어 빌드를 검증하는 데 소요된 기간
고품질 코드 생산
더 나은 제품 제공
제품 간 오류
자동 회귀 테스트를 통해 더 빠르게 포착
개요
전 세계 수백만 명의 사람들이 iRobot의 로봇을 사용하여 진공 청소, 걸레질 또는 잔디 깎기와 같은 가사 노동을 자동화합니다. 그 중에서도 Roomba는 인기가 많습니다. 1990년 설립 이래 iRobot은 2,500만 대 이상의 로봇을 판매하고 현재 500만 대의 커넥티드 플릿을 보유한 세계 최고의 소비자 로봇 회사가 되었습니다.
회사가 성장하고 제품 라인이 확장되면서 소프트웨어 테스트 시나리오가 증가했는데, 회사의 온프레미스 테스트 환경으로는 이 성장을 뒷받침하기가 어려웠습니다. iRobot의 Director of Software Engineering인 Chris Kruger는 “매 릴리스에서 하드웨어와 소프트웨어를 테스트하는데 몇 달이 걸렸는데, 소프트웨어 테스트 시간을 줄여 업데이트를 더 빨리 제공하고 싶었다”고 말합니다.
시간이 지나면서 iRobot 디바이스는 더욱 정교해졌습니다. Kruger는 “이제 Roomba에는 방의 지도를 그려 집 전체 바닥을 청소하는 카메라가 있다”면서 “로봇이 다양한 주택 환경과 레이아웃을 처리할 수 있도록 홈 테스트 실험실에 수백 개의 시나리오를 설정해 놓았다. 하지만 테스트 환경은 늘어나는 제품 포트폴리오에 맞춰 확장되지 않았고 결과를 실제로 신뢰할 수 있을 만큼 안정적이지 못했기 때문에 코드 품질이 걱정되었다”고 말합니다.
기회 | AWS RoboMaker를 사용하여 여러 시뮬레이션을 병렬로 실행
iRobot은 당면 과제를 해결하기 위해 시뮬레이션 테스트 환경을 Amazon Web Services(AWS) 클라우드로 이전하기로 결정했습니다. Kruger는 “이미 AWS 고객이었기 때문에 AWS IoT 서비스를 사용하여 로봇 플릿을 모니터링했다”면서 “우리는 AWS의 신뢰성, 유연성, 확장성을 신뢰한다”고 말합니다.
이 회사는 클라우드에서 로보틱스 애플리케이션을 구축, 테스트 및 배포하는 데 도움이 되는 서비스인 AWS RoboMaker를 사용하기 시작했습니다. iRobot은 이 서비스의 자동화된 회귀 테스트를 통해 다양한 제품 라인에서 문제를 찾아냅니다. iRobot은 AWS RoboMaker 시뮬레이션 서비스를 사용하여 다양한 시나리오와 로봇 유형에 대해 각 풀 요청을 테스트할 수 있습니다.
또한 iRobot은 AWS Lambda와 AWS Step Functions를 활용하여 지속적 통합/지속적 전달(CI/CD) 파이프라인을 AWS RoboMaker에 연결하는 방법으로 다양한 홈 레이아웃과 바닥 유형에 대한 여러 시뮬레이션을 병렬로 실행합니다. Kruger는 “개발자가 제출하는 새 코드는 AWS RoboMaker에서 광범위한 시뮬레이션을 거친다”면서 “방 청소와 같은 기본 테스트부터 로봇을 방에 배치하고 임무를 수행한 다음 베이스로 돌아가는 방법을 알아내는 것과 같은 대화형 테스트까지 다양하다”고 말합니다.
AWS RoboMaker 시뮬레이터를 사용하면 실시간보다 더 빠르게 병렬로 테스트를 실행하여 이전보다 20배 많은 테스트를 실행할 수 있으므로 제품 안정성을 보다 포괄적으로 측정할 수 있습니다.“
Chris Kruger
iRobot Director of Software Engineering
솔루션 | 몇 주가 아닌 몇 시간 내에 테스트 시나리오를 검증
iRobot은 AWS RoboMaker를 사용하여 최신 바닥 청소 제품 5개 모두를 동시에 테스트하고 온프레미스 솔루션을 사용할 때보다 더 빠르게 테스트를 수행할 수 있습니다. Kruger는 “AWS RoboMaker를 사용하면 물리적 테스트 솔루션보다 더 빠르게 테스트를 완료할 수 있다”면서 “몇 주가 아닌 몇 시간 안에 시나리오를 검증할 수 있고 시뮬레이션 테스트에서 이전에는 파악하지 못했던 코드 품질 문제를 찾아낼 수 있다”고 말합니다. 이전에는 iRobot에서 코드를 프로덕션으로 옮기기 전에 일련의 스모크 테스트 및 회귀 테스트를 실행했습니다. Kruger는 “스모크 테스트는 몇 시간이 걸리고, 회귀 테스트는 몇 주가 걸릴 수 있다”면서 “이제는 코드를 제출할 때마다 시뮬레이션 테스트를 수행하기 때문에 품질 기준선이 더 높아졌다. 또한 스모크 테스트의 합격률은 더 높고 회귀 테스트의 재설정 수는 더 적은 것으로 나타났다. 이 모든 것은 소프트웨어 출시를 앞당기는 데 기여한다”고 말합니다.
매월 5,000건의 테스트를 실행할 수 있는 규모로 확장
iRobot은 이제 AWS RoboMaker에서 매일 병렬로 테스트를 수행합니다. Kruger는 “40건의 테스트를 병렬로 실행하는 것은 20명의 추가 테스터를 확보하는 것과 같다”면서 “과거에는 하나의 로봇에 대해 빌드를 테스트하는 방법으로 기능을 검증했지만 이제는 전체 제품 라인에서 테스트할 수 있다”고 말합니다. AWS RoboMaker를 사용한 후 처음 3개월 동안 iRobot은 한 달에 5,000건의 테스트 시나리오를 실행했는데, 이전에는 매달 100건의 테스트를 수행했었습니다.
또한 변경 사항과 풀 요청을 병합하면 더 심층적인 시뮬레이션 테스트를 수행할 수 있습니다. Kruger는 “제품 신뢰성을 테스트하기 위해 환경에서 2~3회의 테스트를 진행하곤 했다. AWS RoboMaker 시뮬레이터를 사용하면 실시간보다 더 빠르게 병렬로 테스트를 실행하여 이전보다 20배 많은 테스트를 실행할 수 있으므로 제품 안정성을 보다 포괄적으로 측정할 수 있다”면서 “또한 광범위한 스펙트럼 테스트에서 보다 표적화된 테스트로 전환하는 중”이라고 말합니다.
성과 | 프로덕션 단계가 아닌 개발 단계에서 결함 포착
iRobot은 AWS에 구축한 새로운 테스트 솔루션을 활용하여 프로덕션 단계가 아닌 개발 단계에서 소프트웨어 결함을 탐지합니다. Kruger는 “변경 요청의 성공 여부 또는 이로 인한 오류 발생 여부를 더 쉽게 판단할 수 있다”고 말합니다. 그 결과 더 뛰어난 품질의 코드를 생산하고 궁극적으로는 더 우수하고 더 효과적인 제품을 제공하고 있습니다. “테스트를 병렬로 실행하면 개발자에게 더 빠른 피드백이 제공되므로 문제를 더 빨리 찾을 수 있다. 즉, 더 짧은 시간 내에 새로운 소프트웨어 업데이트를 제공할 수 있고, 이것은 더 우수하고 더 효과적인 로봇으로 이어진다.”
iRobot은 계속해서 AWS RoboMaker를 사용하여 더 많은 테스트 시나리오를 추가하고 있습니다. Kruger는 “AWS RoboMaker는 우리의 구축 기반”이라면서 “이 서비스는 민첩성을 개선하는 데 도움이 되며 이 서비스를 통해 제품에 더 많은 스마트 기능을 추가하는 데 집중할 수 있을 것”이라고 말합니다.
자세히 알아보려면 aws.amazon.com/robomaker를 참조하세요.
iRobot 소개
매사추세츠주 베드퍼드에 본사를 둔 iRobot은 세계 최고 수준의 소비자 로봇 회사입니다. 이 회사는 전 세계 수백만 명의 사람들이 사용하는 Roomba 진공 청소기 로봇과 Braava 청소 로봇 제품군을 개발하고 생산합니다.
사용된 AWS 서비스
AWS RoboMaker
로봇은 복잡한 조립, 피킹, 포장, 라스트 마일 배송, 환경 모니터링, 수색 및 구조, 수술 보조 등의 사회 여러 부문에서 정교함을 높이려는 목적으로 점점 더 광범위하게 사용되고 있습니다.
AWS Lambda
AWS Lambda를 사용하면 서버를 프로비저닝하거나 관리할 필요 없이 코드를 실행할 수 있습니다. 사용한 컴퓨팅 시간에 대해서만 비용을 지불하면 됩니다.
자세히 알아보기 »
AWS Step Functions
AWS Step Functions를 사용하면 여러 AWS 서비스를 서버리스 워크플로로 조정하여 앱을 신속하게 빌드 및 업데이트할 수 있습니다. 또한 AWS Lambda, AWS Fargate 및 Amazon SageMaker와 같은 서비스를 기능이 풍부한 애플리케이션에 하나로 결합하는 워크플로를 설계하고 실행할 수 있습니다.
자세히 알아보기 »
AWS를 활용한 iRobot의 혁신 여정 살펴보기
더 많은 iRobot 사례
시작하기
모든 산업에서 다양한 규모의 조직이 AWS를 통해 매일 비즈니스를 혁신하고 임무를 수행하고 있습니다. 지금 전문가와 상담하고 AWS로의 여정을 시작하세요.