728x90
반응형

오늘은 정말 오랜만에 또 글을 쓰게 되었습니다.

 

경력직으로 이직했지만

 

신입사원의 마음으로 일을 하고 있습니다.

 

그래서 잠도 22시 ~ 23시면 골아떨어집니다.

 

그래서 티스토리에 포스팅해야 하는데~

 

라고 생각만 하고 침대에 몸을 맡기는 게 일상이 되어버렸네요.

 

어쨌든!

 

오늘의 주제는 

 

협업 도구

입니다.

 

QA 실무를 하면서 회사의 특성상 사용하는 도구가 다 다를 텐데요.

 

어떻게 활용하고 있는지 오늘은 간단하게 알아보도록 하겠습니다.

 

알기 쉽도록 Before & After로 말이죠.

 

 

 

 

주요 업무 소통 방식

인트라넷 + 내선전화 VS Slack입니다.

 

 

●인트라넷 + 내선전화

인트라넷(intranet)은 단체의 직원만 접근이 가능한 사설망을 말합니다.

모든 업무는 인트라넷에서 이루어졌으며 인트라넷의 모든 기능을 통해 업무를 진행하였습니다.

인트라넷에서 각 부서 게시판으로 이동 후 글을 작성하고, 댓글을 달아서 업무를 진행했습니다.

업무에 관한 모든 정보가 인트라넷에 남아있는 장점이 있습니다.

그러나 대부분의 작성글은 비밀글이고, 퇴사자가 발생하게 되면 관련문서를 찾아가기 힘든 적이 한두 번이 아니었습니다.

그리고 내선전화로 이해를 돕고, 급한 용무도 처리하였습니다.

●Slack 

Slack 은 인스턴트 메시징 프로그램입니다.

비공개 채팅 또는 채널, 워크스페이스 등을 만들어 음성 통화, 화상 통화, 미디어 및 파일 통신이 가능합니다.

그리고 또 여러 소프트웨어와도 통합하여 사용할 수 있고요.

그렇기 때문에 긴 설명이 필요 없습니다.

저는 슬렉을 통한 업무가 딱딱한 대화환경을 조성하지 않음으로

 

다양한 커뮤니케이션이 가능하다는 것을 몸소 깨달았습니다.

 

보고를 하는데 형식적인 문서와 언어 사용을 위해 시간이 걸리지도 않고

 

허들을 통해 논의하고, 브레인 스톰을 즐길 수 있습니다.

 

 


 

메신저

 

메신저가 無 VS Slack입니다.

 

 

●메신저 없음 

메신저가 없습니다.

모든 업무는 인트라넷으로 진행했으니깐요.

그래서 다른 직원과 사담을 나누는 것은 자리에서 잠깐 얘기하는 것뿐이었습니다.

간단한 업무 지시도 메신저가 없었으므로 빠르게 전달되지 않았습니다.

 

●Slack 

Slack 은 조직적인 커뮤니케이션을 위해 개발되었지만 커뮤니티  플랫폼으로도 활용하고 있습니다.

이모지를 제작해서 쓸 수도 있고, 개성 넘치는 프로필도 꾸밀 수 있습니다.

DM을 통해 비공개적인 교류도 할 수 있습니다.

공통 관심사가 있는 사람들을 모아 채널을 만들어서 소통하기도 합니다.

 

기획서 & 디자인 가이드

PowerPoint 와 ZEPLIN VS Notion, Miro, Figma입니다. 입니다.

 

 

●PowerPoint 와 ZEPLIN 

기획서는 PowerPoint로 버전별로 확인할 수 있었습니다.
PowerPoint 첫 페이지에 버전관리 항목을 작성하여 관리를 합니다.
단, PowerPoint는 한 번에 모든 기획을 볼 수 있지만 새로운 정책, 기획이나 수정사항이 반영되기까지 시간이 오래 걸립니다.
디자인 가이드는 ZEPLIN으로 화면별 디자인가이드를 확인할 수 있었습니다.

 

 

●Notion, Miro, Figma 

User Story와 Acceptance Criteria(인수테스트 시나리오)를 Notion으로 확인할 수 있습니다.
그리고 전반적인 기획은 Miro로 확인이 가능하고요.
UX와 Flow에 따른 최종 디자인은 Figma에서 확인할 수 있습니다.
비교적 많은 도구를 통해 기획문서를 확인해야 하지만 직관적이며 도구 내에서 소통이 가능한 장점이 있고
빠르게 반영된다는 장점이 있습니다.

 


BTS

REDMINE VS Jira 입니다.

 

 

●REDMINE

인트라넷과 연동해서 쓸 수 있는 Redmine입니다.
Redmine 도 다양한 기능을 추가할 수 있습니다만 참고문서를 쉽게 찾을 수 없고 플러그인을 적용하는 데에 어려움이 있었습니다.
전 직장에서 Redmine은 전 직원이 들어올 수 없었습니다.
개발, QA, 기획자가 주로 협업하는 공간이었습니다.
그렇기 때문에 디자인, 사업부 정책논의가 필요할 경우에는 해당 이슈를 캡처해서 공유해줘야 하는 불편함이 있었습니다. (지금 와서 생각해 보면 왜 그랬는지는 모르겠음, 수정권한을 빼고 입장했으면 좋았을 텐데...)

 

 

●Jira

 

처음에 우아한 형제들이나 다른 기업 면접을 봤을 때, 티켓관리는 어떻게 하느냐?
라는 질문을 들었을 때 의아했던 부분이 있었습니다.
Redmine을 사용하면서 티켓이라는 단어를 들어본 적이 없었거든요.
Jira를 사용하면 일감, 이슈들을 티켓으로 관리할 수 있습니다.
티켓으로 소요시간을 측정하거나, 우선순위 산정, 히스토리 남기기, 다른 티켓과의 연결이 용이합니다.
Jira는 활용방법이 무궁무진합니다.
JQL로 필터 기능을 사용하여 내가 원하는 정보만 확인할 수 도있고요.
아직 사용한 지 2개월밖에 지나지 않아 설정된 값만 확인이 가능하지만 자유자재로 쓰게 된다면 업무 효율이 향상될 것입니다.

 

 


팀 내부 문서 & Test Case 

 

Excel, Google Drive VS Confluence, TestLink입니다. 입니다.

 

 

