문제

어떤 유형의 테스트는 것을 말해야 될 것을 강조(에 대한 테스/QAs),그리고 왜?

빠른 설정의 정의에서 위키피디아

블랙 박스 테스트

  • 는 외부의 관점을 테스트 객체을 도출하 테스트 사례.이러한 테스트를 수 있는 기능 또는 작동하지만,일반적으로 작동합니다.테스트는 디자이너를 선택 유효하고 유효한 입력과정에 전달한다는 사실을 나타냅니다.지식도 없 테스트 객체의 내부 구조입니다.

화이트 박스 테스트

  • 사용자 관점의 시스템 디자인을 테스트 사례를 기반으로 내부 구조입니다.그것은 필요한 프로그래밍 기술을 식별하는 모든 경로를 통해 소프트웨어입니다.검사자를 선택하 테스트 케이스에 입력 운동 경로를 통해 코드고 결정하는 적절한 출력이 있습니다.전기 하드웨어 테스팅,모든 노드의 회로에서 수 있습 탐지 및 측정;예를 들어서 회로 테스트(ICT).

편집:을 명확히,조금 더 나는 모두가 중요하지만,일반적으로 그들은 별도의 간의 개발 및 품질보증을 수행합니다.

내 지식에 대한 중요한 검사자/QA?내가 들었어요 인수는 테스트는 이러한 지식으로 마음에서 수 있도록 더 나은 테스트를 위한 문제이지만,나는 또한 인수하는 이 지식을 흐트저릴 수 있에서 기능적 필요성을 촉진"시험하는 코드"보다는 오히려를 의도한 솔루션입니다.

도움이 되었습니까?

해결책

  • 블랙 박스 테스트는 테스터/QA에게 강조해야합니다.
  • 화이트 박스 테스트는 개발자 (즉, 단위 테스트)에게 강조해야합니다.
  • 이 질문에 대답 한 다른 사람들은이 질문을 다음과 같이 해석 한 것 같습니다. 더 중요한 것은 흰색 상자 테스트 또는 블랙 박스 테스트. 나도 둘 다 중요하다고 믿지만 당신은 이것을 확인하고 싶을 수도 있습니다. IEEE 기사 화이트 박스 테스트가 더 중요하다고 주장합니다.

다른 팁

화이트 박스 테스트는 소프트웨어 단위 테스트와 같습니다. 개발자 또는 개발 수준 테스터 (예 : 다른 개발자)는 자신이 작성한 코드가 시스템에 통합하기 전에 세부 수준 요구 사항에 따라 올바르게 작동하는지 확인합니다.

블랙 박스 테스트는 통합 테스트와 같습니다. 테스터는 시스템이 기능 수준에서 요구 사항에 따라 작동하도록합니다.

두 테스트 접근법 모두입니다 마찬가지로 중요합니다 제 생각에는.

철저한 단위 테스트는 소프트웨어가 시스템에 통합 된 후가 아니라 개발 단계에서 결함을 포착합니다. 시스템 레벨 블랙 박스 테스트는 함께 통합 될 때 모든 소프트웨어 모듈이 올바르게 작동하도록합니다. 개발 단계의 단위 테스트는 모듈이 일반적으로 서로 독립적으로 개발되기 때문에 이러한 결함을 포착하지 않습니다.

블랙 박스

1 시스템의 기능은 시스템의 구조 (프로그램)에 중점을 둡니다.

사용 된 2 가지 기술은 다음과 같습니다.

· 동등성 분할

· 경계-값 분석

· 오류 추측

· 레이스 조건

· 원인-효과 그래프

· 구문 테스트

· 상태 전환 테스트

· 그래프 매트릭스

테스터는 비 기술적 일 수 있습니다

기능 사양에서 모호함과 모순을 식별하는 데 도움이됩니다.

흰색 상자

사용 된 기술은 다음과 같습니다.

· 기본 경로 테스트

· 흐름 그래프 표기법

· 제어 구조 테스트

  1. 조건 테스트

  2. 데이터 흐름 테스트

