ISTQB 1장 예상 문제
·
ISTQB/CTFL
예상문제문제 1: 소프트웨어 테스팅의 주요 목적은?A) 소프트웨어의 모든 결함을 완벽히 제거하는 것B) 소프트웨어 결함의 존재를 밝히고, 품질을 평가하는 것C) 소프트웨어 개발 비용을 줄이는 것D) 소프트웨어 개발 속도를 높이는 것정답(드래그) B 해설(드래그)소프트웨어 테스팅의 주요 목적은 소프트웨어 결함의 존재를 밝히고, 소프트웨어의 품질을 평가하는 것문제 2: 테스팅이 결함을 식별하는 활동인 이유는 무엇인가?A) 결함이 없는 소프트웨어를 만드는 것이 목적이기 때문에B) 결함이 있을 때만 소프트웨어를 수정할 수 있기 때문에C) 결함이 있다는 것을 증명하기 위해D) 소프트웨어의 신뢰성을 보장하기 위해정답(드래그) C 해설(드래그)테스팅은 소프트웨어에 결함이 있음을 증명하기 위한 활동입니다. 이는 소프트..
ISTQB CTFL - 1.2 테스팅이 왜 필요한가
·
ISTQB/CTFL
테스팅은 정해진 범위, 시간, 품질, 예산 내에서 합의된 목표를 달성하는 데 도움을 준다. 테스팅은 테스트팀만의 활동이 아니며, 모든 이해관계자는 자신이 가진 테스트 기술을 사용해 프로젝트 성공에 기여할 수 있다. 컴포넌트, 시스템, 관련 문서를 대상으로 한 테스팅은 소프트웨어 결함을 식별하는 데 도움이 된다.1.2.1 성공을 위한 테스팅의 기여도결함식별테스팅은 비용 효율적인 방법으로 소프트웨어 결함을 식별한다. 식별된 결함은 디버깅을 통해 제거되며, 이를 통해 테스트 대상의 품질이 향상된다.품질 평가테스팅은 소프트웨어 개발 수명주기(SDLC)의 여러 단계에서 테스트 대상의 품질을 직접 평가하는 방법을 제공한다. 이러한 평가 결과는 릴리스 여부 등의 결정에 기여한다.사용자 대변테스팅은 개발 프로젝트에서 ..
Cypress에서 Window 객체 Stub하기 (앱 딥링크 테스트)
·
테스트 자동화/Cypress
개요 Cypress를 사용해서 딥링크를 검증하는 방법에 대해서 알아보자더보기딥링크란?모바일 환경에서 유저가 URL을 클릭했을 때, 앱을 실행시키고 특정 페이지로 이동하도록 돕는 기술ex) OO앱 다운로드, OO앱에서 확인딥링크 어떻게 구현될까?onClick이벤트에서 window.location.href, window.location.replace를 사용해서 앱을 실행시키거나, 앱 스토어로 이동을 시킨다. 실제 사이트에서 딥링크 확인해 보기딥링크가 적용된 코드코드가 난독화되어 모든 코드를 알기 어렵지만 c라는 변수는 IOS 스토어의 주소를 가지고 있다.var t 함수에서 접속한 단말기의 OS를 체크하고  window.location.href을 사용해서 앱 스토어로이동을 하는 것을 알 수 있다. 테스트 방법..
Cypress에서 POM(Page Object Model)사용하기
·
테스트 자동화/Cypress
개발을 할 때 우리는 유지보수와 확장성을 고려하여 다양한 패턴을 적용한다. 프론트엔드에서는 최근 FSD패턴이 뜨고 있고 백엔드에서는 레이어드 아키텍처가 대표적이다. 그렇다면 테스트 자동화에서 많이 사용하고 있는 패턴은 무엇일까? 바로 POM(Page Object Model)이다.POM(Page Object Model)?POM은 테스트 자동화에서 자주 사용되는 패턴으로 웹 페이지를 객체로 하여, 테스트 코드와 페이지의 UI요소를 분리하는 데 중점을 두는 패턴이다. 이를 통해 코드의 재사용성, 가독성, 유지보수성을 높일 수 있다.POM을 적용하지 않은 UI 테스트 코드(Cypress로 구현)describe('Login 기능 테스트', () => { it('로그인 성공',()=>{ cy.visit('/..
n일 동안 보지 않기 모달 테스트 자동화 하기
·
테스트 자동화/Cypress
개요'n일 동안 보지 않기' 같은 모달창은 어떻게 구현이 되고 Cypress를 사용해서 검증할 수 있는지 알아보자'n일 동안 보지 않기' 모달 어떻게 구현될까?'n일 동안 보지 않기' 모달은 주로 쿠키(Cookie)를 사용해 구현이 된다. 사용자가 모달 창에서 'n일 동안 보지 않기' 버튼을 클릭하면, 해당 정보가 브라우저 쿠키에 저장된다. 이 쿠키는 일정 기간 동안 브라우저에 남아 있어, 사용자가 다시 웹사이트에 방문할 때 이를 확인하여 모달을 표시할지 말지를 결정한다.브라우저 Dev Tool에서 보는 'n일 동안 보지 않기' 모달 HTML 코드브라우저 Dev Tool의 Sources탭에서 보는 '오늘 하루 그만보기' 코드클래스 네임이 pop-close-01인 버튼을 클릭했을 때 setMainPopCo..
React프로젝트에서 Cypress 같이 실행하기
·
테스트 자동화/Cypress
라이브러리 설치npm install start-server-and-testPackage.json > Script 설정"scripts": { "dev": "vite", "cy:open": "cypress open", "e2e": "start-server-and-test dev {port} cy:open"},{port}에 포트를 정의한다. vite는 5173이 default port 에러 발생시 해결방법 --host를 붙여준다."scripts": { "dev": "vite --host", "cy:open": "cypress open", "build": "tsc -b && vite build", "preview": "vite preview", "e2e": "start..
Cypress를 사용한 자동화 테스트 구현하기 (소개 및 설치 방법)
·
테스트 자동화/Cypress
CypressCypress는 웹 애플리케이션의 테스트를 쉽고 빠르게 수행할 수 있도록 설계된 JavaScript기반의 E2E 테스트 프레임워크이다. React, Angular, Vue.js 등과 같은 최신 프론트엔드 프레임워크와 원활하게 통합되며, 개발자와 QA 엔지니어가 웹 애플리케이션의 모든 기능을 실제 브라우저 환경에서 테스트할 수 있도록 돕는다.Cypress의 특징Time Travel : Cypress는 테스트가 실행되는 동안 각 단계마다 스냅샷을 저장하고 있어 명령 로그에서 마우스를 올리면, 그 단계에서 어떤 일이 일어났는지 확인할 수 있다. Automatic Waiting: Cypress는 명령어와 어설션이 완료될 때까지 자동으로 기다린 후 다음 단계로 넘어간다.Debuggability: 브라..
1장 - 1.1 테스팅이란 무엇인가
·
ISTQB/CTFL
1.1 테스팅이란 무엇인가소프트웨어 시스템은 우리 생활의 많은 부분과 밀접하게 연관되어 있다. 올바르게 동작하지 않는 소프트웨어는 금전적, 시간적, 비즈니스 평판 손실뿐만 아니라 부상이나 사망에 이르기 까지 다양한 문제를 일으킬 수 있다. 소프트웨어 테스팅을 통해 품질을 평가하고 소프트웨어 사용시 나타나는 장애의 위험을 줄일 수 있다.소프트웨어 테스팅은 결함을 식별하고 소프트웨어 산출물의 품질을 평가하는 일련의 활동이다. 테스트의 대상이 되는 산출물을 테스트 대상(test object)이라고 한다. 흔히 테스팅이 소프트웨어를 실행하고 결과를 확인하는 테스트 수행(test execution)에 국한된다고 오해하지만, 실제로 테스팅 호라동은 소프트웨어 개발 수명주기(SDLC)에 따라 달라진다.테스팅에 대한 ..