개발자 A는 <명세>에 따라 <코드>를 작성한 후 테스팅을 수행하였다. A는 100 % 문장 커버리지를 달성하면서 동시에 프로그램의 오류를 발견할 수 있었다. A가 사용한 테스트 입력은? (단, 단축 연산(short-circuit evaluation)은 수행하지 않는다)
<명 세> | ||
두 정수를 입력 받아 두 정수 중 적어도 하나가 음수이면 두 정수의 곱을 반환하고 그렇지 않다면 두 정수의 합을 반환한다. | ||
<코 드> | ||
int foo(int v1, int v2) {
int v3 = v1*v2;
if (v1 >= 0 || v2 >= 0)
v3 = v1+v2;
return v3;
} | ||
- ①(v1 = -2, v2 = 2)
- ②(v1 = 2, v2 = 0)
- ③(v1 = -2, v2 = -2)
- ④(v1 = 0, v2 = 0)
선지를 골라 바로 채점해 보세요.
정답 ①
출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)