개발자를 위한 시프트-레프트 테스트 - 단위 테스트, 리팩터링, 애자일 개발 시 품질 담보, 테스트 자동화 등 소프트웨어 품질을 높이는 개발자 테스트 실천 기법
다카하시 주이치 지음, 김모세 옮김 / 제이펍 / 2023년 2월
평점 :
장바구니담기


책의 저자분과, 옮긴이의 서문을 보고 이책의 방향성과 어려운 이야기를 매우 쉽고 핵심을 잘 짚어주는 책이라는 느낌이 들었습니다.

저자는 일본인이지만, 경험한 기업은 글로벌한 기업(SAP, MS, 소니)에서 다양한 품질활동을 경험이 있으십니다.

또 소트프웨어 품질연구로 박사학위까지 취득하셔서, 현실과 이론의 적정한 밸런스를 가지고 있으시다고 생각이 들었습니다.


저자는 "개발자가 검증하는 내용" 과 "QA 진행시 검증되는 요소"는 명확히 다르다고 저자는 정의합니다.

역자는 "개발활동 주체"와 "품질활동 주체"가 분리되어 있으며, 개발활동 주체가 발견할수 있는 오류의 영역과, 품질활동 주체가 발견할수 있는 오류의 영여깅 전혀 다르다고 정의합니다.

이러한 내용에 많은 분들이 공감을 하실 거라고 생각이 듭니다. 


책의 제목에서 보듯이 눈에 들어오는 키워드가 3가지 있습니다.

① 개발자

 시프트레프트

③ 테스트

여기서 처음에 그 의미를 잘 파악하기 어려운 단어는 ② 시프트레프트 입니다.

shfit-left  : 직독을 하면 왼쪽으로 이동시킨다는 의미입니다.

무엇을 왼쪽으로 이동시킨다는 의미일까요? 네. 맞습니다. 책에서 애기하는 테스트 과정을 의미합니다.

 

반대개념 및 우리가 보통 일반적으로 사용하고 있는 개념이 시프트라이트(shift-right)라는 개념도 있습니다.

시프트라이트의 의미는 "무엇보다 제품 개발과정에서 가장 분주한 시점을 후반부에 두든것" 이라고 합니다.

■ 시프트-레프트의 정의

· 소프트웨어 개발 과정과 관련된 접근법

· 제품이나 프로세스 등의 전체 개발 과정에서 품질을 향상하는 중요한 활동을 최대한 조기에 설계하고, 코딩단계에서도 수행하는 전략

·  이론적으로는 누구나 테스트 비중등을 앞으로 이동하고 싶어 합니다. 현실적인 방법에 누구나 궁금할 것입니다.

   아래 그림을 보면서, 공감을 많이 하실것 같습니다. 테스트가 제일 마지막에 몰려서 한꺼번에 진행되는 구조입니다.

■ 소프트웨어 개발시 수행해야 하는 테스트 목록

필자는 단위테스트에서 아래 3가지 기법을 이해하고, 실천할수 있다면 충분하다고 합니다.

· 단위 테스트

· 조합 테스트

· 경곗값 테스트 : 이 테스트만으로도 80% 의 버그를 잡을수 있음

· 상태 전이 테스트 : 상태가 변경되어서 프로그램적으로 영향을 미치는것

· 탐색적 테스트

· 통합 테스트

· 시스템 테스트



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