728x90

QA 75

Assertion

https://docs.pytest.org/en/stable/how-to/assert.html pytest 를 사용하면 표준 Python assert에 따라 값을 검증 할 수 있다고 한다.# content of test_assert1.pydef f(): return 3def test_function(): assert f() == 4 기본적인 assert 문은 조건이 참인지 확인하는데, 조건이 거짓이면 실패 메시지를 생성하고 테스트를 실패로 처리함.또한 아래 처럼 , 를 통해 사용자 메시지를 지정할 수도 있음def test_custom_message(): assert 1 + 1 == 3, "Expected 3" # 실패 시 사용자 메세지 출력 리스트에 2가 있는지 확인def test_co..

Programming/Pytest 2024.07.13

Pytest

Python 에 있는 테스트 프레임워크 중 하나로 함수로 작성하면 되니까 생각보다 편리하다.unittest 는 Junit 을 참고한 테스트 프레임워크다보니, class 형태로 작성을 하며, 무려 python이지만 카멜케이스로 작성한다. 여어어어트으은.. 간략하게 pytest 맛보기 stable 사이트에 명시 된 require는 pytest requires: Python 3.8+ or PyPy3. 이렇다.https://docs.pytest.org/en/stable/index.html(얜 왜 미리보기 안됌...)테스트 환경에 python 프로젝트를 생성 후, 아래 pip를 통해 pytest를 설치한다.pip install -U pytest test_1.py 파일에 대충 공식 사이트에 있는 예제를 써보고 de..

Programming/Pytest 2024.07.12

WITH (CTE, Common Table Expression)

