티스토리 뷰

QA는 제품이나 서비스의 품질을 보증하는 역할을 합니다. 개발자가 진행하는 테스트는 프로젝트의 품질 활동 관점에서는 개발 영역의 한 부분입니다. QA는 프로젝트 전체 범위에서 품질 활동을 수행하며, 프로젝트 구축 단계별 문서에서 개발 후 배포까지 전체에 대한 품질을 높일 수 있도록 계획하고 수행합니다. 즉, QA는 단순히 최종 제품의 품질을 검사하는 것이 아니라, 개발 과정 전반에 걸쳐 품질을 관리하고 보증하는 것을 목표로 합니다. 이를 통해 제품의 결함을 사전에 방지하고, 오류로 인한 비용과 시간을 절감하며, 최종적으로는 기업의 신뢰성을 높이는 역할을 합니다

이 책은 6강에서 QA에 대해 설명하고 있으며, 6강의 내용은 다음과 같습니다.

  1. 소프트웨어 테스팅의 이해: 테스팅의 전반적인 개념부터 시작하여, 소프트웨어 테스터의 역할, 전문가가 되는 방법, 테스트 설계 기법을 활용한 테스트 케이스 도출 방법, 그리고 테스트 케이스 작성 가이드에 대해 설명합니다.
  2. 테스트 설계 기법: 소프트웨어 품질 수준에 만족하기 위한 프로젝트에서 작성된 요구사항 명세서, 기획서, 개발 설계서, 아키텍처 문서를 분석하고 명세 기반 기법, 구조 기반 기법, 경험 기반 기법으로 테스트 케이스를 작성하는 방법에 대해서 설명합니다.
  3. 소프트웨어 테스트: 이 책에서 가장 많이 할당된 부분으로 개발 단계의 테스트 방법, API 테스트, 네트워크 테스트, 클라이언트 성능 테스트, 자동화 테스트, 서버 부하 테스트 등을 오픈 소스와 코드 예제를 통해 실습할 수 있도록 자세히 설명하고 있습니다. 그러나 서버 측 성능 테스트에 대한 내용이 다소 부족하여 아쉬움을 남깁니다.
  4. 예외 케이스 테스트: 소프트웨어 개발에서 예외 상황이 차지하는 중요성을 강조합니다. 이에 따라, 경험과 노하우를 바탕으로 예외 케이스를 작성하는 방법을 제시하며, 호환성 테스트, 앱 공존성 테스트, 디바이스 기능 연동 테스트, 어뷰징 테스트, 데이터 품질 테스트를 수행하는 데 필요한 가이드를 제공합니다. 
  5. 소프트웨어 테스트 프로세스: 소프트웨어 개발 프로세스에서 테스트의 중요성과 참여 관점을 '소프트웨어 테스트 프로세스'라고 칭함으로써 이 장의 목적이 명확해집니다. 개발과 테스트가 공동의 목표를 달성하기 위해, 소프트웨어 개발 프로세스는 품질 관점에서 접근하여 설명하며, 테스트 진행 방법에 대해서도 설명합니다. 
  6. 실전 소프트웨어 테스팅실무 경험과 지식을 바탕으로 리스크 관리, 테스트 범위 결정, 테스트 우선순위 설정, 버그 유형 및 보고서 작성 방법, 그리고 최종 테스트 종료 기준과 소프트웨어 버전 충돌을 방지하기 위한 버전 관리 방법에 대해 설명합니다.

이 책은 서버 성능 테스트에 관한 내용을 다루고 있지만 API 테스트나 앱 테스트와 같은 예제가 부족하다는 점이 아쉽습니다. 그럼에도 불구하고, 다음과 같은 개발자에게는 단위 테스트를 작성하여 코드 기능을 검증하는 방법, QA에게는 품질 보증 프로세스를 설계하고 관리하는 방법, 테스터에게는 수동 및 자동화된 테스트를 통해 애플리케이션을 검증하는 방법 등과 같은 아이디어를 각자의 역할에 맞게 얻어갈 수 있습니다.

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

'책요약' 카테고리의 다른 글

겐트 벡의 Tidy First  (0) 2024.05.26
챗 GPT API를 활용한 챗봇 만들기  (0) 2024.04.28
쉽고 빠르게 익히는 실전 LLM  (0) 2024.03.24
밑바닥부터 시작하는 딥러닝 4  (0) 2024.02.25
Release의 모든 것  (0) 2023.12.25