[테스팅 이론] (2) 정리

YuJin Lee·2021년 6월 7일
0

QA

목록 보기
2/2
post-thumbnail

1. 화이트 박스 테스트(White Box Test)

  • 응용 프로그램의 내부 구조와 동작을 검사하는 테스트 방식 즉, 소프트웨어 내부 소스 코드를 테스트 한다.
  • 개발자 관점의 단위 테스트 방법이라 볼 수 있으며, 구현 기반 테스트라고 볼 수 있다.
    • 제어 흐름 테스트 : 프로그램의 제어 구조(if, case, loop) 테스트
    • 데이터 흐름 테스트 : 제어 흐름 그래프에 데이터 사용 현황(정의, 소멸, 사용) 테스트
    • 분기 테스트 : 각 코드 분기의 커버리지를 테스트
    • 경로 테스트 : 코드를 통해 가능한 모든 경로를 정의하고 다루는 테스트

  • Why?
    • 오타 및 구문검사를 위해서
    • 프로그램의 논리적 흐름과 실제 구현의 차이로 인한 설계 오류를 찾기 위해서
  • 한계
    • 프로그램에서 모든 경로를 테스트하는 것은 불가능하다. 즉 대규모 시스템일 수록 철저한 테스트가 불가능하다.

      📍코드 커버리지란?
      👉 테스트하는 동안 실행 될 소스 코드의 백분율을 나타내는 측정 값이다.
      👉 테스트 중에 소프트웨어 프로그램 또는 응용 프로그램의 소스 코드가 실행되는 범위를 의미한다.
      📍 코드 커버리지는 테스트 효과(코드를 테스트하기 위해 작성된 단위 테스트의 효율성)를 아는 데 사용할 수 있는 측정 값이며, 코드 품질 향상을 지원함으로써 더 나은 품질의 소프트웨어를 제공할 수 있다.
      📍코드 커버리지 = (실행 된 코드 줄 수 / 총 코드 줄 수) * 100
      방법론 : 명세서 범위 / 기능 범위 / 조건 적용 / 지점 범위

2. 블랙 박스 테스트

  • 소프트웨어 / 애플리케이션의 기능을 분석하고 입력값과 출력값을 비교하는 소프트웨어 테스트 방식이다.
  • 주요 초점은 시스템 전체의 기능에 있다.
    • 기능 테스트: 입력을 제공하고 실제 출력을 예상 출력과 비교한다.
      • 단위 테스트
      • 빌드 검증 테스트(연기 테스트) : 빌드 안정성을 확인하기 위해 각 빌드가 릴리즈 된 후 수행되는 테스트.
      • 온전성 테스트 : 애플리케이션 / 시스템의 주요 기능과 핵심 기능이 올바르게 작동하는지 확인하기 위해 수행되는 테스트.
      • 통합 테스트
      • 시스템 테스트
      • 회귀 테스트 : 새 코드 추가, 개선 사항, 버그 수정이 기존 기능을 손상 시키거나 불안정성을 유발하지 않고 사양에 따라 작동하는지 확인하기 위해 수행 되는 테스트.
      • 사용자 수락 테스트
    • 비기능 테스트: 요구 사항의 기능 외에도 응용 프로그램의 품질과 성능을 개선하기 위해 수행하는 테스트.
      • 사용성 테스트
      • 부하 테스트
      • 성능 테스트
      • 호환성 테스트
      • 스트레스 테스트
      • 확장성 테스트
    • 비기능 테스트는 무엇?
      • 너무 많은 사용자가 동시에 로그인하면 애플리케이션이 어떻게 작동하나요?
      • 애플리케이션이 스트레스를 처리할 수 있나요?
      • 애플리케이션은 얼마나 안전하나요?
      • 애플리케이션이 다른 환경이나 OS에서 동일한 방식으로 작동할 수 있나요?
      • 네이버에서 진행했던 aging test가 그 예시 -> 15시간 동안 Clova 키워드 발화 / 날씨 어때 / 노래틀어줘 연속적으로 실행
    • Why?
      • 응용 프로그램이 효율적으로 실행되고 충분히 신뢰할 수 있는지 확인이 가능하다.
      • 응용 프로그램의 보안을 보장한다.

3. 화이트 박스 테스트 vs 블랙 박스 테스트

블랙 박스 테스트화이트 박스 테스트
실제 코드나 응용 프로그램의 내부 구조에 대한 지식이 없는 테스트실제 코드 및 내부 구조에 대한 지식이 있는 테스트
시스템의 기능에 집중실제 코드에 집중
테스터가 주로 수행프로그래밍 지식이 있는 개발자 혹은 테스터가 수행
  
profile
느리더라도 꾸준히

0개의 댓글