WITH 는 반복적인 내용을 쓸때 쓰기 좋은, 가상 테이블로 쿼리가 실행되는 동안에만 존재하는 임시 결과의 집합이라함.-- with 절로 가상 테이블 생성WITH cte_name AS ( SELECT column1, column2, ... FROM table_name WHERE condition)-- 메인 쿼리SELECT column1, column2, ...FROM cte_nameWHERE condition; 봐도 어려운데..employee 테이블에서 이름이 중복인 전체 개수를 구한다고 친다면,-- 이름별로 직원 수를 계산하는 CTE 정의WITH name_counts AS ( SELECT employee_name, COUNT(*) AS name_count FROM employ..

SQL 2024.07.11

exposeFunction

Page.exposeFunction() method | Puppeteer (pptr.dev) Page.exposeFunction() method | PuppeteerThe method adds a function called name on the page's window object. When called, the function executes puppeteerFunction in node.js and returns a Promise which resolves to the return value of puppeteerFunction.pptr.devPuppeteer에서 exposeFunction을 사용하면, 페이지의 window 객체에 함수를 추가하며, Node에서 함수를 실행하고, 반환된 값을 페이지에..

표준 소개

가이드라인 문서로서의 표준소프트웨어와 IT 분야에서 표준에 대한 오해가 많다. ISO에 따르면 표준은 "산업과 전문직, 무역 협회 또는 정부 기관의 제품, 관행, 운영에 관한 합의를 반영한 지침 문서"이다. 표준은 자발적이고 강제성이 없다. 규제와 달리 표준은 자발적이고, 규제는 강제적이다.표준은 개인, 조직 또는 시장이 요구하지 않는 한 강제성이 없기 때문에 지침 문서로, 표준은 종종 특정 수준의 합의를 반영하기 때문에 합의서(agreements)라고도 한다.소비자와 공급자를 위한 표준소비자와 공급자는 표준에 대해 다르게 생각할 수 있다.소비자 관점: 소비자에게 표준은 일상생활에 긍정적 영향을 미친다. 예를 들어 유모차 품질 표준은 아이들의 안전을 보장한다. 소비자는 표준을 따른 제품을 신뢰하게 된다...

QA/29119 2024.07.08

목적 및 기대 효과

ISO 291139 SW 테스팅 국제 표준의 목적전세계 ISTQB 회원보드(Member Boards)는 이 문서를 자국의 언어로 번역할 수 있으며 교육제공기관(Training Providers)을 인증하는 데 활용할 수 있다. 각 회원보드는 필요에 따라 실러버스를 자국의 언어로 번역할 수 있으며 각국의 고유 출판 방식에 맞게 참고자료를 수정할 수 있다. 각국의 시험기관(Examination Boards)은 각 단원의 학습목표에 따라 자국의 언어로 시험 문제를 출제할 수 있다. 교육 제공기관은 적합한 교수 방법을 도출하고 교재를 만들 수 있다. 자격 시험을 준비하는 수험생은 이 문서로 (교육과정에 참여하거나 개인적으로 준비해) 시험을 대비할 수 있다. 국제 소프트웨어 및 시스템 공학 커뮤니티는 소프트웨어 ..

QA/29119 2024.07.04

Wiremock

Mock API를 만들 수 있는 고마운 사이트 일전에 QA 분들 대상으로 Postman API 테스트 공부할때 잠시 사용했었다. https://app.wiremock.cloud/ WireMock Cloud app.wiremock.cloud  홈에서 Create new mock API를 하고 나면 base URL이 주어지는데, 저게 내 mock의 주소이다. 내부가 조금 복잡하지만, 금방 익숙해지는데 GET, POST, PUT 등 다양한 메소드를 사용할 수 있고, JSON, XML 등 다양한 response 형태로 값을 내려보낼 수 있다. 심지어 아래처럼 내가 응답값을 적어두고 내려보낼 수 있기 때문에 테스트나, 공부나 여러모로 쓸모가 있음물론 유로 버전이 아니라면 한달에 1000 call만 무료이기 때문에..

QA 2024.07.02

Playwright - Page Object Model

이전에 cypress에서 잠깐 소개했지만, 테스트 하려는 대상 (웹)을 페이지의 구분으로 테스트를 설계하는 패턴이다. https://playwright.dev/docs/pom Page object models | PlaywrightIntroductionplaywright.dev  간단하게 예를 들어 naver에 검색을 한다고 할 때,위에 폴더에 pages 에 home-page.ts를 생성한다. 당연히 네이버에 구성요소야 짱 많겠지만, 일딴 아래의 검색의 기준을 먼저 테스트 한다고 가정했을 때,   위에 두 버튼이 우선 필요할 것이다. typescript는 둘째 치고, home-page.ts 에서 해당 요소와 검색하려는 기능을 구현하고import type { Page, Locator } from '@pla..

Playwright

https://playwright.dev/ Fast and reliable end-to-end testing for modern web apps | PlaywrightCross-browser end-to-end testing for modern web appsplaywright.dev Microsoft에서 개발한 브라우져 테스트 및 웹 스크래핑을 위한 라이브러리https://npmtrends.com/cypress-vs-playwright npm trends에서 많이 올라왔는데, 개인적으로는 webkit 지원이 제일 크지않나 싶다.아직도 cypress는 webkit이 실험중이기도 하고... Launching Browsers | Cypress DocumentationWhen you run tests in C..

Cypress - github actions 2편

Chatgpt를 구워 삶아 설정한 github actions의 xml 파일  다시 Cypress를 쓰는 시간이 도래했다. Cypress Project를 설정 하면서 원했던 생각한 플로우는 다음과 같다. Slack에서 Command 봇으로 Github Actions를 트리거한다.Github Actions 에서 Chrome, Edge 최소한 2개 이상 브라우져에서 테스트를 한다.테스트 결과를 다시 Slack 으로 돌려 받는다.물론 Cypress Cloud 쓸경우 record 하면 더 편하긴한데.. 난 가난해 여튼 그래서 시작한 이틀간의 대장정? github actions의 workflow를 쓰자그리고 봇을 만들자 봇 그까잇거 대애충 만들어서 slack commands를 만들고, bolt.js를 쓰는데, 요 ..

Automation/Cypress 2024.06.19
728x90