태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

엑셈 사람들 | 개발본부 QA팀

엑셈 사람들 2019.01.04 10:40



QA가 무엇인가요? QnA (Question and Answer) 아닌가요? 아마도 현업에 계신 분들이 아니라면 비슷한 반응일 거라 예상해 봅니다. ^^

QA는 대부분 생소한 직무라고 생각하실텐데요, 이 직무는 소프트웨어 제품이나 서비스 최종 출시에 앞서 버그 및 오류 테스트를 통해 품질을 보증하는 일을 합니다.

이번 시간에는 엑셈의 대표제품 MaxGauge InterMax를 보증하는 개발본부 QA팀을 만나보았습니다.

 

 QA팀이란? 

 개발본부 소속으로 회사에서 출시하는 제품에 대한 빌드/검증/배포를 담당하고 있으며, 테스트 자동화 및 고도화 작업을 통해 제품을 빠르고 안정적으로 배포할 수 있도록 준비하고 있습니다. 저희 팀만의 독특한 문화는 매주 한 번씩 무작위로 4명씩 조를 나눠 점심식사를 하고 있습니다. 회의나 회식 외 주 단위로 조를 나눠 한 테이블에서 식사를 하면서 일상적인 이야기를 나누며 친목을 도모하고 있습니다.

 
 담당 업무 소개 

