Skip to main content

2024/02/23

일지 기록#

info

2024/02/22 에 진행한 작업에서의 버그 발견


[ 2024/02/23 ]

🧐 Problem#

작업이 완료되었다고 생각했지만 특정 케이스에 있어서 정상적으로 동작하지 않는 결함이 발견되었다.


👀 Analysis#

케이스별로 데이터 구조를 분석하여 데이터가 API 에서 어떻게 떨어지는지 알아야한다. 또한 어떤 케이스에 결함이 발생하고, 그 케이스에 대한 처리방식이 구현되어야 한다.


🌈 Solution#

결함이 발생하는 케이스는 해당 케이스였다.

array[] 값이 매번 떨어지는 것이 아닌, template 메세지인 경우에만 API 에서 응답값으로 넘어오는데, array[] 값이 없는 경우에 대한 예외처리가 안되어있었다.

또한 array[] 값이 있는 template 메세지인 경우에도 여러 케이스로 나뉘어져있는데, 특정 케이스인 경우에만 필요한 데이터이기 때문에 특정 케이스에 대한 처리가 필요하다.

이러한 케이스는 특정 조건을 설정하여 array 가 0 초과인 경우, ? 를 이용하여 없는 경우에도 탐색할 수 있도록 설정하였고 ,

array 값이 있는 경우에도 케이스를 특정지어 조건에 부합하도록 구현하였다.


🎯 Outcome#

이제 정상적으로 케이스별로 동작을 하게되었고, 케이스별로 어떤 데이터가 내려오는지 어떻게 handling 해야하는지 알 수 있었다.


👼 Reflection#

탐색적 테스트를 로컬에서 진행할때 한가지 경우만 생각하는 것이 아닌 다양한 경우의 테스트가 필요하다. 가능하면 테스트 시나리오가 있는 것도 좋을 것 같다.