저는 WhiteBox 테스트의 세계에 비교적 새로운 것이므로 현재 작업하고있는 프로젝트 중 하나에 대한 테스트 계획을 설계하는 데 도움이 필요합니다. 지금은 코드의 테스트 가능한 부분을 찾고 그 부분 테스트를 작성하는 중입니다. 나는 어떻게 든 그것이 이루어져야하는 방법이 아니라는 것을 느낀다. 이 프로젝트를 테스트하기 위해 최선을 준비하는 방법에 대해 조언을 해줄 수 있습니까? 사용할 수있는 도구 또는 테스트 계획 템플릿은 무엇입니까? 차이가 있다면 C++이 사용됩니다.화이트 박스 테스트를 계획하는 방법
답변
화이트 박스 테스트의 목표 중 하나는 코드 문을 100 % (또는 가능한 한 가깝게) 처리하는 것입니다. C++ 코드 커버리지 도구를 찾아 테스트 실행 코드와 누락 된 코드를 볼 수 있도록하는 것이 좋습니다. 가능한 한 많은 코드를 테스트 할 수 있도록 테스트를 설계하십시오.
또 다른 제안은 if 문, for 루프, while 루프 등의 경계 조건을 살펴보고 '회색'영역, 위양성 및 위음성이 있는지 테스트합니다.
중요한 변수의 수명주기를 확인하는 테스트를 설계 할 수도 있습니다. 그들의 정의, 사용법 및 파괴가 올바르게 사용되는지 확인하기 위해 시험해보십시오.
세 가지 아이디어가 있습니다. "레거시 코드와 함께 효과적으로 작업"행운
필자는 테스트할만한 코드 조각을 찾고 그런 다음 몇 가지 단위 테스트를 작성하는 중입니다. 나는 어떻게 든 그것이 이루어져야하는 방법이 아니라는 것을 느낀다.
사람들은 'test driven development'의 주요 장점 중 하나는 마음에 테스트 용이성으로 구성 요소를 디자인 할 수 ecourages이다라고 : 그것은 당신의 구성 요소가 더 테스트 할 수 있습니다.
- 요구 및 구현 기능 이해 : 다음과 같이
내 개인 (비 TDD) 방식이 모두 '선험적'(소프트웨어 기능 명세를 알/읽고 즉), 및 기능을 리버스 엔지니어링하는 소스 코드를 읽음으로써 구현
- 구현 된/필요한 모든 기능에 대한 블랙 박스 테스트를 구현합니다 (예 : 'Should one test internal implementation, or only test public behaviour?'참조).
그러므로 내 테스트는 테스트중인 기능을 리버스 엔지니어링하는 것을 제외하고는 '화이트 박스'가 아닙니다. 그런 다음 리버스 엔지니어링 기능을 테스트하고 쓸모없는 (따라서 테스트되지 않은) 코드를 피하십시오. 필자는 코드 커버리지 도구를 사용하여 블랙 박스 테스트에서 얼마만큼의 소스 코드가 실행되는지 확인할 수 있었다.
시도 : http://www.amazon.com/Working-Effectively-Legacy-Michael-Feathers/dp/0131177052
그것은 그가 어떤 테스트가없는 코드를 의미한다 '유산'으로 이후 관련입니다. 그것은 또한 좋은 책입니다.
관련 도구는 다음과 같습니다. http://code.google.com/p/googletest/다른 단위 테스트 및 모의 프레임 워크가있을 수 있지만 이것들에 익숙하므로 권장합니다.
Java 용 : JUnit, Mockito; C#의 경우 : NUnit, Moq. 화이트 박스 테스트를 수행하는 경우 엄격한 모의 프레임 워크 인 JMock, EasyMock, RhinoMocks에서 더 많은 가치를 발견 할 수 있습니다. – Lunivore
- 1. 크롬 iframe이 표시 화이트 박스
- 2. Junit - 프로그램 확인 및 화이트 박스 퍼징?
- 3. 단위 테스트는 블랙 박스 테스트 또는 화이트 박스 테스트 여야합니까?
- 4. 화이트 박스 테스트가 블랙 박스 테스트보다 우수 할 때
- 5. "안전한"HTML FORM을 계획하는 방법
- 6. Javascript의 화이트 박스 테스트 - 개인 정보 취급 방안은 무엇입니까?
- 7. 화이트/블랙
- 8. 재미있는 2 시간 워크샵을 계획하는 방법
- 9. 화이트 보드에서 토론을 캡처하는 방법
- 10. 화이트 통합 테스트
- 11. 엄격하게 블랙 박스 관점에서 QA 테스트를 수행해야합니까?
- 12. 화이트 표시기
- 13. 화이트 박스 테스트가 실패하지만 블랙 박스 테스트가 성공하고 그 반대의 경우의 예는 무엇입니까?
- 14. 중계기를 최적화하는 방법 화이트 공간 내 중계기에서
- 15. 봄 콩을 "화이트 라벨"하는 방법
- 16. 동적 mod_rewrite 또는 동적 웹 사이트를 계획하는 방법
- 17. 텍스트 영역에서 화이트 라인이 삭제됩니까?
- 18. OpenCV 화이트 픽셀 그룹화
- 19. SFML 화이트 윈도우
- 20. 마스크 화이트 색상의 아이폰
- 21. 페이스 북 화이트 스크린
- 22. WPF에서 에어로 화이트 글로우?
- 23. 화이트 보드 응용
- 24. 화이트 색상이 정확하지
- 25. 큰 데이터베이스를 계획하는 데 도움이되는 팁
- 26. 키보드 단축키를 보거나 계획하는 도구가 있습니까?
- 27. Quartz Enterprise Scheduler : 자체 일정을 계획하는 작업
- 28. 단위 테스트를 찾는 방법
- 29. NUnit에서이 테스트를 실행하는 방법
- 30. DUnit : 테스트를 실행하는 방법?
하지만 제품이 이미 구현되었고 남은 것은 테스트 일뿐입니다. – Draco
@Draco 테스트하지 않고 구현했거나 테스트하는 방법을 알고 있다면 어떻게 될지 모르겠다. 하지만 그것은 신뢰할만한 구현이 입증되지 않은 것처럼 들립니다. – ChrisW
그게 문제 야. 나는 어떤 구현도하지 않았다. 내가하는 것은 테스트 (화이트 박스)입니다. 개발자는 어느 정도까지 테스트를 수행하지만 도움이 필요합니다. – Draco