<왼쪽 상단부터 시계방향으로 환경생성 대시보드, 타겟 실시간 로그 대시보드, 레드마인 자동관리 테스트 화면 1,2>

 QA(Quality Assurance) 영어 뜻 그대로 회사에서 출시하는 다양한 MaxgGauge 제품군의 품질을 보증하는 역할과 테스트 자동화, 그리고 테스트환경 고도화 작업을 진행하고 있습니다. 흔히 QA를 단순 테스트를 하는 역할이라고 생각할 수도 있지만, 제품이 기획 목적과 맞게 개발되었는지, 사용자에게 최고의 품질(가치)을 제공하고 있는지 등을 검증하기 위해 다양한 관점으로 테스트를 진행합니다. 이러한 과정을 통해 품질을 저해하는 문제 요소를 찾아내고, 해당 문제점이 해소되거나 개선될 수 있도록 돕는 역할을 담당합니다.
 또한 자동화를 통해 단순업무를 효율적으로 처리할 수 있도록 개선하고, 고도화 작업을 통해 테스트 환경을 쉽고 빠르게 구성할 수 있도록 준비하고 있습니다. 이를 위해 오픈소스 중심의 최신 기술 트랜드를 학습하고 반영하고 있으며 현재는 Kubernetes, Docker, Selenium, Jmeter등을 업무에 적용하여 쉽고 간편하게 활용하고 있습니다.
 
 업무에 대한 보람을 느낄 때? 
 예전에 비하여 다양한 환경에서 제품이 운영되고 기능이 확대되면서 환경 구성부터 테스트까지 어렵지 않은 부분이 없지만, 고객사에서 발생할 수 있는 문제를 미리 발견하여 해소하여 고객사에 잘 설치되어 운영되고 이를 바탕으로 수많은 고객사에서  MaxGauge를 신뢰할 때 뿌듯하고 자부심이 생깁니다. 또한 QA 업무 자체가 타 부서와의 협업이 필수적이기 때문에 어느 한쪽에 치우치지 않는 중간자의 역할이 쉽진 않지만, 한 부서의 사람들과 교류할 수 있다는 점이 좋은 것 같습니다. 
 그리고 기존에 없던 프로세스나 시스템이 사내에 도입되어 조금씩 개선되고 있을 때 큰 보람을 느낍니다. 일례로, 2018년에 NIPA(정보통신산업진흥원)관계자 분들과 QA 자동화 관련 교육 커리큘럼을 논의하는 과정에서 우리가 필요로 하는 기술수준을 NIPA에서 충족시켜줄 수 없다는 걸 느꼈습니다. NIPA 관계자 분들도 우리의 진행방향을 보시고, 이 정도로 갖추어 진행하는 회사가 없다고 평하셨을 때 옳은 방향으로 가고 있다는 확신이 들었습니다. 회사 제품이 여러 WAS와 DB를 지원하기 때문에 다양한 WAS, DB, Webserver를 다뤄보는 것 외 Kubernetes, Docker, Selenium 등과 같이 최신 트렌드에 따른 자동화 기술들을 학습하고 실제 업무에 적용함으로써 지적 호기심을 충족하는 즐거움을 얻을 수 있습니다. 
 최신 트렌드 기술들을 다루는 만큼 프로젝트 진행 과정에서 발생되는 트러블 슈팅을 수행할 때 답변을 많이 찾을 수가 없어서 마음 고생이 뒤따르기도 하지만 문제가 해소되어 팀에 적용될 때 큰 보람을 느낍니다.
 
 전공분야 & 필요역량 

 QA 업무를 하는 데 있어 컴퓨터공학을 전공하는 것이 필수는 아니지만 많은 도움이 됩니다. QA 업무는 기본적으로 제품에 대한 이해를 바탕으로 문제를 찾아야 하기에 프로그램에 대한 이해 그리고 그 프로그램을 만드는 언어에 대한 이해가 필요합니다. QA 업무에 대한 전반적인 이해를 하는데 있어서 ISTQB나 CSTS 같은 자격증이 있으면 도움이 될 것 같습니다. 

 그 외 다른 사람에게 현상에 대한 이해를 시켜야 하므로 논리적이고 체계적인 사고와 좋은 커뮤니케이션 능력이 필요하며, 다양한 환경과 시스템을 다루다 보니 IT에 대한 지속적인 흥미를 갖고 있다면 업무를 이해하고 적용하는데 수월해집니다. 마지막으로 업무를 하면서 느낀 점은 자료가 영어로 된 게 많아서 영어에 능숙하면 자료를 찾을 때 큰 도움이 됩니다. 
 
 커리어패스 & 비전 
 몇 년 사이 어느 회사에서나 QA조직에 있어서 가장 큰 화두는 자동화입니다. 저희 팀에서도 해당 부분에 대한 많은 관심을 갖고 업무를 진행하고 있는데 최종적으론 시스템 기반의 테스트 프로세스를 구성하는 것이 가장 큰 목표입니다. 시간이 갈수록 제품이 빠르게 변화하고 범위가 확장되는 것을 느끼고 있는데요, 단순/반복업무를 체계화하여 시스템으로 구성하고, 고객사와 최대한 유사한 형태의 환경을 구성할 수 있도록 고도화하여 빠르고 안정적인 제품을 배포할 수 있도록 준비하려고 합니다. 기본적으로 테스트 자동화를 위해선 어느 정도 프로그래밍 또는 스크립트 작성 역량이 있어야 합니다. 자동화가 아니더라도 프로그래밍 능력에 따라 제품을 바라보는 시각이 달라질 수 있기 때문에, QA 업무에 있어서 가장 많이 활용되고 있는 Python 언어를 마스터 하는 것이 목표입니다. 
 또한 최신기술 트렌드를 찾고 활용하려고 노력합니다. 하루가 다르게 빠르고 누구나 쉽게 사용할 수 있는 기술들이 출시되고 있는데, 이런 기술들을 학습하여 활용할 수 있다면 개인과 회사 모두 큰 도움이 되리라 생각합니다. 예를 들면 페이스북에서 인공지능이 직접 테스팅하고 버그가 발생하면 코드를 수정하는 시스템(SapFix)을 개발했다고 하더라고요. 꾸준히 노력하고 진행하면 언젠가 회사에도 그런 시스템을 만들 수 있지 않을까요?






기획 및 인터뷰 | 사업기획팀 박예영

사진 촬영 | 사업기획팀 박예영

테스터와 프로그래머 사이

엑셈 뉴스룸 2008.08.14 17:16

사용자 삽입 이미지
QA가 단순히 테스트만 하는 업무는 아니지만, 테스트 업무가 포함되어 있기에 제목과 관련하여 불만을 품을 자. (특히 QA종사자 분들)...오해 마시길~


테스터와 프로그래머 사이? ^^ 무슨 영화 제목이 생각 같겠지만 아니다~ 

프로그래머와 테스터! 테스터와 프로그래머! 는 과연 어떤 관계 일까?! QA분야에 종사하시는 분들은 누구나 한번쯤 생각해 봤을 것이다. 더 발전전인 관계를 위해 고민했던 내용들을 이야기 하고 싶다.

 

 흠.....얼핏 봐도 그리 좋은 관계는 아닌 것 같은 느낌이다? ...^^; 후훗 ~ 어느 정도 사실이다.(업무 특성상 어쩔 수 없지 않은가~)

 

