정보처리기사

7. 애플리케이션 테스트 관리

Daesiker 2021. 6. 12. 19:41
반응형

애플리케이션 테스트의 기본원리

- 파레토 법칙 : APP의 20%에 해당하는 코드에서 전체 80%의 결함이 발견된다.

- 살충제 패러독스 : 동일한 테스트 케이스로 동일한 테스트를 반복하면 더 이상의 결함을 발견할 수 없다.

- 오류-부재의 궤변 : 결함이 없는 프로그램이라도 사용자의 요구사항을 만족하지 못하면 좋은 프로그램이 될 수 없다.

- 브록스의 법칙 : SW 개발 일정이 지연된다고 해서 새로운 개발 인력을 진행 중인 프로젝트에 투입할 경우 일정이 더욱 지연된다.

-테스팅은 정황 의존 : 애플리케이션 테스트는 소프트웨어 특징, 테스트 환경, 테스터 역량 등 정황 (Context)에 따라 테스트 결과가 달라질 수 있으므 로, 정황에 따라 테스트를 다르게 수행해야 함

애플리케이션 테스트의 분류

  • 시각의 따른 테스트

    -검증 : 개발자의 시각에서 제품의 생산과정을 테스트

    -확인 : 사용자의 시각에서 생산된 제품의 결과를 테스트

  • 목적에 따른 테스트

    -회복 테스트 : 시스템에 여러가지 결함을 주어 올바르게 복구되는지 확인하는 테스트

    -안전테스트 : 불법적인 침입으로부터 시스템을 보호할 수 있는지 테스트

    -강도테스트 : 과부하에 정상적으로 실행되는지 확인하는 테스트

    -구조테스트 : 소스 코드의 복잡도를 평가하는 테스트

    -회귀 테스트 : 변경 또는 수정된 코드에 새로운 결함이 없음을 확인하는 테스트

    -병행테스트 : 변경된 소프트웨어와 기존 소프트웨어에 동일한 데이터를 입력하여 결과를 비교하는 테스트

화이트박스 테스트

  • 정의 : 모듈의 원시 코드를 오픈시킨 상태에서 원시 코드의 논 리적인 모든 경로를 테스트하여 테스트 케이스를 설계 하는 방법이다.
  • 종류

    -기초 경로검사 : 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 테스트 기법

    -제어 구조검사

    • 조건검사 : 논리적 조건 테스트
    • 루프검사 : 반복구조에 초점을 맞춰 테스트
    • 데이터 흐름 검사 : 변수의 정의와 변수 사용의 위치에 초점을 맞춰 테스트

블랙박스 테스트

  • 정의 : 소프트웨어의 내부 구조나 작동원리를 모르는 상태에서 동작을 검사하는 방식
  • 유형

    -동치분할검사 : 입력자료에 초점을 맞추어 테스트케이스를 만들고 검사하는 방법

    - 경계값 분석 : 입력조건의 경계값을 테스트 케이스로 선정하여 검사하는 기법

    - 원인-효과 그래프 검사 : 입력 데이터간의 관계와 출력에 미치는 상황을 체계적으로 분석하여 효율성이 높은 테스트 케이스 선정하여 검사

    - 오류 예측 검사 : 과거의 경험이나 확인자의 감각으로 테스트하는 기법

    - 비교검사 : 여러 버전의 프로그램에 동일한 테스트 케이스를 넣어서 동일한 결과가 출력되는지 확인

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

단위 테스트 → 통합 테스트 → 시스템 테스트 → 인수 테스트

테스트 데이터

컴퓨터의 동작이나 시스템의 적합성을 시험하기 위해 특별히 개발된 데이터 집합

테스트 하네스

애플리케이션 컴포넌트 및 모듈을 테스트하는 환경의 일부분. 테스트를 지원하기 위한 코드와 데이터

테스트 커버리지

주어진 테스트 케이스에 의해 수행되는 소프트웨어의 테스트 범위를 측정하는 테스트 품질 측정 기준

  • 유형

    -기능 기반 커버리지: 테스트 대상 애플리케이션의 전체 기능을 모수로 설정하고, 실제 테스트가 수행된 기능의 수를 측정

    -라인 커버리지 : 애플리케이션 전체 소스 코드의 라인 수를 모수로 테스트 시나리오가 수행한 소스 코드의 라인 수를 측정

    -코드 커버리지: 소프트웨어 테스트 충분성 지표 중 하나. 소스 코드의 구문, 조건, 결정 등의 구조 코드 자체가 얼마나 테스트되었는지를 측정하

정적 테스트

-워크스루 : 개발자가 모집한 전문가들이 검토

-인스펙션 : SW 개발단계에서 산출된 결과물의 품질을 평가하여 개선하는 방법

통합 테스트

-하향식 테스트(스텁) : 상위 모듈 → 하위 모듈 순으로 테스트

-상향식 테스트(드라이버) : 하위 모듈 → 상위 모듈 순으로 테스트

-회귀 테스팅 : 이미 테스트된 프로그램의 테스팅 반복하여 새로운 오류가 있는지 확인

- 빅뱅 통합테스트 : 모든 컴포넌트를 사전에 통합하여 전체 프로그램을 한꺼번에 테스트하는 방법

테스트기반에 따른 테스트

명세기반 테스트, 구조기반 테스트, 경험 기반 테스트

테스트 오라클

  • 정의 : 테스트 결과가 올바른지 판단하기 위해 사전에 정의된 참 값을 대입하여 비교하는 기법 및 활동이다.
  • 유형

    - 참 오라클 : 모든 테스트 케이스의 입력값에 대해 기대하는 결과를 제공하는 오라클

    - 샘플링 오라클 : 몇몇 테스트 케이스 입력값에 대해서만 결과를 제공하는 오라클

    - 추정오라클 : 샘플링 오라클 + 나머지 테스트 케이스는 추정으로 처리하는 오라클

    - 일관성 검사 오라클 : APP의 변경이 있을 때 테스트 케이스의 결과값이 같은지를 확인할 수 있는 오라클

애플리케이션 성능

  • 처리량 : 일정시간 내에 애플리케이션이 처리하는 일의 양
  • 응답시간 : APP에 요청을 전달한 시간부터 응답이 도착할 때 까지 걸린 시간
  • 경과시간 : APP에 작업을 의뢰한 시간부터 처리가 완료될 때까지 걸린 시간
  • 자원사용률 : APP이 의뢰한 작업을 처리하는 동안의 CPU 사용량

반응형

'정보처리기사' 카테고리의 다른 글

9. 소프트웨어 개발보안 구축  (0) 2021.07.11
8. SQL 응용  (0) 2021.06.13
6. 화면 설계  (0) 2021.06.07
5. 인터페이스 구현  (0) 2021.06.06
4. 서버 프로그램 구현  (0) 2021.06.01