Devin.KR

QA·테스트 자동화 부트캠프

요구사항을 테스트로 바꾸고 결함을 재현하며 핵심 흐름의 회귀 검증을 완성합니다.

대상
국비 웹 과정 수료생과 QA 직무를 시작하는 비전공 입문자를 대상으로 합니다.
시작 전
파일·폴더와 브라우저 사용부터 시작합니다. 기존 개발 경험은 요구하지 않으며 JavaScript 값·조건·함수·비동기를 네 번째 모듈에서 익힙니다. 로컬 실습의 런타임 설치와 명령 실행은 제공 안내로 진행합니다.
학습 시간
120시간 안팎

트랙 프로젝트

웹 서비스의 테스트 계획과 자동 회귀 검증

동아리 회원 웹 서비스의 가입·로그인·프로필 수정에 대한 테스트 계획과 자동 회귀 검증을 만듭니다. 제공 앱은 Java 17·Spring Boot 3.1.x이며 합성 데이터와 로컬 환경만 사용합니다.

수료하면 할 수 있는 일

  • 가입과 로그인 흐름의 경계값 및 오류 조건을 테스트 표로 작성합니다.
  • 요구사항을 인수 기준과 연결하고 모호한 부분을 확인합니다.
  • 환경과 사전 조건을 포함한 결함 보고서로 재현을 지원합니다.
  • API의 응답과 실제 데이터 변경을 함께 검증합니다.
  • 핵심 UI 흐름을 자동화하고 실패 시 로그와 화면 증거를 남깁니다.
  • 테스트 데이터를 독립적으로 준비하고 실행 후 정리합니다.
  • CI 실패 원인을 분류하고 변경 위험과 미검증 범위를 근거로 릴리스 의견을 작성합니다.
진도 0%