●Excel, Google Drive

팀 내부문서나 Testcase는 구글 스프레드시트 혹은 엑셀로 작성하여서 개인 폴더에 보관하거나 팀 드라이브에 공유를 했습니다.
계정을 연동하면 오프라인에서도 작업이 가능하고요.
수정이력도 확인할 수 있지만 문서의 양이 많아질 때를 대비하여 카테고리별로 정리가 확실해야 합니다.
딱히 엑셀과 구글 스프레드시트, 드라이브는 단점이 없다고 생각합니다.
상황에 맞게 적절한 선택을 하면 되니깐요.
그러나 텍스트에 최적화되어있다는 느낌을 많이 받습니다.
따라서 팀 내 가이드문서를 만들 때는 살짝 아쉬웠습니다. 그림과 같이 설명하기에는 가독성이 떨어졌거든요. 물론 제가 잘 활용하지 못했을 수도 있지만...

 

●Confluence, TestLink

 

팀 내부 문서는 컨플루언스에 모두 저장하고 있습니다.
업무 공유부터 시작해서 회의록, 가이드문서까지 컨플루언스에 작성합니다.
작성했을 때, 관찰자에게 알림을 보내줄 수 돈 있고 관찰자에게 알리지 않고 게시할 수도 있습니다.
직접 코멘트를 추가할 수도 있고 댓글로 소통이 가능합니다.
테스트 링크는 저도 처음 봤습니다. 테스트 케이스를 관리하는 툴은 생각도 못했어요.
오픈소스 도구이고 쉽게 접근할 수 있는 도구인데요. 
Test Spec을 정하고 Test case를 작성하여 Test Suite를 형성합니다.
여러 Step actions을 Expected results에 매칭시킬 수 있고, 각자 사용 방법에 따라 Testcase 뿐만 아니라 Test 시나리오도 작성할 수 있습니다.
그렇게 작성된 Testcase를 plan을 세우고 build version을 구분하여 자유자재로 활용할 수 있습니다.
BTS와 연동도 가능하여 Testcase 수행할 때도 버튼클릭으로 상태를 바꿀 수 있습니다.
성공/ 실패 히스토리도 파악할 수 있고요.
좀 더 연구해 볼 만한 도구입니다.

 

반응형

 

 

 

이렇게 해서 오늘은 간단하게 

 

전 직장과 현 직장이 사용하는 협업 도구를 비교해 봤습니다.

 

갑자기 늘어난 협업 도구부터 숙지해야 했기 때문에

 

업무 피로감이 늘어났었어요.

 

그런데 이러한 협업 도구들을 사용하면서 

 

왜 피곤하게 이런 걸 쓰냐?

 

라는 생각보다는

 

뭔가 조금 더 익숙해지고, 잘 활용하게 된다면

 

업무 효율을 높이거나 커뮤니케이션을 할 때 시간을 단축시킬 수 있겠구나

 

라는 생각이 들었습니다.

 

즉, 비효율적인 건 아니라는 겁니다.

 

그러나 무분별하게 잘 나가는 회사들이 쓴다더라

 

해서 무조건적으로 도구만 많이 쓴다면 그건 닭 잡는데 소 잡는 칼을 쓰는 것과 다름없는 행동이겠지만요.

 

 

일단은 이 정도로만 소개하고

 

시간이 된다면 각 도구에 대해 자세한 설명과 활용방법에 대해 포스팅하고 싶습니다.

 

언제가 될지는 모르겠지만 그때가 빨리 오면 좋겠네요!!

 

그럼 이만!

 

728x90
반응형
728x90
반응형

오늘은 QA 산출물 중에 하나인 프로젝트 중간 보고서에 대해 이야기해보려고 합니다.

 

프로젝트의 결과도 중요하지만

 

결과만큼이나 과정도 중요합니다.

 

늘 과정에서 배우고 결과로 증명하기 때문입니다.

 


프로젝트 중간 보고서는 말 그대로 프로젝트 중간에 보고서를 쓰지만

 

주간 보고서, 현황보고 등

 

프로젝트가 어떻게 진행되는지 공유가 필요한 시점에 작성합니다.

 

예를 들어보겠습니다.

 

11월 1일~ 11월 30일 1달간 진행되는 프로젝트가 있습니다.

 

언제 중간보고서를 작성해서 공유해줘야 할까요?

 

1. 매주 금요일 주간 보고서

 

11월 4일 / 11월 11일 / 11월 18일 / 11월 25일 

 

총 4번 작성되어집니다.

 

2. 프로젝트 중간 보고서

 

11월 18일 

 

프로젝트 중간에 1번 작성되어집니다.

 

4번 작성하느냐 1번 작성하느냐 차이지만 각자 회사의 환경 또는 프로세스에 따라 작성하는 것을 권장드립니다.

 

( 저는 주로 주간 보고서 형태로 작성합니다.)

 


중간 보고서 작성하기 #01 : 이 보고서를 꼭 봐주세요.
1. 수신, 참조자 파악하기 

저는 주로 [수신 : 실무 진행자], [참조 : 관리자, 내가 소속되어 있는 팀]으로 작성합니다. 

실무 진행자는 꼭 프로젝트의 현황을 알아야 하고, 숙지해야 합니다.

그래서 남은 일정 동안 프로젝트를 완성할 수 있을지에 대해 늘 생각해야 합니다.

만약, 본인이 맡은 업무 중 어떠한 요인으로 인해 수행하기 어렵다면 QA에게 공유가 되어야 합니다.

관리자 ( 각 팀 팀장), 내가 소속되어 있는 팀으로 참조를 포함시킨 이유는 각 팀의 팀장들 또한 현재 프로젝트 업무

상황을 확인하여 팀 운용에 참고를 할 것입니다. 또한 프로젝트에 참여하지 않더라도 중간보고를 받음으로써 프로

젝트 진행상황이 와전되는 것을 방지하기 위함입니다.

그리고, 팀원들에게 공유하는 이유는 제가 부재중이더라도 다른 인원이 대응할 수 있도록 공유를 해주고 있습니다.

중간 보고서 작성하기 #02 : QA팀은 이러한 환경에서 검증하고 있습니다.
1. QA가 어떤 환경에서 진행되고 있는지 공유합니다.

예를 들면 Test Device, Test App ver, OS ver 등 이 있겠죠?

