테스트 중심 개발 및 화이트 박스 테스트 기술 향상


9

나는 학교 밖에서 엔트리 레벨 자바 프로그래머입니다. J2SE에 대한 지식과 경험이 풍부합니다. 누구나 Java 화이트 박스 테스터가되는 기술을 향상 시키거나 조정하는 방법에 대해 조언 해 줄 수 있습니까? 광범위한 입력을 환영합니다.

그리고 테스트 주도 개발이란 무엇입니까?


왜 블랙 박스 테스트가 아닌가?
Martijn Verburg

@Martijn은 배경을 고려할 때 아마도 화이트 박스 테스트의 기술적 과제로 인해 발생했을 것입니다. 또한 블랙 박스 기술은 개발자에게 매우 유용하지만 개발자에게 좋은 품질을 가진 사람은 훌륭한 블랙 박스 테스터를 만들지 않지만 너무 호기심이 많고 참을성이 없습니다. 나도 알아
StuperUser

답변:


9

TDD (Test Driven Development) 및 확장 사촌 인 ATDD (Acceptance TDD) 및 BDD (Behavior Driven Development)는 Java 생태계에서 테스터로 배우는 유용한 기술입니다. 화이트 박스 테스트를 찾고있는 동안 TDD에 중점을 둘 것입니다.

TDD 란 무엇입니까? -핵심은 실패한 테스트 (빨간색)를 작성하고 구현 (녹색)을 작성한 다음 리팩토링하여 테스트를 통과하는 연습입니다. 위키 백과 기사는 더 정보를 찾을 시작하기에 충분한 곳입니다. 그러나 주제는 방대합니다. 예를 들어 테스트 중심 개발레거시 코드를 효과적으로 사용 하는 것과 같이이 분야에서 잘 알려진 책을 읽는 것이 좋습니다 . 또한 잘 알려진 Java 개발자 의 TDD 장에 대한 뻔뻔한 플러그넣을 것입니다.

자바 생태계에서 이것은 다음을 배우고 싶다는 것을 의미합니다.

  1. 의 JUnit 라이브러리 및 / 또는 TestNG를의 라이브러리입니다.
  2. Mockito 또는 JMock 과 같은 조롱 라이브러리
  3. 코드를 공격하는로드 테스트 도구 -JMeter
  4. 의존성 주입 개념 (제어의 역전 형태)

그리고 연습하고, 연습하고, 연습하고, 연습하십시오. 좋은 자바 화이트 박스 테스터는 매우 드물며, 가장 광범위한 코드 기반에 대한 테스트를 작성했습니다.

HTH가 시작합니다!


또한 Java 생태계에서 개발자로 배우는 유용한 기술입니다. 알다시피 테스터는 블랙 박스 테스트를 수행해야합니다.
Tom

1

Junit은 Java 프로그래밍 언어를위한 최고의 단위 테스트 프레임 워크 중 하나입니다. 반복 가능한 테스트를 작성하고 실행하기위한 오픈 소스 프레임 워크입니다.


1

나는 보통 Wikipedia를 인용하고 싶지 않지만이 기사의 정보는 충분히 안전 해 보입니다 ...

http://en.wikipedia.org/wiki/Test-driven_development

기본적으로 말해서 소프트웨어 개발에 대한 테스트 우선 접근 방식입니다. 단위 테스트는 먼저 사용 사례를 위해 설계되고 작성되었으며, 이후에 이러한 단위 테스트를 통과 할 수 있도록 어려운 개발이 이루어집니다.


0

내 제안이 화이트 박스 테스트 도구로 간주되는지 확실하지 않지만 데이터베이스 기반 프로젝트의 경우 dbUnit 및 웹 테스트의 경우 Selenium 을 볼 수 있습니다 (예 : 일부 결과에 따라 존재해야하는 요소 검사).


0

이 질문은 구체적으로 "화이트 박스 테스트"와 관련이 있습니다. 테스트에서 코드의 내부 구조에 대해 잘 알고 있고 입 / 출력 / 부작용 (블랙 박스 테스트)이 아니라 각 단계에서 동작을 확인하는 곳입니다. JUnit이 두 가지를 모두 수행하는 것이 우수하지만 단위 테스트의 컨텍스트 내에서이를 수행하려면 추가 프레임 워크가 필요합니다.

EasyMockJMock 은이를위한 좋은 프레임 워크입니다. JMock을 선호하는 경향이 있습니다.

OT 토론을 시작할 위험이 있다면 화이트 박스 테스트의 의미에 대해 신중하게 생각해야합니다. 화이트 박스 테스트는 코드와 밀접한 관련이 있으며, 신중하게 사용하지 않으면 모의 프레임 워크로 인해 테스트가 다소 복잡하고 읽기 어려우며 리팩토링시 취성이 더 커질 수 있습니다.

나는 두 가지를 혼합하는 경향이 있습니다. 가능한 경우 블랙 박스 테스트 및 위험하고 복잡한 코드에는 화이트 박스 테스트가 거의 적용되지 않습니다.

물론 위에 나열된 프레임 워크는 기여 (주입 된) 클래스의 수가 많고 간단한 스터 빙이 어렵게되는 블랙 박스 테스트에도 사용될 수 있습니다.

TDD와 관련하여-주로 테스트 작성 방법이 아니라 코드 작성에 대한 디자인 개선 접근 방식입니다. 마지막에 수행 한 테스트는 중요한 결과이지만,이 방법은 응용 프로그램의 디자인과 구조를 향상시키기위한 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.