모듈

  1. 사용자 흐름과 인수 기준

    모호한 요구사항을 질문하고 관찰 가능한 인수 기준과 연결합니다.

    10시간 안팎

    spec/requirements.json에 가입·로그인·프로필 수정 요구사항 8개 이상과 인수 기준을 작성합니다. · spec/questions.json에 질문 5개 이상과 합의·보류 상태를 기록합니다. · spec/traceability.json에 요구사항 ID와 테스트 ID의 연결을 작성합니다.

  2. 경계값과 상태 전이 설계

    첫 모듈의 인수 기준을 입력·권한·상태별 테스트로 전개합니다.

    12시간 안팎

    이전 spec을 유지하고 cases/cases.json에 테스트 24개 이상을 추가합니다. · 각 테스트에 요구사항 ID·사전 조건·입력·기대 결과·유형을 기록합니다. · 가입 경계 6개와 중복·공백·권한·세션 만료 조건을 포함합니다.

  3. 수동 탐색과 결함 재현

    테스트 표로 실습 앱을 탐색하고 재현 가능한 결함 증거를 남깁니다.

    12시간 안팎

    기존 cases를 실행하고 defects/에 서로 다른 결함 보고서 2개와 탐색 노트를 추가합니다. · reports/environment.json에 OS·런타임·앱 버전·실행 절차를 기록합니다. · 증거는 합성 계정만 사용하고 민감값을 제거하며 requestId를 유지합니다.

  4. JavaScript 검증 코드와 실패 해석

    설계한 테스트의 기대 결과를 독립적인 검증 코드로 표현합니다.

    12시간 안팎

    이전 결함의 인수 기준을 checks/의 검증 함수와 node:test 사례로 연결합니다. · null 본문·잘못된 타입·비동기 거절을 포함해 검증기를 작성합니다. · 요구사항과 다른 응답을 넣었을 때 실패하는 회귀 검사를 추가합니다.

  5. HTTP 계약과 API 자동 검증

    실습 앱의 응답 코드·본문·권한·저장 결과를 함께 검증합니다.

    14시간 안팎

    m04 검증기를 재사용해 api/에 가입·로그인·프로필 API 테스트를 추가합니다. · 200 응답이지만 잘못된 본문과 타인 프로필 조회를 검출합니다. · 제공 Java 통합 테스트에 성공 가입의 1행 증가와 중복·권한 거절의 무변경 검증을 완성합니다.

  6. 테스트 데이터 준비와 격리

    API 테스트의 공유 상태를 제거하고 DB 변경과 정리 범위를 검증합니다.

    12시간 안팎

    m05 API 테스트에 실행별 fixture와 정리 절차를 연결합니다. · 준비·검증 중 실패를 주입해 자신이 생성한 데이터의 정리를 확인합니다. · 자기 실행·다른 실행·기존 데이터의 ID를 구분하고 SQL 증거를 남깁니다.

  7. 핵심 UI 흐름 자동화

    격리한 데이터로 사용자 흐름을 검증하고 상태 기반 대기와 실패 증거를 남깁니다.

    14시간 안팎

    m06 fixture를 UI 테스트에 연결해 가입→로그인→프로필 수정→로그아웃을 자동화합니다. · 중복 이메일·세션 만료·로딩·오류 복구·키보드 탐색을 확인합니다. · 고정 sleep 없이 상태를 기다리고 실패 시 공개용 마스킹 증거를 생성합니다.

  8. CI 실행과 실패 분류

    API·UI 검사를 재현 가능한 실행 절차로 묶고 실패의 원인을 구분합니다.

    12시간 안팎

    m07까지의 검사를 ci/ 파이프라인과 단일 로컬 실행 절차로 묶습니다. · 제품 응답 결함·접속 불가·잘못된 locator의 실패 fixture를 따로 실행합니다. · reports/triage.json에 분류·증거·다음 조치와 버전 정보를 남깁니다.

  9. 불안정 테스트와 위험 기반 회귀

    시간·데이터·환경 원인을 재현하고 변경 영향에 따라 회귀 범위를 선택합니다.

    12시간 안팎

    m08 실패 기록에 원인·재현 seed·수정·재검증을 추가합니다. · 가입 길이 규칙과 세션 만료 변경에 대한 회귀 선택표를 작성합니다. · 불안정 테스트의 자동 재시도 의존을 제거하고 격리 보류 시 사유·담당·해제 조건을 남깁니다.

  10. 테스트 계획과 회귀 검증 완성

    발견 결함·자동화 범위·제외 근거를 증거로 설명하고 릴리스 판단을 지원합니다.

    10시간 안팎

    이전 모든 산출물을 README·테스트 계획·회귀 결과·릴리스 의견으로 묶습니다. · 최종 추적표에 요구사항→인수 기준→테스트→결함→회귀 증거를 연결합니다. · AI 도움을 사용했다면 입력 권한·검토 내용·직접 확인한 결과를 기록합니다.

신입 기본기 대응표

영역완료 기준모듈
요구사항과 인수 기준
  • 사용자 흐름을 정리하고 관찰 가능한 인수 기준으로 바꿉니다.
  • 모호한 요구사항을 질문과 예시로 구체화합니다.
m01-requirements
테스트 설계
  • 동등 분할과 경계값으로 입력 조건을 선택합니다.
  • 정상, 오류, 권한과 상태 전이 조건을 구분해 테스트를 작성합니다.
m02-test-design
결함 재현
  • 실행 환경, 사전 조건, 재현 단계와 예상 및 실제 결과를 기록합니다.
  • 로그와 화면 증거에서 민감한 정보를 제거해 보고합니다.
m03-defect-reports
기술 기반
  • HTTP 요청과 응답을 읽고 API 오류를 확인합니다.
  • 언어 하나로 검증 코드를 작성하고 테스트 결과를 해석합니다.
m04-validation-codem05-http-api
자동화와 데이터
  • API와 UI 테스트의 목적을 구분해 핵심 흐름을 자동화합니다.
  • 테스트 데이터를 준비하고 실행 후 정리해 서로의 결과에 영향을 주지 않도록 합니다.
m05-http-apim06-data-isolationm07-ui-automation
지속적인 품질
  • CI 실패를 제품 결함과 환경 및 테스트 문제로 나눠 확인합니다.
  • 변경 위험에 따라 회귀 범위를 정하고 불안정 테스트의 원인을 기록합니다.
m08-ci-triagem09-flaky-regressionm10-quality-evidence

면접 질문 대응