2. QA 범위에 대해서 공유합니다.

신규 프로젝트일 경우 Front, Admin 둘 다 진행하겠지만 기존에 운영되고 있던 제품을 리뉴얼할 때는 일부 기능에 대해서는 검증 범위가 제외될 수 있으므로 범위에 대해 명확하게 적어줍니다.

3. 기획서 Histroy에 대해 공유합니다.

저는 주로 명세 기반 작성법으로 Testcase를 작성합니다. 

업무 프로세스상 [사업부 & 연구소 → 기획팀]으로 요구사항을 반영하여 기획서를 작성하기 때문에 기획서가 어떻게 변화했는지 중요합니다.

어떤 사람은 1.0ver 초기기획서를 보고 업무를 진행하고, 어떤사람은 1.5 ver의 최신 기획서를 보고 업무를 진행하는 불상사가 일어나는 것을 방지하기 위함입니다.
 

 

반응형
중간 보고서 작성하기 #03 : 본론입니다. 현재 상황을 숙지해주세요.
1. 한눈에 알아볼 수 있도록 진척률을 도식화하여 작성합니다.

기획서에 명시된 I.A ( Information Architecture )  기준으로 각 기능별 %에 대한 Progress bar를 작성합니다.

2. Test scope에 대한 CheckList를 작성합니다.

기능별 분류 값을 Depth 별로 구분을 합니다.

그리고 [확인] 칸에는 해당 기능(Depth)에 어떤 주요 기능이 확인되어야 하는지 기입합니다.

그리고 진행 여부에 [ 완료 / 진행 중 / 진행 예정 / X ] 항목을 만들어서 프로젝트 진행 현황을 공유합니다.

I.A 기준 Progress bar
Test Scope CheckList

중간 보고서 작성하기 #04 : 결함 분석을 진행하겠습니다.
1. 진행된 Issue tracking or Bug tracking을 표와 차트를 이용하여 제공합니다.

현재 검출된 결함이 어느 정도이고, 수정률은 어느 정도인지 한눈에 파악할 수 있어야 합니다.

중간 보고를 통해 앞으로의 결함 도출 및 수정률을 예상하여 

예정된 일정을 앞 당길지, 아니면 연장할지 생각할 수 있습니다.

2. Critical 한 결함은 따로 기입을 진행합니다.

Critical 한 결함은 교과서라고 생각하시면 됩니다.

개발자는 추후 프로젝트 진행 시, Critical 결함이 왜 나왔는지에 대해 Feedback을 통해 재발을 막을 수 있습니다.

3. 기획 관련 이슈도 공유되어야 합니다.

이는 기획서 관리에도 도움이 될 뿐만 아니라 관련 정책을 재확인할 수 있는 기회입니다.

Bug 의 우선순위
차트를 이용한 중간 보고

중간 보고서 작성하기 #05 : 특이사항입니다. 
1. 마지막으로 프로젝트 기간 도중 발생된 특이사항에 대해 모두 기록합니다.

저번에도 말씀드렸듯이 모든 업무는 투명하게 진행되어야 합니다.

숨기지 않아야 대처가 가능합니다. 

본인이 실수를 했다거나, 타인이 실수를 해서 지연되는 사항이 있더라고 하더라도 목표를 위해 다 기록되어야 합니다.

그것이 제가 말씀드렸던 " 늘 과정에서 배우고 결과로 증명한다 " 의 철칙입니다.



▼참고▼

2022.10.25 - [QA로 단단해지기/내가 업무 할 때 소통하는 이야기] - [내소기] Episode_#07 : 모든 업무는 투명하게 기록한다.


오늘은 QA 담당자로써 프로젝트 중간보고서는 어떻게 쓸까?

 

감이 안 오시는 분들에게 조금이나마 도움이 되고자

 

제가 작성하는 방법을 공유해봤습니다.

 

물론 각자 회사에서 사용하고 있는 보고서 양식이 있으시다면 사용하셔도 무방합니다.

 

저 같은 경우에는 QA 프로세스가 확립되어있지 않은 회사에서 

 

프로세스 구축을 진행하며 여러 양식으로 중간보고서를 작성해 보고 난 후

 

제일 깔끔하고, 전달력이 좋았던 방법이 위의 방법처럼 작성하는 것이었습니다.

 

그럼 Episode 01 마무리하도록 하겠습니다.

 

다음에도 QA 산출물에 대해 작성해보도록 하겠습니다.

 

그럼 이만!

728x90
반응형
728x90
반응형

여덟 번째 에피소드입니다.

 

오늘은 처음으로 면접관이 돼서 면접에 참여한 이야기를 해볼까 합니다.

 

면접은 항상 긴장되고 떨립니다.

 


파트장으로 승진한지 1년도 되지 않은 어느 날이었습니다.

 

새롭게 인력을 충원해야 하고, 프로세스를 개편해야 하는 단계였죠.

 

매일매일이 바쁘고 어지러웠습니다.

 

그러던 어느 날 면접관의 부재로 제가 대신해서 1차 면접에 면접관 자격으로 참석하게 되었습니다.

 

물론, 지원자의 이력서만 잠깐 확인한 정도였습니다.

 

사실 제가 늘 했던 생각은

 

"내가 면접관이 되면 안 떨리겠지?"

 

라는 생각을 많이 했습니다.

 

그런데 웬걸 면접을 보는 지원자일 때와 별반 다를게 없이 긴장이 되었습니다.

 

첫 면접의 기억
그렇게 해서 면접관으로 첫 면접을 들어갔습니다.

지원자는 신입사원으로 지원을 하였습니다.

지금 생각해보면 지원자에게도 굉장히 죄송스럽습니다.

면접을 보기 위해 얼마나 많은 준비를 하고 긴장을 하는지 누구보다 더 잘 알기 때문입니다.

어찌 됐던 면접에 참석을 하였으니 최선을 다해야겠다고 생각했습니다.

제가 중점적으로 확인하고 싶었던 건 

QA 엔지니어로써 어떤 기술력을 가지고 있느냐 보다는

내가 속해있는 QA 팀이 나아가고자 하는 방향성과 부합한 인물인지 확인하는 것이었습니다.

신입사원으로 지원한 만큼 QA 이론보다는 업무를 빠르게 습득할 수 있고, 팀에 어울릴 수 있는 사람인지를 

