소프트웨어 테스팅

초보자를 위한 블랙박스 테스팅 튜토리얼

2021년 10월 30일

Black Box Testing은 사용 가능한 사양을 기반으로 응용 프로그램의 기능을 확인하는 소프트웨어 테스트 방법 중 하나입니다.

기본적으로 이러한 유형의 테스트에서는 테스트 대상 항목의 내부 구조/설계/구현이 테스터에게 알려지지 않습니다. 블랙박스 테스팅은 사양 기반 테스팅, 행동 테스팅, 불투명 상자 테스팅, 클로즈드 박스 테스팅 및 아이 투 아이 테스팅으로도 알려져 있습니다. 이 테스트 방법은 모든 수준의 소프트웨어 테스트에 적용할 수 있습니다.

블랙박스 테스트

목차

예시:

애플리케이션의 로그인 화면을 예로 들어 보겠습니다. 로그인 화면에는 사용자 이름과 비밀번호의 두 필드가 있습니다. 블랙박스 테스트이기 때문에 코드 사양을 고려하지 않으므로 계정에 로그인하기 위해 사용자 이름과 비밀번호를 테스트합니다.

블랙박스 테스트 시작 단계

  1. 응용 프로그램의 요구 사항 사양 이해
    이것은 SRS 문서의 도움을 통해 수행할 수 있습니다.
  2. 유효한 입력 및 테스트 시나리오 평가 요청
  3. 준비 테스트 케이스
  4. 테스트 케이스를 실행하여 출력 생성
  5. 실패하기 쉬운 단계를 표시하고 개발팀에 보내 수정합니다.
  6. 시스템을 다시 테스트하여 결함 수정이 제대로 작동하고 더 이상 결함이 없습니다.

블랙박스 테스팅의 종류

블랙박스 테스팅에는 세 가지 유형이 있으며 다음과 같습니다.

    기능 테스트
    블랙박스 테스트 테스트 과정에서 소프트웨어의 특정 기능을 테스트합니다. 기능 테스트는 소프트웨어의 가장 중요한 측면과 주요 구성 요소 간의 통합에 중점을 둡니다.
  • 비기능 추정
    블랙박스 테스팅은 특징과 기능을 확인하는 데에만 사용되는 것이 아니라 소프트웨어의 추가 측면을 확인할 수 있습니다.
    Non-Functional 테스트는 소프트웨어가 특정 작업을 수행하는 방법을 확인하는 것이 아니라 소프트웨어가 특정 작업을 수행할 수 있는지 여부를 확인합니다.
  • 회귀 테스트
    블랙박스 테스트는 소프트웨어의 새 버전이 한 버전에서 다음 버전으로 결함을 나타내는지 여부를 확인하는 데 유용합니다. 회귀 테스트는 소프트웨어의 기능적 측면과 비기능적 측면 모두에 적용될 수 있습니다.

블랙박스 테스트를 위한 도구

기능 및 회귀 테스트용

    UFT – Micro Focus(구 HP)의 제품으로 통합 기능 테스트 . 스크립트 개발이 완료되면 테스터가 모니터링 없이 자동화된 테스트를 수행할 수 있도록 도와줍니다. 실행 요약에서 결과와 보고서를 비교합니다. 셀렌 – 오픈 소스 UI 자동화 테스트 제품군입니다. Macintosh, Windows, Linux 등과 같은 플랫폼에 쉽게 배포할 수 있습니다.

비기능 테스트용

    로드러너 – MicroFocus의 제품입니다. 응용 프로그램을 테스트하고 시스템 동작을 측정하는 데 사용됩니다. 또한 응용 프로그램의 주요 구성 요소 성능을 분석합니다. 제이미터 – 응용 프로그램의 성능을 분석하고 측정하는 데 사용되는 테스트 도구입니다. 친숙한 GUI가 있으며 플랫폼에 독립적입니다. Selenium과도 통합할 수 있습니다.

블랙박스 테스트에 적용 가능한 수준

블랙박스 테스트는 다음 레벨에 적용됩니다.

    통합 테스트 : 개별 단위가 결합되어 그룹으로 테스트되는 소프트웨어 테스트 수준입니다. 목적은 통합 장치 간의 결함을 노출하는 것입니다. 단위 테스팅 이후, 시스템 테스팅 전에 수행되는 두 번째 레벨 테스팅이다.
    시스템 테스트 : 통합 소프트웨어를 테스트하는 소프트웨어 테스트 수준. 목적은 시스템의 규정 준수를 평가하는 것입니다. 통합 테스팅 후, 수용 테스팅 전에 수행되는 세 번째 레벨 테스팅이다.
    수락 테스트 : 시스템이 수용 가능한지 테스트되는 소프트웨어 테스트 수준. 주요 목적은 시스템이 비즈니스 요구 사항을 준수하는지 평가하는 것입니다. 수락 테스트는 시스템 테스트 이후에 수행되는 소프트웨어 테스트의 마지막 단계입니다.

블랙박스 테스팅 기법

다음은 블랙박스 테스트 기술입니다.

    경계값 분석 등가 분할 의사결정 테이블 테스트 상태 전환 테스트 추측 오류

