IT/정보처리기사실기 공부

[정보처리기사 실기] 애플리케이션 테스트 관리

phobi-k 2020. 10. 6. 20:54

1. 애플리케이션 테스트 (B)

  • 완벽한 테스트 불가능
  • 결함 집중: 애플리케이션의 20%의 코드에서 80%의 결함이 발견된다고 하여 파레토 법칙을 적용하기도 한다
  • 살충제 패러독스 (기출): 동일한 테스트 케이스로 테스트를 반복하면 더 이상 결함이 반복되지 않는다
  • 테스팅은 정황 의존: 정황에 따라 테스트를 다르게 수행한다
  • 오류-부재의 궤변: 소프트웨어의 결함을 모두 제거해도 사용자의 요구사항을 만족시키지 못하면 품질이 높다고 할 수 없다

2. 애플리케이션 테스트 분류 (B)

  • 프로그램 실행 여부, 테스트 기반, 시각, 목적
    1. 프로그램 실행 여부에 따른 테스트: 정적 테스트(프로그램 실행 안함), 동적 테스트(프로그램 실행 함)
    2. 테스트 기반에 따른 테스트
      1. 명세 기반 테스트: 사용자 요구사항에 대한 명세를 테스트 케이스로 만들어 테스트
      2. 구조 기반 테스트: 내부 논리 흐름(구문, 결정, 조건)에 따라 테스트 케이스를 만들어 테스트
      3. 경험 기반 테스트: 유사 소프트웨어에 대한 테스터의 경험을 기반으로 테스트
    3. 시각에 따른 테스트
      1. 검증 테스트: 개발자의 시각에서 테스트
      2. 확인 테스트: 사용자의 시각에서 테스트
    4. 목적에 따른 테스트
      1. 회복 테스트: 여러 결함을 주어 실패하도록 한 후 복구되는지 확인
      2. 안전 테스트: 불법적 침입으로부터 보호하는지 확인
      3. 강도 테스트: 과도한 정보를 부과하여 과부화시에도 정상 실행 되는지 확인
      4. 성능 테스트: 실시간 성능이나 전체적인 효율성 테스트 (응답 시간, 처리량)
      5. 구조 테스트: 논리적 경로, 소스코드 복잡도 평가
      6. 회귀 테스트: 변경, 수정된 코드에 새로운 결함이 없는지 확인
      7. 병행 테스트: 변경된 소프트웨어와 기본 소프트웨어에 동일한 데이터를 입력하여 결과를 비교

3. 테스트 기법에 따른 애플리케이션 테스트 (A)

  • 화이트박스 테스트: 모듈의 원시코드를 오픈시킨 상태에서 원시 코드의 논리적인 경로(구조)를 테스트하여 테스트 케이스를 설계하는 방법
    • 설계된 절차에 초점을 둔 구조적 테스트
    • 테스트 과정의 초기에 적용
    • 모듈 안의 작동을 직접, 자세히 관찰
    • 원시 코드(모듈)의 모든 문장을 한 번 이상 실행
    • 제어 구조에 따라 선택, 반복, 등의 분기점 부분들을 수행함으로써 논리적 경로를 제어
  • 화이트박스 테스트 종류
    • 기초 경로 검사
      • 대표적 방법
      • 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 것
    • 제어 구조 검사
      • 조건 검사: 논리적 조건을 테스트
      • 루프 검사: 반복 구조에 초점
      • 데이터 흐름 검사: 변수의 정의와 변수 사용 위치에 초점
  • 화이트박스 테스트 검증 기준
    • 문장 검증 기준: 소스 코드의 모든 구문이 한 번 이상 수행되도록 테스트 케이스 설계
    • 분기 검증 기준: 모든 조건문
    • 조건 검증 기준: 모든 조건문이 True/False인 경우
    • 분기/조건 기준: 모든 조건문 + 각 조건문에 포함된 개별 조건식의 결과가  True,False 인 경우
  • 블랙박스 테스트: 각 기능이 완전히 작동되는 것을 입증하는 테스트, 기능 테스트
    • 구현된 기능 테스트
    • 소프트웨어 인터페이스에서 실시
    • 테스트 과정의 후반부에 적용
  • 블랙박스 테스트의 종류
    • 동치 분할 검사: 입력 자료에 초점
    • 경계값 분석: 동치 분할 기법 보완하기 위해 나옴. 입력 자료의 중간값보다 경계값에 초점
    • 원인-효과 그래프 검사: 입력 데이터간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석
    • 오류 예측 검사: 경험, 감각으로 테스트
    • 비교 검사: 여러 버전의 프로그램에 동일한 테스트 자료 제공하여 동일한 결과가 출력되는지 테스트

4. 개발 단계에 따른 애플리케이션 테스트 (A)

  •