확인해야 하기 때문에 커뮤니케이션 능력, 성격 위주로 질문을 구성해서 면접을 진행하였습니다.

현실의 벽에 부딪히다.
여러 번 면접관 업무를 진행하다 보니

현실의 벽에 부딪히는 경우가 많았습니다.

우리는 좋은 인력이 필요하지만, 내가 소속된 회사는 그렇게 좋지는 않았습니다.

어떻게 보면 "양두구육"(羊頭狗肉) 이였죠.

면접이 끝나갈 무렵 항상 지원자에게 회사에 대해 궁금한 점을 질문을 받습니다.

신입으로 지원한 지원자의 경우 

대부분 회사에 대한 기대감이 눈에 드러날 정도로 기대를 하는 모습을 많이 보았습니다.

저는 그러나 회사에 4년 가까이 몸담았기 때문에 사실 좋은 모습보다는 안 좋은 모습을 많이 알고 있습니다.

그렇기 때문에, 만약에 이 지원자를 채용한다고 했을 때, 지원자가 나중에 가지게 되는 실망감이 

저에게 돌아올 수도 있다고 생각을 하여 많은 고민에 잠을 설친 적이 하루 이틀이 아녔습니다.

현실의 벽을 부수다.
사실 위와 같은 고민은 쉽게 해결되었습니다.

나 자신이 "복지"가 되는 것이었는데요.

내가 성장해서 많은 것을 알려주고, 내가 분위기를 주도한다면 

회사까지는 아니겠지만 최대한 내가 속해있는 Team도 분위기가 변할 것이라고 생각하였습니다.

그렇기 때문에 나 스스로 성장을 해야겠다는 생각이 많이 들었고,

목표로 설정한 건 " 회사는 별로지만 팀원분들이 너무 좋다."

라는 소리가 나올 정도로 케어를 해줘야겠다는 생각도 들었습니다.

물론 늘 이직을 생각하고 있었지만, 왠지 모를 책임감이 생겨 인력을 충원할 때에는 이력서 사이트를 모두 OFF 시키기도 하였습니다.

아직도 많이 부족하지만 그래도 이때 다짐했던 목표를 지금까지는 잘 수행하고 있는 것 같습니다.
반응형

 

 


오늘은 처음 면접관의 자격으로 면접에 참석했을 때 기억을 되살려봤는데요.

 

면접관의 자격으로 한 20번 이상의 면접을 진행한 것 같습니다.

 

그런데도 아직 면접 일정이 잡히게 되면 

 

지원자일 때와 동일하게 잠을 설치고 소화도 잘 안되고 긴장이 되는건 마찬가지더라고요.

 

내가 지원자일때 면접관들은 피도 눈물도 없는 냉혈한인줄 알았지만

 

다 똑같은 사람입니다.

 

면접관들도 행여 실수를 하여 지원자의 마음에 상처를 주지 않을까

 

굉장히 고민을 많이 한다는 점.(물론 안 그런 사람도 있지만)

 

그럼 Episode08 마무리하겠습니다.

 

다음에 만나요~

728x90
반응형
728x90
반응형

일곱 번째 에피소드입니다.

 

오늘 제목은 솔직합니다.

 

모든 업무는 투명하게 기록되어야 합니다.

 

투명하게 기록한다.

오늘의 핵심 키워드는 "기록" 입니다.

 

 

 


오늘은 제가 실무를 진행하며 겪었던 일에 대해 

 

MSG좀 첨가하여 예를 들어보겠습니다.

 

왜 QA 한테는 공유를 안 해주시나요?
프로젝트 단위로 QA를 진행하다 보면 엄청 다양한 일이 일어납니다.

그리고 여러 책임감 없는 사람도 볼 수 있습니다.

며칠 전에는 QA Plan, Design 기간이 종료되고 검증일이 시작한 후에 일부 정책이 변경되었다는 것을 알 수 있었습
니다.

명세 기반 작성법으로 Testcase를 작성하고 수행하게 되면 설계기간 이후에 발생되는 정책 변경 사항은 치명적입니다.

회사 정책 같은 경우에는 굉장히 민감한 사항입니다.

관련 사업부서, 마케팅 부서, 영업 부서도 정책을 기반으로 한 매뉴얼대로 움직이고 각 회사 법무팀에서 법적으로 위반되는 사항이 있는지 까지 확인을 하기 때문입니다.

그런 중요사항이 검증 시작 이후 공유가 된다면, QA는 다시 Testcase를 손 볼 수밖에 없습니다.

명세 기반 Testcase를 작성할 때는 명세서에 있는 기능에 대해 모든 Testcase를 작성한 후에 작성한 case들이 정책에 위반되지는 않는지 CrossCheck 프로세스가 추가되기 때문입니다.

하지만 QA를 단순 Tester로 보는 구성원, 혹은 회사라면 이런 정책 변경사항을 공유를 잘해주지 않습니다.

정책 같은 부분이 Software에 적용된다는 사실을 간과하기 때문이죠.

그렇기 때문에 최종적으로 QA Plan, QA Design 전에 QA 엔지니어는 바뀐 정책이 있는지에 대해 항상 확인을 해야 합니다.

사실 QA가 확인한다고 해서 100% 대비할 수는 없지만  QA 엔지니어는 항상 최악의 경우를 대비해야 되기 때문에  명심하고 조심해야 합니다.

정책이 미치는 영향

또 QA 한테는 공유를 안 해주셨네요? 
이런 적도 있습니다.

Dev ↔ 기획자 둘만의 소통으로 인해 QA에게 정보가 누락된 경우가 있습니다.

이는 주로 빠른 업무처리를 위해 BTS에 등록하지 않고, 그 자리에서 즉흥적으로 기획을 변경하거나 개발을 수정하는 경우가 많습니다.

그래서 나중에 검증기간에 관련해서 결함으로 등록하면 돌아오는 답변은

" 기획자와 유선으로(구두로) 수정된 사항입니다."

라고 답변이 옵니다.

이럴 경우 화가 머리끝까지 치밀어 오릅니다.

같은 프로젝트를 진행하는데 왕따를 당한 기분이 드니까 말이죠.

사실 이런 경우에는 힘이 빠지긴 하지만 저 같은 경우는 프로젝트 관련 게시글 혹은 Slack에 공지를 합니다.

