Given the following code, which is true: IF A>B THEN C=A-B ELSE C=A+B ENDIF Read D IF C = D Then Print "Error" ENIF
Dễ5 phương ánCó lời giảiXuất hiện trong 1 bộ đề
A·B·C·DCác phương án trả lời
1 test for statement coverage, 3 for branch coverageĐúng
B2 tests for statement coverage, 2 for branch coverage
C2 tests for statement coverage. 3 for branch coverage
D3 tests for statement coverage, 3 for branch coverage
E3 tests for statement coverage, 2 for branch coverage
Giải thích chi tiết
Để trả lời câu hỏi này, chúng ta cần hiểu rõ về code được cung cấp và các khái niệm về coverage trong kiểm thử phần mềm. Code được cung cấp bao gồm một điều kiện IF-THEN-ELSE và một lệnh đọc giá trị D. Điều kiện IF-THEN-ELSE sẽ thực hiện một trong hai hành động: nếu A lớn hơn B thì C sẽ được tính bằng A trừ B, nếu không thì C sẽ được tính bằng A cộng B. Sau đó, nếu C bằng D thì sẽ in ra 'Error'. Để đạt được statement coverage, chúng ta cần chạy thử nghiệm để thực hiện tất cả các câu lệnh trong code. Điều này có nghĩa là chúng ta cần chạy thử nghiệm để thực hiện cả hai hành động trong điều kiện IF-THEN-ELSE và cả hai trường hợp của lệnh đọc giá trị D. Để đạt được branch coverage, chúng ta cần chạy thử nghiệm để thực hiện tất cả các nhánh trong code. Trong trường hợp này, có 3 nhánh: nhánh IF-THEN, nhánh IF-ELSE và nhánh ENIF. Vì vậy, để đạt được branch coverage, chúng ta cần chạy thử nghiệm để thực hiện tất cả 3 nhánh này.