728x90
반응형
정보처리기사 필기 정리 - 2. 소프트웨어 개발
Chapter 04 애플리케이션 테스트 관리 (중요도: ★★★)
- 애플리케이션 테스트 케이스 설계
- 테스트 케이스(Test Case): 특정한 요구사항에 준수하는지 확인하기 위해 개발된 입력 값, 실행 조건, 예상된 결과의 집합
- 테스트 오라클(Test Oracle): 테스트 결과의 참, 거짓을 판단하기 위해 사전에 정의된 참값을 입력하여 비교하는 기법
- 테스트 오라클 종류
- 참 오라클: 모든 입력 값에 결과 생성
- 샘플링 오라클: 특정한 몇 개의 입력 값에 결과 생성
- 휴리스틱 오라클: 특정 입력 값에 올바른 결과를 제공하고, 나머지 값들에 대해서 추정으로 처리하는 오라클
- 일관성 검사 오라클: 애플리케이션 변경 있을 때 전, 후가 결과값이 동일한지 확인
- 테스트 시나리오(Test Scenario): 테스트 수행을 위한 여러 테스트 케이스의 집합, 동작 순서를 기술한 문서이며 테스트를 위한 절차를 명세한 문서
- 소프트웨어 테스트 종류
- 블랙박스 테스트: 내부 구조나 작동 원리를 모르는 상태에서 소프트웨어 동작을 검사 (동등 분할, 경계 값 분석)
- 화이트 박스 테스트: 내부 구조와 동작을 검사 (제어 구조 시험, 루프시험)
- 경험 기반 테스트: 경험, 직관, 테스터의 기술 능력으로부터 테스트 케이스를 추출 (탐색적 테스팅, 오류추정, 체크리스트 기반 테스팅)
- 테스트 오라클 종류
- 애플리케이션 통합 테스트
- 결함 관리 도구: 결함의 재발 방지를 위해, 유사 결함 발견 시 처리 시간 단축을 위해 결함을 추적하고 관리하는 도구
- 테스트 커버리지: 소프트웨어의 테스트 범위를 측정하는 테스트 품질 측정 기준
- 테스트 커버리지 유형
- 기능 기반 커버리지: 실제 테스트가 수행된 기능의 수를 측정하는 방법
- 라인 커버리지: 테스트 시나리오가 수행한 소스 코드의 라인 수를 측정하는 방법
- 코드 커버리지: 구조 코드 자체가 얼마나 테스트 되었 지는지를 측정하는 방법
- 코드 커버리지 종류
- 구문 커버리지: 프로그램 내 모든 문장을 적어도 한 번 이상 실행하는 것을 기준으로 수행
- 결정 커버리지: 전체 조건식이 최소한 참/거짓 한 번의 값을 가지도록 측정
- 조건 커버리지: 각 개별 조건식이 참/거짓 한 번 모두 갖도록 측정
- 변경 조건/결정 커버리지: 전체 조건식의 결과에 독립적으로 영향을 주도록 함으로써 조건/결정 커버리지를 향상시킴
- 결함 심각도별 분류: 단순(Simple) 결함 -> 경미한(Minor) 결함 -> 보통(Normal) 결함 -> 주요(Major) 결함 -> 치명적(Critical) 결함
- 결함 우선 순위: 낮음(Low) -> 보통(Medium) -> 높음(High) -> 결정적(Critical)
- 테스트 커버리지 유형
- 테스트 자동화 도구: 반복적인 테스트 작업을 스크립트 형태로 구현하여 쉽고 효율적 테스트를 수행할 수 있는 방법
- 정적 분석 도구(Static Analysis Tools): 애플리케이션을 실행하지 않고 분석하는 방법 (PMD, Checkstyle, Splint 등)
- 테스트 실행 도구(Test Execution Tools): 테스트를 위해 작성된 스크립트를 실행하여 특정 데이터와 테스트 수행방법을 포함 (JMeter, OpenSTA 등)
- 성능 테스트 도구: 가상의 사용자를 생성하여 성능 목표를 달성하였는지를 확인 (Cobertura, Clover 등)
- 테스트 통제 도구: 테스트 관리도구, 형상 관리 도구, 결함 추적/관리 도구 등 (Hudson, Ant, xUnit 등)
- 테스트 장치 구성요소
- 테스트 드라이버(Test Driver): 테스트 대상 하위 모듈 호출, 상향식 테스트에 필요
- 테스트 스텁(Test Stub): 타 모듈의 기능을 단순히 수행, 하향식 테스트에 필요
- 테스트 슈트(Test Suites): 테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스의 집합
- 테스트 케이스(Test Case): 입력 값, 실행 조건, 기대 결과 등의 집합
- 테스트 스크립트(Test Script): 자동화된 테스트 실행 절차에 대한 명세
- 목 오프젝트(Mock Object): 사용자의 행위를 조건부로 사전에 입력해 두면 예정된 행위를 수행하는 객체
- 통합 테스트(Integration Test): 소프트웨어 각 모듈 간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 기법
- 애플리케이션 성능 개선
- 알고리즘(Algorithm): 자료 구조와 함께 프로그램을 구성하는 요소
- 알고리즘 기법
- 분할과 정복: 문제를 나눌 수 없을 때까지 나누고, 각각을 풀면서 다시 병합하여 문제의 답을 얻는 알고리즘
- 동적계획법: 과거에 구한 해를 활용하는 방식
- 탐욕법: 가장 좋다고 생각되는 것을 해답으로 선택하는 방식
- 백트래킹: 노드의 유망성 점검 후 유망하지 않으면 그 노드의 부모 노드로 되돌아간 후 다른 자손 노드를 검색하는 알고리즘
- 알고리즘 기법
- 알고리즘(Algorithm): 자료 구조와 함께 프로그램을 구성하는 요소
2022 수제비 정보처리기사 필기 & 2022 이기적 정보처리기사 필기 책을 참고하여 정리하였다.
728x90
반응형
'Work & Study > 정보처리기사 필기' 카테고리의 다른 글
정보처리기사 필기 정리 - 3. 데이터베이스 구축 (3-01. SQL 응용) (0) | 2023.08.12 |
---|---|
정보처리기사 필기 정리 - 2. 소프트웨어 개발 (2-05. 인터페이스 구현) (0) | 2023.08.12 |
정보처리기사 필기 정리 - 2. 소프트웨어 개발 (2-03. 제품 소프트웨어 패키징) (0) | 2023.08.12 |
정보처리기사 필기 정리 - 2. 소프트웨어 개발 (2-02. 통합 구현) (0) | 2023.08.12 |
정보처리기사 필기 정리 - 2. 소프트웨어 개발 (2-01. 데이터 입출력 구현) (0) | 2023.08.12 |