· 루프 테스트

  1. 간단한 루프

  2. 중첩 루프

  3. 연결 고리

  4. 구조화되지 않은 루프

    테스터는 기술적이어야합니다

    논리적 및 코딩 문제를 식별하는 데 도움이됩니다.

QA는 집중해야합니다 블랙 박스 테스트. QA의 주요 목표는 시스템이 수행하는 작업 (기능이 요구 사항을 충족하는 것)을 테스트하는 것입니다.

어쨌든 대부분의 QA 남자가 기술자가 아니기 때문에 QA가 화이트 박스 테스트를 수행하는 것은 어렵 기 때문에 일반적으로 UI (사용자와 같은)를 통해 기능을 테스트합니다.

한 걸음 더 나아가고 생각합니다 개발자 너무 집중해야합니다 블랙 박스 테스트. 나는 단위 테스트와 흰색 상자 테스트 사이의 광범위한 연관성에 동의하지 않지만 어휘/규모의 질문 일 수 있습니다. 단위 테스트의 규모에서 테스트중인 시스템 계약을 통해 (서명을 통해) 계약이있는 클래스/방법이며 중요한 점은 어떻게 아닌지 테스트하는 것입니다. 또한 White Box 테스트는이 방법이 계약을 채우는 방법을 알고 있음을 의미합니다.

IMHO SUT가 너무 복잡하여 흰색 상자 테스트를 수행 해야하는 경우 일반적으로 리팩토링을위한 시간입니다.

"둘 다"는 위에서 언급되었으며 명백한 대답입니다. 그러나 IMO, 화이트 박스 테스트는 개발자 장치 테스트를 훨씬 뛰어 넘습니다 (흰색과 검은 색의 선을 그릴 수있는 위치에 따라 다를 수 있음). 예를 들어, 코드 적용 범위 분석은 일반적인 흰색 상자 접근 방식입니다. 즉, 일부 시나리오 나 테스트를 실행하고 테스트의 구멍을 찾는 결과를 검사합니다. 단위 테스트에 100% CC가 있더라도 일반적인 사용자 시나리오에서 CC를 측정하면 더 많은 테스트가 필요할 수있는 코드가 표시 될 수 있습니다.

흰색 상자 테스트가 도움이되는 또 다른 장소는 데이터 유형, 상수 및 기타 정보를 검사하여 경계, 특수 값 등을 찾는 것입니다. 예를 들어, 응용 프로그램에 숫자 입력을 취하는 입력이있는 경우 BB 만 접근 방식은 테스터가 필요로 할 수 있습니다. "추측"테스트에 어떤 값이 좋은지에 대한 "추측", WB 접근 방식은 1-256 사이의 모든 값이 한 방향으로 처리되는 반면, 더 큰 값은 다른 방식으로 처리되는 것을 보여줍니다 ... 그리고 아마도 42 번은 또 다른 코드 경로를 가지고있을 것입니다. .

따라서 원래 질문에 답하기 위해 BB와 WB는 모두 좋은 테스트를 위해 필수적입니다.

내 경험상 대부분의 개발자는 자연스럽게 화이트 박스 테스트로 이동합니다. 기본 알고리즘이 "올바른"상태인지 확인해야하므로 내부에 더 집중하는 경향이 있습니다. 그러나 지적한 바와 같이, 흰색과 블랙 박스 테스트가 모두 중요합니다.

따라서, 나는 테스터가 블랙 박스 테스트에 더 집중하는 것을 선호하고, 대부분의 개발자가 실제로 그렇게하지 않으며 종종 잘하지 못한다는 사실을 다루는 것을 선호합니다.

즉, 테스터는 시스템의 작동 방식에 대해 어둠 속에서 유지되어야한다고 말하는 것은 아닙니다. 단지 문제 영역에 더 집중하는 것을 선호하고 실제 사용자가 Somemethod (int x) 기능이 아닌 시스템과 상호 작용하는 방식을 선호합니다. x가 5와 같으면 예외를 올바르게 던집니다.

