

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

# AWS IoT Greengrass 테스트 프레임워크 사용
<a name="gg-testing-framework"></a>

GTF(Greengrass Testing Framework)는 고객의 관점에서 종단 간 자동화를 지원하는 구성 요소 컬렉션입니다. GTF는 [Cucumber](https://cucumber.io)를 기능 드라이버로 사용합니다.는 동일한 구성 요소를 AWS IoT Greengrass 사용하여 다양한 디바이스에서 소프트웨어 변경 사항을 검증합니다. 자세한 내용은 [Greengrass Testing Framework on Github](https://github.com/aws-greengrass/aws-greengrass-testing/tree/dev_v1)를 참조하세요.

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

**Topics**
+ [작동 방식](#gg-testing-framework-how-gtf-works)
+ [Changelog](#gtf-changelog)
+ [Greengrass Testing Framework 구성 옵션](configuration-options-gtf.md)
+ [자습서: Greengrass 테스트 프레임워크 및 Greengrass 개발 키트를 사용하여 엔드 투 엔드 테스트 실행](run-e2e-tests-tutorial.md)
+ [자습서: 신뢰도 테스트 제품군의 신뢰도 테스트 사용](confidence-tests-tutorial.md)

## 작동 방식
<a name="gg-testing-framework-how-gtf-works"></a>

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

### GTF 독립형 JAR
<a name="w2ab1c24c19c25c11b5"></a>

Greengrass는 Cloudfront를 [Maven](https://maven.apache.org/) 리포지토리로 사용하여 다양한 버전의 GTF 독립형 JAR을 호스팅합니다. GTF 버전의 전체 목록은 [GTF 릴리스](https://github.com/aws-greengrass/aws-greengrass-testing/releases)를 참조하세요.

GTF 독립형 JAR에는 다음 모듈이 포함됩니다. 단, 이 모듈에만 국한되지 않습니다. 프로젝트에서 이러한 각 종속성을 개별적으로 선택하거나 [테스트 독립형 JAR 파일](https://github.com/aws-greengrass/aws-greengrass-testing/tree/dev_v1/aws-greengrass-testing-standalone)에 모두 포함할 수 있습니다.
+ `aws-greengrass-testing-resources`:이 모듈은 테스트 과정에서 AWS 리소스의 수명 주기를 관리하기 위한 추상화를 제공합니다. GTF가 해당 AWS 리소스의 생성 및 제거를 처리할 수 있도록 추`ResourceSpec`상화를 사용하여 사용자 지정 리소스를 정의하는 데 사용할 수 있습니다.
+ `aws-greengrass-testing-platform`: 이 모듈은 테스트 수명 주기 동안 테스트 중인 디바이스에 대한 플랫폼 수준 추상화를 제공합니다. 여기에는 플랫폼과 무관하게 OS와 상호 작용하는 데 사용되는 API가 포함되어 있으며 디바이스 쉘에서 실행되는 명령을 시뮬레이션하는 데 사용할 수 있습니다.
+ `aws-greengrass-testing-components`: 이 모듈은 배포, IPC 및 기타 기능과 같은 Greengrass 핵심 기능을 테스트하는 데 사용되는 샘플 구성 요소로 구성됩니다.
+ `aws-greengrass-testing-features`: 이 모듈은 재사용 가능한 일반 단계와 Greengrass 환경 내에서 테스트하는 데 사용되는 정의로 구성됩니다.

**Topics**
+ [작동 방식](#gg-testing-framework-how-gtf-works)
+ [Changelog](#gtf-changelog)
+ [Greengrass Testing Framework 구성 옵션](configuration-options-gtf.md)
+ [자습서: Greengrass 테스트 프레임워크 및 Greengrass 개발 키트를 사용하여 엔드 투 엔드 테스트 실행](run-e2e-tests-tutorial.md)
+ [자습서: 신뢰도 테스트 제품군의 신뢰도 테스트 사용](confidence-tests-tutorial.md)

## Changelog
<a name="gtf-changelog"></a>

다음 표에서는 GTF의 각 릴리스에서 변경된 중요 사항에 대해 설명합니다. 자세한 내용은 GitHub의 [GTF Releases 페이지](https://github.com/aws-greengrass/aws-greengrass-testing/releases)를 참조하세요.


|  **버전**  |  **변경 사항**  | 
| --- | --- | 
| 1.2.0 |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/greengrass/v2/developerguide/gg-testing-framework.html) [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/greengrass/v2/developerguide/gg-testing-framework.html)  | 
| 1.1.0 |  [See the AWS documentation website for more details](http://docs.aws.amazon.com/ko_kr/greengrass/v2/developerguide/gg-testing-framework.html)  | 
| 1.0.0 | 초기 버전입니다. | 