1. 기획 변경 시, 꼭 QA를 포함한 모든 관련 부서에게 공유 부탁드립니다.

2, QA 기간 동안에는 보고되지 않은 결함 수정은 진행되지 않아야 합니다.

3. 프로젝트 진행 시, 프로젝트와 관련된 모든 사항들은 해당 게시글(Slack 등)에 기록되어야 합니다.

라고 공지를 합니다.

왜 강하게 공지를 하냐면, 결론적으로 QA는 일을 두 번씩 하게 되는 무의미한 업무를 진행하게 됩니다.

예를 들어 기획에 맞지 않는 기능이 있어 해당 issue를 BTS에 등록합니다.

Assign to dev 상태로 등록이 되겠죠?

그러면 Fix 상태로 와야 될 결함이 Not a bug 상태로 오게 됩니다. 왜냐면 이미 QA 가모르는 상태에서 기획이 변경되었기 때문이죠.

그러면 해당 issue는 벌써 여러 상태 값이 존재하게 되고 QA > 개발 > QA > 기획 > QA라는 불필요한 핑퐁이 생겨나게 됩니다.

QA > 개발 > QA에서 끝나게 될 일을 말이죠.

반응형

이건 싸우겠다는 건가요?
제 경험상 프로젝트 진행 중 언성이 높아지는 경우는 위와 같이 어떠한 내용이 공유가 되지 않을 때입니다.

" 왜 공유해주지 않으셨죠?"

"저희는 몰랐는데요?"

"저희한테 공유 안 해주셨으니 책임지지 않겠습니다." 등등

사소한 내용이라도 공유가 되지 않았을 경우 같이 협업하는 입장에서 이미 기분이 상하기 때문에 언성이 높아질 확률이 높다고 생각됩니다.

그래서 제가 하고 싶은 말은 모든 업무는 투명하게 기록되어야 합니다.

왜 "투명하게" 기록되어야 하냐면, 각자 A라는 주제에 대해 소통을 하더라도 어떤 사람은 A로 이해를 하고 또 어떤사람은 B로 이해를 할 수 있기 때문입니다.

그렇기 때문에 업무에 대해 기록을 할 때는 객관적으로 기록을 해야 되며, 주관적인 생각이 들어갈 때에는 반드시 "제 의견은", "00팀 의견은" 이런 식으로 꼭 명시를 해줘야 됩니다.

그래야 추후 오해가 생기지 않고, 누구나 수긍 가능한 결과를 도출해낼 수 있기 때문입니다.

오늘은 업무를 진행할 때, 

 

불필요한 커뮤니케이션 또는 오해를 방지하기 위해 QA 엔지니어는 어떻게 업무를 진행해야 하는가에 대해

 

제 경험과 함께 알아봤습니다.

 

물론 다들 각자의 방법이 있겠지만 저는 투명하게 기록하는 것

 

업무의 정석이라고 생각됩니다.

 

그럼 Episode 07 마무리하겠습니다.

 

다음에 또 만나요~

728x90
반응형
728x90
반응형

여섯 번째 에피소드입니다.

 

제목이 오늘 엄청 특이하죠?

 

가수 임재범의 "너를 위해"를 패러디했습니다.

 

제목 : 프로젝트를 위해

 

거친 개발자와~~ 불안한 기획자와~~ 그걸 지켜보는 QA~~

 

실무를 하다 보면 여러 사람이 있습니다.

 

개발자로서의 프라이드가 엄청 강하신 사람이 있고,

 

경력이 얼마 되지 않아 자신이 한 기획에 대해 자신감이 없는 사람도 있습니다.

 

모든지 완벽할 수 없습니다.

 

제가 생각하기에는 완벽한 프로젝트는 개발&기획&QA가 서로 마주 보고 손바닥을 쳤을 때

 

짝 소리가 나야 합니다.

 

삼위일체가 되어야 한다는 뜻이죠.

 

오늘은 프라이드가 강한 거친 개발자, 경력이 부족한 불안한 기획자, 그걸 지켜보는 QA에 대해서 이야기해보겠습니다.

 

 


 

 

오늘도 쉬운 예를 들어보겠습니다.

 

여기 기획서가 있습니다.

 

구매하기 BTN을 클릭하면

 

구매하기 Alert 이 출력되어야 합니다.

 

QA 도중 해당 페이지에서 구매하기 BTN 을 클릭했는데 

 

바로 결제 페이지로 이동되는군요.

 

결함을 등록합시다.

 

 

 

이게 왜 결함이야!!!
개발자가 엄청 화가 났습니다.

왜일까요?

QA에서 BTS에 등록한 결함을 보고 왜 결함이냐고 묻습니다.

●QA : 기획서에 명시된 대로 BTN 클릭 시 Alert 이 출력되어야 합니다.

●Dev : 어차피 유저는 구매할 생각으로 눌렀는데, 왜 Alert을 띄워줘야 하죠?
그리고 또 결제 페이지로 이동되면 정상 동작 아닌가요?
이 issue #001 은 수정하지 않겠습니다.

●Planner : 헉! ㅠㅠ 

●QA : 흠... 

냉정하게 분석하기
●QA : 기획자님 해당 기능에 대한 기획의도가 무엇일까요?

●Planner : 어... 그냥 다른 사이트도 구매하기 BTN을 클릭하였을 때, Alert 이 나와서 동일하게 기획하였습니다.

●QA : 흠... 그러면 해당 기능에 대해서 수정을 진행할 수 없습니다.
사실 구매하기 BTN을 클릭하였을 때, 결제 페이지로 이동되는 현상은 정상적입니다.

●Planner : 어떻게 하죠 ㅜㅜ

●QA : 잠시만요...

기획자가 경력이 부족하여 자세한 히스토리를 모르는 업무에 대해

 

기획서를 쓰다 보니 이런 사소한 기능에서도 

 

Description이 왜 이렇게 정의되어 있는지 모르고 있습니다. 

 

이전 대화에서 기획자가 "다른 사이트도..... 동일하게...."

 

라고 말한 것 기억하시죠?

 

자 그럼 다른 사이트를 확인해보면 QA가 해야할 일은 두가지가 있습니다.

 

1. 다른사이트를 기획한 사람에게 히스토리 물어보기 