그것은 약간 열린 문이지만 결국 둘 다 똑같이 중요합니다.

더 나쁜 것은 무엇입니까?

  1. 해야 할 일이 있지만 내부적으로 문제가있는 소프트웨어?

  2. 소스를 보지만 작동하지 않는 소프트웨어는?

내 대답 : 완전히 허용되지는 않지만 소프트웨어는 100% 버그가 아닌 것으로 판명 될 수 없습니다. 그래서 당신은 약간의 트레이드 오프를 만들어야 할 것입니다. 옵션 2는 클라이언트에게보다 직접적으로 눈에 띄기 때문에 더 빨리 문제를 겪게됩니다. 장기적으로 옵션 1은 문제가 될 것입니다.

블랙 박스 테스트:블랙박스 시험은 관측 필요 없이 내부의 지식이나 구조물의 소프트웨어 제품입니다.고 유효하고 잘못된 데이터 입력과 기대는 올바른 결과입니다.여기에서 검사를 찾을 결함을 찾을 수 없습의 위치 결함이다.블랙 박스 테스트에서 수행한 모든 테스트는 수준입니다.

블랙 박스 테스트 tecniques 습니다:1.Equivalance 파티션 2.경계 값 분석 3.결정을 테이블 4.상태로 전이 다이어그램 4.사용하는 경우 다이어그램

화이트 박스 테스트:화이트 박스는 테스트는 필요한 지식을 내부의 논리의 구조와 소프트웨어 제품입니다.여기서 우리는 것이 확인 루프,상태 및니다.여기서 우리는 발견하지만 결함이 있지만 또한 위치 결함이다.

화이트 박스 테스트 기술:1.문 적용 2.결정 범위 3.점 범위 4.경로를 커버합니다.

  • 일반적으로 흰색 상자 테스트는 테스터에게는 불가능합니다. 따라서 테스터에게 유일한 실행 가능한 답변은 블랙 박스 접근법을 강조하는 것입니다.

  • 그러나 측면 지향 프로그래밍 및 계약 별 방법론을 사용하면 테스트 목표가 계약 (프로그램의 정적 관점에서 볼 수있는) 및/또는 테스트 시간 논리가 프로그래밍 될 때 테스트 목표가 대상 코드로 프로그래밍 될 때 크로스 컷으로서의 코드 (테스트 로직의 동적보기), 화이트 박스 테스트는 가능할뿐만 아니라 테스터에게 선호하는 테이크도 가능합니다. 즉, 전문 지식이 필요합니다. 테스터는 훌륭한 테스터 일뿐 만 아니라 훌륭한 프로그래머 또는 훌륭한 프로그래머 이상이어야합니다.

블랙 박스 테스트는 테스트중인 품목의 내부 구조/ 설계/ 구현이 테스터에게 알려지지 않는 소프트웨어 테스트 방법입니다. 화이트 박스 테스트는 테스트중인 품목의 내부 구조/ 설계/ 구현이 테스터에게 알려진 소프트웨어 테스트 방법입니다.

"내부 지식?" 그러한 속도 알고리즘이 문제를 해결하는 데 사용되었거나 테스터가 "내부"가되기 위해 모든 코드 라인을보아야합니까?

모든 테스트 사례에서 사용 된 사양에 의해 제공된 결과가 예상되고 테스터가 사양을 해석하기로 결정하는 방법에 따라 결정되지 않아야한다고 생각합니다. 이는 각각이 옳다고 생각하고 문제에 대해 다른 사람을 비난하는 문제로 이어질 수 있습니다.

  • *블랙 박스 테스트 : 시스템 수준에서 시스템의 기능을 확인하는 테스트, 시스템이 설계된 모든 기능을 수행하고 주로 사용자 지점에서 발견 된 결함을 발견하기 위해 시스템을 수행하는지 확인합니다. '개발자는 일반적으로 자신이 작성한 코드가 좋고 고객의 기능적 요구 사항을 충족시켜 많은 것을 놓칠 수 있다는 관점으로 테스트합니다. 't 누구를 화나게한다는 의미)
  • Whitebox는 SDLC에서 수행 된 첫 번째 테스트입니다.이 테스트는 런타임 오류 및 컴파일 오류와 같은 버그를 테스터 나 개발자가 수행 할 수있는 버그를 발견하는 것입니다. 그러나 코드를 작성한 사람이 항상 더 낫다고 생각합니다. 그는 다른 사람보다 더 많이 이해합니다.*

