Aqua 출시 – 테스트 자동화를 위한 강력한 JetBrains IDE

Read this post in other languages:
English, Français, 日本語, Português do Brasil, Español, 简体中文, Čeština

QA 및 테스트 엔지니어링은 현대 소프트웨어 개발에 필수적인 부분입니다. 또한 JetBrains는 모든 작업에 적합한 도구를 사용하는 것을 중요하게 생각합니다. 다양한 역할을 가진 소프트웨어 개발 팀의 요구 사항을 충족할 수 있는 자동화된 테스트 개발을 위한 도구를 별도로 제작하는 것은 JetBrains에게 있어 자연스러운 흐름이었습니다.

테스트 자동화를 위한 강력한 신규 IDE인 JetBrains Aqua를 소개합니다. Aqua는 기존 JetBrains 제품과 차별화된 고유한 기능을 제공합니다. Aqua에는 여러 언어를 지원하는 IDE(JVM, Python, JavaScript 등 지원), HTTP 클라이언트, 데이터베이스 관리 기능, Docker 지원, TMS 클라이언트 및 UI 자동화를 위한 새롭고 강력한 웹 검사 도구를 비롯하여 테스트 자동화 엔지니어의 일상적 업무에 필요한 모든 기능이 탑재되어 있습니다.

누구나 직접 사용해 보고 디자인에 의견을 보탤 수 있도록 JetBrains Aqua 공개 테스트 버전을 출시했습니다. 테스트 버전과 관련한 자세한 내용은 이 게시물의 후반부에서 확인하세요.


JetBrains Aqua는 지능적인 컨텍스트 인식 IDE로, Java, Kotlin, Python, JavaScript, TypeScript 및 SQL을 이해하며, 지능적인 언어별 코딩 지원을 제공합니다.

다른 JetBrains IDE와 마찬가지로 Aqua에서도 빠른 검사를 통해 코드 품질과 유효성을 확인할 수 있습니다. 이슈가 확인되면 IDE는 해당 이슈를 해결하는 데 도움이 되는 컨텍스트 액션을 제안합니다. 전구 아이콘을 클릭하거나 Alt+Enter를 누르면 컨텍스트 액션을 호출할 수 있습니다. 언어 인식 기반의 코드 완성, 오류 탐지, 즉각적인 코드 수정 기능을 활용해 보세요!

스마트 검색을 이용하면 어떤 클래스, 파일, 심볼, IDE 액션 또는 도구 창으로든 이동할 수 있습니다. 이 기능을 사용하려면 Shift를 두 번 누르고 찾으려는 항목의 이름을 입력하면 됩니다.

안전한 Rename(이름 변경), Delete(삭제), Extract Method(메서드 추출), Introduce Variable(변수 삽입), Inline Variable(변수 인라인화), Method(메서드) 및 기타 리팩터링으로 IDE의 코드 인텔리전스를 최대한 활용할 수 있습니다. 또한 언어 및 프레임워크별 리팩터링을 통해 프로젝트 전체 변경 사항을 적용할 수 있습니다.

유닛 테스트 프레임워크

코딩 지원 기능 및 GUI 기반 테스트 러너를 사용해 테스트를 생성하고 실행하세요. JetBrains Aqua에서 JUnit, TestNG, Pytest, Jest, Mocha 및 기타 인기 프레임워크를 사용하여 유닛 테스트를 작성 및 실행하고 디버그할 수 있습니다. IDE에서 테스트 결과를 검토하여 트리 뷰와 테스트 소스를 쉽게 탐색할 수 있습니다.

UI 자동화

새 프로젝트 마법사

Aqua에서 JVM 스택에 대한 새 UI 테스트 프로젝트를 생성하여 JDK, 빌드 도구(Maven 또는 Gradle), 테스트 러너(JUnit 또는 TestNG) 및 New Project(새 프로젝트) 마법사에서 언어를 지정할 수 있습니다.

코드 분석 기능

Aqua는 Selenium API 및 Selenide와 관련하여 다양한 지원을 제공합니다. Selenium API 및 여러 UI 테스트용 기타 라이브러리에서 사용되는 CSS, XPath 및 JavaScript 조각의 코드 분석 기능을 활용해 보세요.

페이지 객체 템플릿

페이지 객체 패턴을 따라야 할 경우, Aqua IDE는 New File(새 파일) 메뉴에서 새 페이지 객체 파일을 생성 및 관리하고, 위치자 추가 시 선택된 페이지 객체 패턴을 준수하는 데 도움이 됩니다.

웹 검사 도구

