테스트는 코드 공예에 있어서 필수불가결한 요소
프로그램을 잘 작성하는 사람이라면 디버깅보다 테스트를 훨씬 더 많이 할 것이다.
에러(error)
당신이 일을 잘못하는 것을 에러라고 한다
사람이 행하는 동작
소프트웨어에 결함을 일으키는 원인
결함(fault)
결함은 에러의 결과
소프트웨어 안에 실체가 존대한다
고장(failure)
결함과 마주치면 그로 인해 고장이 일어날 수도 있다
버그(bug)
버그는 구어체 용어, 종종 결함과 동의어로 사용
소프트웨어 개발자로서 코드를 테스트하는 방법에 초점을 맞추자
누가, 무엇을, 언제, 왜?
왜 테스트를 하나
테스트는 결함이 없다는 사실은 절대 보여줄 수 없다
결함이 있다는 사실만 보여줄 뿐이다
누가 테스트를 하나
소스 코드의 테스트는 소스 코드를 작성한 프로그래머의 책임
테스트는 무엇을 포함하나
주된 테스트 전략은 이 모든 코드를 돌려보고, 또 다른 코드를 덧붙여서 코드의 동작이 타당한지 확인하는 것
언제 테스트하나
효과적으로 코드를 테스트하려면 일찍 시작하자
작성하는 모든 코드에 대해서 즉시 테스트 코드를 작성하자
당신이 찾은 모든 결함에 대해 테스트 코드를 작성하자
테스트는 가능한 자주 하자
테스트는 어렵지 않다...
모든 코드를 냉소적인 태도로 읽자
테스트의 유형
단위테스트 : 모듈 테스트
컴포넌트 테스트 : 하나 이상의 단위를 모아서 컴포넌트 안에 넣은 후 타당성 검사
통합 테스트
역행 테스트
부하 테스트
스트레스 테스트
침수 테스트
유저빌리티 테스트: 엔드 유저 테스트
블랙박스 테스트: 기능 테스트
화이트박스 테스트: 구조 테스트
단위 테스트 케이스 선택하기
테스트를 위한 설계
쉽게 테스트할 수 있는 코드가 되도록 설계하자
손 놓고도 할 수 있어!
코드 테스트를 될 수 있는 한 자동화 하자
단위 테스트가 빌드 과정의 일부로서 자동으로 실행되게 하자
버그 리뷰
제품에 대한 책임이 있는 소프트웨어 개발자들.
테스트 팀의 대표들
관리자들
영업부와 마케팅부 사람들
과 회의에서는 미해결 결함 리포트의 목록에 있는 결함들이 차례로 논의하자
'프로그래밍 > Code Craft' 카테고리의 다른 글
[2부 코드의 비밀스러운 일생] Chapter10 잭이 빌드한 코드 (0) | 2017.11.12 |
---|---|
[2부 코드의 비밀스러운 일생] Chapter9 결함 찾기 (0) | 2017.11.10 |
[2부 코드의 비밀스러운 일생] Chapter7 프로그래머의 도구 상자 (0) | 2017.10.28 |
[1부 코드와 마주보기] Chapter6 사람은 실수를 하기 마련 (0) | 2017.10.27 |
[1부 코드와 마주보기] Chapter5 가벼운 코멘트 (0) | 2017.10.26 |
댓글