728x90
목차
1.테스트
2.테스트 기법
3.테스트 기법에 따른 테스트 기법
1.테스트
1-1. 테스트의 개념
* 구현된 소프트웨어 대상으로 오류를 찾아내는 작업
* 사용자가 요구하는 기능의 성능, 사용성, 언전성 등을 만족하지 못하는 결함을 찾아내는 활동
* 테스트는 모든 종류의 입력에 정확하게 응답하며, 수용 가능한 시간 내에 그 기능을 수행하며 충분히 사용 가능한지 평가
1-2. 테스트의 필요성
* 잠재된 오류를 발견하고 이를 수정하여 올바른 프로그램을 개발해야 한다
* 코드리뷰: 해당 프로그램을 개발하지 않은 개발자가 소스코드를 검토
* 인스펙션: 표준사항, 명세서에 서술된 내용을 바탕으로 결과의 편차를 검증
* 사용자의 요구사항을 만족하도록 반복적인 테스트를 진행하여 신뢰도를 향상 시켜야 한다
1-3. 테스트의 원칙
1. 프로그램의 계획 단계부터 테스트를 진행
* 소프트웨어 생명주기의 단계별로 적절한 테스트 진행
2. 완벽한 테스트는 불가능
* 반복적인 테스트로 잠재적인 오류를 줄일수는 있지만, 모든 오류를 발견할수 없다
3. 자신이 아닌 다른 개발자가 테스트
* 자신이 코딩한 소스코드를 제3자가 소스코드를 검토
4. 결함 집중
* 결함은 대부분 소수의 특정 모듈에 집중, 결함의발견, 가시화, 제거, 예방등을 효율적으로 진행
5. 살충제 패러독스
* 동일한 테스트 케이스를 반복실행하면 더이상 새로운 결함을 발견할수 없으므로 주기적으로 테스트케이스 개선
6. 오류-부재의 궤변
* 아무리 많은 오류를 제거한다고 해도 사용자의 요구사항을 만족하지 못하는 프로그램은 품질 높다고 말할수 없다
1-4. 일반적인 테스트 프로세스
1. 테스트 계획
2. 테스트 분석 및 디자인
3. 테스트 케이스 및 시나리오 작성
4. 테스트 수행
5. 테스트 결과 평가 및 보고서 작성
6. 결함 추적 및 관리
2.테스트 기법
2-1. 실행 기반 테스트
1. 정적 테스트
* 프로그램을 실행하지 않고 요구사항 명세서, 소스코드를 대상으로 분석
* 워크스루: 검토 회의 전에 미리 준비된 자료를 배포하여 사전검토 진행하고, 검토 회의를 빠르게 진행하여 오류를 조기 발견
* 동료검토: 요구사항 명세서 작성자가 동료들에게 내용을 설명하면서 결함 발견
* 인스펙션: 요구사항 명세서 작성자를 제외한 다른 전문가들이 명세서를 검토하여 결함, 표준위배, 문제점 파악
2. 동적 테스트
* 프로그램을 실행하여 결함을 찾는 테스트
* 블랙박스 테스트: 프로그램의 기능, 결과를 위주로 테스트
* 화이트박스 테스트: 프로그램의 구조, 경로 등을 위주로 페트스
2-2. 설계 기반 테스트
1. 명세기반 테스트
* 사용자 요구사항에 대한 명세를 빠짐없이 테스트 케이스로 만들어 구현 여부를 확인하는 테스트
* 동등분할, 경계 값 분석
2. 구조기반 테스트
* 소프트웨어 내부의 논리 흐름에 따라 테스트 케이스를 만들어 확인하는 테스트
* 구문기반, 결정기반, 조건기반
3. 경험기반 테스트
* 유사 소프트웨어나 기술등에 대한 테스터의 경험을 기반으로 수행되는 테스트
* 요구사항 명세가 불충분 하거나 시간제약이 있는 경우에 효과적
* 에러추정, 체크리스트, 탐색적 테스팅
2-3. 시간 기반 테스트
1. 검증(Verification) 테스트: 개발자의 입장에서 진행되며, 소프트웨어의 완성도를 테스트
2. 확인(Validation) 테스트: 사용자의 입장에서 진행되며, 요구사항 구현도를 테스트
2-4. 목적 기반 테스트
1. 회복(Recovery) 테스트
2. 안전(Security) 테스트
3. 강도(Stress) 테스트
4. 성능(Performance) 테스트
5. 구조(Structure) 테스트
6. 회귀(Regression) 테스트
7. 병행(Parallel) 테스트
3.테스트 기법에 따른 테스트 기법
3-1. 화이트박스(White Box) 테스트
1. 화이트박스의 개념
* 모든 소스코드의 논리적인 경로를 테스트 케이스로 설계하는 방법
* 코드의 제어구조 설계절차에 초점을 맞춰 테스트 케이스를 설계, 주로 테스트 과정 초기에 적용
* 소스코드의 모든 문장을 한번 이상 테스트 수행하여 선택, 반복 등의 분기점을 테스트
2. 화이트박스 테스트의 종류
* 기초 경로 테스트
- 측정 결과를 기반으로 실행 경로의 기초를 정의
- 복잡도 = 간선수 - 노드수 + 2
* 기로 경로 복잡도 판정
- 5 이하: 단순함
- 10 이하: 구조적, 안정적
- 20 이상: 매우복잡
- 50 이상: 비구조적, 불안정
* 제어 구조 검사
- 조건검사: 소스코드의 논리적 조건을 테스트
- 루프검사: 소스코드의 반복구조를 중점적으로 테스트
- 데이터 흐름검사: 소스코드의 변수정의, 사용을 중점적으로 테스트
3-2. 블랙박스(Black Box) 테스트
1. 블랙박스의 개념
* 요구사항 명세서를 기반으로 구현된 기능을 테스트 케이스로 설계하는 방법
* 소프트웨어 인터페이스에서 실행되며 기능 테스트라고도 한다
* 기능 및 인터페이스, 데이터 접근, 성능등의 오류를 발견하기 위해 테스트 후반부에 적용
2. 블랙박스 테스트의 종류
* 동치 분할 검사
* 경계값 분석
* 원인-효과 그래프 검사
* 오류 예측 검사
* 비교검사
3-3. 테스트 커버리지
1. 테스트 커버리지의 개념
* 테스트 케이스에 의해 수행되는 소프트웨어의 테스트 범위를 측정하는 테스트 품질 측정 기준
* 테스트의 정확성과 신뢰성을 향상시키는 역할
2. 기능기반 커버리지
* 애플리케이션의 전체기능을 모수로 설정하고 테스트
* 실제 테스트가 수행된 기능의 수를 측정하는 방법
3. 라인기반 커버리지
* 전체 코드의 라인수를 모수로 설정하고 테스트
* 테스트 시나리오가 수행한 코드의 라인수를 측정하는 방법으로, 단위테스트에서는 라인기반 커버리지를 척도로 삼기도 한다
4. 코드기반 커버리지
* 프로그램의 테스트 수행정도를 나타내는 값으로 테스트 수행의 완벽성을 측정
* 구문 커버리지: 모든 명령문을 적어도 한번은 수행하는 커버리지
* 결정, 분기 커버리지: 전체 결정문이 적어도 한번은 참과 거짓의 결과를 수행
* 조건 커버리지: 결정 명령문 내의 각 조건이 적어도 한번은 참과 거짓의 결과가 되도록 수행하는 커버리지
* 변경조건/결정 커버리지: 각 개별 조건식이 다른 개별 조건식에 영향을 받지않고 전체 조건식에 독립적으로 영향을 주도록 함으로써 조건/결정 커버리지를 향상시킨 커버리지
* 다중조건 커버리지: 결정조건내 모든 개발 조건식의 모든 가능한 조합을 100% 보장하는 커버리지
참고자료 : 이기적 환상콤비 정보처리기사
728x90
'자격증 > 정보처리기사' 카테고리의 다른 글
성능분석 및 품질평가 (0) | 2022.06.30 |
---|---|
애플리케이션 테스트 종류 (0) | 2022.06.30 |
소프트웨어 패키징 (0) | 2022.06.29 |
인터페이스 (0) | 2022.06.27 |
통합구현도구(IDE) (0) | 2022.06.27 |