29
테테테 테테테테 테테 테테테

4장 테스트 자동화의 철학

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 4장 테스트 자동화의 철학

테스트 자동화의 철학

나철환

Page 2: 4장 테스트 자동화의 철학

목차철학이 중요한 이유철학적 차이점

한꺼번에 테스트 - 단계적 테스트 안에서 밖으로 - 밖에서 안으로 상태 검증 - 동작 검증 미리 픽스처 설계 - 단계별 테스트로 픽스처 설 계

저자의 철학

Page 3: 4장 테스트 자동화의 철학

목차철학이 중요한 이유철학적 차이점

한꺼번에 테스트 - 단계적 테스트 안에서 밖으로 - 밖에서 안으로 상태 검증 - 동작 검증 미리 픽스처 설계 - 단계별 테스트로 픽스처 설 계

저자의 철학

Page 4: 4장 테스트 자동화의 철학

철학이 테스트자동화에 무슨

상관인가 ?

Page 5: 4장 테스트 자동화의 철학

인생관 ( 테스트관 ) 은 테스트를 어떻게 할지 영향을 많이 주기 때문이다 .

예 ) 모의객체를 많이 쓰는 사람도 있고 , 모의객체를 많이 안 쓰는 사람도 있다 .

이유는 철학이라는 것이 밑바탕에 깔려있기때문이다 .* 다른 철학 이해해야 된다 .

Page 6: 4장 테스트 자동화의 철학

다른 철학을 갖고 있는 사람들은 이해하면 왜 그들이 다른 게 하는지 이해 할 수 있습니다 .

Page 7: 4장 테스트 자동화의 철학

목차철학이 중요한 이유철학적 차이점

한꺼번에 테스트 - 단계적 테스트 안에서 밖으로 - 밖에서 안으로 상태 검증 - 동작 검증 미리 픽스처 설계 - 단계별 테스트로 픽스처 설 계

저자의 철학

Page 8: 4장 테스트 자동화의 철학

단계적 테스트테스트 약간 -> 코드 약간 -> 테스트 약간

한 번에 한 개의 테스트만 해야 한다 .

테스트가 왜 실패했는지 분명하므로 디버그시간을 줄 일수 있다 .

Page 9: 4장 테스트 자동화의 철학

한꺼번에 테스트지금까지의 기능이 요구하는 모든 테스트를코딩에 들어가기 전에 미리 알아본다 .

개발자가 ' 고객처럼 생각하기‘ 가능개발자가 ' 해결 방법 ' 에 너무 빨리 들어가는걸 막아준다 .스토리를 추정 할 수 있다 .

Page 10: 4장 테스트 자동화의 철학

단계적 테스트 – “점진적인 개발에 있어 최상의 상태”라고 말한다 .

한꺼번에 테스트 – 스토리에 포함된 테스트를 개발자에게 한개씩 주지 않기 때문이다 .

Page 11: 4장 테스트 자동화의 철학

목차철학이 중요한 이유철학적 차이점

테스트 나중 - 테스트 먼저 한꺼번에 테스트 - 단계적 테스트 안에서 밖으로 - 밖에서 안으로 상태 검증 - 동작 검증 미리 픽스처 설계 - 단계별 테스트로 픽스처 설 계

저자의 철학

Page 12: 4장 테스트 자동화의 철학

안에서 밖으로의존성 문제가 생긴다 .

Page 13: 4장 테스트 자동화의 철학

안에서 밖으로의존성 문제가 생긴다 .

Page 14: 4장 테스트 자동화의 철학

안에서 밖으로의존성 문제가 생긴다 .

Page 15: 4장 테스트 자동화의 철학

밖에서 안으로테스트 대역 사용해서 의존성 해결개발자처럼 생각하기 전에 ' 고객처럼 생각하

게 ' 해준다 .

Page 16: 4장 테스트 자동화의 철학

밖에서 안으로테스트 대역 사용해서 의존성 해결개발자처럼 생각하기 전에 ' 고객처럼 생각하

게 ' 해준다 .

Page 17: 4장 테스트 자동화의 철학

밖에서 안으로테스트 대역 사용해서 의존성 해결개발자처럼 생각하기 전에 ' 고객처럼 생각하

게 ' 해준다 .

Page 18: 4장 테스트 자동화의 철학

목차철학이 중요한 이유철학적 차이점

한꺼번에 테스트 - 단계적 테스트 안에서 밖으로 - 밖에서 안으로 상태 검증 - 동작 검증 미리 픽스처 설계 - 단계별 테스트로 픽스처 설 계

저자의 철학

Page 19: 4장 테스트 자동화의 철학

상태 검증SUT 를 특정 상태에 두고 실행한 후 SUT 가원했던 상태인지 검증

Page 20: 4장 테스트 자동화의 철학

동작 검증SUT 의 시작과 끝의 상태뿐만 아니라 SUT 가밑으로 호출하는 것까지 검증

Page 21: 4장 테스트 자동화의 철학

동작 검증

좀 더 어려운 리펙토링이 필요하지만 소프트웨어의 각 단위를 따로 테스트하기 좋다 .

Page 22: 4장 테스트 자동화의 철학

목차철학이 중요한 이유철학적 차이점

한꺼번에 테스트 - 단계적 테스트 안에서 밖으로 - 밖에서 안으로 상태 검증 - 동작 검증 미리 픽스처 설계 - 단계별 테스트로 픽스처 설 계

저자의 철학

Page 23: 4장 테스트 자동화의 철학

미리 픽스처 설계

Page 24: 4장 테스트 자동화의 철학

미리 픽스처 설계 테스트를 봤을 때 픽스처의 어느 부분이 특정 테스트 메소드를 위한 사전 조건인지 알기 힘들 수 있다 .

Page 25: 4장 테스트 자동화의 철학

단계적 픽스처 설치좀더 애자일 한 방법이다 .

맞춤제작

Page 26: 4장 테스트 자동화의 철학

목차철학이 중요한 이유철학적 차이점

한꺼번에 테스트 - 단계적 테스트 안에서 밖으로 - 밖에서 안으로 상태 검증 - 동작 검증 미리 픽스처 설계 - 단계별 테스트로 픽스처 설 계

저자의 철학

Page 27: 4장 테스트 자동화의 철학

- 보통 한 번에 하나의 테스트를 작성하지만 때에 따라서는 미리 개요를 자기 위해 생각 나는 모든 테스트를 작성하기도 한다 .

- 밖에서 안으로 개발하면 다음 안쪽 레이어에서 어떤 테스트가 필요한지 알아내는 데 도움이 된다 .

- 상태 검증를 주로 하지만 코드 커버리지를 높이기 위해 동작 검증을 쓰기도 한다 .

- 단계별 테스트에 따라 픽스처를 설계한다 .

Page 28: 4장 테스트 자동화의 철학

결론

다른 철학을 이해하는 것이 가장 중요하다 .

Page 29: 4장 테스트 자동화의 철학