그레이 박스 테스트

Gray box testing

그레이 박스 테스트(국제 영어 철자: 그레이 박스 테스트)는 화이트 박스 테스트와 블랙 박스 테스트의 조합이다.이 테스트의 목적은 부적절한 구조 또는 부적절한 응용 프로그램 사용으로 인한 결함을 검색하는 것이다.[1][2]

개요

블랙박스 테스터는 테스트할 응용 프로그램의 내부 구조를 모르는 반면 화이트박스 테스터는 응용 프로그램의 내부 구조에 접근할 수 있다.회색 상자 테스터는 내부 구조를 부분적으로 알고 있으며, 여기에는 사용된 알고리즘뿐만 아니라 내부 데이터 구조의 문서화에 대한 접근도 포함된다.[3]

회색 상자 테스터는 응용 프로그램을 설명하는 높은 수준의 상세 문서와 시험 사례를 정의하기 위해 수집해야 한다.[4]

회색 상자 테스트 필요

그레이박스 테스트는 블랙박스 테스트의 간단한 기법을 취하고 화이트박스 테스트에서 코드 타겟 시스템과 결합하기 때문에 유익하다.

회색 상자 시험은 주장 방법을 사용하여 프로그램을 테스트하기 전의 모든 조건을 제시하기 때문에 요건 테스트 사례 생성을 기반으로 한다.요구사항 명세 언어는 요구사항을 쉽게 이해하고 정확성을 검증하기 위해 사용된다.[5]

객체 지향 소프트웨어에 대한 회색 상자 테스트 가정

객체 지향 소프트웨어는 주로 객체로 구성된다. 여기서 객체는 실행 가능한 코드 및/또는 데이터가 있는 분리할 수 없는 단일 단위다.회색 상자 시험의 적용에 필요한 가정은 아래에 명시되어 있다.

  • 메서드의[6] 활성화
  • CUT(Class Under Test)의 상태 보고.
  • 보고서 테스트는 테스트 대상 등급에 내재되어 있다.[5]

기술

Cem Kaner는 "회색 상자 테스트는 입력과 출력을 포함하는 것으로 정의하지만, 테스트 설계는 일반적으로 테스터가 볼 수 없는 종류의 코드 또는 프로그램 작동에 대한 정보에 의해 교육된다"고 정의한다.[9]회색 상자 시험 기법은 다음과 같다.

  • 매트릭스 테스트: 프로젝트의 상태 보고서를 명시한다.
  • 회귀 테스트: 새로운 변경이 수행될 경우 테스트 사례를 다시 실행해야 함을 의미한다.
  • 패턴 테스트: 설계나 아키텍처 및 패턴에 적합한 애플리케이션을 확인하십시오.
  • 직교 배열 테스트: 가능한 모든 조합의 하위 집합으로 사용.[10]

영향들

포지티브 이펙트

  • 복합 혜택 제공:그레이박스 테스트는 화이트박스 테스트와 블랙박스 테스트의 조합으로 두 테스트 모두 장점을 살린 것이 특징이다.
  • 비침입:그것은 기능 명세서, 건축적 관점에 근거한 반면, 그것을 침습적으로 만드는 소스 코드나 이진법에는 근거하지 않는다.
  • 인텔리전트 테스트 저작:회색 상자 테스터는 지능형 테스트 시나리오(예: 데이터 유형 처리, 통신 프로토콜, 예외 처리)를 처리한다.
  • 치우치지 않은 테스트:위의 모든 장점과 기능에도 불구하고 그레이 박스 테스트는 테스터와 개발자 사이의 테스트 경계를 유지한다.[11]

부정적인 효과

  • 부분 코드 적용 범위:회색 상자 시험에서, 소스코드나 바이너리는 코드 경로 통과를 위한 제한된 접근을 야기하는 애플리케이션의 내부 또는 구조에 대한 제한된 접근으로 인해 누락된다.
  • 결함 식별:분산형 애플리케이션에서는 결함 식별을 연관시키기 어렵다.그러나, 그레이 박스 테스트는 이러한 시스템이 얼마나 적절한 예외를 발생시키고, 웹 서비스 환경을 가진 분산 시스템에서 이러한 예외를 얼마나 미세하게 처리하는지를 알아내는 데 도움이 된다.[11][12]

