본문 바로가기

IT/QA10

Selenium, XPath를 통해 UI 요소 정확히 찾기 XPathXPath는 XML 및 HTML 문서에서 요소를 탐색하고 찾기 위해 사용됩니다. 주로 Selenium과 같은 웹 자동화 도구에서 사용됩니다.XPath 기본 구분절대 경로문서 루트부터 시작해 요소를 정확히 지정합니다. 구조가 변경되면 경로가 깨질 가능성이 높아 자주 사용되는 방법은 아닙니다./html/body/div/h1상대 경로'//'를 사용하여 어디에서든 요소를 찾습니다.//h1XPath 주요함수contains(): 특정 텍스트나 속성값을 포함하는 요소 찾기//div[contains(@class, 'example-class')] //h3[contains(test(), 'Welcome')] text(): 텍스트가 특정 문자열인 요소 찾기//h3[text()='Exact Text'] 속성으로 찾기.. 2025. 1. 13.
Selenium의 구성요소 Selenium자동화 웹 테스트와 웹 스프래핑 도구로써 자주 사용되는 Selenium은 아래와 같은 컴포넌트로 구성되어 있습니다.Selenuium Core: 코어 라이브러리로 애플리케이션 자동화 기능을 제공합니다. 클라이언트 언어가 셀레니움을 사용할 수 있도록 기능을 제공합니다.Selenium WebDriver/ Remote Control: RC 보다 더 구조화 되고 다양한 브라우저에서 자동화된 테스트 기능을 제공합니다. Selenium 3에서는 RC가 완전히 제거되고 WebDriver로 대체되었습니다.Selenium IDE: 프로그래머가 아닌 사람이 웹 애플리케이션을 테스트하고 다양한 Checks을 사용할 수 있는 GUI 도구입니다.Selenium Grid: 그리드(허브와 노드) 형태로 parallel.. 2024. 12. 23.
Spring Security, OAuth 적용 후 필요한 테스트? Spring SecuritySpring Security는 Spring 기반의 애플리케이션에서 보안을 관리하기 위한 강력하고 맞춤화 가능한 인증 및 접근 제어 프레임워크입니다. 이 프레임워크는 선언적인 보안 설정을 지원하며, 사용자의 인증(authentication)과 인가(authorization)처리를 위한 광범위한 방법을 제공합니다.OAuth와 Spring Security를 통한 역할 기반 접근 제어OAuth를 사용하여 인증을 처리하고, Spring Security를 통해 세밀한 역할 기반의 접근제어를 설정할 수 있습니다. 예를 들어, 다양한 사용자 역할(ADMIN, USER등)에 따라 특정 API 앤드포인트에 대한 접근을 제한할 수 있습니다.필요한 테스트 유형역할 기반 접근 제어 테스트(Role-B.. 2024. 12. 5.
Jenkins, Docker-compose로 컨테이너화 하기 Jenkins젠킨스는 Java기반의 소프트웨어 개발 시 지속적으로 탕합 서비스를 제공하는 툴입니다. CI(continuous Intergration) 툴이라고 표현합니다. 젠킨스와 같은 CI툴이 등장하기 전에는 소위 nightly-build라고 불리우는 개발자들이 당일 작성한 소스들의 커밋이 모드 끝난 심야대에 빌드가 타이머에 의해 집중적으로 진행되는 행위가 있었지만, CI 툴의 등장으로 빌드를 포함하여 서브버전, Git과 같은 버전관리 시스템과 연동하여 소스의 커밋을 감지하여 자동적 테스트가 포함한 빌드하도록 설정할 수 있게 되었습니다.Jenkins를 사용함으로 써의 이점프로젝트 표준 컴파일 환경에서의 컴파일 오류 검출자동화 테스트 수행정적 코드 분석에 의한 코딩 규약 준수여부 체크프로파일링 툴을 이용.. 2024. 12. 3.
통합테스트, SpringBootTest 통합테스트란?통합테스트는 소프트웨어 개발의 여러 단계 중 하나로, 개별적으로 개발된 모듈들을 결합하여 전체 시스템이나 애플리케이션의 일부가 제대로 작동하는지 검증하는 테스트입니다. 이는 단위 테스트가 개별 컴포넌트 또는 클래스의 기능을 검증하는 반면, 통합테스트는 여러 컴포넌트나 시스템의 상호작용을 검증하여 오류를 찾아내고, 전체 시스템이 요구사항을 만족하는지 확인합니다.Spring Boot와 SpringBootTestSpring Boot는 Spring 기반의 애플리케이션을 쉽고 빠르게 구축할 수 있도록 도와주는 도구로, 다양한 'starter'종속성과 자동 구성(Auto-configuration) 기능을제공합니다. @SpringBootTest는 Spring Boot에서 제공하는 어노테이션 중 하나로, .. 2024. 12. 2.
Spring의 단위 테스트, JUnit5과 Mockito를 사용한 계층별 테스트 단위 테스트단위 테스트란 특정 소스코드의 모듈이 의도한 대로 잘 작동하는지 검증하는 테스트입니다. Spring에서 단위 테스트는 Spring Container에 올라와 있는 Bean을 테스트 하는 것입니다.JUnit5JUnit은 Java의 테스트 프레임워크 입니다. JUnit5는 가장 많이 쓰이는 JUnit 버전이며, JUnit4와 달리 JUnit Jupiter API가 추가되어 총 3개의 모듈로 구성됩니다.JUnit5의 세가지 모듈JUnit platform테스트를 발견하고 테스트 계획을 생성하는 Test Engine 인터페이스를 정의합니다.JUnit JupiterJUnit5에서 테스트 및 Extension을 작성하기 위한 새로운 프로그래밍 모델과 확장 모델의 조합이며, TestEngine API 구현체.. 2024. 11. 30.
Zephyr를 이용한 테스트 관리 ZephyrJira가 BTS(Bug Tracking System)이라면 Zephyr은 TMS(Test Management System)입니다. TMS는 테스트의 시작 즉 요구사항 명세부터 요구사항에서 도출된 테스트 케이스 관리, 테스트 셋 수행, 결과 관리 그리고 테스트 케이스와 이슈의 추적성까지 모두 관리하는 시스템이 TMS 입니다. 여러 TMS 시스템 중 Zephyr는 Jephyr Enterprise와 Zephyr for Jira로 분류되며 오늘은 Zephyr for Jira를 알아보려고 합니다.프로세스QA에서 중요한 것은 추적성 입니다. 추적성을 위해서는 버전을 이용하는 것이 필수 입니다.버전생성서비스나 패키지의 버전명명 체계가 없는 경우에는 담당자가 추적할 수 잇는 단서를 이용하여 버전을 만드는 .. 2024. 11. 28.
유닛 테스트 도구 Junit, Vscode에서 사용하기 JunitJunit은 Java의 단위 테스트 도구 입니다. Junit을 사용하여 Systemout으로 번거롭게 디버깅하지 않아도 됩니다. 프로그램 테스트에 걸릴 시간도 관리할 수 있게 해주며 오픈 소스이며, 플러그인 형태로 Eclipse에 포함되어 있습니다. 이번 포스팅에선 Vscode를 사용하여 Junit을 사용하는 방법을 알아봐 보겠습니다.사용법Extensions에서 Extesnios pack for Java를 설치합니다.이 후 TestRunnser for Java 설치의존성 추가plugins { id 'java' id 'org.springframework.boot' version '3.1.5' id ' io.spring.dependency-management' version '1.1.0.. 2024. 11. 26.
Jira를 사용한 테스트는 언제 진행할까? JiraJira는 일정 주기를 가지고 프로젝트를 진행하는 애자일 개발 방식에 가장 특화된 툴로, 산출물을 배포하기 위한 기본 단위인 스프린트와 사용자 스토리 이슈 등의 생성이 용이합니다.애자일 방법론기존의 방법론(객체지향 개발 방법론, CBD 개발 방법론 등)이 너무 절차를 중시한 나머지 변화에 대응하기 어려웠던 단점을 개선하기 위해 나왔다.애자일 방법론은 절차보다 사람을, 문서보다는 작동하는 소프트웨어를, 미리 철저하게 계획하기 보다는 변화에 대한 민첩한 대응을, 계약과 협상에 얽매이기 보다는 고객과의 협력을 중요하게 생각한다.애자일 개발의 주요단계1. 프로젝트 계획프로젝트의 목표 설정, 이해관계자와 요구사항 수집 등 전반적인 계획을 수립2. 릴리즈 계획프로젝트의 범위를 정의하고, 큰 단위의 릴리즈.. 2024. 11. 24.