지난 포스팅에 이어 QA 컨퍼런스에서 들었던 강연에 대해 기억나는 부분과 정리한 부분을 포스팅해보려고 한다.
미처 가보지 못하신 분이나 혹시라도 관심이 있었는데, 다른 강연을 들었던 분들에게 도움이 되길 바란다.
참고로 해당 내용은 기억과 필기를 기반으로 작성한 내용이라 강사님의 이야기와 조금 다를수도 있다는 점을 꼭 유의해주시길...
- 해당 강연을 선택한 이유
- 최근 CI/CD 에 대한 관심을 가지고 있었는데 마침 QA conference 에서 관련 강연을 진행했다.
- CI/CD 파이프라인에 테스트 자동화를 어떻게 넣을 수 있는지, 이 과정에서 어떤것들을 고려하면 좋을지에 대해서 알아볼 수 있는 유익한 시간이었다.
- 주요 주제
- UI 테스트 자동화를 통한 비용과 투자
- UI 테스트 자동화 파이프라인 구축 종류별 장단점 및 특징 (local, 자체 서버, 클라우드)
- UI 자동화 도입 방향 및 고려사항
- QA 목표와 안정적인 SW를 위한 테스트 자동화의 역할
- QA로서 도전해볼 수 있는 부분
- 테스트 자동화의 전제 조건
- 테스트 자동화는 테스트 스크립트를 작성하는 영역과 테스트 환경을 구축하는 영역으로 나눌 수 있다.
- 테스트 자동화를 진행하기 위해서는 몇가지 전제 조건이 필요하다.
- 기본적인 리그레이션 테스트가 자동으로 따라줘야 함.
- 요구사항이나 화면 설계를 주는 PO, PM, 디자이너, 개발자들과 긴밀한 협업
- 조직 내 자동화를 잘 이해하고 지원하는 문화가 필요함.
- UI test 자동화 파이프라인 구축
- 업무용 Laptop 을 그대로 사용하기
- 장점 : 가장 쉬운 자동화 구축 방법으로, 접근 난이도가 낮음.
- 단점 : 확장성이 낮고, 보안 이슈가 있으며, HW적인 제약이 높다.
- 특징
- 모니터링을 추가하고 싶은 경우, testrail 과 같은 리포트 기능을 활용할 수 있다.
- 추가 : ios 테스트 적용 팁
- ios 의 경우, 테스트 적용이 어렵기 때문에 spawn 을 활용한 배포 방법을 알아두면 좋다.
- 테스트 자동화를 구축할 때 설정 방법이 그대로 적용되기 때문에 web app이나
hybrid app 의 경우, 앱 내부의 Webview 가 로딩하는 웹페이지에 한해
chrome inspect 기능을 활용하여 브라우저 상에서 테스트 경로를 사전에 작성할 수 있음.
- 자체 서버 구축하기
- 장점 : test 전용 서버를 구축하면 망분리를 통해 안정성을 높일 수 있다.
- 단점 : 물리적 공간이 필요하며, 유지보수 부담이 있다.
- 특징
- 일반적으로 서버룸을 운영하며, 물리적 방안이 필요하다.
- 보통 2대 이상 가용하며, 메인 서버는 CI/CD 도구 설치 및 허브 역할을 수행.
- 나머지 서버는 디바이스 연결 및 실제 테스트 수행을 맡음.
- CI/CD 도구를 활용하여 테스트 결과가 잘 기록되며, 이상탐지를 통해 slack 알람 등으로 연동 가능
- cloud 서비스 사용하기
- 장점 : 초기 구축이 잘 되었다는 가정 하에 가장 간편하고 서비스 배포 시, 바로바로 자동화가 진행될 수 있음.
- 단점 : 초기 구축 난이도가 있는 편이며, 개발팀의 도움이 필요할 수 있음
- 특징
- CI/CD 도구나 디바이스팜 등 클라우드의 서비스를 그대로 이용 가능
- 테스트 실행은 자체 서버 방식과 유사하지만, 서비스 배포 후 자동화 실행 순서를 반드시 준수해야 함.
- 클라우드 사용 서버의 경우, 프리테스트 이후 테스트 서비스를 배포한 뒤에 자동화를 실행해야 함.
- 유지보수
- 서비스 토큰 만료
- 원인 : API콜을 할 때 토큰이 만료되면, 에러 발생
- 해결 방법 : 신규 토큰 발급 혹은 자동화된 AI 서비스를 활용하여 토큰 자동 관리 서비스 이용
- 서비스 API 변경
- 원인 : API 콜을 했을 때 에러 발생.
- 해결 방법 : 스펙 변경 전에 로그나 원인을 파악 후 추적 진행.
- 서버가 멈추가나 꺼지는 케이스
- 원인 : 디바이스 문제, 서버 사양 한계 등
- 해결 방법 : 서버를 확정 및 신설하거나, 서버 상태에 맞게 테스트 조절.
- 클라우드 서비스 자체 장애
- 원인 : AWS자체 장애, 호스트 에러 등
- 해결 방법 : 빠른 리콜 및 로컬 테스트 전환
- 서비스 토큰 만료
- 업무용 Laptop 을 그대로 사용하기
- UI test 자동화 도입
- 예산
- 자동화 도입 시, 예산의 범위에 따라 health script 자동 작성과 같은 솔루션을 사용 여부를 통해 편리성이 결정됨
- 무료 라이브러리 사용 시, 난이도 및 기간소요가 많아질 수 있음.
- 목적
- 빠른 배포가 목적인 경우, 기본 검증 시나리오 선별 후 자동 적용
- 철저한 테스트가 목적인 경우, 모든 기능 검증을 위한 테스트 자동화 도입
- 위 두가지 목적에 따라 구축기간, 구입 솔루션, 필요 인원을 산정할 수 있다.
- 역량
- 자동화 스크립트 작성 가능 인원이 있다면, 자체 부서를 통해 빠른 대응 가능
- 자동화 스크립트 작성 가능 인원이 없다면, 트레이닝을 통한 구축 혹은 개발팀과 협업을 통해 개발팀의 역량의 도움을 받거나 솔루션 사용.
- 환경.
- 금융권과 같은 환경에서는, 망분리 환경으로 클라우드 사용 제한이 있음
- 위 경우 클라우드 대신 자체 서버 구축이 필수적이므로, HW, OS 등의 제약이 있음.
- 생산 자동화의 성능을 어느 정도까지 낮출것인지를 생각해야 함.
- 금융권과 같은 환경에서는, 망분리 환경으로 클라우드 사용 제한이 있음
- 상황별 구축 전략
- QA 팀에서 자체 구축
- 반드시 익숙한 프로그래밍 언어가 1개 이상 익혀두는 것이 좋음
- 개발팀과의 협업을 통해 진행
- QA팀 외 다른 팀과의 협업이 필요하기 때문에 기본적인 기술 역량 뿐 아니라 조직간 커뮤니케이션, 사업 역량 강조
- R&R 은 QA 가 자동화 심화, 데브웍스 / 플렛폼 앤지니어링 팀에서 파이프라인 구축 등을 실행.
이때 테스트 자동화 계획에 대해 명확한 이해가 있어야 하며, 전체의 역할로 인식을 가져야 원활하게 진행된다.
- 솔루션을 통한 테스트 자동화 구축
- 솔루션 사용 시, QA 가 조금 더 업무에 집중할 수 있음.
- 이때, 자동화하기 까다로운 경우를 제공해보거나 유지보수 등을 확인해보는 것이 좋음.
- 아웃소싱을 활용한 전체 과정을 맡기기
- 외주 업체에게 내부 인원이 적극적으로 지원하며 빠르게 처리를 해야 업무 진행이 원활하다.
- QA 팀에서 자체 구축
- 예산
- 테스트 자동화의 중요성
- 테스트 자동화를 진행할 때 놓치지 말아야 하는 부분
- qa목표는 안정적인 sw를 만드는 것이므로, 자동화에 너무 기대지 않아야 한다.
- 테스트 자동화는 운영에 따라 투자가될 수도 있고 비용이 될 수 있으므로, 유지보수 비용까지 고려해야 함.
- 운영 환경 배포 시, 배포 여부 판단 및 보류할 수 있는 권한이 있어야 하며 이슈 수정 여부에 강력하게 주장할 수 있다.
- 자동화는 개발 환경에서 돌아가므로 개발팀과 협력관계 구축이 필수적임.
- 도전해볼 수 있는 부분
- 테스트 코드 뿐 아니라 개발 코드에 대해 코드 리뷰에 참여함으로써 리그레이션 범위, 테스트 포인트를 개발팀에 의존하지 않고 스스로 판단할 수 있음.
- 즉, qa 활동의 효율성이나 역량 강화에 도움이 된다고 생각한다.
- 테스트 자동화를 진행할 때 놓치지 말아야 하는 부분
'QA성장하기 > 제4회 QA conference' 카테고리의 다른 글
생성형 AI 비서, 정량적 품질 측정과 성능테스트 전략 (1) | 2025.07.13 |
---|---|
제4회 QA conference 를 다녀오고 (1) | 2025.07.07 |