1. 테스트자동화
- 사람이 직접 하지 않고 컴퓨터가 자동으로 테스트 하는것
- 버튼 클릭, 로그인, 데이터 입력 등 반복 작업을 자동으로 수행
- 더 빠르게 정확하게 테스트가 가능함
2. 테스트 자동화의 단점
- 초기 설정이 어렵다 : 처음에는 코드를 작성해야 해서 시간이 걸림
- 유지보수가 필요하다: 프로그램이 바뀌면 테스트도 업데이트를 해야함
- 모든 테스트를 자동화 할수는 없다: 사용자 경험 테스트는 여전히 사람이 해야함
3. 주요 테스트 자동화 유형
- 단위 테스트 (Unit Test)
: 코드 한 조각이 제대로 작동하는지 확인하는 테스트- 통합 테스트 (Integration Test)
: 여러 기능이 함께 작동하는지 확인하는 테스트- UI 테스트
: 실제 화면에서 버튼, 입력창 등이 잘 동작하는지 확인하는 테스트- API 테스트
: 서버와 데이터가 올바르게 주고 받아지는지 확인하는 테스트
4. 대표적인 테스트 자동화 도구

5. 단위 테스트
- 코드의 가장 작은 단위(함수, 메서드)를 테스트
- 개발자가 기능을 만들 때 바로 확인하는 테스트
- 빠르게 쉽게 실행 가능
6. 단위 테스트가 필요한 경우
- 새로운 기능을 추가할 때
- 기존 기능이 고장 나지 않았는지 확인할 때
- 반복적인 작업을 자동화하여 실수 방지
- 빠른 피드백으로 개발 생산성 향상
- 배포 후 심각한 오류 발생 가능성 최소화
7. 성공적인 테스트 자동화 적용 방법
- 반복적인 테스트부터 자동화하기
- 적절한 도구 선택하기
- 테스트 자동화 유지보수 전략 수립
8. 자동화 할 수 있는 테스트 유형
- 반복적으로 실행해야 하는 테스트
- 명확한 입력과 출력을 가진 테스트
- 실행 속도가 중요한 테스트(단위, API 테스트)
9. 자동화가 어려운 테스트 유형
- UI가 자주 변경되는 테스트
- 사용자의 감각적 평가
- 실시간 데이터가 필요한 테스트
10. UI 테스트 자동화의 유지보수 문제
- UI 요소가 변경되면 테스트 코드도 함께 수정해야 함
- 화면 구조 변경 시 테스트가 실패할 가능성이 높음
11. API 테스트 자동화의 어려움
- 외부 API 응답이 변할 가능성이 있음
- 네트워크 상태나 서버 상태에 따라 테스트 결과가 달라질 수있음
12. 테스트 자동화 유지보수의 핵심요소
- 테스트 환경을 일정하게 유지
- 테스트 데이터를 관리하여 예측 가능한 상태 유지
- 테스트 실행 속도를 최적화하여 불필요한 지연 방지
- 테스트 실패 시 자동 로그 기록하여 원인 분석 가능하도록 설정
13. 코드 변경이 잦을 때 발생하는 문제
- 기존 테스트 코드가 깨질 가능성이 높음
- 유지 보수 비용증가
- 코드 수정 후 테스트 결과가 일관되지 않을 수 있음
14. 테스트 자동화의 도입 이유
- 반복적인 테스트 감소 -> QA팀의 업무 효율성 증가
- 빠른 피드백 제공 -> 개발 속도 증가 및 품질 유지
- 대규모 테스트 수행가능 -> 다양한 환경에서 테스트 실행 가능
15. KPI란?
- 핵심 성과 지표, 즉 목표 달성을 측정하는 기준
- 성과를 수치화 하여 자동화 테스트의 효과를 평가할 수 있음
16. 테스트 자동화에서 KPI의 역할
- 자동화 도입 후 성과를 측정하는 기준 제공
- 테스트의 실행 속도 및 오류 감지율 평가 가능
- 불필요한 테스트 자동화를 방지하여 효율적인 운영 가능
17. 자동화 테스트 도입 전 필수 체크 항목
- 자동화할 테스트 유형 결정 -> 단위,UI,API,성능 테스트 등
- 유지보수 비용 고려 -> 유지보수 가능성 및 인력 확보 여부
- 팀 내 기술 역량 평가 -> 자동화 도구 활용 능력 점검
- 테스트 환경 표준화 -> CI, CD 연계 가능성 확인
- 적절한 자동화 도구 선택 -> 프로젝트 요구사항과 도구의 적합성 비교
18. 환경 구성 자동화
- 테스트 환경을 코드로 정의하여 자동으로 구축하는 방식
- 서버, 네트워크, 애플리케이션 설정을 자동화하여 일관성 유지
19. Mock 데이터
- 테스트 할 때 실제 데이터를 사용하지 않고 가짜 데이터를 활용하는 방법
- 운영 데이터를 직접 사용할 수 없는 경우 대체할 수있음
- API 테스트,UI 테스트, 성능 테스트 등 다양한 환경에서 사용