QA업무를 진행하다 보면 개발팀과 종종 마찰을 빚을 때가 있다.

개발팀과 QA조직이 있는 회사 라고 한다면 거의 대부분 겪는 일일 것이다.

나 역시 많은 일들을 겪어왔고, 도대체 무엇이 문제일까? 어떻게 해야 좀더 가까워 질 수 있을까? 라는 고민을 자주 해보곤 한다.

 

나는 테스터의 입장이기에 주관적으로 판단하여 말하기는 어렵겠지만,(팔은 안으로 굽는다지 않는가!)주변인의 이야기를 듣거나, 관련 서적을 통하여, 또는 경험상으로도 내용을 접해 보면 관계가 좋다는 이야기는 눈을 씻고 찾아봐도 없다.

 

그도 그럴 것이 프로그래머의 피와 땀이 배여 있는, 노력의 결실인 소프트웨어가 성공과 실패라는 이분법적인 기준으로 평가 받고 심지어 벌레(Bug)라는 오명을 받는 것에 대하여 쉽게 받아들이기 어려울 것이다. (특히 소심한^^v 나는 더더욱 수긍하기 어려울 것이다.)
반대로 테스터는 크게는 제품의 안정화를 위해서, 작게는 개인 업무 실적을 위해서 벌레를 잡을 수 밖에 없는, 반드시 잡아야 하는 입장이다.

 

~! 그러면 업무 특성상 개발팀과 QA팀은 잦은 마찰을 빚을 수 밖에 없다는 이유는 알았다. (이것은 짱! 중요하다. 서로를 이해해야 있는 그대로를 받아 들일 수 있기 때문이다.)

 

그렇다고 하면! 어떻게 좀더 이해하고 가까워 질 수 있는지, QA팀에서는 어떤 노력이 필요한지 생각해 보자.


동료와의 협력관계를 잘 유지할 수 있는 비결에는 '일에 대한 열정을 조절 하라' 라는 이야기가 있다. 자신의 일을 사랑한 나머지 심각한 버그를 찾았다고 흥분해서 프로그래머의 자리로 뛰어가서 '당신의 코드에서 심각한 버그를 찾았다' 라고 말한다면 프로그래머는 절대로 행복해 하지 않을 것이다.

 

이처럼 프로그래머와 의견 충돌이 발생할 수 밖에 없는 관계에서 조금의 말 실수에도 서로의 감정에 상처받기 십상이며, 원만한 공감대를 형성하기 어려울 것이다.

 

엑셈 에서는 JIRA 라고 하는 Bug Tracking System 을 도입하여 사용하고 있다.

주 목적은 버그를 추적하고 관리 하는 것이지만, 이것을 잘 이용하면 좀더 매끄러운 업무진행(관계) 가 될 수 있다.

 

단편적으로 잘못된 정보나 부족한 정보가 담긴 버그를 리포팅 했다고 치자, 프로그래머는 고생은 물론이고 테스트를 다시 해야 하는 상황이 발생할 것이다.

 

이런 내용들을 감안해 볼 때 버그 등록/보고를 정확하고 명확히 해야 한다는 답이 나온다.

 

엑셈의 QA팀에서는 이런 생각을 가지고, 좋은 버그 리포팅 을 하기 위해 아래의 항목을 모두 반영하기 위해 노력을 아끼지 않고 있다.

 

*구성, 재현, 격리, 일반화, 비교, 개요, 요약, 명확, 중립, 리뷰

(MS사의 테스트 매니저 Roger Sherman Quality Week '99에서 발표한 내용.)

 

결국 버그를 누구에게, 어떤 이유로 리포팅 하는 것인지 생각하고, 효과적으로 디버깅 하는데 필요한 정보를 제공해준다는 마음으로 작성하면 프로그래머와 테스터와의 사이가 좀더 가까워지지 않을까 생각해 본다.



 

*여기서 말하는 '테스터와 프로그래머의 사이' 의 의미는 업무적인 관계를 뜻함을 다시 한번 강조 합니다. (^^오해 마세요! 엑셈의 QA팀은 개발팀을 사랑~~합니다 ~만큼 ^3^)
QA
  • midas 2008.09.18 11:25 ADDR 수정/삭제 답글

    가깝지만 먼 나라 일본인가?^^ QA가 있어서 더 좋은 제품으로 거듭나는 것이겠지요.
    QA팀 파이링~!