개발자는 분명 테스트 했는데 QA가 테스트하면 로그인부터 안 되는 이유?
[상황]
아래 상황을 예로 들어보겠습니다.
개발이 완료되고, QA 단계에서 테스트하게 된 상황입니다.
- QA 담당자 : 빌드 주세요.
- 개발자 : 1.0.0 빌드 올렸습니다. 테스트 부탁드립니다.
- QA 담당자 : 1.0.0 설치했는데 앱이 실행이 안 되네요? 재빌드 부탁드립니다.
- 개발자 : 빌드 옵션이 잘못돼서 재빌드했습니다. 1.0.1로 설치해서 재확인 부탁드립니다.
- QA 담당자 : 설치는 되었는데 로그인이 안 됩니다. 확인 부탁드립니다.
한 번쯤은 경험해 보았을 상황이라 생각합니다.
[중략]
왜 이런 일이 발생할까요? 이유는 매우 간단합니다. 테스트 방법이 다르기 때문인데요. 간혹 정말 생각지 못한 범위에서 결함이 발생하기도 합니다. 이 경우에는 QA 단계에서도 발견하기 어렵기 때문에 개발자와 동일한 상황에 놓이게 됩니다. 이 부분은 뒷부분에 조금 더 자세히 말씀드리겠습니다.
위와 같은 상황이 발생하는 지극히 주관적이지만 제가 알고 있는 개발자의 개발/수정/테스트하는 경우를 예를 들어 보겠습니다.
첫 번째 경우,
한 사람이 A라는 Feature를 개발하기 위해 A-1, A-2, A-3, A-4, A-5의 작업을 생성해서 개발을 시작했다고 해봅시다.
- A-1, A-2 개발이 완료되어 Resolved 처리 하였습니다.
- A-3 개발 중 버그가 발견되어 A-3-b를 생성하여 작업하였습니다.
- A-3–b 개발 완료 후 확인 테스트를 수행하였고, Resolved 처리 하였습니다.
- A-4, A-5 개발이 완료되어 Resolved 처리 하였습니다.
- A라는 상위 Feature에 대해서 Source Merge 후 테스트하고 상태를 Resolved 처리 하였습니다.
이런 상황에서 A(상위 Feature)를 Resolved 전에 A 기능에 대해 테스트하게 되면 개발 중에 발견한 버그도 확인이 되고 문제없이 QA로 인계가 될 것입니다.
중요한 것은 A-3-b를 수정하고 테스트할 때 기존 개발 완료 처리 했던 A-1, A-2에 영향이 없는지 분석/검토해야 합니다. 좀 더 나아가서 A-3-b가 B-3와 같이 개발 범위가 아닌 부분에 영향이 없는지도 검토가 되어야 하고, 필요에 따라 테스트가 수행되어야 합니다.
대부분의 경우는 위와 같은 상황에서 충분히 분석되지 않고 테스트도 수행되지 않아 QA로 인계하였을 때 결함이 발생합니다.
두 번째 경우,
A, B, C, D, E의 Feature를 한 사람이 아닌 여러 사람이 개발하는 경우입니다. 이 경우는 첫 번째 상황보다 매우 복잡하고 경우의 수가 무한에 가까운 수준으로 올라가게 됩니다.
하지만 매우 안타깝게도 대부분의 개발은 두 번째 상황으로 개발이 진행됩니다. 그렇기 때문에 개발자는 많은 시간과 다양한 케이스에 대해서 테스트를 수행하더라도 막상 QA 담당자가 테스트하게 되면 매우 기본적인 결함이 발견되는 것입니다.
그렇다면 이 상황을 어떻게 풀어야 할까요? 문제점은 명확하게 알고 있기 때문에 방치하거나 QA 담당자가 알아서 하겠지? 라기보다는 최대한 문제를 해결하기 위해 노력해야 합니다.
개발자가 Feature에 대한 개발이 완료된 경우 체크리스트를 작성해서 테스트하시길 권장해 드립니다. 단위 테스트를 위해서 가장 많이 활용하는 것이 체크리스트이며 체크리스트는 요구에 대한 검증이 아닌 기능의 동작에 초점이 맞춰진 방법입니다.
메뉴 트리 방식의 체크리스트도 좋고, 기능 명세에 대한 체크리스트도 좋습니다. 다양한 방식이 있으니 검토해 보시고 활용해 보시길 적극 추천해 드립니다. 체크리스트를 도입하게 되면 QA 단계의 테스트에서 기본적인 결함은 발견되지 않을 것입니다.
좀 더 나아가서 체크리스트의 목록을 자동화 테스트하는 방법입니다. 빌드 전 테스트가 수행될 수 있도록 CI/CD를 구축하는 것이 가장 바람직하며, 한번 정해진 시나리오로 매번 테스트하는 것이 아닌 시나리오는 점차 늘려가면서 커버리지를 높이는 것이 중요합니다.
그렇다면 개발자가 체크리스트도 수행하고 테스트 자동화도 구축해서 커버리지도 높였다고 하면 그러면 QA 담당자는 무엇을 하지? 라고 생각하실 수도 있을 것 같습니다.
가끔 QA는 무엇을 하는 사람들이지? 라는 질문을 받곤 하는데요. 회사에 개발자가 테스트하면 되지 QA 담당자 혹은 테스터가 무슨 필요 있어? 라고 하는 회사도 있습니다.
관련 참고 자료
※ 아래는 필자가 작성한 원글 링크입니다. 자세한 내용은 아래 링크에서 확인 바랍니다. |
QA가 개발자에게 보내는 편지
feat. 개발자 테스트에 대하여
medium.com
Android, iOS, Web 테스트해 드립니다. - 크몽
품생품사 전문가의 IT·프로그래밍 서비스를 만나보세요. "이런 분들께 추천 드리는 서비스입니다."1. 현재 소프트웨어(앱, 웹 혹은 제품 및 서비...
kmong.com
요약 : 투잡, n잡, N잡, 크몽부업, 부업, 부수익, kmong부업, 전자책, vod, 유튜브