여기 내 5 센트가 있습니다.

개발자로서, 나는 대부분 코드의 내부 작업을 변경하기 때문에 테스트가 깨지기를 원하지 않기 때문에 주로 흰색 상자 테스트로서의 방법 (클래스에서)에 대한 테스트를 작성합니다.

내 메소드 동작이 변경되면 테스트를 중단하기를 원합니다 (예 : 이전과 다른 결과를 반환합니다).

지난 20 년 동안 개발 한 내용은 단순한 단위 테스트가 코드와 밀접한 관련이 있었고 응용 프로그램 코드와 테스트 코드를 모두 유지해야하기 때문에 단순히 두 배의 작업을 수행하는 데 지쳤습니다.

디커플링 코드를 만드는 것이 (코드 테스트시) 매우 좋은 관행이라고 생각합니다.

또 다른 5 센트 : 나는 조롱 프레임 워크를 거의 사용하지 않습니다. 반드시 내 코드를 분리하는 것을 선호하기 때문에 대신 내 코드를 분리하는 것을 선호하기 때문입니다. 그리고 많은 경우에 매우 가능합니다 (특히 레거시 코드에서 작동하지 않는 경우) : - - - - - - - - - - - - - - - - - - - - - )

*블랙 박스 테스트 : 소스 코드를 사용할 수없는 경우 테스트 데이터는 구현 방법에 관계없이 소프트웨어의 기능을 기반으로합니다. -블랙 박스 테스트의 텍사스 텍사스는 다음과 같습니다. 경계 값 테스트 및 동등성 파티셔닝.

*화이트 박스 테스트 : 테스트중인 시스템의 소스 코드를 사용할 수있는 경우 테스트 데이터는이 소스 코드의 구조를 기반으로합니다. -흰색 박스 테스트의 예입니다 : 경로 테스트 및 데이터 흐름 테스트.

간단한 ... 블랙 박스 테스트는 통합 테스트 또는 연기 스크린 테스트라고합니다. 이것은 주로 이벤트 중심의 아키텍처에 의존하는 분산 환경에 적용됩니다. 가능한 모든 시나리오를보기 위해 다른 서비스를 기반으로 서비스를 테스트합니다. SOA/Enterprise 앱의 각 구성 요소는 자율적으로 작동하기 때문에 가능한 모든 출력을 완전히 예측할 수는 없습니다. 이것은 고급 테스트라고 할 수 있습니다

동안

화이트 박스 테스트는 단위 테스트를 말합니다. 예상되는 모든 시나리오 및 출력을 효과적으로 예측할 수있는 경우. IE 입력 및 예상 출력. 이는 저수준 테스트라고 할 수 있습니다.

나는이 질문에 대한 최고 등급의 답변에 부분적으로 동의합니다. 어떤 유형의 테스트가 강조해야한다고 말하겠습니까 (테스터/QAS).

  1. "블랙 박스 테스트는 테스터/QA에게 강조해야합니다."
  2. 나는 White Box 테스트가 개발자에게 강조해야한다는 데 동의하지만 White Box 테스트는 단위 테스트 일 뿐이라는 데 동의하지 않습니다.

나는 정의에 동의합니다 여기 화이트 박스 테스트 방법은 다음 수준의 소프트웨어 테스트에 적용 할 수 있음을 나타냅니다.

  • 단위 테스트 : 장치 내 테스트 경로
  • 통합 테스트 : 장치 간 테스트 경로
  • 시스템 테스트 : 하위 시스템 간의 테스트 경로
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top