어느날 우연히 스위처 소방수로 참여해서 2달 동안 수행한 일들을 공유합니다. 그 첫번재 이야기 ‘기본을 지키자’ 입니다.
전체를 리드하면서 업무를 진행해본 첫 경험이기도 했고, 유저가 증가하며 서비스되고 있는 프로젝트를 A to Z로 혼자 감당해본 첫 경험이기도 했습니다.
새로운 서버를 설계하고 개발하면서, 레거시 안정화 및 이슈 응대를 모두 병행하는게 쉬운 일은 아니었지만, 핑계대지 않고 하나하나 기본을 다져 보았습니다!
아직 갈길이 멀었지만, 성장해가는 아이오(스위처)의 소프트웨어 이야기를 하나씩 하나씩 풀어보려 합니다 ;)
어느날 우연히 스위처 소방수로 참여해서 2달 동안 수행한 일들을 공유합니다. 그 첫번재 이야기 ‘기본을 지키자’ 입니다.
전체를 리드하면서 업무를 진행해본 첫 경험이기도 했고, 유저가 증가하며 서비스되고 있는 프로젝트를 A to Z로 혼자 감당해본 첫 경험이기도 했습니다.
새로운 서버를 설계하고 개발하면서, 레거시 안정화 및 이슈 응대를 모두 병행하는게 쉬운 일은 아니었지만, 핑계대지 않고 하나하나 기본을 다져 보았습니다!
아직 갈길이 멀었지만, 성장해가는 아이오(스위처)의 소프트웨어 이야기를 하나씩 하나씩 풀어보려 합니다 ;)
[FEConf 2018] Front-End 프로젝트의 Test code 작성경험기Ahreum Kim
2018. 11. 03 'FEConf 2018' 발표자료입니다.
---
처음으로 프론트엔드 프로젝트에 (유닛)테스트코드를 작성해보며 느낀 경험을 공유합니다. 어떤 관점으로 접근 했는지부터, 테스트코드 작성을 하며 만난 고민과 해결책은 어떤 방식으로 풀어 냈는지 코드와 함께 다뤄보려 합니다. 저는 테스트 숙련자가 아니지만, 저와 비슷한 위치에서 테스트에 입문하시려는 분들께 어떻게 테스트에 입문하고 코드를 작성했는지에 대해서 구체적인 경험을 공유하는 것도 의미있을 거라 생각했습니다. 제가 드릴 얘기들이 정답이 아닐 수 있지만, 더 좋은 방향을 고민하면서 같이 생각해볼 수 있다면 좋겠습니다.
[FEConf 2018] Front-End 프로젝트의 Test code 작성경험기Ahreum Kim
2018. 11. 03 'FEConf 2018' 발표자료입니다.
---
처음으로 프론트엔드 프로젝트에 (유닛)테스트코드를 작성해보며 느낀 경험을 공유합니다. 어떤 관점으로 접근 했는지부터, 테스트코드 작성을 하며 만난 고민과 해결책은 어떤 방식으로 풀어 냈는지 코드와 함께 다뤄보려 합니다. 저는 테스트 숙련자가 아니지만, 저와 비슷한 위치에서 테스트에 입문하시려는 분들께 어떻게 테스트에 입문하고 코드를 작성했는지에 대해서 구체적인 경험을 공유하는 것도 의미있을 거라 생각했습니다. 제가 드릴 얘기들이 정답이 아닐 수 있지만, 더 좋은 방향을 고민하면서 같이 생각해볼 수 있다면 좋겠습니다.
상업적 이용 및 출처없는 무단전재를 금합니다.
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일의 스크럼, XP에 대한 기본적인 소개와 스크럼 팀 안에서 테스트 역할자로써 사용자 스토리 리뷰, 테스트 설계, 짝 테스트, 테스트 자동화 등에 대한 내용을 사례 기반으로 소개하고 있습니다.
전통적인 개발과 테스트 주도 개발은 어떻게 다를까?
전통적인 개발이 빠를까? 테스트 주도 개발이 빠를까?
테스트 주도 개발과 애자일은 어떤 관계가 있을까?
에 대한 발표 자료입니다.
발표문을 추가한 블로그 글 주소입니다.
https://taptorestart.tistory.com/entry/%EC%A0%84%ED%86%B5%EC%A0%81%EC%9D%B8-%EA%B0%9C%EB%B0%9C%EA%B3%BC-%ED%85%8C%EC%8A%A4%ED%8A%B8-%EC%A3%BC%EB%8F%84-%EA%B0%9C%EB%B0%9C-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EC%95%A0%EC%9E%90%EC%9D%BC
24. Test-driven development (TDD) is a software development process that
relies on the repetition of a very short development cycle
테스트 주도 개발 (TDD)
출처: WIKIPEDIA Test-driven development
저는 테스트 코드에 대해 이야기한다고 했죠
테스트 주도 개발에 이야기하려는 건 아니에요
25. Test-driven development (TDD) is a software development process that
relies on the repetition of a very short development cycle
테스트 주도 개발 (TDD)
출처: WIKIPEDIA Test-driven development
가볍게 테스트 주도 개발과 테스트 코드의 정의를 확인하고
구분해 보고자 해요
26. Test-driven development (TDD) is a software development process that
relies on the repetition of a very short development cycle
테스트 주도 개발 (TDD)
출처: WIKIPEDIA Test-driven development
테스트 주도 개발은 소프트웨어 개발 프로세스 방법 중 하나에요
27. Test-driven development (TDD) is a software development process that
relies on the repetition of a very short development cycle
테스트 주도 개발 (TDD)
출처: WIKIPEDIA Test-driven development
절대, 테스트 기법 중 하나가 아니에요
소프트웨어를 개발하는 프로세스 방법 중 하나이죠
28. unit testing is a software testing method by which individual units of
source code, ... are tested to determine whether they are fit for use.
테스트 코드
출처: WIKIPEDIA Unit testing
그럼 테스트 코드의 정의를 살펴볼까요
29. unit testing is a software testing method by which individual units of
source code, ... are tested to determine whether they are fit for use.
테스트 코드
출처: WIKIPEDIA Unit testing
유닛 테스트의 정의를 찾아봤어요
30. unit testing is a software testing method by which individual units of
source code, ... are tested to determine whether they are fit for use.
테스트 코드
출처: WIKIPEDIA Unit testing
유닛 테스트는 소프트웨어 테스트 기법 중 하나이죠
31. unit testing is a software testing method by which individual units of
source code, ... are tested to determine whether they are fit for use.
테스트 코드
출처: WIKIPEDIA Unit testing
테스트 주도 개발의 정의와는 다른 범주의 이야기에요
32. 테스트 코드만 이야기해 볼게요
다시 말씀 드리지만
저는 테스트 코드에 대해 이야기하려 해요
59. 새 기능을 개발하려고 보니, 리팩토링이 필요한 기존 코드 발견.
단위 기능으로 분리할 수 있는 함수들을 도출하자.
테스트 코드: 나의 사례 2
60. 새 기능을 개발하려고 보니, 리팩토링이 필요한 기존 코드 발견.
단위 기능으로 분리할 수 있는 함수들을 도출하자.
도출한 김에 지난 번에 이야기했던 diff style 변경도 같이 하자.
테스트 코드: 나의 사례 2
61. 새 기능을 개발하려고 보니, 리팩토링이 필요한 기존 코드 발견.
단위 기능으로 분리할 수 있는 함수들을 도출하자.
도출한 김에 지난 번에 이야기했던 diff style 변경도 같이 하자.
기존 로직 분리만 했으니 테스트 코드 모두 통과하겠지?
테스트 코드: 나의 사례 2
63. 새 기능을 개발하려고 보니, 리팩토링이 필요한 기존 코드 발견.
단위 기능으로 분리할 수 있는 함수들을 도출하자.
도출한 김에 지난 번에 이야기했던 diff style 변경도 같이 하자.
기존 로직 분리만 했으니 테스트 코드 모두 통과하겠지?
휴, 테스트 코드 아니었으면 Side Effect 무시하고 배포할 뻔 했네.
테스트 코드: 나의 사례 2
64. 협업 Side Effect
테스트 코드의 장점을 체감한 저의 경험은
‘협업’과 ‘Side Effect’ 2가지 키워드로 요약할 수 있을 것 같아요