Post

정보처리기사 실기 - 07. 애플리케이션 테스트 관리

중요도 ★★☆☆☆ - 처음 보는 내용이 많아 혼란스러운 파트

정보처리기사 실기 - 07. 애플리케이션 테스트 관리

난이도
★★★★☆, 자주 접하는 지식이 아니라, 많이 어렵다고 생각했다.
중요도
★★★★☆, 1문제 정도 출제되는 경향이 있다.

많이 출제되진 않지만, 1문제 정도는 출제되는 영역이다
평소에 자주 접하지 않은 내용들이 포함되어 있어서 혼란스러웠다. (테스트를 등한시 한 죄를 여기서 받고 있다 ㅠㅠ)
다행히도 단순히 암기만 하면 풀리는 문제가 많다. 한번 달려보자!


😀 7장 이론 관계도

7장의 키워드를 관계도로 정리하였다.

memo_7


😋 7장 이론 체크 리스트

하나하나 따라가며 내가 잘 암기하고 있는지 체크해보자!

애플리케이션 테스트 개론

  1. 애플리케이션 테스트에 대해 설명하라
  2. 애플리케이션의 기본 원리 3가지에 대해 설명하라 (키워드: 파레토 법칙, 살충제 패러독스, 오류-부재의 궤변)
  3. 프로그램 실행 여부에 따라 테스트를 어떻게 분류하는지 설명하라 (키워드: 정적 테스트, 동적 테스트)

화이트박스 테스트

  1. 화이트박스 테스트란 무엇인가? (키워드: Module, Source Code)
  2. 화이트박스 테스트의 종류를 나열하라.
  3. 기초 경로 검사(Base Path Testing)에 대해 설명하라
  4. 제어 구조 검사(Control Structure Testing)에 대해 설명하라 (키워드: 조건, 루프, 데이터 흐름)
  5. 화이트박스 테스트의 검증 기준에 대해 설명하라
  6. 문장 검증 기준이란?
  7. 결정 검증 기준과 조건 검증 기준을 비교하여라

블랙박스 테스트

  1. 블랙박스 테스트와 화이트박스 테스트를 비교하라
  2. 블랙박스 테스트의 종류를 나열하라
  3. 동치 분할 검사란 무엇인가?
  4. 경계값 분석에 대해 설명하라
  5. 원인-효과 그래프 검사에 대해 설명하라

개발 단계에 따른 애플리케이션 테스트

  1. V 모델과 테스트 단계에 대한 절차를 설명하라 (키워드 : 단위, 통합, 시스템, 인수)
  2. 단위 테스트에 대해 설명하라
  3. 통합 테스트에 대해 설명하라 (키워드 : 비점진적 통합 테스트, 점진적 통합 테스트)
  4. 하향식 통합 테스트에 대해 설명하라 (키워드: 스텁)
  5. 상향식 통합 테스트에 대해 설명하라 (키워드: 드라이버)
  6. 인수 테스트에 대해 설명하라 (키워드: 알파, 베타)
  7. 회귀 테스트에 대해 설명하라

테스트 오라클

  1. 테스트 오라클에 대해 설명하라
  2. 테스트 오라클의 종류에 대해 설명하라 (키워드: 참, 샘플링, 추정, 일관성)
  3. 참 오라클과 샘플링 오라클을 비교하라

테스트 자동화 도구

  1. 정적 분석 도구란?
  2. 테스트 케이스 생성 도구에 대해 설명하라
  3. 테스트 실행 도구란?
  4. 성능 테스트 도구에 대해 설명하라

애플리케이션 성능 측정 지표

  1. 애플리케이션 성능 측정 지표를 설명하라 (키워드: 처리량, 응답시간, 경과시간, 자원 활용률)
  2. 빅오 표기법에 대해 설명하라
  3. 순환 복잡도에 대해 설명하라

최적화, 클린코드

  1. 나쁜 코드에 대해 설명하라 (키워드: 스파게티 코드, 외계인 코드)
  2. 클린코드 작성 원칙에 대해 설명하라 (키워드: 가독성, 단순성, 의존성 배제, 중복성 최소화, 추상화)
  3. 소스 코드 품질 분석 도구 중 정적 분석 도구와 종류를 설명하라 (키워드: pmd, cppcheck, checkstyle)
  4. 소스 코드 품질 분석 도구 중 동적 분석 도구와 종류를 설명하라 (키워드: Avalanche, Valgrind)


😆 문제 풀이 체크 리스트

문제를 풀며 햇갈렸던 부분을 정리해두었다.

화이트박스 테스트 체크

  1. 결정 구조 검사 (분기 구조 검사)가 어떠한 프로세스로 진행되는 지 이해해야 한다. 순서도를 기반으로 모든 조건문이 한번 이상 수행되도록 설계되어야 한다.

블랙박스 테스트 체크

  1. 테스트 케이스를 기반으로 해당 검사가 동치 분할 검사와 경계값 검사 인지 구분하는 문제가 출제된다.

애플리케이션 성능 측정 지표 체크

  1. 순환 복잡도가 등장하면 순환 복잡도 V(G)를 구해야 한다. 외부 포함 영역의 수를 계산해야 한다


🥰 7장 조금 더 알기

7장 이론을 공부하며 햇갈렸던 부분들을 추가로 조사하여 정리하였다.

화이트박스 테스트 결정 검증과 조건 검증의 차이는?

화이트박스 테스트는 소프트웨어의 내부 구조와 작동 방식을 테스트해보는 방식이다. 특히 결정 검증 기준과 조건 검증 기준은 조건문에 대해 테스트를 수행하는 중요한 두 가지 테스트 기법이다. 문제는 이 두가지가 어떻게 구분되는지 글로는 이해가 어렵다는 것이 문제다. 하나하나 톺아보자.

1
2
3
4
5
if (a > b){
  // 참일 경우  
} else{
  // 거짓일 경우
}

결정 검증 기준 (Decision Coverage Criterion)

true일 때와 false 일 때의 모든 경우의 수를 테스트한다. 즉 모든 분기를 1회 이상 접근하여 테스트해야 한다.

1
2
3
4
if((a > b) && (c == d))
{
  // 복합 조건문
}

조건 검증 기준 (Condition Coverage Criterion)

각 개별 조건의 모든 경우의 수를 테스트 한다.

  1. (a > b)가 참 혹은 거짓일 경우
  2. (c == d)가 참 혹은 거짓일 경우 총 2X2 = 4가지 경우의 수에 대해 모두 테스트 해본다.
This post is licensed under CC BY 4.0 by the author.