AWS IoT Greengrass 테스트 프레임워크 사용 - AWS IoT Greengrass

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS IoT Greengrass 테스트 프레임워크 사용

Greengrass Testing Framework(GTF)는 고객 관점에서 자동화를 지원하는 end-to-end 빌딩 블록 모음입니다.는 Cucumber를 기능 드라이버로 GTF 사용합니다.는 동일한 빌딩 블록을 AWS IoT Greengrass 사용하여 다양한 디바이스에서 소프트웨어 변경 사항을 검증합니다. 자세한 내용은 Greengrass Testing Framework on Github를 참조하세요.

GTF는 구성 요소의 동작 중심 개발(BDD)을 장려하기 위해 자동 테스트를 실행하는 데 사용되는 도구인 Cucumber를 사용하여 구현됩니다. Cucumber에서 이 시스템의 기능은 feature라는 특수 유형의 파일에 요약되어 있습니다. 각 기능은 사람이 읽을 수 있는 형식인 시나리오로 설명되고, 이는 자동 테스트로 변환할 수 있는 사양입니다. 각 시나리오는 Gherkin이라는 도메인별 언어를 사용하여 테스트 중인 이 시스템의 상호 작용 및 결과를 정의하는 일련의 단계로 설명됩니다. Gherkin 단계는 사양을 테스트 흐름에 하드 와이어링하는 단계 정의라는 메서드를 사용하여 프로그래밍 코드에 연결됩니다. 의 단계 정의GTF는 Java로 구현됩니다.

작동 방법

AWS IoT Greengrass 는를 여러 Java 모듈로 구성된 독립 실행GTF형으로 배포JAR합니다. 구성 요소 테스트GTF에 end-to-end를 사용하려면 Java 프로젝트 내에서 테스트를 구현해야 합니다. Java 프로젝트에 종속JAR성으로 사용할 수 있는 테스트를 추가하면의 기존 기능을 사용하고 사용자 지정 테스트 사례를 작성하여 GTF 확장할 수 있습니다. 사용자 지정 테스트 사례를 실행하려면 Java 프로젝트를 빌드하고에 설명된 구성 옵션을 JAR 사용하여 대상을 실행할 수 있습니다Greengrass Testing Framework 구성 옵션.

GTF 독립 실행형 JAR

Greengrass는 Cloudfront를 Maven 리포지토리로 사용하여 다양한 버전의 GTF 독립 실행형를 호스팅합니다JAR. 전체 GTF 버전 목록은 GTF 릴리스를 참조하세요.

GTF 독립 실행형 에는 다음 모듈이 JAR 포함됩니다. 단, 이 모듈에만 국한되지 않습니다. 프로젝트에서 이러한 각 종속성을 개별적으로 선택하고 선택하거나 테스트 독립 실행형 JAR 파일에 모든 종속 항목을 한 번에 포함할 수 있습니다.

  • aws-greengrass-testing-resources:이 모듈은 테스트 과정에서 AWS 리소스의 수명 주기를 관리하기 위한 추상화를 제공합니다. 이를 사용하여 ResourceSpec 추상화를 사용하여 사용자 지정 AWS 리소스를 정의할 수 있으므로가 해당 리소스를 자동으로 생성하고 제거할 GTF 수 있습니다.

  • aws-greengrass-testing-platform: 이 모듈은 테스트 수명 주기 동안 테스트 중인 디바이스에 대한 플랫폼 수준 추상화를 제공합니다. 여기에는 플랫폼과 독립적으로 OS와 상호 작용하는 데 APIs 사용되는가 포함되어 있으며 디바이스 쉘에서 실행되는 명령을 시뮬레이션하는 데 사용할 수 있습니다.

  • aws-greengrass-testing-components:이 모듈은 배포, IPC및 기타 기능과 같은 Greengrass 핵심 기능을 테스트하는 데 사용되는 샘플 구성 요소로 구성됩니다.

  • aws-greengrass-testing-features: 이 모듈은 재사용 가능한 일반 단계와 Greengrass 환경 내에서 테스트하는 데 사용되는 정의로 구성됩니다.

Changelog

다음 표에서는의 각 버전에 대한 변경 사항을 설명합니다GTF. 자세한 내용은의 GTF 릴리스 페이지를 참조하세요 GitHub.

버전

변경 사항

1.2.0
새로운 특성
  • 네트워크 관련 단계를 추가하여 테스트 중에 MQTT 및 인터넷 네트워크 연결을 구성합니다.

  • 디바이스 RAM 및 CPU 사용을 모니터링하기 위한 시스템 지표 단계를 추가합니다.

버그 수정 및 개선 사항
  • Greengrass CLI 로컬 배포 단계는 성공할 때까지 재시도합니다.

  • 테스트에서 Greengrass nucleus를 종료하는 대신 정상적으로 중지합니다.

  • 사물 및 역할 별칭에 대한 AWS IoT 자격 증명을 검색할 수 있을 때까지가 자격 증명 엔드포인트를 GTF폴링하는 개선 사항을 추가합니다.

  • 누락된 아티팩트 및 레시피 디렉터리가 수정됩니다. 또한 누락된 구성 요소 버전도 수정됩니다.

  • 도커 이미지가 없는 경우 도커 이미지 정리 중에가 GTF 실패하는 문제를 해결합니다.

  • CURRENT 키워드를 구성 요소의 버전으로 추가합니다.

1.1.0

새로운 특성
  • 구성으로 사용자 지정 구성 요소를 설치하는 기능이 추가됩니다. 이를 위해서는 사용자 지정 구성 요소에 대한 레시피가 필요합니다.

  • 사용자 지정 구성으로 로컬 배포를 업데이트할 수 있는 기능이 추가됩니다.

버그 수정 및 개선 사항
  • 로그 컨텍스트 GTF 버전 불일치 문제를 해결합니다.

1.0.0

초기 버전입니다.