“NHN&TDD”NHN 생산성혁신랩정상혁 과장, 차민창 과장
얘기꺼리NHN 개발자 정말 TDD하고 있나요?NHN에서 TDD하면 팀장이 좋아하나요?NHN에서는 이런 코드도 테스트하나요?NHN에서테스트 커버리지 측정 후 어떤 일이 일어났나요?골라보세요!
NHN 개발자 정말 TDD하고 있나요?
현황TDD를 잘 활용하는 개발자가 많은 것은 아님코드 작성 후 테스트 코드를 작성하는 개발자도 많음전반적으로 TDD에 대한 개발자들의 인식은 긍정적이고 매우 적극적임
활동TDD를 포함한 품질 개선 활동을 장려하고 확산하는 지원 조직 ‘생산성혁신랩’ 신설교육(Live Coding), 기술지원(짝 프로그래밍), 프로젝트 파견(테스트 인프라 구축) 등을 통해 현장지원 수행
결과TDD에 대한 다양한 지원으로 현업에서도 TDD를 수행하는 개발자가 점점 증가하는 추세새롭게 TDD를 수행하는 개발자는 해당 조직 내에서 Seed 역할최근 TDD를 넘어 ATDD도 확산
NHN에서 TDD하면 팀장이 좋아하나요?
현황전사적 품질 활동(Quality Practice, 줄여서 QP) 도입 전/후가 다름도입 전, 팀장의 성향에 따라 TDD활동에 대한 시각이 엇갈림도입 후, 인식의 변화로 긍정적인 시각의 팀장 증가
활동2009년 전사적 품질활동 본격적으로 도입여러 품질활동 중 ‘테스트 자동화’ 를 특별히 강조품질활동을 통해 산출 된 수치 및 정성적 평가가 성과로 연결
결과TDD 결과로 서비스의 품질과 팀의 성과에 긍정적인 작용을 함팀장이 인정하지 않더라도 개발자가 TDD를 해야 한다고 주장할 수 있는 강력한 근거가 생김
NHN에서는 이런 코드도 테스트하나요?
현황NHN내의 개발자 사이에서 테스트 작성범위에 대한 논쟁이 있음테스트 커버리지 100% 달성해야 하는가? Mock 어디까지 사용해야 하는가?Action(혹은 Controller) 테스트 해야 하는가?
현황(Cont`) - 예시public void joinToCafebook(Cafebook book,  Article relatedArticle, CafeUsercurrentUser) {cafeBookDAO.insert(book);articleDAO.insert(relatedArticle);cafeUserDAO.insert(currentUser);}이런 코드도 Mock을 이용해서 단위 테스트 해야 하나?* 위 예는 실제 서비스 코드와 유사한 가상코드입니다.
활동각 서비스 별 코드리뷰 혹은 단체 토론 교육을 통해 실제 서비스 상황 중심으로 테스트에 관한 심층적 논의논의를 하다 보면 아래 단어가 자주 등장 ROI유지보수성통합테스트,Acceptance Test상태검증, 행위검증, Mock
결과아직 전사적으로 뚜렷한 합의점은 찾지 못한 상태‘서비스의 품질을 향상시킨다’라는 관점을 견지하며 지속적으로 고민하고 있는 상황
NHN에서테스트 커버리지 측정 후 어떤 일이 일어났나요?
현황품질활동을 시작하며 각 서비스 별 테스트 커버리지 수치를 측정해당 수치는 서비스 품질의 대표성을 갖기 때문에 해당 수치를 보며 품질향상에 대한 의욕이 고취되는 개발자도 있음반면 서비스의 품질을 높이려는 본래 의도와는 달리 테스트 커버리지 수치만 올리려는 개발자도 있음
활동단순 수치의 달성이 아닌 품질향상이라는 본질적 의미를 반복적으로 강조정기적으로 서비스 별 품질활동 상황을 확인생산성혁신랩의지원 활동으로 현장에서는 서비스 품질 향상에 더욱 집중할 수 있게 함예)품질활동 제도 정비, 도구 지원및 개선 등
결과더 좋은 테스트 혹은 효과적인 테스트에 대한 개발자의 관심이 커짐품질향상에 집중함으로 인해 높은 커버리지를 달성한 서비스는 자긍심을 가짐
결과(Cont`)반복되는 강조에도 여전히 본질인 품질에 집중하는 개발자와 그렇지 않은 개발자로 나뉨높은 테스트 커버리지 수치가 품질을 보장하지 않음수치는 품질의 부산물

