버그 기초예방법

서버 그만 좀 뿌셔라

버그가 일어나는 이유 : happy path만 생각하기 때문

코드 작성하고 나서는 어떻게하면 뽀갤 수 있을까를 고민

  1. 바운더리 케이스 확인 (특히 for 문 등등)
  2. 데이터타입이 표현할수있는 다른 값 테스트
    • 내가 의도한 값 범위를 벗어나지만 인풋 데이터형에서 가능한 케이스
  3. 널체크
  4. Lock 누락, or dead Lock 위험

어차피 처음 개발은 debug 모드로 하니 assert로 모두 도배해서 내부 자가 테스트에서 1차로 거르고, 이후 release 형태로 나갈때는 input 파라미터에 대해 known error 형태들은 모두 return 처리. 라이브러리나 다른 API를 활용하는 경우에도 그쪽에서 error를 던지면 바로 return, 값이 반환되었다면 그 값을 검증해서 내가 원하는 형태인지 확인후 안맞으면 return.

ref https://youtu.be/4_PR9F9aLcw

Posted 2023-10-05