독서일지/클린 코드

클린 코드 독서일지 - Day 47 (完)

Sadie Kim 2023. 12. 26. 23:30

다중 스레드 코드 테스트

다중 스레드 코드에서 버그가 있다는 사실을 증명하는 테스트 케이스는 짜기 어렵다.
=> 동시 갱신 문제가 발생하는 문제는 너무 드물게 발생해서 대개는 테스트로 발견하지 못함.

테스트로 버그를 더 잘 찾아내기 위한 아이디어들

  • 몬테 카를로 테스트 : 테스트로 버그를 더 잘 찾아내기 위한 아이디어. 조율이 가능하게 유연한 테스트를 만든 후 임의로 값을 조율하면서 반복해 돌린다.
  • 시스템을 배치할 플랫폼 전부에서 테스트를 반복해서 돌린다.
  • 부하가 변하는 장비에서 테스트를 돌린다.
    그러나 위의 조치를 취하더라도 코드에서 스레드 문제를 찾아낼 가능성은 매우 낮음

스레드 코드 테스트를 도와주는 도구

IBM의 ConTest : 스레드 코드에 보조 코드를 더해 실패할 가능성을 높여주는 도구.
스레드 문제를 찾아내는 능력을 크게 높임

결론

다중 스레드 시스템을 구현하려면 알아야 할 내용이 아주 많다.