More Related Content

PPTX
Deview nhn애자일개발 ci
PPTX
Test driven development
PPTX
TDD: Test Driven Development 첫번째 이야기
PPTX
테스트 자동화와 TDD(테스트 주도 개발방법론)
PPTX
Tdd ver.2
PDF
파이썬 TDD 101
PDF
TDD&Refactoring Day 02: TDD
PPTX
Deview nhn애자일개발 ci
Test driven development
TDD: Test Driven Development 첫번째 이야기
테스트 자동화와 TDD(테스트 주도 개발방법론)
Tdd ver.2
파이썬 TDD 101
TDD&Refactoring Day 02: TDD

What's hot (18)

PPTX
IoT 개발자를 위한 Embedded C에서 TDD를 해보자
PPTX
Test Driven Development (TDD) basic
PDF
Tdd with JUnit 1
PDF
[AUG]개발자와 QA가 상생하는 테스트 프로세스
PDF
C++ 코드 품질 관리 비법
PPTX
단위테스트자동화지원도구 임성현 최종
PDF
애자일 도입과 사례 공유
PPTX
테스트 케이스와 SW 품질
PDF
테스터가 말하는 테스트코드 작성 팁과 사례
PDF
플리토 코드리뷰 - Code Review in Flitto
PDF
Learning Unit Testing with Pair Programming
PPTX
C++과 TDD
PPTX
PPTX
Game qa
PPTX
프로젝트 Xxx에 적용하고 싶은 개발방법
PPTX
유지보수를 고려한 SW 개발
PPTX
Java 그쪽 동네는
PDF
코드 리뷰 시스템 소개
IoT 개발자를 위한 Embedded C에서 TDD를 해보자
Test Driven Development (TDD) basic
Tdd with JUnit 1
[AUG]개발자와 QA가 상생하는 테스트 프로세스
C++ 코드 품질 관리 비법
단위테스트자동화지원도구 임성현 최종
애자일 도입과 사례 공유
테스트 케이스와 SW 품질
테스터가 말하는 테스트코드 작성 팁과 사례
플리토 코드리뷰 - Code Review in Flitto
Learning Unit Testing with Pair Programming
C++과 TDD
Game qa
프로젝트 Xxx에 적용하고 싶은 개발방법
유지보수를 고려한 SW 개발
Java 그쪽 동네는
코드 리뷰 시스템 소개
Ad

Similar to E1_Deview nhn애자일개발 tdd_질문답 (20)

