23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
QA Ops Engineer 구직광고를 보고 DevOps, LLMOps, QAOps 까지 정말 많은 Ops가 나왔구나 하는 생각이 들었습니다.
QAOps는 QA 프로세스를 정의 및 간소화하고, QA 프로세스를 DevOps에 통합하여 모든 QA 활동을 CI/CD 파이프라인에 구현하는 것입니다.
이제 QA Ops에 대해 알아보겠습니다.
QA Ops는 Quality Assurance Operations의 줄임말인 QAOps는 소프트웨어 테스트와 품질 보증을 DevOps 프로세스에 원활하게 통합하는 방법론입니다.
QAOps는 소프트웨어 개발 라이프사이클의 시작부터 배포에 이르기까지 개발 주기 전반에 걸쳐 지속적인 검토와 지침을 제공하여
버그를 조기에 식별하고 해결할 수 있으므로 궁극적으로 최종 제품 제공 속도를 높일 수 있습니다.
또한 이러한 접근 방식은 프로세스 전반에 걸쳐 품질 보증 팀의 책임감을 높여줍니다.
QAOps는 지속적 통합(CI), 지속적 배포(CD), 지속적 테스트(CT)라는 데브옵스의 기본 개념에 QA 프로세스 및 보고 대시보드를 결합하여 동일한 파이프라인에 통합합니다.
Plan:
계획 단계에서는 소프트웨어의 품질 보증(QA)에 관련된 작업들을 계획하고 일정을 수립합니다. 이 단계에서는 QA 활동 및 테스트 전략을 수립합니다.
테스트 계획 및 관리 도구: TestRail, HP ALM, Zephyr
이슈 및 결함 관리 도구: Jira, Redmine, Bugzilla
Automate:
자동화 단계에서는 테스트를 자동화하는데 초점을 둡니다.
자동화된 테스트는 반복적이고 일관된 테스트를 가능하게 하며, 개발 및 품질 보증 과정을 가속화합니다.
테스트 자동화 도구: Selenium, Appium, TestComplete
CI/CD 도구: Jenkins, GitLab CI/CD, CircleCI
Package:
패키지 단계에서는 소프트웨어를 배포 가능한 형태로 패키징하고 관리합니다. 이 단계에서는 배포를 위한 필요한 자원들을 포함하고 표준화된 프로세스를 따릅니다.
소프트웨어를 컨테이너와 같은 배포 가능한 단위로 패키징하여 테스트할 수 있도록 준비합니다.
컨테이너 오케스트레이션: Docker, Kubernetes
빌드 및 배포 도구: Maven, Gradle, Ansible
Test:
테스트 단계에서는 자동화된 테스트 및 수동 테스트를 실행하여 소프트웨어의 기능적 및 비기능적 요구 사항을 확인합니다.
시스템이 예상대로 작동하는지를 확인하고, 발견된 결함을 식별하여 수정합니다.
기능 테스트 도구: pytest, JUnit, NUnit
성능 테스트 도구: JMeter, Gatling, Locust
Release:
테스트한 소프트웨어를 프로덕션 또는 스테이징 환경에 배포합니다.
릴리스 단계에서는 테스트를 통과한 소프트웨어를 릴리스합니다.
배포 및 롤백 전략을 수립하고 실제 운영 환경으로 소프트웨어를 배포합니다.
릴리스 관리 도구: Git, GitHub, Bitbucket
배포 자동화 도구: Ansible, Puppet, Chef
Trigger:
트리거 단계에서는 자동화된 테스트 및 배포 프로세스를 트리거하고 이를 관리합니다.
미리 정의된 이벤트 또는 일정에 따라 테스트 및 배포 프로세스를 시작합니다.
(예) 변경 사항이 발생하면 자동으로 QA 프로세스가 시작됩니다.
불필요한 테스트를 피하면서 제품의 기술적 기능을 검증하는 적절한 테스트 케이스를 생성하는 데 중점을 둡니다.
이벤트/스케줄 기반 트리거 도구: Jenkins, GitLab CI/CD, CircleCI
Execute:
실행 단계는 테스트 계획을 실행하고, 테스트 결과를 분석하여 결함을 식별하고 문제를 해결합니다.
이 단계에서는 이전에 설정한 자동화된 테스트를 실행하고, 결과를 평가하여 소프트웨어의 품질을 확인합니다.
모니터링 및 로깅 도구: Prometheus, Grafana, ELK Stack
이슈 및 결함 관리 도구: Jira, Redmine, Bugzilla
Report:
보고 단계에서는 QA 결과 및 배포 상태에 대한 보고서를 생성하고 공유합니다.
분석 및 개선을 위해 테스트 결과, 배포 상태 및 품질 지표에 대한 보고서를 생성합니다.
전체 프로젝트에 대한 스냅샷과 분석결과를 액세스할 수 있도록 지원합니다.
이를 통해 팀은 품질에 대한 투명성을 유지하고 지속적으로 향상시킬 수 있습니다.
테스트 결과 및 메트릭스 보고 도구: TestRail, HP ALM, Grafana
자동화 테스트는 QAOps 환경에 필수적입니다.
그러나 자동화 프레임워크를 구축하기 전에 QA 전문가는 제품의 목표, 사양 및 기능을 더 잘 이해하기 위해 제품을 자세히 연구해야 합니다.
분석이 완료되면 QA 팀은 작업 중인 제품의 단계에 따라 어떤 테스트를 먼저 자동화할 수 있는지 결정할 수 있습니다.
그런 다음 제품의 목표에 맞게 자동화된 테스트를 수행하여 시간을 절약하고 테스트 데이터의 관련성을 높일 수 있습니다.
이제 QA Ops Engineer는 무슨 일을 하는지 정리가 됩니다.
Devps (CI/CD)를 운영환경에서 배포 자동화 형상관리를 개발하고 운영하는 업무입니다.
기존의 QA 업무가 소프트웨어 서비스 품질을 중심이었다면 QA Ops는 인프라 운영과 배포까지 함께 수행하는 것입니다.
아무래도 개발 언어를 이용한 개발 경험과 인프라 운영 경험이 필요합니다.
이 글을 마무리하면서 AI 시대에 소프트웨어에 품질에 대한 QA의 자세에 대해 더욱 생각해 보게 됩니다.
https://fortegrp.com/insights/what-is-qaops/
https://www.linkedin.com/pulse/what-qaops-mesut-kilicarslan/
https://www.softwaretestingmaterial.com/qaops/
https://www.lambdatest.com/blog/guide-to-implement-qaops-framework/
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.