애플리케이션 테스트
- 애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차
- 개발된 소프트웨어가 고객의 요구사항을 만족시키는지 확인(Validation)
- 소프트웨어가 기능을 정확히 수행하는지 검증(Verification)
1)기본 원리 20년 1, 2회 기출 #결완초집 살정오
- 테스팅은 결함이 존재함을 밝히는 것 결함을 줄일 순 있지만, 결함이 없다고는 증명할 수 없음
- 완벽한 테스팅은 불가능 무한 경로, 무한 입력 값으로 인한 어려움
- 개발 초기에 테스팅 시작 테스팅 기간 단축, 재작업 감소로 개발 기간 단축 및 결함 예방
- 결함 집중 파레토(Pareto) 법칙 : 20%의 모듈에서 80%의 결함 발견,
- 살충제 패러독스: 동일한 테스트 케이스에 의한 반복적 테스트는 새로운 버그를 찾지 못함 (20년 1회차 실기)
- 테스팅은 정황에 의존적 소프트웨어 성격에 맞게 테스트 실시
- 오류-부재의 궤변 결함이 없어도, 요구사항을 충족시켜주지 못한다면 해당 소프트웨어의 품질이 높지 않다.
애플리케이션 테스트 분류
1)프로그램 실행 여부에 따른 테스트
1.1) 정적 테스트 프로그램을 실행하지 않고 명세서나 소스 코드를 대상으로 분석하는 테스트
eg. 워크 스루, 인스펙션, 코드 검사
1.2) 동적 테스트 프로그램을 실행하여 오류를 찾는 테스트
eg. 화이트박스 테스트, 블랙박스 테스트
2) 테스트 기반에 따른 테스트 #명구경
- 명세 기반 테스트 : 사용자의 요구사항에 대한 명세를 빠짐없이 테스트 케이스로 만들어 구현하고 있는지 확인하는 테스트
eg. 동등 분할, 경계값 분석(블랙박스 테스트)
- 구조 기반 테스트 : SW내부의 논리 흐름에 따라 테스트 케이스를 작성하고 확인하는 테스트
eg. 구문 기반, 결정 기반, 조건 기반(화이트박스 테스트)
- 경험 기반 테스트 테스터의 경험을 기반으로 수행하는 테스트
eg. 에러 추정, 체크 리스트, 탐색적 테스팅
3) 시각에 따른 테스트
3.1) 검증(Verification) 테스트: 개발자의 시각에서 제품의 생산 과정을 테스트하는 것(명세서)
eg. 단위 테스트, 통합 테스트, 시스템 테스트
3.2) 확인(Validation) 테스트: 사용자의 시각에서 생산된 제품의 결과를 테스트하는 것(요구사항)
eg. 인수 테스트(알파 테스트, 베타 테스트)
4) 목적에 따른 테스트 #회안강성 구회병
- 회복(Recovery) 테스트 시스템에 여러가지 결함을 주어 실패하도록 한 후 복구 여부
- 안전(Security) 테스트 시스템 보호 도구가 불법적인 침입으로부터 시스템을 보호 여부
- 강도(Stress) 테스트 과부하 시에도 소프트웨어가 정상적으로 실행되는지 확인하는 테스트
- 성능(Performance) 테스트 실시간 성능이나 전체적인 효율성을 진단하는 테스트
- 구조(Structure) 테스트 SW 내부의 논리적인 경로, 소스 코드의 복잡도 등을 평가
- 회귀(Regression) 테스트 SW변경 또는 수정된 코드에 새로운 결함이 없음을 확인
- 병행(Parallel) 테스트 변경된 SW, 기존 SW에 동일한 데이터를 입력하여 결과를 비교
5) 테스트 커버리지 유형 21년 실기 2회 #구결조 조변다
- 구문(문장) 커버리지 프로그램 내 모든 문장을 적어도 한 번 이상 실행하는 것을 기준으로 수행
- 결정(분기) 커버리지 결정 조건 내 전체 조건식이 최소한 참/거짓 한 번의 값을 가지도록 측정
- 조건 커버리지 전체 조건식 결과와 관계없이 관계없이 각 개별 조건식이 참/거짓 한 번 모두 갖도록 개별 조건식을 조합하는 테스트 커버리지
- 조건/결정(조건/분기) 커버리지 전체 조건식이 참/거짓 한 번씩 가지면서, 개별 조건식이 참/거짓 모두 한 번씩 갖도록 조합하는 테스트 커버리지
- 변경/조건 결정 커버리지 각 개별 조건식이 다른 개별 조건식의 영향을 받지 않고 전체 조건식의 결과에 독립적으로 영향을 주도록 함으로써 조건/결정 커버리지를 향상시킨 테스트 커버리지
- 다중 조건 커버리지 결정 조건 내 모든 개발 조건식의 모든 가능한 조합 보장
'Challenges > 정보처리기사' 카테고리의 다른 글
[정보처리기사]2.소프트웨어 개발/애플리케이션 테스트 관리/개발 단계에 따른 애플리케이션 테스트 (0) | 2021.08.26 |
---|---|
[정보처리기사]2.소프트웨어 개발/애플리케이션 테스트 관리/ 동적 테스트 (0) | 2021.08.25 |
[정보처리기사]2.소프트웨어 개발/제품 소프트웨어/소프트웨어 패키징의 형상관리 (0) | 2021.08.24 |
[정보처리기사]2.소프트웨어 개발/제품 소프트웨어/디지털 저작권 관리 (0) | 2021.08.24 |
[정보처리기사]2.소프트웨어 개발/제품 소프트웨어/소프트웨어 패키징 & 릴리즈 노트 (0) | 2021.08.24 |