Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

공부해보잠

애플리케이션 테스트 본문

자격증/정보처리

애플리케이션 테스트

heejk 2025. 2. 1. 21:27
애플리케이션 테스트의 개요

애플리케이션 테스트는 소프트웨어에 존재할 가능성이 있는 결함을 찾아내고, 개발된 소프트웨어가 요구사항을 충족하는지 확인(Validation)하며, 기능이 올바르게 수행되는지 검증(Verification)하는 과정입니다.

 

특징

  • 소프트웨어가 고객의 요구사항을 만족하는지 검증
  • 기능이 정확하게 수행되는지 확인
  • 잠재적 결함을 사전에 발견하여 품질을 향상
  • 테스트 실행 전에 애플리케이션 유형과 특성을 분석하여 중점적으로 검토할 사항을 선정

소프트웨어 유형별 특성 및 중점 사항

소프트웨어명 제공 유형 기능
유형
사용
환경
개발 유형 중점 사항
A. xx오픈DB 구축 서비스 제공 소프트웨어 산업 특화 Web 신규 개발 기능 구현 시 사용자 요구사항이 누락되지 않았는지 여부
B. xx통합서비스 구현 서비스 제공 소프트웨어 산업 특화 Web 시스템 통합 기존 시스템과 신규 시스템의 데이터 손실 및 정합성 여부
C. xx오피스 상용 소프트웨어 산업 범용 C/S 신규 개발 다양한 OS 환경 지원 여부

애플리케이션 테스트의 필요성

애플리케이션 테스트는 소프트웨어의 품질을 보장하고, 사용자의 요구사항을 충족하는지 검증하는 중요한 과정입니다. 이를 통해 오류를 사전에 발견하고 신뢰도를 높일 수 있습니다.

 

필요성 및 주요 효과

 

오류 예방 및 조기 발견

  • 프로그램 실행 전에 오류를 발견하여 사전에 예방할 수 있습니다.
  • 개발 초기부터 테스트를 계획하면 단순한 오류뿐만 아니라 새로운 오류의 유입도 방지할 수 있습니다.

사용자 요구사항 및 기대 수준 충족

  • 반복적인 테스트를 수행함으로써 사용자의 요구사항과 기대 수준을 만족하는지 검증할 수 있습니다.
  • 소프트웨어가 실제 운영 환경에서도 정상적으로 동작하는지 확인할 수 있습니다.

소프트웨어의 신뢰성 향상

  • 테스트를 통해 안정성과 신뢰성을 확보할 수 있습니다.
  • 품질 보증을 통해 사용자 경험을 개선하고 유지보수를 용이하게 합니다.

시간과 비용 절감

  • 효과적인 테스트 수행을 통해 최소한의 시간과 노력으로 많은 결함을 발견할 수 있습니다.
  • 개발 후반부보다 초기에 결함을 해결하면 수정 비용이 절감됩니다.

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

애플리케이션 테스트는 소프트웨어의 결함을 줄이는 것이 목적이지, 결함이 없음을 증명하는 것은 불가능합니다. 즉, 완벽한 테스트는 존재하지 않으며, 테스트를 통해 결함을 최소화하는 것이 중요합니다.

 

기본 원리

 

완벽한 테스트는 불가능하다

  • 모든 입력값과 환경을 고려한 테스트는 현실적으로 불가능하며, 테스트를 통해 오류를 줄이는 것이 목표입니다.

결함 집중의 원리

  • 애플리케이션의 결함은 특정 모듈에 집중되는 경향이 있습니다.
  • 파레토 법칙에 따라 전체 코드의 20%에서 80%의 결함이 발견되는 경우가 많습니다.

테스트는 초기에 집중해야 한다

  • 개발 초기부터 테스트를 진행하면 결함을 조기에 발견할 수 있으며, 수정 비용이 절감됩니다.

동일한 테스트 반복은 효과가 감소한다 (살충제 패러독스)

  • 동일한 테스트 케이스를 반복하면 더 이상 결함이 발견되지 않는 살충제 패러독스(Pesticide Paradox) 현상이 발생합니다.
  • 이를 방지하기 위해 테스트 케이스를 지속적으로 보완 및 개선해야 합니다.

테스트는 정황(Context)에 따라 다르게 수행해야 한다

  • 소프트웨어의 특징, 테스트 환경, 테스터의 역량 등에 따라 테스트 결과가 달라질 수 있으므로, 상황에 맞게 테스트 전략을 조정해야 합니다.

결함이 없어도 품질이 높다고 할 수 없다 (오류-부재의 궤변)

  • 모든 결함을 제거해도 사용자의 요구사항을 만족하지 못하면 품질이 높다고 할 수 없습니다.
  • 이를 오류-부재의 궤변(Absence of Errors Fallacy)이라고 하며, 기능이 정확하더라도 사용자 기대를 충족하지 못하면 무용지물이 될 수 있습니다.

테스트와 위험은 반비례 관계이다

  • 테스트를 많이 수행할수록 향후 발생할 위험을 줄일 수 있습니다.

작은 부분에서 시작하여 점진적으로 확대해야 한다

  • 단위 테스트 → 통합 테스트 → 시스템 테스트 순으로 점진적으로 확대하며 진행해야 합니다.

테스트는 독립적인 팀에서 수행해야 한다

  • 개발자와 테스트 담당자가 분리되어야 객관성을 유지할 수 있으며, 더 효과적인 결함 발견이 가능합니다.

부가 설명

  • 파레토 법칙 : 전체 결과의 80%는 원인의 20%에서 발생한다는 법칙으로, 테스트에서도 코드의 20%에서 대부분의 결함이 발견되는 경향이 있음.
  • 특정 모듈 집중 현상 : 특정 기능이나 복잡도가 높은 코드에서 결함이 집중적으로 발생하는 경향이 있음.
  • 살충제 패러독스 : 동일한 테스트 케이스를 반복하면 새로운 결함을 찾을 수 없으므로, 테스트 케이스를 지속적으로 개선해야 함.
  • 테스트 케이스 : 특정 기능이나 시나리오에 대해 수행하는 테스트의 입력값, 실행 조건, 예상 결과를 정의한 문서 또는 절차.
  • 오류-부재의 궤변 : 결함이 없어도 사용자 요구사항을 만족하지 못하면 품질이 높다고 할 수 없으며, 요구사항 충족 여부가 더 중요함.

출저 및 참고

정보처리 산업기사 기본서(시나공)

728x90

'자격증 > 정보처리' 카테고리의 다른 글

테스트 기법에 따른 애플리케이션 테스트  (0) 2025.02.02
애플리케이션 테스트의 분류  (0) 2025.02.01
개발 지원 도구  (0) 2025.01.31
디자인 패턴  (0) 2025.01.30
객체지향 분석 및 설계  (0) 2025.01.29