본문 바로가기
읽은책

이펙티브 소프트웨어 테스팅

by e-pd 2023. 4. 30.

 

 

 

https://www.aladin.co.kr/shop/wproduct.aspx?ItemId=311329128 

 

이펙티브 소프트웨어 테스팅

소프트웨어 테스트는 선택이 아닌 필수다. 훌륭한 테스트는 소프트웨어 개발 프로세스 자체를 보다 효율적으로 만들어준다. 이 책에서 소개하는 실제 사례와 함께 상세히 설명된 코드 샘플을

www.aladin.co.kr

https://festa.io/events/3376

 

개발자, 한 달에 책 한 권 읽기 2023년 4월 모임 | Festa!

Festa에서 당신이 찾는 이벤트를 만나보세요.

festa.io

 

다양한 테스트기법들을 구체적인 예시로 소개해준 것이 이 책의 장점이다. 

 

인상 깊게 읽은 부분

- 100%의 커버리지가 시스템을 제대로 테스트했다는 것을 의미하지 않지만,

커버리지가 매우 낮다는 것은 시스템이 제대로 테스트되지 않은 것을 의미

- 명세 테스트, 명세 테스트와 MC/DC를 통해 테스트 케이스를 구체화하고, 범위를 줄이는 게 인상깊다. 

- 책에서 소개한 MC/DC 커버리지. 이 이론에 따르면 테스트 케이스는 최소 N+1 케이스에서 결정될 수 있다. 

- 경계 테스트를 잘 작성하자.

- 헥사고날 아키텍쳐와 테스트 코드를 설명. 복잡한 코드 관계를 핵사고날 아키텍쳐로 풀고, 테스트코드로 작성하는 것이 인상깊다.

 

책모임에서 토론한 내용

- 단위테스트란 무엇인가?

단위(Unit) = 모듈 -> Class, Method...

쓸데 없는 혼선을 막고 싶은 사람들은 작은 테스트, 중간 크기 테스트, 커다란 테스트라고 나누기도 함.
<SE at Google>에서 사용.

 

단위는 클래스 아닌가? (의존성을 다루는 최소의 단위처럼 사용) ->

단위 테스트 = 클래스 테스트 = 다른 클래스와 연결고리를 끊어줌. = Mocking

 

- 토비의 스프링에서 단위테스트

외부의 리소스에 의존하지 않고 통제할 수 있는 범위 내에서 이루어지는 테스트

 

- 아샬: 

단위라는 것에 대해 사람마다 관점은 다양하다.

Kent Beck의 경우, 메모리 디비를 통해 데이터를 가져오는 것도 하나의 단위로 본다.

 

 

'읽은책' 카테고리의 다른 글

프로페셔널 제품 책임자  (0) 2023.05.01
면접을 위한 CS 전공지식 노트  (0) 2023.05.01
Real MySQL  (0) 2023.03.06
개발자로 살아남기  (0) 2022.12.03
코틀린 인 액션 스터디 - 3  (0) 2022.12.03