전체 글 12

PO(PageObject) Generator 개발기

안녕하세요, 오늘은 제가 최근에 개발한 'PO(PageObject Generator)'라는 도구에 대해 이야기해보려고 합니다. 이 도구가 어떻게 웹 테스트 모니터링 작업을 바꿔놓았는지, 그리고 글을 읽고 계시는 QA 분들의 자동화 작업도 어떻게 바꿀 수 있는지 함께 알아보겠습니다! 기존 방식의 고통웹 UI 테스트 자동화를 해보셨다면 공감하실 것입니다.기존에 PageObject 함수를 작성하거나UI 테스트 모니터링 자동화 작업시에레코딩 방식을 주로 사용했습니다. 이 과정이 얼마나 지루하고 번거로웠는지 모릅니다. 웹페이지의 모든 버튼, 입력 필드, 체크박스를일일이 개발자 도구를 통해 요소를 추출하거나,동선을 레코딩해야 했고 우선순위 + 시간 제약 때문에결국 '주요 동선'만 테스트하게 되었습니다.-> 로그인 ..

결제 시스템 알아보기

1. 신용카드 결제 전체 흐름 개요온라인 신용카드 결제는 크게 요청(Request) → 본인 인증(Authentication) → 승인(Authorization) 세 단계로 볼 수 있다.결제 요청고객이 온라인 상점(쇼핑몰)에서 상품을 선택하고 결제 버튼 클릭상점은 PG사로 결제 정보를 전달하고, PG사는 카드사와 소통할 채널을 준비본인 인증카드사(발행사)가 “이 카드가 정말 소유자 본인의 것인지”를 확인하는 단계국내에서는 안심클릭 등 본인인증 방식이나 ISP, 앱카드 인증, 간편결제(앱푸시) 등을 활용해외카드(VISA, Master 등)는 3D Secure 인증을 필수로 거치는 추세결제 승인인증에 성공하면, PG사를 통해 카드 승인 요청이 카드사로 전달카드 한도/유효성 등을 확인해 최종 승인번호를 발급승..

카테고리 없음 2025.04.08

에고라는 적 - 에고 다스르기

인간은 대부분“내가 잘하고 싶다, 더 나아지고 싶다”라는 마음을 품고 살아간다.그런데 이 순수한 열망이 때론 ‘자기 과시’나 ‘자격지심’으로 변질되어 갈등이나 스트레스로 이어지기도 한다. 최근 다시 읽은 『에고라는 적』은 이런 미묘한 심리 작용을 한마디로 ‘에고(ego)’ 라고 짚어내며, 어떻게 하면 이 에고를 잘 관리하고 성찰할 수 있는지 인사이트를 제공한다. 예전에 처음 접했을 땐 “에고를 버려라” 정도로만 받아들였는데, 다시 보니 더 깊고 구체적인 메시지를 읽게되어아래에 정리한다.1. 에고를 먼저 인식하기열망 단계: “뭔가 하고 싶다” 말만 앞서고 행동하지 못했다면, 에고가 목표와 현실 간의 간극을 무시했는지 돌아보기성공 단계: 작은 성취에도 “내가 대단하다” 착각하지 말고, 칭찬 속에서 배울 점이..

마음 가짐 2025.04.08

POM을 넘어서: Screenplay 패턴으로 확장하는 테스트 자동화

Screenplay 패턴이란? (기본 개념 및 구조)Screenplay 패턴은 사용자  관점에서 테스트 코드를 구성하는 액터(Actor) 중심의 설계 패턴입니다. 전통적인 Page Object 모델(POM)이 웹 페이지를 클래스와 메서드로 표현하는 페이지 중심 접근이라면, Screenplay 패턴은 배우(Actor)가 행동한다”는 스토리텔링 개념을 도입합니다​ 주요 요소는 다음과 같습니다:Actor (배우): 테스트에서 행동하는 주체로, 사람이나 사용자를 모사합니다. 예를 들어 고객, 관리자 등이 Actor가 될 수 있습니다. Actor는 행동에 필요한 능력(Ability)을 부여받아 사용합니다​.Ability (능력): Actor가 사용할 수 있는 기능이나 도구를 의미합니다. 예를 들어 웹 브라우저 사..

