jen3***
2024-07-28


이번에 읽게 된 책은 <부트캠프 QA편>이라는 책이다. 17년간 QA 직무에 계셨던 분이 쓰신 책이다. 일단 내가 이 책에 관심을 갖게 된 이유는? 정보처리기사를 공부하면서 테스트 관련된 단어들을 접하게 되었는데, 그 단어들이 실제로는 어떤 방법으로 테스트가 되고 있는지 알 수 있을 것 같았기 때문이다. 소프트웨어 구현이 완료되면, 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트를 진행한다고 한다. 사실 이 모든 절차를 근처에서 (나는) 본 적은 없다. 여기에서 단위 테스트랑 통합 테스트를 진행하는 건 봤고, 단위 테스트랑 통합 테스트는 참여하기도 했었지만, 정석대로 테스트를 진행한 것인지는 잘 모르겠다. 앞으로도 비슷한 상황이 생길 가능성이 없다고는 확신할 수 없기 때문에, 겸사겸사 테스트에 대한 정보도 알고 싶어서 읽게 되었다.
이 책은 테스트 방법을 찾고 실패를 줄이고 더 넓은 범위의 품질을 검증하고, 일정 수준을 보장할 수 있는 해결책에 이르기까지 여러 업무에 활용할 수 있을 거라고 한다. 정답을 알려주는 건 아니기 때문에, 저자의 경험과 노하우를 바탕으로 자신만의 방법을 찾는 게 관건이 아닐까 싶다. 이 책은 주차별로 나눠서 목차를 제공하고 있다. 1주 차~4주 차까지 목차를 참고하여 읽어도 될 것 같고, 아니면 자신이 읽는 속도에 맞춰 읽어도 상관없을 것 같다.
QA에 대해 잘 모르는 사람도 읽을 수 있도록, 이 책은 '테스팅'과 관련된 개념들로부터 시작이 된다. '테스트는 프로그램이나 시스템이 예상대로 작동할 것이라는 확신을 증진시키는 과정이다. _윌리엄 C. 헷젤' 테스팅에 대한 정의를 보면, 테스팅이라는 게 어느 한 조직에 국한하여 정의하고 있지 않다고 한다. 제품을 만드는 구성원 각자의 작업 범위 안에서 목적과 방법이 다를 뿐, 테스팅은 모든 영역에서 빠질 수 없는 활동이라는 것이다. 소프트웨어 테스팅 활동은 소프트웨어 생명주기 전반에 걸쳐 테스트 레벨이랑 테스트 종류로 구분해 수행한다고 하는데, 이때 테스트 레벨이 정보처리기사에서도 봤던 단어들이라서 반가웠다. (TMI) 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트가 바로 그것이다. 그리고 소프트웨어 테스터의 태도에 대해서도 4개가 언급이 된다. 이 부분은 테스터에게만 국한된 게 아니라, 일을 하면서도 도움이 될 것 같은 말들이라서 읽으면서 끄덕끄덕했던 것 같다. 내가 생각하는 것만이 정답일 거라고 생각하지 말기, 빠른 길이 항상 좋은 길은 아니라는 것 등등. 도움이 되니 천천히 읽어 보기를 권한다.
3강에서는 테스트 도구를 활용한 API 테스트, 네트워크 테스트, 클라이언트 성능 테스트 등을 다룬다. 그중에 API 테스트는 API 시스템에 대한 엔드 포인트 테스팅 활동으로, API가 예상대로 작동하고 사용할 준비가 되어 있는지와 안정성, 성능, 보안 측면에서 기대치를 충족하는지 확인하는 비기능 테스트이다. API에 대한 설명은 카페에서의 음료 주문을 예시로 들어 쉽게 설명하고 있어서, 이해하기 어렵지 않을 것 같다. 그리고 API에 대한 테스트는 실제 테스트 도구를 활용해 실습을 진행할 수 있다. 개발하면서 테스트 시에도 많이 사용하는 '포스트맨'을 직접 설치하고, REST API 테스트를 진행해 볼 수 있다. 설명과 함께 이미지를 보면서 참고할 수도 있으니, 어렵지 않게 실습해 볼 수 있을 것 같다. 쉬운 실습일지도 모르나, 일단 해보는 것과 해보지 않은 것은 차이가 있다고 생각한다. 우선은 해보고, 차차 다른 테스트 도구들의 사용법도 알아가면 되지 않을까 생각한다.
QA 담당은 아니지만 1장에서도 언급되었듯이, 테스트라는 게 어떤 부서만의 정해진 업무는 아니라고 생각한다. 그렇기 때문에 해당 업무를 하는 게 아니더라도, QA에 대한 전체적인 내용을 알고 있으면 업무에도 도움이 되리라 생각한다. 테스트 전문가는 발생한 문제에 대응하는 사람이 아니라 문제를 미리 예측하고 예방하는 사람이어야 한다고 한다. 꼭 테스트 전문가에게만 해당되는 말은 아니라고 생각한다. 지금 내가 하는 업무도 이런 과정에 해당된다고 생각한다. 문제가 발생하도록 두는 게 아닌, 하면서 미리 예측하고 예방을 하는 과정의 반복이라고 해야 할까. 그런 반복을 위해서는 어느 정도 개념을 알아야 한다고 생각한다. 다양한 테스트 방법과 용어들에 대해 궁금하다면 읽어 봐도 좋을 것 같다.
‘한빛미디어 서평단 <나는리뷰어다> 활동을 위해서 책을 제공 받아 작성된 서평입니다.’