15
Assignment 4 Software Testing

Assignment 4 - Software Engineering II · PDF fileDerive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The

Embed Size (px)

Citation preview

Page 1: Assignment 4 - Software Engineering II · PDF fileDerive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The

Assignment 4

Software Testing

Page 2: Assignment 4 - Software Engineering II · PDF fileDerive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The

Software Testing :Q1

• Q1. Using your java, C# or other programming language skill, derive a checklist of common errors (NOT syntax errors) that could not be detected by a compiler but that could be detected in a program inspection?

Page 3: Assignment 4 - Software Engineering II · PDF fileDerive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The

Software Testing :Q1

• Dynamic variables are cleared properly when they’re no longer needed

• Recursive functions have logic to prevent infinite recursion

• Iterative loops have logic to prevent infinite loops

• Variables are not in danger of being too limited with large numbers

• Logic statements are defined correctly

Page 4: Assignment 4 - Software Engineering II · PDF fileDerive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The

Software Testing :Q2

• Q2. Let P be a program that is using as input a number of 5 digits to compute some function. Derive test cases for black box testing from this specification using partition testing.

• black box testing?

• partition testing ?

Page 5: Assignment 4 - Software Engineering II · PDF fileDerive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The

Software Testing :Q2

• equivalence classes:

1. x < 10000

2. 10000 ≤x ≤99999

3. x ≥100000

we'll have to test the following numbers:

Page 6: Assignment 4 - Software Engineering II · PDF fileDerive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The

Software Testing :Q3

• Q3. Derive test cases for black box testing using partition testing of a procedure that given an integer n computes its factorial n!

Page 7: Assignment 4 - Software Engineering II · PDF fileDerive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The

Software Testing :Q3

• If n<o then an error message is printed (" number is negative");

• If 0=<n<20 then the exact value of n! is printed ;

• If 20=<n=<200 then a floating number approximation of n! is printed (because there will be an overflow);

• If n>200 then an error message is printed ("number is too big");

Page 8: Assignment 4 - Software Engineering II · PDF fileDerive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The

Software Testing :Q3

• D1 = {n: n<0}

• D2 ={n: 0≤n<20}

• D3 ={n: 20≤n≤200}

• D4 ={n: n>200}

Page 9: Assignment 4 - Software Engineering II · PDF fileDerive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The

Software Testing :Q3

• D1 = {n: n<0}

• D2 ={n: 0≤n<20}

• D3 ={n: 20≤n≤200}

• D4 ={n: n>200}

• a set of test data could be T ={-12, 6, 56, 352} which covers the whole input data set.

Page 10: Assignment 4 - Software Engineering II · PDF fileDerive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The

Software Testing :Q4

• Q4. Derive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The specification of a procedure is as follows:

• Input: 3 numbers (representing edge lengths)

• Output: the type of triangle represented by the 3 numbers (equilateral, isosceles, right triangle, other)

Page 11: Assignment 4 - Software Engineering II · PDF fileDerive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The

Software Testing :Q4

• Triangle– The sum of the lengths of any two sides of

a triangle is always greater than the length of the third side

• Equilateral – All sides are equal.

• isosceles– If two of the sides of a triangle are of equal size the

triangle

• right triangle

Page 12: Assignment 4 - Software Engineering II · PDF fileDerive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The

Software Testing :Q4

• D1= {(a, b, c): abc is equilateral}

• D2= {(a, b, c): abc is isosceles }

• D3= {(a, b, c): abc is right}

• D4= {(a, b, c): abc is not a triangle}

Page 13: Assignment 4 - Software Engineering II · PDF fileDerive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The

Software Testing :Q4

• D1 = {(a, b, c): is equilateral : a=b=c}

• D21= {(a, b, c): is isosceles and a=b, a<>c}

• D22= {(a, b, c): is isosceles and a=c, b<>c}

• D23= {(a, b, c): is isosceles and b=c, a<>b}

• D3= {(a, b, c): is right and a<>b<>c}}

• D41= {(a, b, c): pas un triangle et a >= b+c}

• D42= {(a, b, c): pas un triangle et b >= a+c}

• D43= {(a, b, c): pas un triangle et c >= a+b}

Page 14: Assignment 4 - Software Engineering II · PDF fileDerive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The

Software Testing :Q4

• Test cases:1. (3, 3, 3)2. (2, 2, 3)3. (2, 3, 2)4. (3, 2, 2)5. (3, 4, 5)6. (6, 3, 3)7. (3, 6, 3)8. (3, 3, 6)

Page 15: Assignment 4 - Software Engineering II · PDF fileDerive test cases for black box testing using partition testing of a procedure for detecting the type of triangle. The

Software Testing :Q5

• Q5. Write a scenario that could be used to help design tests for the wilderness weather station system example (Chapter 7).

• A possible scenario for high-level testing of the weather station system is:• John is a meteorologist responsible for producing weather maps for the

state of Minnesota. These maps are produced from automatically collected data using a weather mapping system and they show different data about the weather in Minnesota. John selects the area for which the map is to be produced, the time period of the map and requests that the map should be generated. While the map is being created, John runs a weather station check that examines all remotely collected weather station data and looks for gaps in that data – this would imply a problem with the remote weather station.– Note: There are many possible alternative scenarios here. You should identify

the role of the actors involved and should discuss a typical task that might be carried out by that role.