일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- JPA
- 재귀
- 프로그래머스
- 자바
- 달빛클럽1기
- 완전탐색
- 백준
- 노마드코더
- 리액트
- ReactJS로 영화 웹 서비스 만들기
- HashMap
- 달빛캠퍼스
- React.js
- SWEA
- 달빛클럽
- Array
- 경제공부
- 달빛클럽 1기
- 노마드코더 강의
- Stack
- 알고리즘
- Java
- programmers
- SoftwareExpertAcademy
- dfs
- React
- 인플레이션에서 살아남기
- BOJ
- 카카오블라인드코딩테스트
- Algorithm
- Today
- Total
th42500의 TIL
테스트 케이스 (Test Case) 본문
테스트 케이스
테스트 케이스에 대해서 잘 몰랐을 때에는 그저 평소 사용하는 체크리스트와 다른건가라는 생각을 했었다. 스케줄러에 할 일을 미리 적어놓고 해당 작업을 완료했을 때 체크를 하는 것과 같이 테스트 케이스도 개발에 있어서 내가 구현해야 할 기능들을 미리 적어놓고 해당 기능을 구현 완료했을 때 체크를 하는 것이라 생각했다. 그러나, 테스트 케이스는 내 생각보다 그리 단순한 문서가 아님을 알게되어 기록을 해보고자 한다.
✔ 체크리스트 VS 테스트 케이스
체크리스트 : 단순한 현상을 체크하기 위한 문서
👉 ex) 공지사항 게시판 좌측 상단에 검색창이 있다.
테스트 케이스 : 테스크 컨디션을 체크하기 위한 문서
👉 ex) 공지사항 게시판은 일반회원이라면 글쓰기 버튼이 보이지 않지만 관리자 회원으로 로그인하면 글쓰기 버튼이 보인다.
이처럼 테스트 케이스에는 테스트 컨디션 즉, 개발이 잘 되었는지 검증하기 위한 조건들이 있다는 점에서 체크리스트와 차이점이 있다고 할 수 있다.
✔ 테스트 베이시스 (Test Basis)
요구사항이 담겨있는 모든 문서 또는 산출물로, 테스트 케이스를 작성하기 위한 데이터(근거)라고 생각하면 된다.
1️⃣ 명세 기반 베이시스 : 글로 작성된 내용
👉 ex) 기능 설명서, 사용자 스토리
2️⃣ 구조 기반 베이시스 : 코드, 제어 흐름도 등의 구조적 데이터로 이루어진 내용
👉 ex) 단위 코드, 제어 흐름도
✔ 테스트 케이스 작성 과정
1️⃣ 명세서나 화면을 보고 제어 흐름도를 작성 (Test Condition 도출)
2️⃣ 1️⃣에서 도출된 Test Condition을 이용하여 결정 테이블을 제작
3️⃣ 2️⃣에서 작성된 결정 테이블을 참고하여 나올 수 있는 상황들을 예측해보고 테스트 케이스를 작성
❓ 제어 흐름도 (Flow Chart)
코드의 실행 순서를 도식으로 표현한 다이어그램으로, 이를 작성하는 데에는 정해진 규칙이 있다.
기호 | 이름 | 용도 |
![]() |
단말 | 순서도의 시작과 끝 |
![]() |
준비 | 사전 준비 과정 |
![]() |
처리 | 처리 작업 |
![]() |
판단 | 조건 명시 |
![]() |
표준 입출력 | 데이터의 입력과 출력 |
![]() |
흐름선 | 처리흐름과 기호연결 |
![]() |
연결자 | 순서도의 다른 부분으로 연결 |
![]() |
페이지 연결자 | 다른 페이지의 순서도로 연결 |
![]() |
수동 입력 | 직접 입력 |
![]() |
카드 파일 | 종이카드의 입출력 |
![]() |
서류 | 서류를 매체로 하는 출력 |
![]() |
디스크 | 디스크에 입출력 |
❓ 결정 테이블 (Decision Table)
조건과 결과로 이루어진 논리 분석을 위한 표로, Condition을 가지고 상황별 테이블을 만든다.
예시)
TC1 | TC2 | TC3 | TC4 | ||
조건 (Condition) |
나이 = 60 | Y | Y | ... | |
나이 > 60 | Y | Y | Y | ... | |
나이 < 60 | Y | Y | ... | ||
기대결과 | 예상결과1 | 예상결과2 | 예상결과3 | ... |
✔ 테스트 케이스 작성 예시
TEST CASE ID | TEST SCENARIO (When) |
TEST CASE | PRE-CONDITION | TEST STEPS | TEST DATA | EXPECITED RESULT |
ACTUAL RESULT |
STATUS (PASS/FAIL) |
케이스 ID | 시나리오 | 테스트 케이스 | 전제조건 | 데스트 과정 | 입력 데이터 | 예상 결과 | 실제 결과 | 상태 |
오늘은 테스트 케이스에 대해 알아보았다. 테스트 케이스를 꼼꼼하게 작성하게 된다면, 개발 과정 중에 발생할 문제들을 미리 예측해보고 보완할 수 있을것 같다.
'Memo' 카테고리의 다른 글
[Web] HTTP API 실습 중 마주한 No response Is the certificate valid? Click here to check. 에러 메세지 (0) | 2022.10.27 |
---|---|
패스워드리스 (0) | 2021.12.20 |
마이데이터 (0) | 2021.12.14 |