[ 애플리케이션 테스트 ]
- 애플리케이션에 잠재되어 있는 결함을 찾아내는 일련의 행위 또는 절차, 확인 및 검증
[ 애플리케이션 테스트의 기본 원리 ]
- 완벽한 테스트 불가능 : 잠재적인 결함을 줄일 수 있지만 결함이 없다고 증명할 수는 없음
- 파레토 법칙 : 애플리케이션의 20%에 해당하는 코드에서 전체 결함의 80%가 발견된다는 법칙
- 살충제 페러독스 : 동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상 결함이 발견되지 않는 현상
[ 프로그램 실행 여부에 따른 테스트 ]
- 정적 테스트 : 프로그램을 실행하지 않고 명세서나 소스 코드를 대상으로 분석하는 테스트 , 워크스루, 인스펙션
- 동적 테스트 : 프로그램을 실행하여 오류를 찾는 테스트 , 블랙박스 테스트, 화이트박스 테스트
[ 테스트 기반에 따른 테스트 ]
- 명세 기반 테스트 / 구조 기반 테스트 / 경험 기반 테스트
[ 시각에 따른 테스트 ]
- 검증 테스트 ( 개발자 시각 ) / 확인 테스트 ( 사용자 시각 )
[ 목적에 따른 테스트 ]
- 회복 테스트 / 안전 테스트 / 강도 테스트 / 성능 테스트 / 구조 테스트 / 회귀 테스트 / 병행 테스트
[ 테스트 기법에 따른 애플리케이션 테스트 ]
[ 화이트박스 테스트 ]
- 모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법 / 모듈 안의 작동을 직접 관찰 / 모든 문장을 한 번 이상 실행함으로써 수행
[ 화이트박스 테스트 종류 ]
- 기초 경로 검사 : 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정 할 수 있게 해주는 테스트 기법
- 제어 구조 검사 : 조건검사 / 루프검사 / 데이터 흐름 검사
[ 화이트박스 테스트의 검증 기준 ]
- 문장 검증 기준 / 분기 검증 기준 / 조건 검증 기준 / 분기,조건 기준
[ 블랙박스 테스트 ]
- 소프트웨어가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 테스트
- 인터페이스를 통해 사용자의 요구사항 명세를 보면서 구현된 기능을 테스트한다.
[ 블랙박스 테스트의 종류 ]
- 동치 분할 검사 : 입력 조건에 타당한 입력 자료와 타당하지 않은 입력 자료의 개수를 균등하게 하여 결과가 맞게 출력되는지 확인
- 경계값 분석 : 입력 조건의 중간값보다 경계값에서 오류가 발생될 확률이 높다는 점을 이용
- 원인-효과 그래프 검사 : 입력 데이터 간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한 다음 효용성이 높은 테스트 케이스를 선정하여 검사하는 기법
- 오류 예측 검사 : 과거의 경험이나 확인자의 감각으토 테스트
- 비교 검사 : 여러 버전의 프로그램에 동일한 테스트 자료를 제공하여 동일한 결과가 출력되는지 테스트
[ 개발 단계에 따른 애플리케이션 테스트 ]
[ 단위 테스트 ]
- 코딩 직후 소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트에 초점을 맞춰 테스트
- 인터페이스, 외부적 I/O, 자료 구조, 독립적 기초 경로 등을 검사
- 주로 구조 기반 테스트를 시행
[ 통합 테스트 ]
- 단위 테스트가 완료된 모듈들을 결합하여 하나의 시스템으로 완성시키는 과정에서의 테스트
- 모듈 간 또는 통합된 컴포넌트 간의 상호 작용 오류를 검사
- 혼합식 통합 테스트 : 하위 수준에서는 상향식 통합, 상위 수준에서는 하향식 통합을 사용
- 회귀 테스팅 : 통합테스트로 인해 변경된 모듈이나 컴포넌트에 새로운 오류가 있는지 확인
[ 시스템 테스트 ]
- 개발된 소프트웨어가 해당 컴퓨터 시스템에서 완벽하게 수행되는 가를 점검
- 기능적 / 비기능적 요구사항을 구분하여 테스트
[ 인수 테스트 ]
- 개발한 소프트웨어가 사용자의 요구사항을 충적하는지에 중점을 두고 테스트
- 사용자가 직접 테스트
- 알파테스트 : 개발자의 장소에서 사용자가 개발자 앞에서 행하는 테스트 / 개발자와 함께 테스트
- 베타테스트 : 최종 사용자가 여러명의 사용자 앞에서 행하는 테스트 / 실업무를 가지고 사용자가 직접 테스트
[ 테스트 케이스 ]
- 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위해 설계된 입력값, 실행조건, 기대결과 등으로 구성된 테스트 항목에 대한 명세서
[ 테스트 시나리오 ]
- 테스트 케이스를 적용하는 순서에 따라 여러개의 테스트 케이스를 묶은 집합
[ 테스트 오라클 ]
- 테스트 결과가 올바른지 판단하기 위해 사전에 정의된 참값을 대입하여 비교하는 기법
[ 테스트 자동화 ]
- 스크립트 형태로 구현하는 자동화 도구를 적용해 쉽고 효율적으로 테스트를 수행 할 수 있도록 한 것
[ 결함 ]
- 소프트웨어가 개발자가 설계한 것과 다르게 동작 / 다른 결과가 발생되는 것
[ 애플리케이션 성능 지표 ]
- 처리량 / 응답시간 / 경과시간 / 자원 사용률
[ 복잡도 ]
- 시스템이나 시스템 구성 요소 또는 소프트웨어의 복잡한 정도를 나타내는 말
[ 시간 복잡도 ]
- 알고리즘을 수행하기 위해 프로세스가 수행하는 연산 횟수를 수치화한 것
- 빅오 표기법 : 알고리즘의 실행시간이 최악일 때를 표기하는 방법
- 세타 표기법 : 알고리즘의 실행시간이 평균일 때를 표기하는 방법
- 오메가 표기법 : 알고리즘의 실행시간이 최상일 때를 표기하는 방법
[ 순환 복잡도 ]
- 논리적인 복잡도를 측정하기 위한 소프트웨어의 척도
[ 클린 코드 작성 원칙 ]
- 가독성 / 단순성 / 의존성 배제 / 중복성 최소화 / 추상화
'정보처리기사' 카테고리의 다른 글
정보처리기사 - 9장 소프트웨어 개발 보안 구축 (0) | 2023.04.19 |
---|---|
정보처리기사 - 8장 SQL 응용 (0) | 2023.04.18 |
정보처리기사 - 6장 화면 설계 (0) | 2023.04.16 |
정보처리기사 - 5장 인터페이스 구현 (0) | 2023.04.16 |
정보처리기사 - 4장 서버 프로그램 구현 (0) | 2023.04.16 |