자세히 살펴보겠습니다.

    경계 값 분석:이 기술은 입력 값의 범위에 초점을 맞추지 않고 입력 값의 결함을 식별합니다. 또한 극단적인 출력 값을 처리하는 데 도움이 됩니다. 등가 분할을 수행하는 동안에도 유용합니다.
블랙박스 테스트
장점단점
변수와 잘 작동
테스트 생성 비용 절감
모든 테스트 수준에서 사용할 수 있습니다.
많은 수의 테스트 케이스 생성
부울 변수에는 사용할 수 없습니다.
논리 변수에는 사용할 수 없습니다.
강력한 언어에는 유용하지 않음
    등가 분할: 이 기술은 주로 테스트 케이스를 작성하는 데 사용됩니다. 여기에서 테스트 케이스를 동일한 것으로 간주되는 다른 부분으로 나눕니다. 단위, 통합, 시스템과 같은 모든 수준의 테스트에 적용할 수 있습니다. 예: 1에서 50까지의 숫자를 허용하는 입력 상자에 대해 테스트하는 경우 100개의 유효한 입력 숫자 모두에 대해 100개의 테스트 케이스를 작성하는 것은 아무 소용이 없습니다. 따라서 Equivalence Partitioning 방법을 사용하여 테스트 케이스를 클래스라고 하는 4개의 입력 데이터 세트로 나눌 수 있습니다.
블랙박스 테스트

위의 예에서 테스트 케이스를 일부 유효 및 유효하지 않은 입력의 4가지 등가 클래스로 나눌 수 있습니다.

장점단점
완벽한 테스트 제공
입력 및 출력의 큰 도메인 활성화
테스트 중복 방지
프로세스 지향
경계 값 오류를 처리할 수 없음
시간이 많이 걸리는
    의사결정 테이블 테스트: 다양한 조합에 대해 시스템 동작을 테스트해야 할 때 사용하는 소프트웨어 테스트 기술은 의사결정 테이블 테스트입니다. 다양한 입력과 시스템 동작이 표 형식으로 등록되는 체계적인 접근 방식입니다. 이것은 인과 관계 표라고도 합니다.
    예: 아래는 비즈니스 로그인 화면의 흐름도입니다.
블랙박스 테스트
  • 첫 번째 단계는 모든 가지와 잎의 이름을 지정하는 것입니다.
  • a,b,c는 가지이고 1,2,3은 잎입니다.
블랙박스 테스트
장점단점
도구는 테스트 사례의 완전한 범위를 제공합니다.
반복적으로 작동합니다
완성도가 있다
입력 수가 증가하면 테이블이 조금 더 복잡해집니다.
상태 전환 테스트

상태 전환 테스트는 테스트가 유효하고 잘못된 상태 전환을 실행하도록 설계된 블랙박스 테스트 기술입니다.

블랙박스 테스트

상태 전이 다이어그램

특정 입력에서 시스템이 어떻게 변경되는지 보여줍니다. 네 가지 주요 구성 요소가 있습니다.

  • 상태
  • 이행
  • 이벤트
  • 동작

전환 상태

    모드 변경:활성화되면 디스플레이 모드가 날짜별로 이동합니다.시간 설정:활성화되면 디스플레이 모드가 수시로 변경됩니다.날짜 설정:활성화되면 표시 모드가 날짜 변경에서 날짜로 변경됩니다.초기화:표시 모드가 시간 또는 날짜인 경우 시간을 변경하거나 날짜를 변경하도록 설정합니다.
장점단점
테스터가 유효하지 않은 상태를 다룰 수 있도록 합니다.
시스템 동작의 적절한 표현을 제공합니다.
모든 조건을 다룹니다
모든 곳에서 수행할 수 없습니다.
신뢰할 수 없다

추측 오류: 이러한 유형의 테스트 기술은 경험이 있는 경우에만 배울 수 있습니다. 이 기술에서 분석가는 자신의 경험을 사용하여 애플리케이션 내의 문제를 추측합니다.

예를 들어: 분석가가 로그인 페이지에서 오류를 발견하면 테스터는 로그인 페이지에 초점을 맞춘 테스트 케이스를 작성합니다.

장점단점
다른 테스트 접근 방식을 칭찬합니다.
테스트를 훨씬 더 효과적이고 효율적으로 만듭니다.
결함을 신속하게 노출
하나는 테스트 경험이 필요합니다
테스터의 직관에 의존

블랙박스 테스팅의 장단점

장점단점
대규모 시스템에서 사용할 때 효율적입니다.
테스터는 비기술적 배경이 될 수 있습니다.
테스트는 사용자의 관점에서 수행됩니다.
테스트는 모순을 식별하는 데 도움이 됩니다.
기능 사양이 배치되면 테스트 케이스를 설계할 수 있습니다.
테스트는 균형 잡히고 편견이 없습니다.
테스트 케이스는 기능적 사양 없이 설계하기가 쉽지 않습니다.
테스트 과정에서 경로를 알 수 없을 가능성이 큽니다.
테스트 케이스 작성은 느리고 어렵습니다.

블랙박스 테스팅과 화이트박스 테스팅 중 어느 것이 더 나은가요?