2. 관련된 프로젝트 문서를 확인해보기
히스토리 파악하기
1. 다른사이트를 기획한 사람에게 히스토리를 물어봅니다.

●QA : 혹시 00 사이트를 기획하실 때, 해당 Alert을 띄우는 이유에 대해 알고 계신가요?

●다른 기획자 : 흠... 잘 모르겠지만 CS 관련 부서에서 요청이 들어왔었어요.


2. 관련된 프로젝트 문서를 확인해보기 

CS 관련부서에서 요청이 들어왔기 때문에 CS 확인할 수 있는 게시판에서 특정 키워드로 검색을 하거나 

관련된 프로젝트 문서에 대해 열람 권한을 획득한 후 히스토리를 파악할 수 있습니다.

●QA : 그럼 해당 프로젝트를 진행할 때에 문서를 확인할 수 있도록 열람 권한을 주시겠습니까?

●다른 기획자 : 네 ~ 드렸습니다.

관련 프로젝트 문서를 확인하던 도중 

 

CS 관련부서의 요청을 확인할 수 있었습니다.

 

이유는 두 가지였습니다.

 

1. 강성 컴플레인 유저

 

2. 구매하시겠습니까? Alert을 띄우지 않았을 때, 환불하는 유저가 많았던 점.

 

자 그럼 이제 개발자를 설득할 시간이 되었습니다.

 

수정해주세요. 얼른!!
●QA : 개발자님

●Dev : 왜요! 

●QA : Issue #001 수정해주셔야겠습니다.

●Dev : 왜요!! QA 도 개발팀 소속이면서 기획자 편을 들어주는 거예요?!

●QA : 해당 기능은 과거 유저 CS로 인해 생긴 기능입니다.
바로 구매 페이지로 이동하여 강성 컴플레인을 건 유저가 있었습니다.
그리고 구매하겠습니까? Alert을 띄우지 않았을 때, 환불하는 유저가 많아 다른 사이트에도 모두 Alert 을 노출시켜주고 있습니다.
그래서 이번 00 사이트에서도 구매하기 BTN을 클릭하였을 때, Alert 이 출력되어야 합니다.

●Dev : 깨갱.. 알겠습니다. 수정되었습니다.


이렇게 해서 잘 마무리되었습니다.

 

물론 위의 예시는 쉽게 설명하기 위해 들은 예시입니다.

 

실무를 하다 보면 많은 사람들과 커뮤니케이션을 하지만

 

늘 잘되는 일은 없습니다.

 

실제로 저는 위와 같은 경험을 굉장히 많이 겪었습니다.

 

Minor 한 결함이고, 당연하다고 생각되는 기능이지만

 

의문을 가지고 자신이 한 개발이 항상 맞다!

 

이런 식의 대화도 많이 겪었습니다.

 

여기서 QA는 그 누구의 편도 아니며, 항상 품질만을 생각해야 되기 때문에

 

이런 상황에서는 "근거"가 명확해야 합니다.

 

저는 회사를 다닐 때, 항상 다른 사람과 친하게 지냅니다.

 

물론 사람들과 대화하는 걸 좋아해서 그렇죠.

 

이런 상황이 오면 또 다른 사람들에게 도움을 받기에도 엄청 좋습니다.

 

물론 저도 제 일이 아니더라도 도움을 받는 만큼 돌려줍니다.

 

그리고 항상 확인하는 것이 프로젝트를 진행할 때에 유사한 프로젝트는 어떻게 진행되었으며

 

특이사항이 있었는지에 늘 체크를 합니다.

 

그리고 이번 프로젝트에서 예외적인 상황이 나올 수 있는지 미리 체크리스트를 작성하여 대비를 하는 것이지요.


오늘은 거친 개발자, 불안한 기획자 사이에서 QA는 어떻게 행동해야

 

품질을 높일 수 있는지 알아보는 시간을 가졌습니다.

 

QA 는 항상 품질만 생각해야 합니다. 

 

커뮤니케이션은 양팔저울처럼 어느 하나 기울어진 곳 없이 

 

동등하게 대해야 합니다.

 

그럼 Episode 06 마무리하겠습니다.

 

다음에 또 만나요~

 

728x90
반응형
728x90
반응형

두 번째 에피소드입니다.

오늘은 명세 기반 작성법으로 TestCase를 작성한 후에

TestCase를 보완하는 CheckList를 작성하는 이유와 방법에 대해 간단하게 포스팅해보겠습니다.

 

가기 전에 두 가지 Keypoint를 짚고 넘어가겠습니다.

 

입력 값에 대한 예상 출력 값을 정해놓고 그대로 결과를 나오는지 확인한다.
테스트 혹은 평가해야 할 항목을 정리하고 누락 없이 검증하는 것을 목적으로 한다.

 

 


 

얼핏 보면 같은 내용 아닌가요?

 

라고 생각할 수 있습니다만

 

포커스를 어디에 맞추느냐 생각해보면 달라질 수 있습니다.

 

첫 번째 키 포인트는 예상 출력 값에 포커스를 맞췄습니다.

 

즉, 기대 결과를 중심으로 작성한 TestCase입니다.

 

두 번째 키 포인트는 항목에 포커스를 맞췄습니다.

 

경험이나 TestCase를 보완할 테스트 항목에 대해 작성한 CheckList입니다.

 

각각 차이를 쉽게 볼 수 있도록 아래 표를 준비해 보았습니다.

공통된 목적을 가지고 있으나 미세하게 다른 차이가 있습니다.

 

물론 사람마다 다르겠지만 제가 업무를 할 때는 위의 표처럼 구분지어서 사용하고 있습니다.

 


 

간단하게 예를 들어보겠습니다.

 

여기 로그인 페이지에 대한 기획서가 있습니다.

Description 1번 로그인 항목에 대한 Test Case를 작성해 보겠습니다.

 

# 명세 기반의 TestCase 작성

명세서 기반으로 작성하였기 때문에 위의 TestCase 에는 Test Step 동작 후 로그인 처리 동작에만 포커스를 맞췄습니다.

 

물론 로그인이 동작하면 Pass 처리가 되겠지만

 

우리는 그동안의 업무 경험으로 인해 우리는 추가로 보완해야 할 항목이 무엇인지 알고 있습니다.

 

회원에 대해 분류를 해야 하는데요.

 