MCP란 무엇인가?

MCP(Model Context Protocol)는최근 AI 커뮤니티에서 화제가 되는 기술입니다. 한마디로,AI 모델에게 필요한 맥락(Context)을 전달하는 표준화된 방법이라고 할 수 있습니다. 이 글에서는 MCP의 기술적 개요와 목적을 알아보고,일상적인 예시를 들어 쉽게 설명해보도록 하겠습니다. 1. MCP란 무엇인가? (기술적 정의와 목적)모델 컨텍스트 프로토콜(MCP)은 AI 모델(특히 대형 언어 모델, LLM)이외부 데이터와 도구에 접근해 필요한 정보를 주고받는 방식을 표준화한 개방형 프로토콜입니다​ 쉽게 말해, 다양한 데이터 소스와 AI를 하나의 공통된 규칙으로 연결하는“AI용 USB-C 포트”라고 할 수 있습니다​ 기존에는 AI를새로운 데이터베이스나 서비스와 연동할 때마다제각기 다른 커넥터..

MCP 구조로 구현한 자연어 입력 기반 E2E 테스트: Playwright와 LLM 활용

1. 들어가며E2E 테스트 자동화 분야에서 가장 큰 과제 중 하나는 지속적인 유지보수 부담입니다. 통상적으로 UI 테스트 스크립트는 요소 식별자(xPath, ID 등)가 조금만 바뀌어도 재작업이필요해지기 마련입니다. 기존엔 POM + JSON 기반 코드 구조로 최대한 수정에 빠르게 대응하고자 했었으나아쉽게도 예방적인 측면에서는 효과가 없습니다..-> 이전글 참고 https://snatchdream.tistory.com/4  이러한 원천적인 문제를 자연어 기반의 접근으로 개선하고자,Playwright, PyQt5 + qasync, 그리고 LLM(Anthropic API와 Invariant SDK)을연계하여 좀 더 유연한 테스트 자동화 에이전트를 파일럿으로 구상해봤습니다. 구현 목표- 자연어 입력 → LLM..

E2E 테스트 자동화, POM과 JSON 데이터로 효율성 높이기

오늘은 E2E 테스트 자동화에서 페이지 오브젝트 모델(POM)과 JSON 데이터 관리 방식을 통해 실제 업무에서 겪은 문제를효과적으로 개선했던 경험을 공유합니다. 0. E2E 테스트란 무엇인가?E2E(End-to-End) 테스트는 말 그대로 애플리케이션의 시작부터 끝까지사용자의 동선을 실제 사용 환경과 최대한 유사하게 검증하는 테스트 방법입니다. 주로 UI 단에서 진행하며, 사용자가 웹 브라우저나 모바일 앱을 통해 경험할 실제 동선을 테스트합니다.0.1 왜 필요한가?단위 테스트(Unit Test)나 통합 테스트(Integration Test)만으로는 잡기 어려운 전체 시스템 흐름의 결함을 조기 발견0.2 E2E 기반 UI 테스트 자동화 도구에는 어떤것들이 있는가?Selenium: 가장 널리 쓰이는 웹 테..

Selenium과 Python을 이용한 E2E 테스트 자동화 - 1

본 글은 기초적인 내용을 바탕으로 테스트 자동화를 처음 접하시는 분들이 쉽게 이해하고 따라 할 수 있도록 작성되었습니다. 이번장에서는 테스트 자동화 코드를 작성하기에 앞서 코드를 작성할수 있는 환경 셋팅부터 진행해보도록 하겠습니다. 해당 문서에서는 PyCharm 기준으로 설명합니다. (다른 코드 편집기를 사용하셔도 됩니다) 1) Python 설치OS 환경에 맞춰 설치 파일 받기Windows : https://www.python.org/ftp/python/3.11.1/python-3.11.1-amd64.exeMAC : https://www.python.org/ftp/python/3.11.1/python-3.11.1-macos11.pkg  2) PyCharm (Latest) 다운로드 / Community 버..