풀스택 테스트 - 10가지 테스트 기술의 기본 원칙과 전략
가야트리 모한 지음, 최경현 옮김 / 한빛미디어 / 2023년 5월
평점 :
장바구니담기


책의 추천사에 이어지는 베타리더의 말에서 어떤 베타리더가 이 책을 가리켜 한마디로 정의하면 모든 테스트의 종합판이다라고 썼는데 적절한 표현인 것 같다. 시프트 레프트(Shift left)는 보안 및 테스트와 같은 활동을 프로젝트 타임라인 초기 단계에 수행하는 것이라 하는데 저자는 소프트웨어 라이프 사이클의 초기부터 다양한 테스트를 자동화해서 적용하고 지속적 통합(CI, Continuous Integration) 및 지속적 배포(CD, Continuous Deployment)를 통해 웹 및 모바일 애플리케이션의 품질을 확보할 것을 강조하고 있다.

 

책의 제목인 풀스택(Full Stack) 테스트란 무엇일까? 풀스택 개발자는 종종 들어보았는데 인터넷 검색을 해보면 풀스택은 프론트앤드와 백엔드 개발을 모두 하는 것이라고 나온다. 저자는 먼저 좋은 소프트웨어 품질에 대해 얘기하고, 테스트는 간단히 말해 애플리케이션이 원하는 대로 작동하는지 검증하는 것이고, 이를 위해 클래스의 메서드, 입력 데이터 값, 로그 메시지, 에러 코드 같은 애플리케이션의 마이크로(micro) 측면과 기능 테스트, 기능 간 통합, 앤드 투 앤드(end-to-end) 워크플로 같은 매크로(macro) 측면의 테스트가 필요하다고 한다. 더 나아가 보안, 성능, 접근성, 가용성 등 애플리케이션 전체의 품질을 고려해야 하는데 이 모든 것을 종합해서 풀스택 테스트라고 정의하고 있다. 구조적으로는 UI, 서비스, 데이터베이스 등 애플리케이션에 포함된 각 계층과 애플리케이션 전체를 테스트하는 것을 의미한다.

 

책에서는 10가지 풀스택 테스트로 수동 탐색적 테스트, 자동화된 기능 테스트, 지속적 테스트(CI/CD), 데이터 테스트, CFR(Cross Functional Test), 시각적 테스트, 보안 테스트, 성능 테스트, 접근성 테스트를 각각의 Chapter로 다루고 있다. 더 나아가 신기술을 테스트하는 방법을 알고 싶은 호기심 많은 사람을 위한 추가 내용으로 마지막 장인 “Chapter 13. 신기술 테스트 소개에서는 AI/ML, 블록체인, IoT, AR/VR과 같은 최신 기술을 소개하고 각 기술을 테스트하는 방법을 설명하고 있다.

 

저자가 이 책이 테스트를 처음 접하는 사람이 오늘날의 웹 및 모바일 애플리케이션 테스트에 필요한 모든 기술을 초중급자(advanced beginner) 수준으로 향상시킬 수 있는 종합적인 자료가 될 수 있도록 각 장(Chapter)마다 일관된 구성을 취하고 있다. 먼저 구성요소를 통해 각 주제를 이해하기 위한 필수 항목을 나열하고 있다. “전략에서는 주어진 상황에서 기술을 적용하는 방법을 자세히 설명한다. “실습에서는 각 기술에 관련된 여러 도구를 다루는 방법을 단계별로 안내한다. “추가 테스트 도구에서는 실습절에 다룬 것과 유사한 도구 또는 도움이 될 만한 도구를 추가로 소개한다. “인사이트에서는 저자의 관찰과 경험을 바탕으로 각 기술과 관련된 교훈(Lesssons Learned)을 소개한다.


각 장의 실습부분에서는 현장에서 사용되는 무료 테스트 도구 중심으로 절차와 화면 캡쳐를 적정하게 배치하여 설명하고 있다. 추가적인 설명이 필요한 용어, 개념, 상황 등에 대해서는 각주로 참고 URL을 표시하고 있다. 어떤 책에서는 추가 설명이 필요한 용어, 개념 등에 대해 박스 내용 등으로 포함해서 궁금증을 바로 해소해주는 형식을 취한다. 각 구성의 장단점이 있는 것 같은데 책에서는 URL을 참고하도록 해서 본문에 필요한 내용 위주로 책의 분량을 늘이지 않고 책을 보다 효율적으로 보는데 도움을 주는 것 같다. 대부분의 각주가 URL을 참고하도록 되어 있으나 추가적인 내용을 기술하는 경우도 있어 균형을 취하고 있다.




실습에 필요한 기본적인 소스코드 내용도 역시 포함되어 있어 직접 타이핑해보고 기술을 체득하는데 도움을 주고 있다.

노트”, “내용을 박스안에 별도로 제공해서 참고하거나 주의해야 할 내용들도 시의 적절하게 제공하고 있다.


각 장 마지막의 요점정리를 통해 핵심적인 내용들을 다시금 정리해 볼 수 있도록 하고 있다.


SI프로젝트를 수행하게 되면 개발 단계별로 단위테스트, 통합테스트, 사용자 승인 테스트와 종류별로 기능테스트, 성능테스트 정도만 접하게 되는 것 같다. 개인적으로는 오래전에 부분적인 자동화 테스트 경험도 있지만 이 책은 알지 못 했던 다양한 테스트 관련 정보를 제공하고 있어 서두에서 베타리더의 글을 빌려 언급했던 것처럼 테스트에 관한 종합선물세트와 같다고 말할 수 있을 것 같다. 시간이 별로 없어 책에 나온 실습 내용을 따라해 보지는 못 했지만 나중에 시간이 되면 직접 따라해 보면서 테스트에 관련 기술을 한층 더 내재화하고 각주에 표기되어 있는 URL의 정보도 인터넷에서 찾아보면 더욱 지식의 폭이 넓어질 것 같다.

 

 "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."


댓글(0) 먼댓글(0) 좋아요(0)
좋아요
북마크하기찜하기 thankstoThanksTo