이는 어떠한 사이트를 가도 공통된 항목이 있을 것입니다.

 

대표적으로, 비밀번호가 만료된 계정 또는 일정 기간 동안 접속하지 않아 휴면 처리된 계정 등 

 

해당 사이트를 접속하는 여러 회원에 대해서 테스트가 누락될 수 있습니다.

 

그렇기 때문에 CheckList를 추가적으로 작성합니다.

 

 

# 업무 경험 기반으로 CheckList 추가 작성

이런 식으로 회원별 CheckList를 추가로 작성하는 겁니다.

 

그렇게 된다면 TestCase로 1차적으로 로그인 기능에 대해 확인을 하고,

 

2차적으로는 회원을 분류하여 회원 타입별로 로그인 기능이 정상 동작을 하는지 확인할 수 있습니다.

 


오늘은 "TC 다 썼는데 CheckList도 작성해야 돼요?"

 

라는 의문에 대한 답을 어떻게 내렸는지에 대해 다뤄봤는데요.

 

사람마다 생각하고 실무에 적용하는 것이 각자 다르겠지만

 

우리 QA 엔지니어의 목적은 하나입니다.

 

어떻게 품질을 상승시킬 수 있고, 효율적으로 문서들을 관리할 수 있는지에 대해 늘 고민해야 됩니다.

 

그럼 Episode 02 마무리하도록 하겠습니다.

728x90
반응형
728x90
반응형

오늘은 제가 PC Web Test를 진행할 때

 

사용하는 방법 중 하나인 개발자 도구(F12) 이용하는 법에 대해 간단하게 설명드리겠습니다.

 


1. 개발자 도구 켜기

개발자 도구를 켜는 단축키는 웹 브라우저에서 F12를 누르면 됩니다.

그러면 사진과 같이 개발자 도구가 나오죠?

 

톱니바퀴 도구를 눌러봅시다.

 

여기서 한국어로 변경 가능합니다.!!

 


2. Network 탭 사용하기

일단 Network 탭 사용하기에 앞서 간단하게 Network 탭을 사용하면 좋은 점에 대해 알아보겠습니다.

 

  1. HTTP 통신과정을 확인할 수 있습니다.
  2. Browser 와 Server 간 통신과정을 확인 할 수 있습니다.
  3. Throttling 설정으로 Mobile web의 느린 네트워크 환경을 설정할 수 있습니다.

일단 Naver에서 개발자 도구(F12)에 Network 탭에 대한 구성을 확인해볼까요?

 

 

■ Network 탭의 각 항목



① Name : 이름입니다.

② Status : 상태 값 (하단에 status code 참고)입니다.

③ Type : 응답의 content 종류 (document, png, script ...)입니다.

④ Initiator : 시작지점 other 는 root 를 의미한다. 제일 처음 진입된 network 정보입니다.

(Ex. naver 의 경우 www.naver.com이 other 라고 보시면 됩니다.)

