testng 소개
Junit의 기능을 넘어 확장되는 고급 장치 테스트 프레임 워크입니다. 보다 유연하고 강력한 테스트 환경을 제공합니다. 단위, 기능적, 엔드 투 엔드, 통합 등 다양한 테스트 카테고리를 다루도록 설계되었습니다. 셀레늄과 통합 될 때 TestNG는 테스트를위한 귀중한 도구가되어보다 체계적이고 확장 가능한 방식으로 테스트를 구성 할 수 있습니다 아이큐테스트.
첫 번째 TestNG 테스트 작성 및 실행
TestNG부터 시작하려면 @Test 주석을 사용하여 테스트 방법을 정의합니다. @Test로 주석이 달린 모든 방법은 테스트 사례로 간주됩니다. 이 방법 내에서는 테스트 조치를 수행하고 어설 션을 사용하여 결과를 검증합니다. 테스트 방법을 실행하려면 TestNG.xml 파일에 메소드가 포함 된 테스트 클래스를 포함시켜야합니다.
테스트 사례 그룹화
그룹화를 사용하면 다른 클래스의 테스트 방법을 논리 컬렉션으로 분류 할 수 있습니다. 예를 들어, 연기 스위트와 회귀 제품군 용 테스트 세트가있을 수 있습니다. “Smoketest”또는 “RegressionTest”와 같은 그룹에 테스트 방법을 할당함으로써 테스트 단계에서 실행되는 테스트를 제어 할 수 있습니다. testng.xml에서 테스트 실행 중에 포함하거나 제외 할 그룹을 지정할 수 있습니다.
시퀀싱 테스트 방법
TestNG를 사용하면 @Test 주석 내에서 우선 순위 속성을 사용하여 테스트 메소드 실행 순서를 정의 할 수 있습니다. 0이 가장 높은 우선 순위 값을 지정하면 테스트 방법이 실행되는 시퀀스를 지시 할 수 있습니다.
매개 변수화 테스트
매개 변수화는 다양한 브라우저, 운영 체제 또는 환경 (예 : 개발, QA, UAT)과 같은 다양한 조건에서 테스트를 실행하는 데 중요합니다. You can pass parameters to your test methods to control their behavior dynamically. 이 매개 변수는 testng.xml 파일에 지정되어 있으며 다른 테스트 구성을 쉽게 전환 할 수 있습니다.
테스트의 병렬 실행
TestNG는 병렬 테스트 실행을 지원하여 테스트 프로세스 속도를 높입니다. testng.xml에서 병렬 속성을 “테스트”로 설정하면 여러 테스트를 동시에 실행하여 총 테스트 실행 시간을 크게 줄일 수 있습니다.
여러 스위트 룸 구성
Smoke and Regression Suites와 같은 여러 XML 스위트를 작성하고 관리하고 기본 testng.xml 파일 내에서 구성 할 수 있습니다. 이를 통해 테스트 스위트의 더 나은 조직 및 관리가 가능하여 필요에 따라 순차적으로 또는 병렬로 실행할 수 있습니다.
사전 및 사후 조건 처리
testng는 @beforeclass, @beforeTest, @beforemethod 및 @beforesuite와 같은 주석을 제공하여 테스트 사례를 실행하기 전에 충족 해야하는 전제 조건을 처리합니다. 마찬가지로, 사후 조건은 @AfterMETHOD와 같은 주석으로 관리 할 수있어 테스트 방법이 실행 된 후 필요한 정리 또는 상태 재설정이 수행되도록합니다.
데이터 제공자
TestNG의 @dataprovider 주석을 사용하면 Excel 파일과 같은 외부 소스에서 테스트 방법에 데이터를 공급할 수 있습니다. 이를 통해 데이터 중심 테스트를 통해 테스트 방법을 여러 번 실행하여 테스트 범위 및 효율성을 향상시킵니다.
흥미로운 통계와 사실
위의 기능은 TestNG 사용자들 사이에서 잘 알려져 있지만, 덜 논의 된 통계 및 사실은 프레임 워크의 영향을 강조합니다.
- a에 따르면 , testng는 Junit 직후에 두 번째로 인기있는 Java 테스트 프레임 워크입니다.
- TestNG의 병렬 실행 기능은 다양한 테스트 수와 환경 설정에 따라 테스트 시간을 50%이상 줄일 수 있습니다. .
- TestNG에서 @dataprovider를 사용하면 여러 데이터 세트로 동일한 테스트 사례를 실행할 수 있도록 테스트 범위를 40% 이상 증가시킬 수 있습니다. .
TestNG의 고급 기능을 활용하여 테스터는보다 효율적이고 포괄적 인 테스트 프로세스를 달성하여 고품질 소프트웨어 제공을 보장 할 수 있습니다.