PDF
엔지니어의 학습, 그리고 테스트 코드
PDF
개발이 테스트를 만났을 때(Shift left testing)
PDF
애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)
PDF
발표자료 1인qa로살아남는6가지방법
PDF
아꿈사.C++ api 디자인.20140315 a
PDF
TDD - 테스트 주도로 개발하기
PDF
Istqb 1-소프트웨어테스팅기초-2015
PPTX
TDD - Test Driven Development
PDF
Istqb 2-소프트웨어수명주기와테스팅-2015
PPTX
[H3 2012] 행복한 개발을 위한 테스트 케이스
PPTX
행복한 개발을 위한_테스트_케이스
PDF
짝 테스트(Pair Testing) 소개와 사례
PDF
Istqb 5-테스트관리-2015-배포
PDF
EMOCON 2015 - 품질과 테스트는 다르다
PPTX
사내 TDD 도입을 위한 설명 문서
PDF
testing for agile?, agile for testing
PPT
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
PDF
KSUG 스프링캠프 2019 발표자료 - "무엇을 테스트할 것인가, 어떻게 테스트할 것인가"
PDF
테스트수행사례 W통합보안솔루션
PPTX
TDD, 뭐시 중헌디
엔지니어의 학습, 그리고 테스트 코드
개발이 테스트를 만났을 때(Shift left testing)
애자일 테스트 프랙티스와 사례들 (부제: 협업의 힘)
발표자료 1인qa로살아남는6가지방법
아꿈사.C++ api 디자인.20140315 a
TDD - 테스트 주도로 개발하기
Istqb 1-소프트웨어테스팅기초-2015
TDD - Test Driven Development
Istqb 2-소프트웨어수명주기와테스팅-2015
[H3 2012] 행복한 개발을 위한 테스트 케이스
행복한 개발을 위한_테스트_케이스
짝 테스트(Pair Testing) 소개와 사례
Istqb 5-테스트관리-2015-배포
EMOCON 2015 - 품질과 테스트는 다르다
사내 TDD 도입을 위한 설명 문서
testing for agile?, agile for testing
애자일 게임 개발: 현실 세계의 혼돈을 다루는 법 (Agile Game Development: Dealing With Chaos In Th...
KSUG 스프링캠프 2019 발표자료 - "무엇을 테스트할 것인가, 어떻게 테스트할 것인가"
테스트수행사례 W통합보안솔루션
TDD, 뭐시 중헌디
Ad

More from NAVER D2 (20)

PDF
[211] 인공지능이 인공지능 챗봇을 만든다
PDF
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
PDF
[215] Druid로 쉽고 빠르게 데이터 분석하기
PDF
[245]Papago Internals: 모델분석과 응용기술 개발
PDF
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
PDF
[235]Wikipedia-scale Q&A
PDF
[244]로봇이 현실 세계에 대해 학습하도록 만들기
PDF
[243] Deep Learning to help student’s Deep Learning
PDF
[234]Fast & Accurate Data Annotation Pipeline for AI applications
PDF
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
PDF
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
PDF
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
PDF
[224]네이버 검색과 개인화
PDF
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
PDF
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
PDF
[213] Fashion Visual Search
PDF
[232] TensorRT를 활용한 딥러닝 Inference 최적화
PDF
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
PDF
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
PDF
[223]기계독해 QA: 검색인가, NLP인가?
[211] 인공지능이 인공지능 챗봇을 만든다
[233] 대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing: Maglev Hashing Scheduler i...
[215] Druid로 쉽고 빠르게 데이터 분석하기
[245]Papago Internals: 모델분석과 응용기술 개발
[236] 스트림 저장소 최적화 이야기: 아파치 드루이드로부터 얻은 교훈
[235]Wikipedia-scale Q&A
[244]로봇이 현실 세계에 대해 학습하도록 만들기
[243] Deep Learning to help student’s Deep Learning
[234]Fast & Accurate Data Annotation Pipeline for AI applications
Old version: [233]대형 컨테이너 클러스터에서의 고가용성 Network Load Balancing
[226]NAVER 광고 deep click prediction: 모델링부터 서빙까지
[225]NSML: 머신러닝 플랫폼 서비스하기 & 모델 튜닝 자동화하기
[224]네이버 검색과 개인화
[216]Search Reliability Engineering (부제: 지진에도 흔들리지 않는 네이버 검색시스템)
[214] Ai Serving Platform: 하루 수 억 건의 인퍼런스를 처리하기 위한 고군분투기
[213] Fashion Visual Search
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[242]컴퓨터 비전을 이용한 실내 지도 자동 업데이트 방법: 딥러닝을 통한 POI 변화 탐지
[212]C3, 데이터 처리에서 서빙까지 가능한 하둡 클러스터
[223]기계독해 QA: 검색인가, NLP인가?

E1_Deview nhn애자일개발 tdd_질문답

  • 2. 얘기꺼리NHN 개발자 정말 TDD하고 있나요?NHN에서 TDD하면 팀장이 좋아하나요?NHN에서는 이런 코드도 테스트하나요?NHN에서테스트 커버리지 측정 후 어떤 일이 일어났나요?골라보세요!
  • 3. NHN 개발자 정말 TDD하고 있나요?
  • 4. 현황TDD를 잘 활용하는 개발자가 많은 것은 아님코드 작성 후 테스트 코드를 작성하는 개발자도 많음전반적으로 TDD에 대한 개발자들의 인식은 긍정적이고 매우 적극적임
  • 5. 활동TDD를 포함한 품질 개선 활동을 장려하고 확산하는 지원 조직 ‘생산성혁신랩’ 신설교육(Live Coding), 기술지원(짝 프로그래밍), 프로젝트 파견(테스트 인프라 구축) 등을 통해 현장지원 수행
  • 6. 결과TDD에 대한 다양한 지원으로 현업에서도 TDD를 수행하는 개발자가 점점 증가하는 추세새롭게 TDD를 수행하는 개발자는 해당 조직 내에서 Seed 역할최근 TDD를 넘어 ATDD도 확산
  • 8. 현황전사적 품질 활동(Quality Practice, 줄여서 QP) 도입 전/후가 다름도입 전, 팀장의 성향에 따라 TDD활동에 대한 시각이 엇갈림도입 후, 인식의 변화로 긍정적인 시각의 팀장 증가
  • 9. 활동2009년 전사적 품질활동 본격적으로 도입여러 품질활동 중 ‘테스트 자동화’ 를 특별히 강조품질활동을 통해 산출 된 수치 및 정성적 평가가 성과로 연결
  • 10. 결과TDD 결과로 서비스의 품질과 팀의 성과에 긍정적인 작용을 함팀장이 인정하지 않더라도 개발자가 TDD를 해야 한다고 주장할 수 있는 강력한 근거가 생김
  • 11. NHN에서는 이런 코드도 테스트하나요?
  • 12. 현황NHN내의 개발자 사이에서 테스트 작성범위에 대한 논쟁이 있음테스트 커버리지 100% 달성해야 하는가? Mock 어디까지 사용해야 하는가?Action(혹은 Controller) 테스트 해야 하는가?
  • 13. 현황(Cont`) - 예시public void joinToCafebook(Cafebook book, Article relatedArticle, CafeUsercurrentUser) {cafeBookDAO.insert(book);articleDAO.insert(relatedArticle);cafeUserDAO.insert(currentUser);}이런 코드도 Mock을 이용해서 단위 테스트 해야 하나?* 위 예는 실제 서비스 코드와 유사한 가상코드입니다.
  • 14. 활동각 서비스 별 코드리뷰 혹은 단체 토론 교육을 통해 실제 서비스 상황 중심으로 테스트에 관한 심층적 논의논의를 하다 보면 아래 단어가 자주 등장 ROI유지보수성통합테스트,Acceptance Test상태검증, 행위검증, Mock
  • 15. 결과아직 전사적으로 뚜렷한 합의점은 찾지 못한 상태‘서비스의 품질을 향상시킨다’라는 관점을 견지하며 지속적으로 고민하고 있는 상황
  • 16. NHN에서테스트 커버리지 측정 후 어떤 일이 일어났나요?
  • 17. 현황품질활동을 시작하며 각 서비스 별 테스트 커버리지 수치를 측정해당 수치는 서비스 품질의 대표성을 갖기 때문에 해당 수치를 보며 품질향상에 대한 의욕이 고취되는 개발자도 있음반면 서비스의 품질을 높이려는 본래 의도와는 달리 테스트 커버리지 수치만 올리려는 개발자도 있음
  • 18. 활동단순 수치의 달성이 아닌 품질향상이라는 본질적 의미를 반복적으로 강조정기적으로 서비스 별 품질활동 상황을 확인생산성혁신랩의지원 활동으로 현장에서는 서비스 품질 향상에 더욱 집중할 수 있게 함예)품질활동 제도 정비, 도구 지원및 개선 등
  • 19. 결과더 좋은 테스트 혹은 효과적인 테스트에 대한 개발자의 관심이 커짐품질향상에 집중함으로 인해 높은 커버리지를 달성한 서비스는 자긍심을 가짐
  • 20. 결과(Cont`)반복되는 강조에도 여전히 본질인 품질에 집중하는 개발자와 그렇지 않은 개발자로 나뉨높은 테스트 커버리지 수치가 품질을 보장하지 않음수치는 품질의 부산물