본문 바로가기
QA

테스트 케이스 내에서 "기능이 정상" 이란 문구에 대한 생각

by Zeromk2 2024. 4. 10.

AI로 생성된 이미지 입니다

 

QA 주니어 시절 저는 테스트 케이스를 작성할 때 예상 결과로 

"~ 가 정상인지 확인"

"~가 정상적으로 보이는지 확인"

같은 문구를 사용했었습니다.

1인 QA를 자주 하다 보니 이런 문구를 사용해도 문제가 생기지 않았었죠. 저는 "정상" 인 상황을 알고있기 때문입니다.

그런데 인수인계를 해야 하는 상황이 왔을 때 문제가 발생했습니다.

바로 "정상" 이 어떤 상태를 말하는 것이냐에서 사람마다 차이가 발생했던 것이죠.

 

예를 들면 회원가입 후 마이페이지로 이동되는 것이 의도한 기능이라고 하겠습니다. 

의도한 기능을 알고 있는 작성자는 기대 결과에 단순히 "회원가입 기능이 정상동작 한다"라고 작성하였습니다.

해당 케이스를 다른 인원이 수행할 때 회원가입은 성공적으로 되었는데 회원가입후 홈 화면으로 이동이 되고 있었습니다.

회원가입 기능은 정상이었기 때문에 해당 케이스는 PASS 처리될 것입니다.

만약 마이페이지에서 회원가입 온보딩이 진행되는 기능이 있었다면 회원가입 후 이동페이지가 달라지는 것은 문제가 될 수 있습니다.

버그와 기능은 작은 차이 하나로도 결정될 수 있기 때문입니다.

이건 좀 신박한데?...

 

"정상" 이란 단어는 주관적입니다. 이는 사람마다 해석이 조금씩 달라질 수 있다는 것을 뜻합니다. 

명확한 명세를 기반으로 만들어저야 하는 테스트케이스에는 주관적이거나 추상적인 단어가 사용되어서는 안 됩니다.

하지만 저는 정상이라는 단어를 테스트케이스에 잘못 사용하고 있었던 것이죠.

 

그 이후로는 테스트케이스에 "정상"이라는 말을 사용하지 않습니다. 명확한 결과 기반의 내용을 작성하게 되었습니다.

그리고 혹시나 주관적이거나 뜻이 함축되어 있거나 뜻이 모호한 추상적 표현 같은 것은 사용하지 않기 위해 테스트케이스 

작성 시 단어선정에 주의를 기울이게 되었습니다.

 

이러한 경험은 주니어시절에 하게 되어 오히려 다행이라고 생각합니다.

테스트케이스 작성을 어떻게 해야 하는지, 단어 선정과 테스트 흐름을 고려한다면 어떻게 작성을 해야 하는지에

대한 고민을 시작하게 된 시기였고 그때 고민하며 많은 생각을 했던 영향이 지금까지도 저에게 테스트 케이스 작성 시

경각심을 주는 좋은 장치가 되어주고 있기 때문입니다.

 

테스트 케이스 작성은 따분하고 지루할 수 있습니다. 

그래서 자꾸 나와 타협하려 하게 되는데 이때가 바로 주관적이거나 추상적인 단어를 높은 확률로 사용하게 되는

때라고 생각합니다. 하지만 내가 작성하는 이 한 줄이 테스트 커버리지 그 자체가 된다고 생각하고.

조금 더 시간이 걸리고 재미는 없을지라도 정확한 테스트를 위해 한 글자라도 더 자세히 적기 위해서

오늘도 노력해야겠습니다.  :)

 

728x90

댓글