Controller Tester에서 함수 호출 커버리지는 100%이지만 함수 커버리지가 100%가 아닌 경우가 있습니다. 이 차이는 함수 커버리지와 함수 호출 커버리지를 계산하는 방법에 차이가 있기 때문에 발생합니다. 함수 커버리지의 경우, 테스트 수행 중에 해당 함수가 실제로 호출 되었는지를 계산합니다. 함수 호출 커버리지는 해당 함수를 호출하는 코드 블록(제어 흐름 그래프의 노드)의 수행 여부를 계산합니다.

ex) if ( a()==1 || b()==1 )

위와 같은 코드가 있는 경우 함수 호출 커버리지와 함수 커버리지가 맞지 않는 경우가 생깁니다. a()==1이 true인 경우, b()를 호출하지 않고 넘어갑니다. 이 때, a()b()가 같은 코드 블록이기 때문에 함수 호출 커버리지는 2/2로 표시되지만 실제로 호출된 것은 a()뿐이므로 함수 커버리지는 1/2로 표시됩니다.

Need more help with this?
Don’t hesitate to contact us here.

Thanks for your feedback.