Use equivalence class partitioning to design a set of tests for the method that covers all possible classes of inputs. Give a table with input values (for a and b) and the expected result. Do your tests find the error in the code?

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question
The following snippet shows a Java method that takes a football score (for teams A and B) and
reports the current match status ("A is winning", "B is winning" or "It's a draw!"). The code contains
one error. On line 3, the condition checks whether the value of "b" is greater than zero, rather than
checking if it is greater than "a".
01: String formatScore (int a, int b) {
02:
03:
if (a > b) return String.format("A is winning!");
if (b> 0) return String.format("B is winning!");
return String.format ("It is a draw!");
04:
05: }
(i)
Use equivalence class partitioning to design a set of tests for the method that covers all
possible classes of inputs. Give a table with input values (for a and b) and the expected
result. Do your tests find the error in the code?
(ii)
(Consider the tests designed in (i). Is it possible to give a table that answers the question
(i) correctly, but does not actually reveal the error in the code? Explain your answer.
(iii)
Now we want to use property-based testing to test the code. To test the case for when
the state is a draw, we use the following jawik test that takes the arbitrary value "n” in
the range from 0 to 100. Complete the test by filling-in the placeholder "...":
@Property
boolean clever_property (
@ForAll @IntRange (min=0, max=100) int n) {
return ...;
}
Transcribed Image Text:The following snippet shows a Java method that takes a football score (for teams A and B) and reports the current match status ("A is winning", "B is winning" or "It's a draw!"). The code contains one error. On line 3, the condition checks whether the value of "b" is greater than zero, rather than checking if it is greater than "a". 01: String formatScore (int a, int b) { 02: 03: if (a > b) return String.format("A is winning!"); if (b> 0) return String.format("B is winning!"); return String.format ("It is a draw!"); 04: 05: } (i) Use equivalence class partitioning to design a set of tests for the method that covers all possible classes of inputs. Give a table with input values (for a and b) and the expected result. Do your tests find the error in the code? (ii) (Consider the tests designed in (i). Is it possible to give a table that answers the question (i) correctly, but does not actually reveal the error in the code? Explain your answer. (iii) Now we want to use property-based testing to test the code. To test the case for when the state is a draw, we use the following jawik test that takes the arbitrary value "n” in the range from 0 to 100. Complete the test by filling-in the placeholder "...": @Property boolean clever_property ( @ForAll @IntRange (min=0, max=100) int n) { return ...; }
Expert Solution
steps

Step by step

Solved in 3 steps with 2 images

Blurred answer
Knowledge Booster
Developing computer interface
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education