(index의 경우는 index 페이지에서 직접 호출되었다는 의미이고, 그외에는 html에서 태그로 호출하는 값을 의미입니다.

⑤ Size : 용량입니다.

⑥ Time : 요청의 시작 ~ 응답 종료시점의 시간 (하단의 Waterfall 참고)입니다.

⑦ DOM : Dom Tree 구조를 그리는데 걸리는 시간입니다.

⑧ Load : Dom Tree 구조 포함, 이미지까지 화면에 로드되는 시간입니다.



 

Waterfall 마우스 커서를 올리면 자세한 지표를 보여줍니다.

 

사실 제가 여기서 활용하는 정보는 Status Codes입니다.

 

Web QA를 할 때, 제가 우선순위를 높게 보는 것은 Web page를 잘 불러오느냐부터 확인을 하는 것이지요.

 

그럴 때 가끔 아래와 같이 페이지를 불러올 수 없을 때가 있는데요.

 

 

Status Codes로 어떤 점이 문제인지 확인할 수 있습니다.

■ Status codes

100 : Continue

101 : Switching protocols

200 : OK, 에러없이 전송 성공

201 : Created, POST 명령 실행 및 성공

202 : Accepted, 서버가 클라이언트 명령을 받음

203 : Non-authoritative information, 서버가 클라이언트 요구 중 일부 만 전송

204 : No content, 클라언트 요구을 처리했으나 전송할 데이터가 없음

205 : Reset content

206 : Partial content

300 : Multiple choices, 최근에 옮겨진 데이터를 요청

301 : Moved permanently, 요구한 데이터를 변경된 임시 URL에서 찾았음

302 : Moved temporarily, 요구한 데이터가 변경된 URL에 있음을 명시

303 : See other, 요구한 데이터를 변경하지 않았기 때문에 문제가 있음

304 : Not modified

305 : Use proxy

400 : Bad request, 클라이언트의 잘못된 요청으로 처리할 수 없음

401 : Unauthorized, 클라이언트의 인증 실패

402 : Payment required, 예약됨

403 : Forbidden, 접근이 거부된 문서를 요청함

404 : Not found, 문서를 찾을 수 없음

405 : Method not allowed, 리소스를 허용안함

406 : Not acceptable, 허용할 수 없음

407 : Proxy authentication required, 프록시 인증 필요

408 : Request timeout, 요청시간이 지남

409 : Conflict

410 : Gone, 영구적으로 사용할 수 없음

411 : Length required

412 : Precondition failed, 전체조건 실패

413 : Request entity too large,

414 : Request-URI too long, URL이 너무 김

415 : Unsupported media type

500 : Internal server error, 내부서버 오류(잘못된 스크립트 실행시)

501 : Not implemented, 클라이언트에서 서버가 수행할 수 없는 행동을 요구함

502 : Bad gateway, 서버의 과부하 상태

503 : Service unavailable, 외부 서비스가 죽었거나 현재 멈춤 상태

504 : Gateway timeout

505 : HTTP version not supported

자세한 Status codes 정보는 아래 링크에서 확인할 수 있습니다.

▼▼▼▼▼▼▼

https://developer.mozilla.org/en-US/docs/Web/HTTP/Status

 

HTTP response status codes - HTTP | MDN

HTTP response status codes indicate whether a specific HTTP request has been successfully completed. Responses are grouped in five classes:

developer.mozilla.org

 

 


3.throttling 설정

Fast 3G, Slow 3G, Offline.. 등의 느린 네트워크 환경을 설정할 수 있습니다.

아무것도 설정하지 않은 상태의 Naver를 불러오는 속도입니다.

 

Finish :7.56s / DOM : 867ms / Load : 1.05s

 

여기서 Slow 3G 환경으로 변경하면 어떻게 될까요?

눈에 띄게 차이가 나는 것을 확인하실 수 있을 것입니다.

 

Finish :48.37s / DOM  : 4.30s / Load : 12.71s

 

DOM이나 Load 같은 경우에는 단위가 바뀔 정도이고 7초에서 49초가량 7배나 느려진 속도를 확인하실 수 있습니다.

 

throttling 설정 같은 경우는 QA에서 어떻게 활용하냐면

 

정상 동작하는 Web 사이트에서 가끔 콘텐츠가 제대로 노출되지 않는다고 CS 유입될 때가 있습니다.

 

재현도 어렵고요.

 

그럴 때 제일 먼저 하는 방법이 throttling 설정을 통해 유저가 혹시 느린 네트워크 환경에서 

 

Web 사이트를 이용하지는 않았는지 확인합니다.

 

대부분 유저가 일시적으로 느린 네트워크 환경을 사용하여 발생되는 사건일 때가 많았습니다.

 

 


원래 주말에 포스팅했어야 했는데 주말에 큰 사건이 있었죠,

 

물론 티스토리도 예외는 아니었죠.

 

그래서 뒤늦게 작성한 감이 있지만 오늘은 개발자 도구(F12)의 Network 탭을 사용하여 

 

어떻게 Web QA에 활용하는지 간단하게 알아보았습니다.

 

그럼 다음 에피소드도 기대해주세요.

728x90
반응형
728x90
반응형

오늘은 제가 실무에서 명세 기반 테스트 케이스 작성을 하면서 드는 생각과

몇 가지 상황에 어떻게 대처하는지 Episode 형식으로 간략하게 포스팅을 할 예정입니다.

상황 설명에 앞서 명세 기반 테스트 케이스 작성법에 대해 간략하게 짚고 넘어가겠습니다.

 

일단 명세기반 테스트 케이스 작성법이란?

 

요구 분석 명세서나 설계 설명서에서 테스트 케이스를 추출하여 테스트한다.

입력 값에 대한 예상 출력 값을 정해놓고 그대로 결과를 나오는지 확인한다.



위의 두 문장 정도가 key point 입니다.

 

자세한 설명은 Naver 지식백과 링크에서 확인할 수 있습니다.

 

▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼

https://terms.naver.com/entry.naver?docId=3533034&cid=58528&categoryId=58528 

 

명세 기반 테스트

명세 기반 테스트는 일반적으로 블랙박스 테스트(blackbox test)로 더 알려져 있다. 블랙박스 테스트는 [그림 8-14]처럼 청진기로 환자를 진찰하는 상황에 비유할 수 있다. 일반적으로 병원에 가면 의

terms.naver.com

 

주로 저는 소프트웨어 기획서를 전달받고, 그 기획서에 나온 logic , description을 토대로

 

Pre-condition(사전 조건), Test Step(테스트 스텝), Expected Result(예상 결과) 3가지를 구분하여 작성합니다.

 

기획서에 명확하게 명시되어있다면 정말 빠르고 손쉽게 작성할 수 있지만

 

기획서의 logic이 불분명하거나 description의 내용이 부족하면 작성하는데 조금 시간이 걸리곤 합니다.

 

오늘 다룰 상황은 "생략"된 description입니다.

 

 

 

# 다른 페이지의 기능과 동일하다.

 

여기 2페이지의 기획문서가 있습니다.

1페이지 에서는 [A] Tab에서 Web BTN을 클릭했을 때의 Description 이 명시되어 있지만

 

2페이지에서는 이전 페이지와 동일한 기능을 한다고만 적혀 있습니다.

 

그러면 2페이지에 대한 Test case는 어떻게 작성해야 할까요?

 

어떻게 보면 똑같이 [B] Tab에서도 Web BTN이 있고, 동일한 URL로 이동하기 때문에 큰 문제는 없겠지만

 

Expected Result에 "이전 페이지와 동일하게 동작해야 한다."라고 적을 수는 없습니다.

 

TestCase를 작성하는 이유 중 하나는 문서화를 통해 문서를 참고하는 사람들에게 이해를 도울 수 있어야 합니다.

 

이전 페이지와 동일하게 동작해야 한다.라고 작성할 경우에는 

 

해당 프로젝트를 진행할 때는 이상 없이 진행될 수 있겠지만

 

추후 관련 프로젝트 개발을 위해  또는 새로운 인력이 소프트웨어 이해를 돕기 위해 해당 문서를 참고할 경우

 

[A] Tab의 기능 부분을 다시 숙지해야 하는 번거로움이 생기거나, 누락된 Case로 인해 오류가 발생할 수 있기 때문입니다.

Test Step이나 Expected Result 가 같을 순 있겠지만, Pre-Condition 이 다르기 때문에 꼭 구분해서 작성합니다.

 

간단한 예시를 들었지만, [A] Tab에서 나올 수 있는 Test Step 이 10가지 이상으로 Description 이 명시되어있는 상황에도

 

똑같이 [B] Tab 에 대한 Case를 구분하여 작성합니다. 

 

 

제가 실무를 할 때, 기획자마다 스타일이 정말 다릅니다.

어떤 기획자는 Description 상세하게 적어서 Ctrl + C, Ctrl + V를 해도 될 정도로 상세하게 Description을 적어주는 반면,

어떤 기획자는 예상 결과를 QA 가 추측을 해서 작성해야할 정도로 간략하게 Description 을 적어주기도 합니다.

물론, 유능한 QA 엔지니어라면 어떤 기획문서가 와도 입력값에 대한 정확한 예상결과를 도출해 낼 수 있어야 합니다.

오늘은 "다른 페이지의 기능과 동일합니다."

 

라는 상황에 어떻게 대처했는지에 대해 다뤄봤는데요.

 

앞으로 명세 기반 테스트 케이스 작성을 하면서 발생했던 상황과 예시를 많이 작성할 예정입니다.

 

많은 관심 부탁드리며~

 

그럼 Episode 01 마무리하도록 하겠습니다.

728x90
반응형

+ Recent posts