테스트에 대한 기본적인 개념과 테스트 과정에서 집중해야 할 요소에 대하여
책 추천 : 함께 자라기
테스트할 때 기억할 7가지
1. 테스트 케이스
- 테스트 케이스(기준) → 테스트 실행 → 결과 판단
- 동일한 조건, 동일한 입력 확인 후 기대 결과와 실제 결과를 비교한다.
- 테스트 케이스를 잘못 정의할 경우 비정상이 정상으로 둔갑한다.
2. 제품 요구사항
- 테스트 케이스는 요구 사항의 본질은 같지만 다른 표면을 가진 것이다. (like 동전의 앞/뒷면)
💡 문제 해결 과정 중 가장 많은 시간을 투자하는 단계는?
- 원인을 찾는 단계
3. 외부 인터페이스를 확인한다.
-
내부 구현 먼저 확인
- 개인의 자율에 맡겨져 있음
- 주관적인 근거로 대화 (감정적인 반응을 유발)
-
(외부) 인터페이스
- 협력하는 상호간의 약속 이행을 확인
- 문제의 범위를 좁혀 나간다
- 객관적 데이터를 근거로 대화 (감정이 개입한 여지가 적음)
외부 인터페이스를 확인하는 방법
- (협력하는) 외부 인터페이스를 모두 찾는다.
- 메세지를 모두 확인한다.
- 메세지의 전체 흐름을 이해한다.
- 기준을 가지고 테스트한다.
요구사항 테스트케이스 → 문제를 찾았다.
외부 인터페이스를 확인한다 → 문제를 해결한다.
4. 처음 만나는 프로덕트
개발 후 언제 제품을 처음 만나시나요
문제 → 분석 → 구현(부분적으로 만남) → 테스트(제품을 만난다!) → 배포
- 요구사항은 분석 때 정의하게 된다.
- 제품을 보지 못하고 요구사항을 정의하는 개발 프로세스의 아이러니
5. 사용자
내가 사용자 관점으로, 내가 만든 제품의 첫 사용자가 되어본다.
- 고객의 상황을 상상해본다.
- 팝업창에 닫기 버튼이 보이지 않는다.
- 똑같은 기능을 좀 더 편하게.
- 빈 공간을 클릭하면 팝업 창이 닫혔으면 좋겠다
6. 일관성
태도 따위가 한결같은 성질
- 기억 할 것을 최소화
- 쉽게 익숙해 지도록
일관성은 팀의 일관된 기준으로 맞춘다.
7. 이제 테스트 해야지!
우리는 여러가지 이유로 테스트를 미루고 있다.
테스트 환경 구성하기가 까다로워서
간단한 기능이라서…
테스트 케이스의 가장 기본적인 한 가지는 테스트라는 것을 잊지 말자.