[7급 국가직 소프트웨어공학 2019년 8번]

개발자 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;
}
소프트웨어공학
  1. ①(v1 = -2, v2 = 2)
  2. ②(v1 = 2, v2 = 0)
  3. ③(v1 = -2, v2 = -2)
  4. ④(v1 = 0, v2 = 0)

선지를 골라 바로 채점해 보세요.

정답 ①

출처: 인사혁신처 공개 기출(공공데이터포털, 이용허락 제한 없음)

신고가 접수됐습니다. 감사합니다.

오류 신고