분류 전체보기
-
모듈개발 관련/개념 2021. 5. 9. 19:27
특정 기능을 수행하기 위해 관련한 기능들을 하나로 묶어서 집합 논리적 모듈 → 정해진 인터페이스를 통해서만 정보를 주고 받을 수 있는 프로그램 단위 물리적 모듈 → 논리적 모듈을 컴파일, 로드할 때에 독립해서 식별할 수 있는 프로그램 단위 들로 구성 인터페이스 → 입력, 출력, 기능으로 구성되어지는 부분 구현 → 처리, 내부 자료를 기술한 부분 모듈 개발 절차 (기본) 1. 논리적 모듈 작성 프로그래밍 언어의 문법에 맞게 순서도로 정리된 절차를 옮겨 적어 논리적 모듈을 만드는 작업 (코딩) 소스 코드 = 프로그래밍 언어로 표현된 절차 2. 논리적 모듈 입력 작성된 논리적 모듈을 컴퓨터에 입력 입력하기 위해서는 디스크 파일 단위로 처리하는 것이 관습적이라서 물리적 모듈 작성 필요 소스 코드 파일 = 작성된..
-
Jenkins에서 Selenium 프레임워크 빌드 (로컬)테스팅 관련/자동화 2021. 5. 7. 18:52
1. Jenkins에 로그인하기 2. 새로운 아이템 생성하기 New Item 클릭! 이름을 입력하고 Freestyle project를 생성한다 3. 디렉토리 지정하기 configuration 페이지로 이동이 되었다면, General > Advanced > Use custom workspace 체크 > Directory에 프로젝트 파일 경로 입력 예. /Users/user/Desktop/dev/project 4. 크로스 브라우저 파라미터 지정하기 (옵션) This project is parameterized 체크 > Choice Parameter 클릭 Name: BROWSER Choices: chrome firefox safari IE ..... (더 추가 가능) 5. 빌드 커맨드 입력하기 Build > ..
-
Selenium Syntax Locator 정리카테고리 없음 2021. 5. 6. 18:38
Locator 타입 Xpath //태그이름[@속성='값'] # 전화번호 입력창 driver.find_element_by_xpath("//input[@name='phone']") # 태그 이름 없이 사용 driver.find_element_by_xpath("//*[@name='phone']") # text 사용 # //태그이름[contains(text(), 'text')] driver.find_element_by_xpath("//span[contains(text(), 'Info']") # 태그 사이 이동 # 부모태그/자식태그 (해당 div 밑에 button) driver.find_element_by_xpath("//div[@class='product-action']/button") # 부모 로케이터 선택 ..
-
macOS에서 Jenkins 설치 및 실행테스팅 관련/테스트 2021. 5. 2. 20:22
1. Java SE Development Kit 다운로드 2. Jenkins LTS Generic Java Package 다운로드 3. Jenkins 다운받은 경로로 이동 & 실행 $ cd $ java -jar jenkins.war 'Jenkins requires Java versions [8, 11] but you are running with Java 16 ~~~' 위와 같은 에러 메시지가 나올 경우, Java 버전을 8 또는 11로 맞춰주어야 한다 일단, 버전 8 또는 11을 다운로드한다 zshrc 또는 bash_profile에서 JAVA_HOME 설정을 바꿔준 뒤 실행한다 (-v 다운받은 버전) Java 버전이 변경되었는지 확인한 뒤, 다시 Jenkins를 실행한다 $ vi ~/.zshrc $ v..
-
pytest 명령어테스팅 관련/테스트 2021. 5. 2. 20:10
터미널에서 pytest 실행 1. 테스트가 있는 디렉토리로 이동 2-a. 디렉토리 내 모든 테스트 실행 $ pytest 2-b. 특정 테스트 실행 $ pytest /* 예제) test_demo.py 테스트 실행 */ $ pytest test_demo.py 3. 옵션 /* 상세 정보 제공 (metadata, cachedir, platform directory) */ $ pytest -v /* 간단한 테스트 요약 정보 */ $ pytest -r /* 마크된 모든 테스트 실행 */ $ pytest -m /* 예제. 스모크 테스트 마크(태그): @pytest.mark.smoke 된 모든 테스트 실행 */ $ pytest -m smoke /* 이름에 문자열이 포함된 테스트 케이스 실행 */ $ pytest -k ..
-
비기능 테스트테스팅 관련/테스트 2021. 4. 11. 11:49
성능 테스트 시스템에 부하를 주면서 성능을 측정하는 테스트 성능 지표 = 초당 처리량 TPS(Throughput per Second), 응답 시간 (Response Time) TPS = 초당 몇 건의 요청을 처리하느냐, 응답 시간 = 요청당 응답 시간 부하 테스트 가상 사용자 수를 늘려가면서 부하의 양을 점차 늘림 → TPS와 응답 시간의 변화 추이 측정 & 임계 성능 측정 부하량을 계속 늘리다 보면, TPS가 더는 증가하지 않고 일정 수준을 유지하게 됨 → (이때의) 부하량 (=가상 사용자 수)은 처리 가능 용량으로 볼 수 있으며, TPS = 최대 성능 응답 시간이 중요한 시스템은 목표 응답 시간을 기준으로 성능의 임계점을 결정 부하량이 늘어나면 응답 시간은 x^2 형식으로 증가 임계 성능 = 응답 시..
-
정적 분석QA 관련/정보 2021. 4. 11. 11:17
코드 리뷰 사람에 의해 수동적으로 수행되는 정적 분석 과정 예. 피어 리뷰, 워크스루, 팀 리뷰, 코드 인스펙션 등 코드 인스펙션 완성된 코드에 대한 검토를 통해서 코드 상에 존재하는 잠재적인 문제를 발견하는 과정 Deadlock에 대한 검출, Lock Contention과 같은 병목 구간에 대한 검출, Memory Leak이나 Connection Leak과 같은 자원 누수에 대한 검출과 코딩 스타일(변수명이나 메서드명 규칙 등)에 대한 가이드 수행 정적 분석 자동화된 도구에 의해서 이루어지는 정적 분석 과정 잘 알려진 버그에 대해서 리포팅 (예. Connection Leak - JDBC Connection Pool에서 Connection을 사용한 후 Pool에 돌려놓지 않아서 생기는 문제) 코딩 표준에..
-
도메인 주도 설계 (DDD)개발 관련/개념 2021. 4. 11. 10:30
하나의 도메인 = 세상의 어떤 것 추상화 → 도메인을 표현한 모델 도출 도메인 모델 특정한 다이어그램이 전달하고자 한 아이디어, 전문가의 지식에서 선택적으로 추상화하여 엄격하게 조직화한 것 다이어그램 모델을 가시적으로 표현하고 전달하는 역할 모델 소프트웨어 전문 영역과 도메인 전문 영역이 교차하는 지점 대상 도메인에 대한 내부적 표현, 설계 & 개발 프로세스 내내 반드시 필요 소프트웨어 설계 = 집의 구조를 만드는 것, 큰 그림 코드 설계 = 세부 사항에 관한 작업 도메인 주도 설계 = 설계와 개발 방식 연관, 함께 작동 (좋은 설계 → 개발 가속화, 개발 피드백 → 설계 강화) ex. 비행 항로 제어 시스템 구축 프로젝트 도메인 = 항공 교통 모니터링 도메인 전문가 = 항공 교통 관제사 "도메인 주도 ..