테스트 케이스는 소프트웨어를 테스트하기 위해 필요한 조건과 절차를 문서로 정리한 것이다. 일반적으로 테스트 조건(어떤 조건에서 수행할지), 테스트 데이터(어떤 값을 입력할지), 예상 결과(그 입력에 대해 어떤 결과가 나올지)가 핵심 구성 요소로 포함된다. 테스트 비용은 프로젝트 관리 차원의 요소일 뿐 테스트 케이스 자체의 구성 항목이 아니다. 테스트 결과가 정상인지 판단하는 기준은 테스트 오라클이 담당한다.
작성 순서도 정해져 있다. 먼저 테스트 목표와 방법을 결정한 뒤, 그것을 바탕으로 테스트 케이스를 설계하고 작성한다. 목표나 방법을 정하기 전에 케이스를 먼저 쓰는 것은 올바르지 않다. 테스트 케이스 자동 생성 도구가 테스트 데이터를 찾아내는 방법에는 입력 도메인 분석, 랜덤 테스트, 자료 흐름도 활용 등이 있다. 스터브와 드라이버는 테스트할 모듈의 주변 환경을 대신하는 가짜 프로그램으로, 테스트를 실행하기 위한 환경을 구성하는 도구이지 데이터를 찾아내는 방법이 아니다.
케이스 설계 관점은 화이트박스와 블랙박스로 갈린다. 화이트박스 테스트는 프로그램 원시 코드의 논리적인 구조를 커버하도록 테스트 케이스를 설계하는 방법으로, 모듈 안의 작동을 자세히 관찰할 수 있고 논리흐름도를 활용하며 실제 프로그램을 실행하는 동적 테스트이고 검증 기준(커버리지)을 설정한다. 대표 기법은 기본 경로 검사, 조건 검사, 루프 검사, 데이터 흐름 검사다. 기본 경로(Basis Path)는 싸이클 허용 여부와 무관하게 논리적으로 독립적인 경로를 의미한다. 블랙박스 테스트는 내부 구조를 고려하지 않고 입력과 출력의 관계, 즉 기능을 검사하며 동치 분할, 경계값 분석, 원인-결과 그래프 등으로 케이스를 만든다. 비교 검사는 결과값을 대조하는 블랙박스 계열 기법이고, Nassi-Shneiderman 도표는 구조적 설계 도구라 블랙박스 검정 기준 작성에 쓰이지 않는다.
예제
시험에서는 '테스트 케이스에 일반적으로 포함되는 항목이 아닌 것은?' 꼴이 나오는데 정답은 테스트 비용이다(조건·데이터·예상 결과가 포함 항목). '테스트 목표 및 방법 결정 전에 테스트 케이스를 작성해야 한다'는 보기는 순서가 뒤집혀 틀린 설명이고, '스터브와 드라이버로 테스트 데이터를 찾아낸다'도 환경 구성과 데이터 생성을 섞은 오답이다. 화이트박스 관련 문제에서는 '비교 검사'가 화이트박스 표준 기법이 아니라는 점과, '기본 경로는 싸이클을 허용하지 않는 경로'라는 정의가 틀렸다는 점이 자주 등장한다.
대표 기출 3문항
테스트 케이스에 일반적으로 포함되는 항목이 아닌 것은?
테스트 조건
테스트 데이터
테스트 비용
예상 결과
정답과 해설 보기
정답 ③ · 테스트 케이스에 일반적으로 포함되는 항목이 아닌 것을 고르는 문제이다. 테스트 케이스는 테스트 조건, 테스트 데이터(입력값), 예상 결과를 핵심 구성 요소로 포함하는 문서로, 무엇을 어떤 입력으로 검증하고 어떤 결과가 나와야 하는지를 정의한다.
테스트 케이스는 테스트 조건, 입력 데이터, 예상 결과를 포함하며 비용은 포함되지 않는다.
소프트웨어 테스트와 관련한 설명으로 틀린것은?
화이트 박스 테스트는 모듈의 논리적인 구조를 체계적으로 점검할 수 있다.
블랙박스 테스트는 프로그램의 구조를 고려하지 않는다.
테스트 케이스에는 일반적으로 시험 조건,테스트 데이터, 예상 결과가 포함되어야한다.
화이트박스 테스트에서 기본 경로(BasisPath)란 흐름 그래프의 시작 노드에서 종료노드까지의 서로 독립된 경로로 싸이클을 허용하지 않는 경로를 말한다.
정답과 해설 보기
정답 ④ · 소프트웨어 테스트 관련 설명 중 틀린 것을 고르는 문제이다. 화이트박스 테스트는 모듈의 논리적 구조를 체계적으로 점검할 수 있고, 블랙박스 테스트는 프로그램 구조를 고려하지 않으며, 테스트 케이스에는 시험 조건, 테스트 데이터, 예상 결과가 포함되어야 한다는 설명은 모두 옳다.
기본 경로(Basis Path)는 싸이클을 허용하지 않는 독립된 경로가 아니라, 논리적으로 독립적인 경로를 의미하므로 ④는 틀린 설명이다.
테스트 케이스 자동 생성 도구를 이용하여 테스트 데이터를 찾아내는 방법이 아닌 것은?
스터브(Stub)와 드라이버(Driver)
입력 도메인 분석
랜덤(Random) 테스트
자료 흐름도
정답과 해설 보기
정답 ① · 테스트 케이스 자동 생성 도구가 테스트 데이터를 도출할 때 사용하는 방법이 아닌 것을 찾는 문제이다. 테스트 데이터 자동 생성은 입력 도메인 분석, 무작위 값을 활용하는 랜덤 테스트, 제어 흐름도 및 자료 흐름도 분석 등을 통해 이루어진다.
테스트 데이터 생성은 입력 도메인 분석, 랜덤 테스트, 자료 흐름도 등을 활용하며, 스터브와 드라이버는 테스트 실행 환경 구성 도구이다.