테스팅 관련/자동화
-
자동 테스트를 작성할 때 고려해야 하는 사항테스팅 관련/자동화 2021. 5. 23. 11:52
"무엇을 테스트하려는 중인가?" 어떤 유스케이스를 검증하려는 중인가? '전체 스택 or 부분 통합 or 단위' 를 테스트 하려는 중인가? 어떤 기술을 검증하려는 중인가? 어떤 아키텍처 계층을 검증하려는 중인가? 새로운 코드, 깔끔하고 잘 작성된 코드를 테스트하는 중인가? 아니면, 복잡하고 엉킨 레거시 코드를 구해내는 중인가? 테스팅 문제를 유용하게 더 작고 다루기 쉬운 조각들로 나눌 수 있는가? 범위를 파악하기 위해서는 위와 같은 질문들에 답해야 한다 "무난 경로"를 테스트하라 무난 경로란, 소프트웨어가 존재하는 주된 목적이며 이유다 무난 경로를 테스트하면 남은 테스트들을 구축하는 토대가 놓인다 무난 경로 테스트가 기초 컨텍스트를 정립하면 그 위에 온갖 변형을 통해 부가가치를 더한다 무난 경로를 완전히 ..
-
Jira에 JUnit XML 리포트 연동하기 (w/ Jenkins, Xray)테스팅 관련/자동화 2021. 5. 22. 17:18
1. Jenkins를 실행한다 2. Xray 플러그인을 설치한다 Manage Jenkins > Manage Plugins > Available 탭 Search 필드에 xray 입력 > Xray - Test Management for Jira Plugin > Install에 체크 > Install without restart 3. Xray API 키를 생성한다 Jira 메인 페이지 > 앱 > 앱 관리 > XRAY (왼쪽메뉴) > API Keys > Create API Key User: Jira 계정 이름 > Generate 생성된 Client ID와 Client Secret을 복사한다 4. Jira Instance 를 생성한다 Manage Jenkins > Configrue System > Xray Con..
-
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 > ..
-
리그레션 자동화 테스트 in 애자일테스팅 관련/자동화 2021. 3. 7. 22:52
애자일 프로젝트에 리그레션 자동화 테스트 적용하기 1. 테스트 케이스, 자동화 툴, 프로그래밍 언어 식별 1-a. 리그레션 테스트 스위트에 포함시킬 테스트 케이스 식별 리그레션 테스트 케이스를 자동화시키려면, 우선 리그레션 테스트 케이스를 모든 단계, 데이터, 전제조건을 포함하여 올바르게 정의하고 식별하기 효율적인 리그레션 테스트 스위트를 생성하기 위해서 선택되는 예시 테스트 케이스 반복되는 결함이 포함된 테스트 케이스 end-to-end 시나리오를 커버하는 테스트 케이스 고객에게 가시적인 테스트 케이스 한계값이 있는 테스트 케이스 긍정적 & 부정적인 테스트 케이스 조합 복잡한 테스트 케이스 1-b. 요구사항과 시스템 동작에 가장 적합한 자동화 툴 식별 리그레션 테스트 케이스 식별과 자동화를 적용할 준비..
-
지속적 통합(CI)에 자동화 테스트를 효율적으로 적용시킬 수 있을까?테스팅 관련/자동화 2021. 3. 7. 00:26
이상적인 지속적 통합은, 코드가 빌드되면 모든 자동화 테스트가 수행되어 '소프트웨어가 잘 작동하는지'와 '코드 변경에 의해 문제가 생기지 않았는지'를 확인한다 위 조건에 부합하기 어렵게 만드는 지속적 통합의 2가지 목적이 있다 1. CI 프로세스는 빠른 피드백을 얻기 위해 자주 수행되어야 한다 2. 매 빌드마다 전체 코드를 검증해야한다 자동화 테스트 설계, 구현, 유지에 있어서 깊은 주의가 필요하며, 하루에 여러번 실행되는 CI 프로세스에 모든 자동화 테스트를 수행하기에는 너무 오래 걸릴 수가 있다 이러한 문제점에 대한 여러 해결책들을 알아보도록 하자 1. 리스크 기반 테스트(RBT) 접근법을 적용하여, '기본 & 중요 테스트'를 우선 순위로 지정하고 항상 수행 리스크 기반 테스트는 제품의 특성(feat..
-
지속적 배포에서의 테스트 자동화테스팅 관련/자동화 2020. 9. 29. 20:15
이어지는 시리즈 지속적 통합(CI) 테스트 자동화 지속적 전달(CD) 테스트 자동화 지속적 배포(CD) 테스트 자동화 지속적 배포(Continuous Deployment) 모든 변경사항은 자동으로 production에 배포 개발자 새로운 코드 작성 → 실제 사용자 시스템 코드 품질 유지를 위해 충분한 자동화 테스트 필요 레벨 테스트 (+ 수동 테스트) 예. Bitbucket Pipeline을 이용한 지속적 배포 셋업 어플리케이션, 자동화 테스트 준비 (Heroku 사용하는 경우) 환경 변수 추가 Pipelines > Environment variables로 이동 및 변수 추가 HEROKU_API_KEY: Heroku 계정 API 키 HEROKU_STAGING: staging 환경 이름 HEROKU_PRO..
-
지속적 전달에서의 테스트 자동화테스팅 관련/자동화 2020. 9. 21. 22:13
이어지는 시리즈 지속적 통합(CI) 테스트 자동화 지속적 전달(CD) 테스트 자동화 지속적 배포(CD) 테스트 자동화 지속적 전달(Continuous Delivery) 새로운 코드 릴리스를 고객에게 가능한 빨리 제공하는 것 프로덕션에 모든 변경사항을 배포하지 않더라도, 항상 릴리스 될 준비가 되어있는지 확인 가능한 자주 프로덕션을 업데이트 → 변경 범위 작게 유지 CI → 자동화 테스트 → CD '자동화 테스트'는 모든 개발 단계에서 실행되어 품질을 보증해주므로, 소프트웨어는 항상 배포 준비 상태로 유지됨! 어떤 종류의 테스트를 자동으로 수행할 수 있을까? E2E 테스트, 단위 테스트, 통합 테스트, 성능 테스트, ... End-to-End(E2E) 테스트 구현해야 할 가장 가치있는 테스트 사용자 수준의..
-
지속적 통합에서의 테스트 자동화테스팅 관련/자동화 2020. 9. 21. 22:13
이어지는 시리즈 지속적 통합(CI) 테스트 자동화 지속적 전달(CD) 테스트 자동화 지속적 배포(CD) 테스트 자동화 지속적 통합(Continuous Integration) 개발팀이 초기에 자주 코드를 메인 브랜치 또는 Repository에 통합하는 방식 충돌 조기 식별/해결, 개발 주기 시간 절약, 버그/회귀 수정 시간 절약, 개발 중인 기능 이해↑ 자동화 테스트(Automated Testing) 셋업 자동화(된) 테스트 ≠ 테스트 자동화 '자동화 테스트'를 실행하는 테스트 프로세스 '자동화' = 테스트 자동화 Main Repository의 모든 변경 사항에 대해 테스트를 자동으로 실행할 수 있도록 우선적으로 '자동화 테스트' 필요! repo의 (메인 브랜치뿐만 아닌) 모든 브랜치에 테스트 실행 가능 ..