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

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

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

Greengrass 테스트 프레임워크 (GTF) 는 고객 관점에서 end-to-end 자동화를 지원하는 빌딩 블록 모음입니다. GTF는 Cucumber를 기능 드라이버로 사용합니다. AWS IoT Greengrass 동일한 구성 요소를 사용하여 다양한 장치의 소프트웨어 변경 사항을 검증합니다. 자세한 내용은 Github의 Greengrass 테스트 프레임워크를 참조하십시오.

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

작동 방식

AWS IoT Greengrass GTF를 여러 Java 모듈로 구성된 독립형 JAR로 배포합니다. 구성 요소 end-to-end 테스트에 GTF를 사용하려면 Java 프로젝트 내에 테스트를 구현해야 합니다. 테스트 가능한 JAR을 Java 프로젝트에 종속 항목으로 추가하면 GTF의 기존 기능을 사용하고 사용자 지정 테스트 케이스를 작성하여 확장할 수 있습니다. 사용자 지정 테스트 케이스를 실행하려면 Java 프로젝트를 빌드하고 에 설명된 구성 옵션을 사용하여 대상 JAR을 실행하면 됩니다. 그린그래스 테스팅 프레임워크 구성 옵션

GTF 독립형 JAR

Greengrass는 Cloudfront를 메이븐 리포지토리로 사용하여 다양한 버전의 GTF 독립형 JAR을 호스팅합니다. GTF 버전의 전체 목록은 GTF 릴리스를 참조하십시오.

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

  • aws-greengrass-testing-resources: 이 모듈은 테스트 과정에서 AWS 리소스의 라이프사이클을 관리하기 위한 추상화를 제공합니다. 이를 통해 ResourceSpec 추상화를 사용하여 사용자 지정 AWS 리소스를 정의하면 GTF가 해당 리소스의 생성 및 제거를 알아서 처리할 수 있습니다.

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

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

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

Changelog

다음 표에는 GTF의 각 버전에서의 변경 사항이 설명되어 있습니다. 자세한 내용은 의 GTF 릴리스 페이지를 참조하십시오. GitHub

버전

변경

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

  • 장치 RAM 및 CPU 사용을 모니터링하는 시스템 메트릭 단계를 추가합니다.

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

  • 테스트는 Greengrass 핵을 죽이는 대신 정상적으로 차단합니다.

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

  • 누락된 아티팩트와 레시피 디렉토리를 수정합니다. 이 버전은 누락된 구성 요소 버전도 수정합니다.

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

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

1.1.0

새로운 기능
  • 구성을 사용하여 사용자 지정 구성 요소를 설치하는 기능을 추가합니다. 이를 위해서는 사용자 지정 구성 요소의 레시피가 필요합니다.

  • 사용자 지정 구성으로 로컬 배포를 업데이트하는 기능을 추가합니다.

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

1.0.0

초기 버전