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


풀스택에 관심이 많은 저에게 풀스택 테스트라는 제목은 짧으면서도 충분히 매력적이었습니다. 점차 풀스택 개발자에 대한 수요가 늘고 있는 만큼 풀스택 테스트는 많은 개발자 또는 개발자 지망생에게 꼭 필요한 내용이라고 생각이 들었고, 책을 읽으면서 주변 사람들에게 이 책을 추천해 주고 싶은 마음이 더 많이 들었습니다. 


풀스택 테스트는 '전략, 실무 접근법, 도구, 저자의 노하우까지 모두 담은 테스트 바이블'이라는 소개에 맞게 이론 설명, 전략 탐색, 실습 및 저자의 꿀팁까지 모두 제공되는 책입니다. 어려울 수 있는 내용을 다양한 예시와 시각 자료를 사용하여 쉽고 재미있게 잘 풀어내 개발을 어느 정도 아는 초심자들도 어렵지 않게 이해할 수 있을 것 같습니다. 


웹 개발을 배우고 있는 사람으로서 풀스택 테스트를 통해 개발의 큰 그림을 볼 수 있었고, 개발을 공부하거나 개발하면서 놓칠 수 있는 부분을 꼼꼼히 다루어 주어 많은 도움이 되었습니다. 


풀스택 테스트란 사용자 관점에서 품질을 테스트하기 위해 모든 요소를 테스트하는 것으로, 애플리케이션이 원하는 대로 작동하는지 검증하기 위한 것입니다. 마이크로 측면과 매크로 측면에서 애플리케이션 전체의 품질을 고려할 수 있으며, 시각적으로는 아래처럼 표현할 수 있습니다. 



풀스택 테스트와 개발은 뗄 수 없는 관계입니다. 테스트는 개발과 병행해야 하며 피드백을 빠르게 얻기 위해 전달 주기 내에 수행해야 합니다.


이 책에서는 시프트 레프트 테스트라는 개념을 언급하는데,  초기단계부터 테스트 수행하는 것으로 작업마다 품질 검사를 반복하여 초기에 결함을 발견하고 다양한 품질을 탐색하게 하여 좋은 소프트웨어를 만들도록 하는 것을 의미합니다. 


이 책은 코딩을 처음 접하거나 공부한 지 얼마 되지 않은 사람을 위한 책은 아닙니다. 책에는 소프트웨어 테스트를 처음 접하는 사람이나 테스트 지식을 넓히고 싶은 사람이라고 써 있지만, 풀스택이라는 이름에 맞게 개발을 서비스하는 업무 또는 프로젝트를 해 본 사람에게 좋지 않을까 싶습니다. 넓게는 개발을 배우고 있는 사람에게도 좋을 것 같습니다.


이 책의 실습에서 사용하는 개발 언어는 자바 또는 자바 스크립트이므로 자바나 자바 스크립트의 기본적인 문법은 알고 있어야 합니다. 뿐만 아니라 개발 프로세스를 어느 정도 알고 있어야 합니다. 적어도 애자일이나 폭포수 방법론 등은 이해해야 합니다.  


이 책은 웹 또는 앱에서 사용할 수 있는 10가지 테스트 기술을 상세하게 소개합니다. 



1. 수동 탐색적 테스트

     다양한 시나리오에서 애플리케이션의 작동을 탐색하고 이해하는 활동으로, 개인의 분석력과 관찰력을 통해 모든 관점을 종합하고 새로운 사용자 흐름과 버그를 발견할 수 있습니다.

2. 자동화된 기능 테스트

    빠른 피드백을 얻기 위해 도구를 통해 애플리케이션의 작동을 검증하는 것으로, 수동 탐색적 테스트를 수행하여 새로운 테스트 케이스를 찾고 회귀 테스트에 자동화하는 것이 효과적입니다. 

3. 지속적 테스트(CT)

   애플리케이션 변경 시 수동 및 자동 테스트를 통해 품질을 검증하고 품질이 저하된 경우 팀에 알리는 프로세스로서 지속적으로 빠르게 피드백을 받을 수 있또록 CT 프로세스를 설계해야 합니다. 