그러기 위해서는 화이트박스 테스팅에 대해 조금 알아야 합니다.

화이트박스 테스트

이것은 소프트웨어 테스팅 항목의 구조/설계/구현이 테스터에게 알려진 방법. 테스터는 입력을 선택하고 적절한 출력을 결정합니다.

화이트 박스 테스트의 다른 이름은 유리 상자 테스트, 투명 상자 테스트, 구조 테스트입니다.

화이트박스 테스트

예를 들어:

|_+_|
  • 먼저 A와 B의 값을 할당합니다. A=60, B=50이라고 가정합니다.
  • 둘째, 이제 C에 A+B, A=60, B=50, 따라서 C=110의 값이 할당됩니다.
  • 셋째, C>100인지 확인하고 이 경우에는 사실이므로 ITS DONE 결과를 얻습니다.

화이트 박스 테스트 시작 단계

  • 테스트할 기능을 식별합니다.
  • 흐름 그래프의 모든 경로를 플로팅합니다.
  • 흐름도에 대해 가능한 모든 경로를 식별합니다.
  • 각 그래프에 대한 테스트 케이스를 작성하십시오.
  • 실행하고 헹구고 반복합니다.

화이트박스 테스팅 기법

    명세서 적용 범위: 각 라인이 한 번 이상 실행되는지 확인합니다.지점 커버리지: 각 결정 지점의 모든 분기가 실행되도록 합니다.경로 커버리지: 모든 경로가 적어도 한 번은 통과되도록 합니다.

화이트박스 테스팅의 종류

화이트 박스 테스팅에는 세 가지 유형이 있으며 아래에 언급되어 있습니다.

    단위 테스트 화이트 박스 침투 테스트 메모리 누수 테스트 화이트박스 돌연변이 테스트

화이트 박스 테스트를 위한 도구

    JsuNit.net: 화이트박스 테스팅에 사용되는 자바스크립트 테스팅 툴입니다. 상업적인 목적으로도 사용할 수 있는 오픈 소스 소프트웨어입니다.
    Cpp단위: CppUnit은 JsuNit의 일부입니다. 이 도구는 일반 텍스트 또는 XML 형식의 출력을 제공할 수 있지만 전적으로 코더가 원하는 방식에 따라 다릅니다.
    베라 코드: 독점 소프트웨어이며 와 같은 일부 강력한 언어를 테스트하는 데 사용됩니다. 그물 , C++, JAVA 등.

화이트박스 테스팅의 장단점

장점단점
테스터에게 테스팅이 완료되면 알립니다.
기술은 비교적 자동화하기 쉽습니다.
프로그래머는 최적화가 쉬워집니다.
프로그램의 기능에 필요하지 않은 코드 부분을 제거하는 것은 약간 쉽습니다.
상대적으로 비용이 많이 듭니다.
코드의 각 조건을 테스트할 수 없습니다.
프로그램의 누락된 기능을 찾을 수 없습니다.

화이트 박스와 블랙 박스 테스트의 차이점 - 2020 - 다른 사람

기초블랙박스 테스트화이트박스 테스트
정의 내부 구조에 대한 지식 없이 소프트웨어를 테스트하는 데 사용됩니다.소프트웨어의 내부 구조는 테스터에게 알려져 있습니다.
다른 이름들 사양 기반 테스트, 행동 테스트, 불투명 상자 테스트, 폐쇄 상자 테스트 및 눈 대 눈 테스트.유리 상자 테스트, 투명 상자 테스트, 구조 테스트.
테스트의 기초 테스트는 외부 기대치를 기반으로 합니다.내부 작업은 코더에게 알려져 있습니다.
용법 높은 수준의 테스트에 적합합니다.낮은 수준의 테스트에 적합합니다.
프로그래밍 언어 프로그래밍 언어가 필요하지 않습니다.프로그래밍 언어가 필요합니다.
구현 지식 블랙박스 테스트에서는 필요하지 않습니다.구현에 대한 완전한 이해가 필요합니다.
오토메이션 자동화가 어렵습니다.자동화하기 쉽습니다.
객관적인 목적은 시스템의 기능을 확인하는 것입니다.목적은 코드의 품질을 확인하는 것입니다.
에 의해 테스트 테스터, 최종 사용자가 수행합니다.일반적으로 테스터와 개발자가 수행합니다.
세분성 입도가 낮습니다.입도가 높습니다.
테스트 방법 시행착오 방법을 기반으로 합니다.내부 경계를 테스트할 수 있습니다.
시각 시간이 덜 소요됩니다.더 많은 시간이 소요됩니다.
코드 액세스 코드 액세스가 필요하지 않습니다코드 액세스가 필요합니다.

결론

블랙박스 테스팅과 화이트박스 테스팅은 모두 필요하며 서로를 보완합니다. 화이트 박스 테스트는 코드 기능과 높은 수준의 테스트를 보장하는 반면 블랙 박스 테스트는 최종 사용자 경험을 향상시킵니다. 테스터는 적절한 테스트를 수행할 수 있도록 블랙박스 테스팅에 대한 지식이 있어야 합니다.