소프트웨어는 개발 및 릴리즈 과정까지 수 많은 과정을 겪는데, 소프트웨어가 점진적으로 진화함에 따라 결함의 발생률이 증가합니다. 이를 개선하기 위한 테스트 기법 중 단위 테스트, WhiteBox 테스트, 화면 테스트, 성능 테스트, 부하 테스트 등 다양한 테스트 기법을 알아봅니다.
URL
EMBED
Page 0:
Page 1: 2010년 8월 28일
Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 2: Agenda
Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 3: ?
Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 4: • 윈스톤 로이스(Winston Royce) 에 의해 만들어졌으며, • 수십 년 동안 사용되어 지고, • 현재 우리나라에서 흔히 볼 수 있는 프로세스로, • 각 단계는 순차적으로 진행된다. • 각 단계가 완료되지 않으면 다음 단계가 시작되지 않는다…
Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 5: • •
요구사항 수집 분석
• •
설계 및 디자인 계획 수립
•
구현
• • • •
단위 테스트 / 통합 테스트 문서화
배포 및 인수인계 유지/보수
Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 6: 초기 요구사항을 기반으로 Needs 를 파악
요구사항에 꽉 맞는 소프트웨어 디자인/계획 수립
기능 명세로 요구사항/Needs 명확한 구현
구현된 기능의 테스트로 결함/버그 제거
잘 만들어진 소프트웨어 운영 ^^
Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 7: 초기 요구사항은 완벽할 수 없다
요구사항이 완벽하지 않으면 디자인 작업을 할 수 없다 구현 중에 요구사항/디자인이 변하는 것은 개발 프로세스 위배
잘못된 디자인과 구현으로 올바른 검증이 불가능
이제부터가 진정한 개발 시작!!
Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 8: 고객/사용자도 모르는 자신의 요구사항
그나마 분석/설계된 어정쩡한 디자인
어정쩡한 디자인으로 구현하지만, 드디어 본 모습을 들어내는 고객의 다이나믹한 Needs
변화하고 진화하는 고객 요구사항 반영 오류만 안나면 일단 테스트 성공^^;
불쾌한 소프트웨어로 고객의 피드백 수렴 버그 수정, 안정화 작업
Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 9: • 위험을 줄이고 최소화 하기 위해,
위험 분석
• 프로토타입을 만들어보고,
위험 분석 위험 분석 제품 계획 개발 계획 테스트 계획 요구사항 분석
설계와 설계 유효성 검증
• 위험 요소를 분석/평가 하여
프로토타입
• 반복하는 개발 프로세스
구현 테스팅
Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 10: Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 11: Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 12: Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 13: 그러나…
Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 14: Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 15: Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 16: Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 17: • • •
• • • •
• •
-> ->
Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 18: 데이터 중심 단위 테스트
•데이터의 트랜잭션을 보장 향상 •데이터의 통일성 보장 향상 •데이터의 품질 향상
•데이터베이스의 부하 증가 •더미(Dummy) 데이터의 증가 •테스트 실행 성능 저하
사용자 중심 단위 테스트
•최소한의 런타임 동작을 보장 •관련 있는 컴포넌트간의 연관된 오류 최소화 •컴포넌트간에 자연스럽게 결합도 감소 •사용자 동작 시 오류 최소화 •런타임 오류 최소화
•테스트를 위하여 추상화된 패턴을 강제화 •패턴을 통한 리팩토링 양의 증가로 생산성 저하
Dummy Stub
•테스트의 정확도 증가 •소프트웨어 품질 향상
Spy Fake
•테스트 복잡도 증가 •테스트 코드 양의 증가
테스트의 복잡성을 단순화
BDD + Mock
테스트 교육 및 테스트 전문가/팀 필요
Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 19: Visual Studio Camp #1
한국 Visual Studio 공식 팀
http://vsts2010.net
@vsts2010
Page 20: 한국 Visual Studio 공식 팀 http://vsts2010.net @vsts2010
Page 21: