4장 테스트 자동화의 철학

1,368 views
1,266 views

Published on

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,368
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
18
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

4장 테스트 자동화의 철학

  1. 1. 테스트 자동화의 철학<br />나철환<br />
  2. 2. 목차<br />철학이 중요한 이유<br />철학적 차이점<br />한꺼번에 테스트 - 단계적 테스트 <br />안에서 밖으로 - 밖에서 안으로<br />상태 검증 - 동작 검증 <br /> 미리 픽스처 설계 - 단계별 테스트로 픽스처 설<br />계 <br />저자의 철학<br />
  3. 3. 목차<br />철학이 중요한 이유<br />철학적 차이점<br />한꺼번에 테스트 - 단계적 테스트 <br />안에서 밖으로 - 밖에서 안으로<br />상태 검증 - 동작 검증 <br /> 미리 픽스처 설계 - 단계별 테스트로 픽스처 설<br />계 <br />저자의 철학<br />
  4. 4. 철학이 테스트<br />자동화에 무슨<br />상관인가?<br />
  5. 5. 인생관(테스트관)은 테스트를 어떻게 할지 <br />영향을 많이 주기 때문이다.<br />예) 모의객체를 많이 쓰는 사람도 있고, <br />모의객체를 많이 안 쓰는 사람도 있다.<br />이유는 철학이라는 것이 밑바탕에 깔려있기<br />때문이다.<br />* 다른 철학 이해해야 된다.<br />
  6. 6. 다른 철학을 갖고 있는 사람들은 이해하면 왜 그들이 다른 게 하는지 이해 할 수 있습니다.<br />
  7. 7. 목차<br />철학이 중요한 이유<br />철학적 차이점<br />한꺼번에 테스트 - 단계적 테스트 <br />안에서 밖으로 - 밖에서 안으로<br />상태 검증 - 동작 검증 <br /> 미리 픽스처 설계 - 단계별 테스트로 픽스처 설<br />계 <br />저자의 철학<br />
  8. 8. 단계적 테스트<br />테스트 약간 -> 코드 약간 -> 테스트 약간<br />한 번에 한 개의 테스트만해야 한다.<br />테스트가 왜 실패했는지 분명하므로 디버그<br />시간을 줄 일수 있다.<br />
  9. 9. 한꺼번에 테스트<br />지금까지의 기능이 요구하는 모든 테스트를<br />코딩에 들어가기 전에 미리 알아본다.<br />개발자가 '고객처럼 생각하기‘ 가능<br />개발자가 '해결 방법'에 너무 빨리 들어가는<br />걸 막아준다.<br />스토리를 추정 할 수 있다.<br />
  10. 10. 단계적 테스트 –“점진적인 개발에 있어 최상의 상태”라고 말한다.<br /> 한꺼번에 테스트 – 스토리에 포함된 테스트를 개발자에게 한개씩 주지 않기 때문이다.<br />
  11. 11. 목차<br />철학이 중요한 이유<br />철학적 차이점<br />테스트 나중 - 테스트 먼저<br />한꺼번에 테스트 - 단계적 테스트 <br />안에서 밖으로 - 밖에서 안으로<br />상태 검증 - 동작 검증 <br /> 미리 픽스처 설계 - 단계별 테스트로 픽스처 설<br />계 <br />저자의 철학<br />
  12. 12. 안에서 밖으로<br />의존성 문제가 생긴다.<br />
  13. 13. 안에서 밖으로<br />의존성 문제가 생긴다.<br />
  14. 14. 안에서 밖으로<br />의존성 문제가 생긴다.<br />
  15. 15. 밖에서 안으로<br />테스트 대역 사용해서 의존성 해결<br />개발자처럼 생각하기 전에 '고객처럼 생각하게'해준다.<br />
  16. 16. 밖에서 안으로<br />테스트 대역 사용해서 의존성 해결<br />개발자처럼 생각하기 전에 '고객처럼 생각하게'해준다.<br />
  17. 17. 밖에서 안으로<br />테스트 대역 사용해서 의존성 해결<br />개발자처럼 생각하기 전에 '고객처럼 생각하게'해준다.<br />
  18. 18. 목차<br />철학이 중요한 이유<br />철학적 차이점<br />한꺼번에 테스트 - 단계적 테스트 <br />안에서 밖으로 - 밖에서 안으로<br />상태 검증 - 동작 검증 <br /> 미리 픽스처 설계 - 단계별 테스트로 픽스처 설<br />계 <br />저자의 철학<br />
  19. 19. 상태 검증<br />SUT를 특정 상태에 두고 실행한 후 SUT가<br />원했던 상태인지 검증<br />
  20. 20. 동작 검증<br />SUT의 시작과 끝의 상태뿐만 아니라 SUT가<br />밑으로 호출하는 것까지 검증 <br />
  21. 21. 동작 검증<br />좀 더 어려운 리펙토링이 필요하지만 소프트웨어의 각 단위를 따로 테스트하기 좋다.<br />
  22. 22. 목차<br />철학이 중요한 이유<br />철학적 차이점<br />한꺼번에 테스트 - 단계적 테스트 <br />안에서 밖으로 - 밖에서 안으로<br />상태 검증 - 동작 검증 <br /> 미리 픽스처 설계 - 단계별 테스트로 픽스처 설<br />계 <br />저자의 철학<br />
  23. 23. 미리 픽스처 설계 <br />
  24. 24. 미리 픽스처 설계 <br />테스트를 봤을 때 픽스처의어느 부분이 특정 테스트 메소드를 위한 사전 조건인지 알기 힘들 수 있다.<br />
  25. 25. 단계적 픽스처 설치<br />좀더 애자일 한 방법이다.<br />맞춤제작<br />
  26. 26. 목차<br />철학이 중요한 이유<br />철학적 차이점<br />한꺼번에 테스트 - 단계적 테스트 <br />안에서 밖으로 - 밖에서 안으로<br />상태 검증 - 동작 검증 <br /> 미리 픽스처 설계 - 단계별 테스트로 픽스처 설<br />계 <br />저자의 철학<br />
  27. 27. - 보통 한 번에 하나의 테스트를 작성하지만 때에 따라서는 미리 개요를 자기 위해 생각나는 모든 테스트를 작성하기도 한다.<br />- 밖에서 안으로 개발하면 다음 안쪽 레이어에서 어떤 테스트가 필요한지 알아내는 데 도움이 된다.<br /><ul><li>상태 검증를 주로 하지만 코드 커버리지를 높이기 위해 동작 검증을 쓰기도 한다.
  28. 28. 단계별 테스트에 따라 픽스처를 설계한다.</li></li></ul><li>결론<br />다른 철학을 이해하는 것이 가장 중요하다.<br />
  29. 29. 끝<br />

×