어플리케이션 테스트
- 테스트 케이스에 따라 요구사항을 만족하는지 검증 vertification, 확인 validation
테스트 구성요소
- 테스트 프로세스 : 정착, 전략, 관리 프로세스
- 테스트 기법 : 분석, 설계, 실행, 자동화 기법
- 테스트 조직 : 관리자, 설계자, 개발자
- 테스트 문서화 : 계획서, 결과서, 보고서, 결합목록
테스트 원칙
- 결함이 존재함을 밝히는 활동
1. 완벽한 테스트 불가능 : 모든 테스트 케이스를 테스트 할수 없음
2. 결함 집중 : 전체 모듈 중 20%에 80%결함 발생(파레토 법칙)
3. 정황 의존 : 주변 환경, 데이터로 발생
4. 오류 부재 궤변 : 오류가 안생겨도 요구사항 불만족 시 좋은 소프트웨어가 아님
5. 살충제 패러독스 : 동일한 모듈에 동일한 테스트 케이스 시 내성이 생겨 새로운 결함 발견 힘듬 ->테스트 케이스 개선
테스트 종류
1. 테스트 시각에 따른 분류
- 확인 validation 테스트 : 사용자 관점에서 요구사항 충족 확인
- 검증 vertification 테스트 : 개발자 관점에서 명세서 충족 확인
2. 실행 유무에 따른 분류
2.1 정적 테스트
- 실행 없이 코드나 명세서를 분석하는 테스트, 초기 단계서 결함 발견 가능
- 워크 스루 : 개발자 작업 내용을 절차대로 검사
- 인스펙션 : 개발된 결과물 평가
2.2 동적 테스트
- 실행하여 오류 찾는 테스트
- 화이트 박스 테스트 : 소스 코드 흐름 테스트. 논리적 복잡성 측정하는 기초 경로 검사와 제어구조 검사
* 제어 구조 검사 : 조건 검사, 루프 검사, 데이터 흐름 검사
- 블랙박스 테스트 : 기능 동작 여부 확인. 경계값 분석, 동치 분할 검사, 원인효과 그래프 검사, 오류 예측 검사
* 동치 분할 검사 : 올바른 입력과 잘못된 입력에 대한 테스트 케이스를 균등하게 사용하는 검사
3. 테스트에 따른 분류
3.1 명세 기반 테스트
- 명세를 이용해 테스트 케이스 작성
- 동등 분할 검사, 경계값 분석 검사
3.2 구조 기반 테스트
- 소프트웨어 논리 흐름에 따라 테스트 케이스 작성
- 구문 기반, 조건 기반
3.3 경험 기반 테스트
- 테스터 경험에 의존하는 테스트
- 체크 리스트, 에러 추정
'컴퓨터과학 > SW, DB' 카테고리의 다른 글
보안 (0) | 2020.05.19 |
---|---|
어플리케이션 테스트 - 2 테스트 프로세스 (0) | 2020.05.19 |
소프트웨어 공학 활용 - 9 UML (0) | 2020.05.19 |
소프트웨어 공학 활용 - 8 데이터 모델 (0) | 2020.05.19 |
소프트웨어 공학 활용 - 6 소프트웨어 요구사항 (0) | 2020.05.18 |