QAOps 101 - What QAOps means and Why it matters for software quality

Dahun Yoo·2021년 9월 11일
0

QA or Test

목록 보기
19/38
post-thumbnail

가상 데스크탑 / 포터블 디바이스 테스트 업체로 유명한 SauseLabs blog로부터 기사를 발췌해봅니다.


QAOps 101 : What QAOps means and Why it matters for software quality

업무 중에 소프트웨어 품질 유지가 포함되어 DevOps의 사고방식을 적용하는 경우, QAOps라는 개념이 최근 사용되기 시작하고 있습니다. QAOps란 무엇일까요? DevOps와는 무슨 관계가 있으며 QAOps의 실제는 과연 무엇일까요?

QAOps의 정의

DevOps의 정의로부터, DevSecOps, DataOps, NetOps 등, DevOps의 파생물이 다수 만들어지고 있는 것에 눈치채셨을지도 모릅니다. 이것들은 각각 Security, Network관리 등의 IT운용의 새로운 영역 확장인 것으로 DevOps의 개념을 확장시키고 있습니다. 따라서 우리들은 Ops가 많은 확장성을 가진 시대에 살고 있습니다.

QAOps는 이러한 것들 중 하나의 개념이빈다. QAOps는 공식적인 개념은 아니지만, 아래 2가지 원칙을 기반으로 정의할 수 있습니다.

  1. 품질보증(QA)은 CI/CD Pipeline에 통합할 필요가 있습니다.
  2. QA엔지니어는 개발자, ITOps엔지니어 및 CI/CD Pipeline에 관여하는 다른 모든 관계자들과 긴밀하게 연계할 필요가 있습니다. QA엔지니어만 따로 외롭게 있을 필요가 없습니다.

다음으로, QAOps는 DevOps의 배후에 있는 핵심아이디어, 즉 소프트웨어의 배포를 기반으로 하여 매일 진행할 수 있는 계속적, 점진적인 배포 파이프라인의 구축 및 해당 파이프라인을 서포트하는 여러 팀을 분리하는 벽을 없앰으로써, 그것들을 QA에 적용해볼 수 있습니다.

QAOps의 달성

QAOps은 실제로는 어떨까요? 물론 상세하게는 사용하는 정확한 툴, 소프트웨어 배포 파이프라인의 구성방법 등에 의해 여러가지로 나뉠 수 있습니다. 단, 일반적으로 QAOps의 운용에는 다음과 같은 높은 수준의 Practice를 채용해야할 필요가 있습니다.

자동 테스트

모든 테스트를 자동화하는 것은 현실적이진 않습니다만, 되도록이면 많은 테스트를 자동화할 수 있도록 노력하고, 최대의 이점을 얻을 수 있는 테스트를 자동화할 필요가 있습니다. 그렇게 하는 것이 QA에서 배포 파이프라인의 속도에 맞출 수 있을 것입니다.

병렬 테스트

또한 배포파이프라인의 속도를 느리게하지 않도록, 테스트를 빠르게 실행할 필요가 있습니다. 여러 테스트를 병렬적으로, 동시에 확실히 실행할 수 있도록 해야합니다.

Scalability Test

CI/CD 파이프라인은 아마도 좀 더 확장시킬 수도 있고, 규모를 줄일 수도 있을 것입니다. 테스트 루틴으로는 항상 똑같은 것을 실행시킬 필요가 있습니다. Scarable한 테스트는, 테스트를 실행시키기 위한 Scalable infrastructure와 필요에 따라 테스트 속도를 올릴 수 있도록 해야합니다.

QA작업로의 개발자와 IT운용자들의 참여

QA를 CI/CD파이프라인의 꼭 필요한 요소로 넣고 싶은 경우, QA팀을 왕따취급하여선 안됩니다. 개발자를 소프트웨어 테스트케이스 작성에 관여시킨다던지, 운용 어플리케이션의 UX문제를 찾아내기 위해 운용 엔지니어에게 의뢰한다던지 등으로 다른 팀원들과 친해지며 왕따취급에서 벗어날 수 있을 것입니다. QA엔지니어가 이러한 업무들을 완전하게 수행해야한다는 의미가 아닙니다. QA팀은 그것들에 관심을 가지고 신경써야합니다.
다른 팀과 협력하여, 전원이 QA프로세스를 파악하도록 해야할 필요가 있습니다.

QAOps의 전망

QAOps는, 현 시점에서는 그다지 사용되지 않는 용어 중 하나입니다. Google에서 단어를 검색하였을 때, DevSecOps는 50만건 이상, NetOps는 1400만건 이상으로 검색되나, QAOps는 약 6,300건 정도밖에 검색되지 않습니다.

QAOps라고 하는 용어를 사용하는 사람이 비교적 적은 것을 의미합니다. 또한 이 용어가 별로 도움되지 않는다고 생각하는 사람들도 있습니다. 말미에 Ops 를 붙임으로써 뭔가 있어보이는 듯이 말한다고 생각하는 사람들도 있습니다.

그러나, QAOps.com 이라는 도메인을 사용하는 업체도 있습니다. 즉, 적어도 테스트 커뮤니티의 일부 멤버들에게는 QAOps가 중요하게 받아들여지고 있다는 점은 사실일 것 입니다.

QAOps를 준수하기 위해서는

QAOps라는 용어가 만들어진건지 아닌지, 그리고 그것을 사용할지 말지 생각하는 것은 차치하고, DevOps의 시대에 QAOps라는 용어는 조금 바보같다고 생각하는 사람들에게도, QA커뮤니티가 직면하고 있는 과제와 기회들에 좀 더 많은 주의를 끄는 것에는 성공하였으므로, 이 단어가 중요하다고 생각합니다.

이것은 QAOps의 개념이 DevOps열차가 직진할 때에 QA스페셜리스트와 소프트웨어 테스트 엔지니어가 뒤쳐지는 것을 막을 때에도 도움이 될 것 입니다. 애시당초, DevOps는 개발자와 ITOps팀에 관한 것이었습니다만, 어플리케이션을 성공시키기 위해 필요한 그룹은 그들 뿐만은 아닙니다.

보안담당자, 네트워크 관리자, 그 외 그룹은 바로 DevOps를 이용하고, 그 과정에서 위와같은 독자적인 Ops용어를 만들어냈습니다.

QA와 소프트웨어 테스트가 DevOps의 대회의 중심이 되기까지에는 꽤나 오랜 시간이 걸렸습니다. QAOps용어의 도입은 그 역할을 강화하기 위한 움직임, 고품질의 어플리케이션을 제공하기 위한 효율적인 자동 소프트웨어 테스트와 QA의 중요성을 강조하는 것입니다.


Ref.

profile
QA Engineer

0개의 댓글