적용들

  • 회색 상자 테스트는 웹 애플리케이션에 매우 적합하다.웹 애플리케이션은 분산된 네트워크나 시스템을 가지고 있다; 소스 코드나 이진 파일이 없기 때문에 화이트 박스 테스트를 사용할 수 없다.고객과 개발자 간 계약만으로 블랙박스 테스트도 사용하지 않기 때문에 웹서비스설명언어(WSDL)로 중요한 정보를 얻을 수 있어 그레이박스 테스트를 이용하는 것이 더 효율적이다.[13]
  • 회색 상자 테스트는 기능 또는 비즈니스 영역 테스트에 적합하다.기능 시험은 기본적으로 외부 시스템과의 사용자 상호작용 시험을 수행한다.회색 상자 시험은 특성 때문에 기능 테스트에 적합하다. 또한 소프트웨어가 소프트웨어에 대해 정의된 요구 사항을 충족하는지 확인하는 데 도움이 된다.[14][15][16][17]

미래범위

웹 서비스의 분산된 특성은 서비스 지향 아키텍처(SOA) 내에서 그레이박스 테스트가 결함을 탐지할 수 있도록 한다.우리가 알고 있듯이 화이트박스 테스트는 내부 구조를 직접 다루기 때문에 웹 서비스에 적합하지 않다.예를 들어, 소스 코드나 이진 없이 예외 처리 상태 흐름을 돕기 위해 대형 배열에 대한 자동 테스트를 생성하는 메시지 돌연변이와 같은 상태 예술 방법에 화이트 박스 테스트를 사용할 수 있다.이러한 전략은 그레이 박스 시험을 화이트 박스 시험 결과에 더 가깝게 밀어 붙이는 데 유용하다.

참고 항목

참조

  1. ^ "Microsoft Research – Emerging Technology, Computer, and Software Research" (PDF).
  2. ^ "Archived copy" (PDF). Archived from the original (PDF) on 29 March 2012. Retrieved 17 October 2011.{{cite web}}: CS1 maint: 타이틀로 보관된 사본(링크)
  3. ^ "Gray Box Testing". Software Testing Fundamentals. 4 November 2011. Retrieved 19 January 2012.
  4. ^ "Example of grey box testing with definition". Geekinterview.com. Retrieved 19 January 2012.
  5. ^ a b Jake Rogers (8 August 2016). "Common Questions Regarding Grey-Box Testing". cgsec.co.uk. Retrieved 8 August 2016.
  6. ^ "Object-Oriented Extensions to Pascal". Pascal-central.com. Retrieved 19 January 2012.
  7. ^ Patton, Ron (26 July 2005). Software Testing. Sams. p. 2. ISBN 978-0-672-32798-8.
  8. ^ "Archived copy" (PDF). Archived from the original (PDF) on 3 April 2012. Retrieved 17 October 2011.{{cite web}}: CS1 maint: 타이틀로 보관된 사본(링크)
  9. ^ Nguyen, Hung Q (2001). Testing Applications on the Web: Test Planning for Internet-Based Systems. John Wiley & Sons. ISBN 9780471437642.
  10. ^ "Explore the World of Gray Box Testing". Extremesoftwaretesting.com. Retrieved 19 January 2012.
  11. ^ a b "SOA Testing Tools for Black, White and Gray Box SOA Testing Techniques". Crosschecknet.com. Archived from the original on 1 October 2018. Retrieved 19 January 2012.
  12. ^ "E33 Gray Box Testing.PDF" (PDF).
  13. ^ Ramdeo, Anand (5 May 2011). "Gray Box Testing - Software". Testing Geek. Retrieved 19 January 2012.
  14. ^ Bach, James. Lessons Learned in Software Testing. Wiley Computer Publishing.
  15. ^ Falk, Jack. Testing Computer Software, 2nd Edition. Wiley Computer Publishing.
  16. ^ http://legacy.cleanscape.net/docs_lib/paper_graybox.pdf[bare URL PDF]
  17. ^ Li, Z. J.; Tan, H. F.; Liu, H. H.; Zhu, J.; Mitsumori, N. M. (6 April 2010). "Business-process-driven gray-box SOA testing". IBM Systems Journal. 47 (3): 457–472. doi:10.1147/sj.473.0457.