본문 바로가기

BLOG/정보처리기사

소프트웨어 테스트

정의

  • 숨어있는 결함을 찾기 위해 소프트웨어를 작동시키는 행위와 절차이다.
  • 오류를 발견하기 위한 목적으로 프로그램을 실행하여 품질을 평가하는 과정이다.
  • 개발된 소프트웨어의 결함과 문제를 식별하고 품질을 평가하며 품질을 개선하기 위한 일련의 활동이다.
  • 테스트 케이스에 따라 SW를 동적으로 실행시켜 예상결과치를 비교 분석한다.
  • SW의 동작과 성능, 안정성이 요구되는 수준을 만족하는지 확인하기 위한 결함을 발견하는 메커니즘이다.

 

목적

  • 프로그램의 잠재된 오류의 발견
  • 기술적인 기능 및 성능을 확인
  • 사용자 요구 만족도 향상
  • 제품 신뢰도 향상

 

종류

  • 단위  테스트 (Unit Test) - 인터페이스, 자료구조, 수행경로
  • 통합  테스트 (Integration Test) - 하향식, 상향식, 백본
  • 시스템  테스트 (System Test) - 보안, 민감도, 성능
  • 인수  테스트 (Acceptance Test) - 알파, 베타
  • 설치  테스트 (install Test) - 하드웨어 호환성, 파일 시스템 구성, 다른 소프트웨어와의 연계

 

접근방법

1. 정적 테스트 

  • 동료검토
  • 워크스루
  • 정형 기술 검토

 

 

2. 동적 테스트

  • 소스코드 열람에 따른 구분 -블랙박스, 화이트박스 테스트
  • 설계기법에 따른 분류 -명세,  구조, 경험 기반 테스트