정보처리기사/소프트웨어 개발
테스트 시나리오와 테스트 기법
jhwannabe
2023. 7. 12. 10:42
테스트 시나리오
테스트 시나리오
- 테스트 케이스를 적용하는 순서에 따라 여러 테스트 케이스의 집합으로서, 테스트 케이스의 동작 순서를 기술한 문서이며 테스트를 위한 절차를 정리한 문서
- 테스트 순서에 대한 구체적인 절차, 사전 조건, 입력 데이터 등을 정리하여, 테스트 항목을 빠짐없이 수행할 수 있도록 함
테스트 시나리오 작성 시 유의점
- 테스트 항목을 시스템별, 모듈별, 항목별 테스트 시나리오를 분리하여 작성
- 고객의 요구사항과 설계 문서 등을 토대로 테스트 시나리오를 작성
- 테스트 항목은 식별자 번호, 순서 번호, 테스트 데이터, 테스트 케이스, 예상 결과, 확인 등의 항목을 포함하여 작성
테스트 환경 구축
- 개발된 응용 소프트웨어가 실제 운영 시스템에서 정상적으로 작동하는지 테스트할 수 있도록 하기 위하여 실제 운영 시스템과 동일 또는 유사한 사양의 하드웨어 소프트웨어, 네트워크 등의 시설을 구축하는 활동
테스트 환경 구축의 유형
하드웨어 기반 | 서버 장비(WAS, DBMS), 클라이언트 장비, 네트워크 장비 등의 장비를 설치하는 작업 |
소프트웨어 기반 | 구축된 하드웨어 환경에 테스트할 응용 소프트웨어를 설치하고 필요한 데이터를 구축하는 작업 |
가상 시스템 기반 | 물리적으로 개발 환경 및 운영 환경과 별개로 독립된 테스트 환경을 구축하기 힘든 경우에는 가상 머신 기반의 서버 또는 클라우드 환경을 이용하여 테스트 환경을 구축하고, 네트워크는 VLAN과 같은 기법을 이용하여 논리적 분할 환경을 구축할 수 있음 |
테스트 기법
화이트박스 테스트(White Box Test)
- 모듈의 원시 코드를 오픈시킨 상태에서 코드의 논리적 모든 경로를 테스트하는 방법
- Source Code의 모든 문장을 한 번 이상 수행하여 모듈 안의 작동을 직접 관찰할 수 있음
- 산출물의 기능별로 적절한 프로그램의 제어 구조에 따라 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검함
- 테스트 데이터를 선택하기 위하여 검증 기준(Test Coverage)을 정함
- 테스트 데이터를 이용해 실제 프로그램을 실행함으로써 오류를 찾는 동적 테스트(Dynamic Test)에 해당
화이트박스 테스트 종류
- 화이트박스 테스트 종류에는 기초 경로 검사, 제어 구조 검사 등이 있음
기초 경로 검사 (Basic Path Testing) |
- Tom McCabe가 제안한 대표적 화이트박스 테스트 기법 - 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 함 - 측정 결과는 실행 경로의 기초를 정의하는데 지침으로 사용됨 - 기초 경로(Basic Path) : 제어 흐름 그래프를 분석하여 선형 독립 실행 경로 집합을 찾음 - McCabe의 순한 복잡도를 사용하여 선형 독립 경로 수를 결정한 다음 얻어진 각 경로에 대한 테스트 사례를 생성함 |
제어 구조 검사 | - 조건 검사 : 프로그램 모듈 내에 있는 노리적 조건을 테스트하는 테스트 케이스 설계 기법 - 루프 검사 : 프로그램의 반복 구조에 초점을 맞춰 실시하는 테스트 케이스 설계 기법 - 데이터 흐름 검사 : 프로그램에서 변수의 정의와 변수 사용의 위치에 초점을 맞춰 실시하는 테스트 케이스 설계 기법 |
화이트박스 테스트 검증 기준
문장 검증 기준 | 소스 코드의 모든 구문이 한 번 이상 수행됨 |
분기 검증 기준 | 소스 코드의 모든 조건문이 한 번 이상 수행됨 |
조건 검증 기준 | 소스 코드의 모든 조건문에 대해 조건이 True인 경우와 False인 경우가 한 번 이상 수행됨 |
분기/조건 기준 | 소스 코드의 모든 조건문과 각 조건문에 포함된 개별 조건식의 결과가 True인 경우와 False인 경우 한 번 이상 수행됨 |
블랙박스 테스트(Black Box Test)
- 소프트웨어가 수행할 특정 기능을 알기 위해 각 기능이 완전히 작동되는 것을 입증하는 테스트로 기능 테스트라고도 함
- 요구사항 명세를 보면서 테스트, 주로 구현된 기능을 테스트함
- 소프트웨어 인터페이스에서 실시되는 테스트
블랙박스 테스트 종류
- 동치 분할 검사, 경계값 분석, 원인-효과 그래프 검사, 오류 예측 검사, 비교 검사 등이 있음
동치 분할 검사 (Equivalence Partitioning) |
- 입력 자료에 초점을 맞춰 테스트 케이스를 만들고 검사하는 방법 - 입력 조건에 타당한 입력 자료와 그렇지 않은 자료의 개수를 균등하게 분할해 테스트 케이스를 설정함 |
원인-효과 그래프 검사 (Cause and Effect Graphing) |
- 입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석함 - 효용성이 높은 테스트 케이스를 선정해 검사함 |
오류 예측 검사 (Error Forecast) |
- 과거의 경험이나 감각으로 테스트하는 기법 - 다른 테스트 기법으로는 찾기 어려운 오류를 찾아내는 보충적 검사 기법 |
비교 검사 (Comparison Testing) |
동일한 테스트 자료를 여러 버전의 프로그램에 입력하고 동일한 결과가 출력되는지 테스트하는 기법 |
경계값 분석 (Boundary Value Analysis) |
- 입력 자료에만 치중한 동치 분할 기법을 보완한 기법 - 입력 조건 경계값에서 오류 발생 확률이 크다는 것을 활용하여 경계값을 테스트 케이스로 선정해 검사함 - 분할의 경계 부분에 해당되는 입력값에서 결함이 발견될 확률이 경험적으로 높기 때문에 결함을 방지하기 위해 경계값까지 포함하여 테스트하는 기법 |
728x90
반응형