Study_Note

boundary value analysis test 본문

QA_study

boundary value analysis test

12월7일생 2023. 7. 28. 17:31
728x90

 

 

경계값 분석 테스트
(boundary value analysis test)

 

경계값 분석 테스트는 입력값의 범위가 주어진 경우, 특히 그 경계 부분에서 자주 발생하는 오류를 찾아내는 효과적인 방법입니다. 우리가 일상적으로 사용하는 소프트웨어에서 숫자를 입력할 때나 글자 수를 제한할 때 등, 입력값의 범위를 정하는 경우가 많습니다. 이때, 경계값에서 오류가 발생할 확률이 높기 때문에, 이 부분에 초점을 맞춰 테스트를 진행하는 것이 중요합니다.

경계값 분석은 일반적으로 최소값, 최대값, 그리고 그 직전과 직후의 값을 포함합니다. 이렇게 경계 부근에서 오류를 발견하면 소프트웨어의 안정성과 신뢰성을 높일 수 있습니다.

예를 들어, 1부터 100까지의 숫자를 입력하는 경우를 상상해보겠습니다. 경계값 분석에서는 다음과 같은 테스트 케이스를 작성합니다.

최소값인 1과 그 직후 값인 2를 포함하여 테스트
최대값인 100과 그 직전 값인 99를 포함하여 테스트
최소값 아래의 값(0)과 최대값 위의 값(101)을 포함하여 테스트
경계값인 1과 100만을 포함하여 테스트
이렇게 경계값 분석을 통해 테스트 케이스를 설계하면, 오류를 더 빠르게 발견하고 소프트웨어의 품질을 향상시킬 수 있습니다. 또한, 시간과 노력을 절약하면서 더 효율적인 테스트를 수행할 수 있습니다.

경계값 분석은 QA(Quality Assurance)에서 매우 유용하며, 소프트웨어의 완성도를 높이는 데에 큰 도움이 됩니다.

 

경계값 분석(Boundary Value Analysis) 테스트는 입력값의 경계 부근에서 오류가 가장 자주 발생하는 경향을 이용하여 테스트 케이스를 설계하는 기법입니다. 이 기법은 보통 입력값이 범위로 주어지는 경우에 특히 유용하게 활용됩니다.

경계값 분석은 다음과 같이 수행됩니다.

 

  1. 입력값의 최소값과 최대값을 확인합니다.
  2. 이후, 최소값과 최대값의 직전 값과 직후 값(경계값)을 확인합니다.
  3. 이렇게 확인한 경계값들을 이용하여 테스트 케이스를 작성합니다.
  4. 테스트 케이스는 최소값, 최대값, 경계값을 포함하여 작성됩니다.
  5. 이렇게 작성된 테스트 케이스를 실행하여 입력값의 경계 부근에서 발생할 수 있는 오류를 찾습니다.

[example]

소프트웨어가 사용자로부터 입력받은 숫자가 1부터 100 사이의 값인지를 판별하는 기능을 가지고 있다고 가정해봅시다

 

경계값 분석을 통한 테스트 케이스 작성:

 

  1. 최소값인 1과 그 직후 값인 2를 포함하여 테스트:
    1. 입력값: 1, 2
    2. 예상 결과: 유효 (입력값이 범위 내에 있음)
  2. 최대값인 100과 그 직전 값인 99를 포함하여 테스트:
    1. 입력값: 99, 100
    2. 예상 결과: 유효 (입력값이 범위 내에 있음)
  3.  최소값 아래의 값(0)과 최대값 위의 값(101)을 포함하여 테스트:
    1. 입력값: 0
    2. 예상 결과: 무효 (입력값이 범위를 벗어남)입력값: 101
    3. 예상 결과: 무효 (입력값이 범위를 벗어남)
  4. 경계값인 1과 100만을 포함하여 테스트:
    1. 입력값: 1, 100
    2. 예상 결과: 유효 (입력값이 경계에 있음)

 

위 표는 경계값 분석을 통해 작성된 테스트 케이스입니다. 각각의 테스트 케이스 번호, 입력값, 그리고 예상 결과를 표로 나타냈습니다. 테스트 케이스는 최소값과 최대값, 그리고 그 직전/직후 경계값들로 구성되며, 이를 통해 소프트웨어의 경계 부근에서 발생할 수 있는 오류를 발견하는데 도움이 됩니다.

 

반응형

 

'QA_study' 카테고리의 다른 글

software life cycle model  (2) 2023.12.06
decision table testing  (0) 2023.07.31
equivalence partitioning testing  (0) 2023.07.28
types of test design techniques  (0) 2023.07.27
functional test & non-functional test  (0) 2023.07.25