📘 테스트 자동화


📌 개요

테스트 자동화는 반복적이고 시간 소모적인 테스트 활동을 자동화 도구와 스크립트를 이용해 수행하는 방법이다.


📌 도구 분류

분류 설명 예시
테스트 설계 도구 테스트 케이스 작성 및 관리 명세 기반, 구조 기반, 레거시 시스템 기반
테스트 환경 구축 도구 테스트 환경 자동화 IaC(Infrastructure as Code), VM/컨테이너 관리
테스트 실행 도구 테스트 스크립트 실행 선형, 모듈 기반, 데이터 주도, 키워드 주도 프레임워크
테스트 프레임워크 테스트 표준화, 재사용성 제공 JUnit, Selenium WebDriver, TestNG
이슈 관리 도구 결함 및 변경 사항 추적 Jira, Redmine, Bugzilla

📌 로그인 검증을 위한 테스트 단계 (예시)

  1. 요구사항 분석 → 로그인 기능 명세 확인
  2. 테스트 케이스 설계 → 정상/비정상 입력 시나리오 작성
  3. 테스트 스크립트 작성 → JUnit/WebDriver 코드로 변환
  4. 테스트 환경 구축 → 브라우저, DB, 서버 세팅
  5. 테스트 실행 → 자동화 스크립트 수행
  6. 결함 보고 → 발견 결함 기록 및 추적

📌 JUnit/WebDriver 코드 변환


📌 테스트 자동화 분야 및 도구


📌 ISO/IEC/IEEE 29119 동적 테스트 프로세스

  1. 테스트 설계 및 구현
  2. 테스트 환경 구축 및 관리
  3. 테스트 실행
  4. 결함 보고 및 추적

자동화 도구는 위 프로세스 각 단계에서 반복적 작업을 지원


📌 테스트 설계 도구


📌 테스트 환경 구축 도구


📌 테스트 실행 도구

프레임워크 특징
선형 프레임워크 순차적 테스트 수행, 단순 구조
모듈 기반 프레임워크 모듈 단위 재사용 가능, 유지보수 용이
데이터 주도 프레임워크 입력 데이터 변경만으로 테스트 재사용 가능
키워드 주도 프레임워크 테스트 동작을 키워드로 정의, 비기술자 참여 용이

📌 테스트 프레임워크


📌 이슈 관리 도구


📌 테스트 도구 선정

  1. 테스트 피라미드 기반 접근: 단위 테스트 → 서비스/API → UI 테스트 우선순위
  2. 요구사항 정의: 자동화 필요 영역 식별
  3. 도구 조사 및 평가: 기능, 호환성, 유지보수성 검토
  4. 파일럿 프로젝트 수행 → 도구 적합성 확인
  5. 도구 선정 및 도입 → 전체 테스트 환경 적용

🧠 핵심 정리


자동화는 테스트 대상과 목적, 반복성에 따라 전략적으로 적용해야 하며,
단순 코드 실행이 아닌 설계, 환경 구축, 실행, 결함 관리까지 포함하는 전체 프로세스를 고려해야 한다.