2013-01-06 2 views
0

결정/조건 범위를 제공하는 테스트 사례의 수를 보여주는 도구가 있습니까? 전 대한결정/조건 범위

:

if(x>0) 

if(x<=10 && y>0) 

3 예 결정/조건 범위에 충분합니다.

if(x>0) 

if(x<=10 || y>0) 

의사 결정/조건 범위에 대해 4 가지 사례가 충분합니다.

사실입니까?

답변

1

아마도 그렇지 않습니다. * 이와 같은 사소한 상황 이외에는 가능한 경우의 수를 파악하기가 매우 어렵습니다.

반면에 실제로 테스트에서 실행 된 코드의 비율을 추적하는 코드 적용 도구가 있습니다.


* 내 내기를 헤치고 있습니다. 음수를 증명하는 것은 어렵습니다.)

+0

기존의 화이트 박스 테스트 케이스 생성 도구는 모든 프로그램에 완벽한 커버리지를 제공 할 수 있다고 보장 할 수는 없지만 환영받을 만 큼 정교합니다 (즉, 버그가 발생하지 않는 프로그램을 처리합니다). –

0

예, 적용 범위를 달성하기 위해 테스트 케이스를 생성하는 도구가 있습니다. 당신이 관심있는 모든 것이 숫자 일 뿐이라면, 그것들이 모두 거기에 있으면 그들을 셀 수 있습니다. 생성 된 테스트 스위트에는 대개 적어도 테스트 케이스가 추가 될 때 적용 범위가 개선된다는 특성이 있습니다 (순서대로). 그들이 작동하는 방식 때문에, 이러한 도구는 일반적으로 도달 범위 기준 측면에서 유연합니다. 나는 그들이 모두 결정/조건 적용을 허용한다고 생각할 것이다.

우리는 다양한 심플하고 환경 친화적 인 다양한 프로그램에서 높은 적용 범위를 달성하는 테스트를 자동으로 생성 할 수있는 새로운 심볼 실행 도구 인 KLEE을 제시합니다.

http://llvm.org/pubs/2008-12-OSDI-KLEE.html

에서 다른 테스트 케이스 생성 도구는 제 마이크로 소프트에서 사용되는 내부 공구 Sage이다 PathCrawler

이다.

이러한 도구가 사용하는 기술의 총칭은 concolic testing입니다. 올리 (Oli)는 대답에서 지적했듯이, 이러한 도구가 해결하는 것은 어려운 문제이므로 설계 공간이 매우 넓고 세부 사항은 이들 도구간에 크게 다릅니다.