QA ≠ Test

QA(품질 보증)는 개념적인 용어이고, TEST는 QA(품질 보증)를 하기 위한 수단이자 방법이다.

TESTING

[TESTING] QA가 바라보는 개발자 테스트에 대하여

품생품사(品生品死) 2024. 4. 6. 12:00
반응형

개발자는 분명 테스트 했는데 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의 작업을 생성해서 개발을 시작했다고 해봅시다.

  1. A-1, A-2 개발이 완료되어 Resolved 처리 하였습니다.
  2. A-3 개발 중 버그가 발견되어 A-3-b를 생성하여 작업하였습니다.
  3. A-3–b 개발 완료 후 확인 테스트를 수행하였고, Resolved 처리 하였습니다.
  4. A-4, A-5 개발이 완료되어 Resolved 처리 하였습니다.
  5. 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가 개발자에게 보내는 편지

feat. 개발자 테스트에 대하여

medium.com

 

 

Android, iOS, Web 테스트해 드립니다. - 크몽

품생품사 전문가의 IT·프로그래밍 서비스를 만나보세요. "이런 분들께 추천 드리는 서비스입니다."1. 현재 소프트웨어(앱, 웹 혹은 제품 및 서비...

kmong.com

 

요약 : 투잡, n잡, N잡, 크몽부업, 부업, 부수익, kmong부업, 전자책, vod, 유튜브

반응형