테스팅 관련
-
테스트 레벨테스팅 관련/개념 2020. 10. 9. 02:19
테스트 레벨 테스트가 수행될 소프트웨어 개발 주기의 여러 단계 (테스트 프로세스 중의 특정 예시 단계) 소프트웨어 개발 프로세스에 중점을 둔 영역에 따라, 4 개의 점진적 테스트 레벨이 있음 기준으로 분류 컴포넌트/유닛 테스트 - 통합테스트 - 시스템 테스트 - 인수 테스트 컴포넌트/ 유닛 테스트 유닛: 소프트웨어 시스템에서 테스트할 수 있는 가장 작은 부분 소프트웨어 시스템의 모든 단일 단위를 검사하여, 예상한대로 요구 사항과 기능을 충족하는지 확인하는데 목적을 둠 일반적으로, 개발자가 개발 프로세스 초기에 수행 각 컴포넌트를 독립된 환경에서 테스트 통합 테스트 결합된 단위가 그룹으로 함께 잘 작동하는지 확인하는데 목적을 둠 모듈 내 단위 간의 상호 작용에서 결함 감지 통합된 장치 간의 인터페이스 및 ..
-
테스트 전략(Strategy) & 테스트 계획(Plan)테스팅 관련/개념 2020. 10. 5. 00:44
소프트웨어 테스트 전략 테스트의 일부로서 수행할 단계들을 정의해놓은 로드맵 → 이 단계들이 언제 계획, 수행되야하는지? 얼마나 많은 노력, 시간, 리소스들이 필요한지? = 조직 내에서 수행하는 하나 이상의 프로젝트를 테스트하기 위해 포괄적인 요구사항을 나열한 문서 → 테스팅을 어떤 방식으로 수행해야 하는지? 그 것이 어떻게 테스트 정책과 연계되는지? 테스트 전략 목적 ☞ 테스트 프로젝트의 주요 과제, 어려움들을 명확하게 하기위해 프로세스에서 사용되는 정확한 시기에 따라 테스트 전략은 예방(Preventive) 또는 사후(Reactive)로 분류 테스트 전략의 7가지 유형 전략 특성 주된 포커스 영역 (Primary Focus Area) 이용 사례 (Use Case) 분석적(Analytical) 예방 테스..
-
소프트웨어 테스트 수명 주기(STLC)테스팅 관련/개념 2020. 10. 4. 17:21
소프트웨어 테스트 수명 주기(Software Testing Life Cycle) 소프트웨어 품질 목표가 충족되었는지 확인하기 위해, 테스트 프로세스 중에 수행되는 일련의 특정 활동 (Validation + Verification) 6가지 주요 단계 요구사항 분석 테스트 계획 테스트 케이스 개발 테스트 환경 설정 테스트 실행 테스트 주기 종료 요구사항 분석 (= 요구사항 단계 테스트) 수행할 테스트 유형 식별 테스트 우선 순위 및 초점에 대한 세부 정보 수집 요구사항 추적성 매트릭스 (RTM) 준비 → 결과물: RTM 테스트가 수행되어야하는 테스트 환경 세부 정보 식별 자동화 타당성 분석 (필요한 경우) → 결과물: 자동화 타당성 보고서(Automation Feasibility Report) 테스트 계획 ..
-
SW 테스트 7가지 원리테스팅 관련/개념 2020. 9. 29. 23:41
1. 테스트 = 결함의 존재 (결함 없음 X) 테스트는 소프트웨어의 결함을 감지하는데 목적이 있으나, 제품을 아무리 철저히 테스트하더라도 결함이 없다고 100% 확신할 수 없다. 테스트는 발견되지 않은 오류의 수를 '줄이기' 위해서만 사용할 수 있다. 2. 완벽한 테스팅 불가 데이터 입력값, 시나리오, 조건들의 모든 조합들을 테스트할 수 있는 방법은 없다. 예를 들어, 어플 화면이 10개의 입력 필드와 각 3개의 옵션값을 포함하고 있다면, 가능한 모든 조합을 커버하기 위해서는 테스트 엔지니어들은 59,049 (310)개의 테스트 시나리오를 작성해야 한다. 수백만개의 시나리오를 작성하는데 몇 주를 소비하지 않으려면, 더 중요한 시나리오에 집중하는 것이 좋다. 3. 조기 테스팅 오류 비용은 SDLC 단계 전..
-
지속적 배포에서의 테스트 자동화테스팅 관련/자동화 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의 (메인 브랜치뿐만 아닌) 모든 브랜치에 테스트 실행 가능 ..
-
테스트 자동화(Test Automation)테스팅 관련/자동화 2020. 9. 21. 22:09
연관 시리즈 자동화 테스트(Automation Testing) 테스트 자동화(Test Automation) 테스트 자동화 여러 테스트를 추적, 관리, 실행하는 프로세스 자동화 유저 스토리 또는 애플리케이션 요구사항과 관련된 일련의 합격/불합격 데이터 포인트를 생성하도록 설계 보다 더 넓은 컨셉! 테스트 '전체' 프로세스를 완전히 자동화 테스트 자동화(Test Automation) > 자동화 테스트 (Automated Testing) → [테스트 자동화] 안에 [자동화 테스트] 를 설정에 따라 자동으로 실행하게 하는 애자일 개발과 데브옵스(DevOps) 환경에서 중요한 역할 지속적 개발, 항상 배포할 준비가 되어 있는 데브옵스에서는 모든 개발 단계에서 지속적 테스트가 진행되어야 함 지속적 테스트(Conti..