소프트웨어 개발 - 어플리케이션 테스트 관리

정보처리기사
공개

2026년 1월 28일

어플리케이션 테스트

  • 확인(validation): 사용자 입장에서 요구사항이 충족되었는지 확인하는 것
  • 검증(verification): 개발자 입장에서 설계/코딩이 제대로 되었는지 확인하는 것

테스트 기법

  • 정적 테스트
  • 동적 테스트:
    • 화이트 박스: 모든 로직을 테스트
      • 기초 경로 검사
      • 제어 구조 검사
        • 조건, 루프, 데이터(변수) 흐름 검사
    • 블랙 박스: 기능이 작동하는 것을 입증
      • 동치 분할 검사: 타당한 입력, 타당하지 않은 입력 균등하게 테스트
      • 경계값 분석
      • 원인-효과 그래프 검사: 효용성 높은 테스트 케이스 선정하여 검사
      • 오류 예측 검사: 경험 기반 오류 케이스 테스트

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

  • 통합 테스트
    • 하향식: stub 사용
    • 상향식: driver 사용
  • 인수 테스트:
    • 알파 테스트: 개발사에서 실제 사용자 환경과 유사한 환경에서 테스트
    • 베타 테스트: 다수의 실제 사용자가 실제 환경에서 테스트

테스트 오라클

  • 테스트 결과가 올바른지 판단하기 위해 사전에 정의된 참 값을 대입하여 비교하는 기법
  • 참 오라클: 모든 테이스 케이스의 기댓값을 제공
  • 샘플링 오라클: 몇몇 케이스의 기댓값을 제공
  • 추정 오라클: 몇몇 케이스의 기댓값 제공. 나머지는 추정
  • 일관성 검사 오라클: 어플리케이션 변경 시 변경 전 후의 결과값 비교

복잡도

  • 순환 복잡도(cyclomatic): E - N + 2

인터페이스 구현 검증 도구

  • XUnit: Unit 테스트
  • STAF: 서비스 호출 및 컴포넌트 재사용 등 다양한 환경을 지원
  • FitNesse: 웹 기반 테스트 결과 확인 도구
  • NTAF: FitNesse + STAF
  • watir: ruby 기반 테스트 프레임 워크
맨 위로