임베디드 웹 검사 도구를 활용하면 Aqua에서 웹 애플리케이션을 보고 자동화된 테스트에 필요한 페이지 요소를 캡처할 수 있습니다. Aqua는 웹 페이지에서 선택된 요소의 고유한 CSS 또는 XPath 위치자를 생성하며, 이를 소스 코드에 추가할 수 있도록 도와줍니다. 동일한 요소를 고유하게 식별하는 2개 이상의 위치자가 있을 경우 웹 검사 도구는 가능한 모든 옵션을 제안합니다.

Aqua는 테스트 관리 시 기존 위치자를 검사하는 데 도움이 됩니다. 웹 검사 도구를 사용해 CSS 선택자 또는 XPath의 유효성을 검사하고, 위치자가 원하는 요소를 식별했는지 확인할 수 있습니다.

웹 검사 도구가 활성화된 경우 CSS 및 XPath 코드 완성 기능을 통해 가장 중요한 웹 페이지 요소에 대한 위치자가 제안 및 강조 표시됩니다.

또한 웹 검사 도구는 별도의 창에 도킹 해제되어 큰 화면에서 향상된 경험을 제공할 수 있습니다.

API 테스트 및 환경 설정

HTTP 클라이언트

HTTP 요청을 전송하고 수신하는 웹 서비스를 개발하려는 경우 Aqua의 기본 제공 HTTP 클라이언트에서 간편하게 요청을 생성하거나 편집할 수 있습니다. 그뿐 아니라 코드 완성, 강조 표시, 리팩터링 등 다양한 코딩 지원도 제공됩니다.

Docker

Aqua를 사용하면 Docker 컨테이너 액세스할 수 있으므로, 컨테이너 실행 및 디버그, 이미지 다운로드 및 빌드, 멀티 컨테이너 애플리케이션을 실행할 수 있습니다.

데이터베이스

JetBrains Aqua에서 애플리케이션 데이터를 준비할 때 추가적인 도구는 필요하지 않습니다. IDE에서 바로 여러 데이터베이스를 원활하게 처리하고, SQL 스크립트를 개발하고, 저수준 데이터 어설션을 수행할 수 있습니다. Aqua는 라이브 데이터베이스 연결, 쿼리 실행, 데이터 내보내기, 시각적 인터페이스의 구성표 관리 기능을 제공합니다. 즉, IDE에서 Oracle, SQL Server, PostgreSQL, MySQL 및 기타 데이터베이스에 액세스할 수 있습니다.

TMS

일반적으로 테스트에는 이슈 트래커 및 TMS(테스트 관리 시스템) 링크가 포함되어 있습니다. 개발자는 이러한 링크를 테스트에 포함하기 위해 Allure Framework 등의 보고용 라이브러리 또는 Serenity BDD와 같은 기본 제공 테스트 프레임워크 메커니즘을 사용합니다. Aqua에는 라이브러리의 어노테이션 지원이 추가되었습니다. 또한 IDE에서 이슈 ID를 클릭하면 이슈 또는 TMS 케이스를 웹 브라우저에서 바로 열 수 있습니다.

Aqua를 TestRail 등의 외부 TMS 시스템에 연결하면 IDE에서 테스트에 더 쉽게 액세스할 수 있습니다. TMS 항목 탐색 및 테스트 스위트, 케이스 계층 구조 탐색도 지원됩니다. 또한 Aqua는 선택한 테스트 시나리오에 맞는 유닛 테스트를 생성하므로 자동화되지 않은 테스트 케이스 또는 사용되지 않는 테스트 메서드를 찾는 데 도움이 됩니다.

또한 Aqua는 테스트 데이터를 저장하고 관리하는 애자일 방식의 “로컬 TMS” 방식도 지원합니다. 로컬 TMS 방식을 활용하면 테스트 데이터가 프로젝트의 t.mdr.md 파일 컬렉션으로 저장되므로 브랜칭, 버전 관리, 검토 및 자동화된 테스트와의 향상된 통합이 가능합니다.


완벽한 테스트 자동화를 위한 IDE 개발은 JetBrains의 중요한 프로젝트입니다. 테스트 버전 단계에서는 개발이 진행되고, 기능과 개선 사항도 지속적으로 구현되고 있으므로 일부 기능은 적적히 작동하지 않을 수 있습니다. JetBrains Aqua 기능 또는 누락된 기능에 대한 의견을 들려주시면 제품을 개선하는 데 도움이 됩니다. 저희와 함께 최고의 테스트 자동화 IDE를 만들어 나가요!

최신 테스트 버전 빌드는 Toolbox App 또는 JetBrains 웹사이트에서 다운로드할 수 있습니다.


Aqua 다운로드

피드백 양식을 사용하여 피드백을 공유하거나 질문을 보내주세요. 

최신 개선 사항과 관련한 소식을 확인하려면 블로그를 구독하고 Twitter를 팔로우하세요!

자동화된 테스트가 순조롭게 실행되길 바랍니다!

Aqua 팀

게시물 원문 작성자

Jessie Cho

Katerina Samuseva