4. 데이터 테스트

    온라인 애플리케이션의 핵심은 데이터이고 결함 발생 확률이 매우 높기 때문에 데이터 테스트는 반드시 수행해야 합니다.  

5. 시각적 테스트

    애플리케이션이 디자인한대로 보이는지 확인하는 테스트로, 수동 테스트와 자동화된 테스트 모두 수행해야 하며, 적절한 단계에 적용해야 하고 빠르고 안정적인 피드백을 제공할 수 있는 도구를 선택해야 합니다. 

6. 보안 테스트

    개발 주기 전반에 적절한 보안 수단을 애플리케이션에 적용해야하며 위협 모델링 연습을 팀 전체가 자주 수행해야 합니다. 가장 중요한 것은 보안을 습관화하는 것입니다. 

7. 성능 테스트

    소프트웨어 제공 주기부터 지속적으로 KPI를 측정하여 성능 문제를 미리 감지하고 해결해야 합니다. 

8. 접근성 테스트

    웹 접근성 기능은 점차 중요해지고 있습니다. 접근성 생태계를 통해 도구와 기술을 얻을 수 있지만 접근성을 제공하기 위해 변경이 많이 필요할 수 있으므로 개발 주기 초기 단계에서 수행하는 것이 좋습니다. 

9. 교차 기능 요구 사항 테스트

    교차 기능 요구 사항(CFR)은 애플리케이션의 실행 및 진화 품질을 정의하며 폭넓은 애플리케이션 기능에 적용됩니다. 좋은 품질의 소프트웨어를 제공할 뿐 아니라 진화적 아키텍처를 구축하는데 도움이 됩니다.  

10. 모바일 테스트

    모바일 테스트는 웹 테스트와 다르기 때문에 전체적인 테스트를 통합해 풀스택으로 수행해야 합니다. 개발 초기에 앱의 특성을 고려해 계획해야 합니다. 


이 책의 마지막 부분에서는 인공지능과 머신러닝, 블록체인, 사물인터넷, 증강현실과 가상현실 등의 신기술 테스트까지 간략하게 소개해 주고 있습니다.  


이 책의 각 장은 1) 구성 요소 2) 전략 3) 실습 4) 추가 테스트 도구 5) 저자의 인사이트로 구성되어 있어 테스트 전반에 대한 모든 내용을 폭넓게 이해할 수 있습니다. 놓칠 수 있는 부분까지 상세히 다루고 각 부분을 꼼꼼히 설명하고 있습니다. 용어의 경우 박스 형태로 간단하게 개념을 설명해 주기도 합니다. 


가장 좋았던 점은 다양한 예시를 들어 어려울 수 있는 내용을 쉽게 설명하고 있다는 점입니다. 해당 테스트가 왜 필요한지와 어떤 문제가 발생할 수 있는지를 잘 풀어내고 있습니다.


 

또한 시각적 자료를 통해 글로 제시된 내용을 한 눈에 볼 수 있도록 도식화하여 각 프로세스나 개념을 더 이해하기 쉬웠습니다. 



테스트 전략을 통해 각 테스트를 각 단계에 어떻게 적용할지를 설명하는 부분도 좋았습니다. 전략을 하나씩 적용해 가면서 테스트를 해봄으로써 애플리케이션 품질 향상에 큰 도움이 될 것 같습니다. 



실습 부분에서는 유용한 툴을 소개하고 툴 사용 방법을 그림과 코드를 통해 상세하게 설명하고 있습니다. 처음 접하는 툴이 많아 배워야 할 부분은 많았지만 개발할 때 각 툴을 모두 사용하면 좋을 것 같습니다. 




전체적으로 상세한 설명과 시각 자료가 많아서 쉽게 읽을 수 있었고, 내용을 이해하는 데에도 어려움이 없었습니다. 이 책에서 다루는 각각의 테스트를 하나씩 애플리케이션 개발에 적용한다면 품질 향상에 큰 도움이 될 것 같습니다. 이번에는 전체 내용을 훓어 보았지만 각 내용을 모두 숙지하고 적용해 볼 때까지 여러 번 읽을 예정입니다.    



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



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