Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and...

28
Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15

Transcript of Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and...

Page 1: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Exam 1 Review

Prepared by

Stephen M. Thebaut, Ph.D.

University of Florida

Software Testing and Verification

Lecture 15

Page 2: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Coverage

• Lectures 1-14

• Readings 1-6:

1. Myers, The Art of Software Testing

2. Kit, Software Testing in the Real World

3. Gause & Weinberg, Making Meetings Work…

4. Fagan, Design and Code Inspections…

5. Grady & Van Slack, Key Lessons in Achieving Widespread Inspection Use

6. Sauer, et al., The Effectiveness of Software Development Technical Reviews…

Page 3: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Coverage (cont’d)

• Black-Box Testing Case Study

• Problem Sets 1-4

• Topics

– Intro to V&V Techniques and Principles– Requirements and Specifications– Black-Box Test Case Design Strategies– White-Box Test Case Design Strategies– Integration and Higher Level Testing

Page 4: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Coverage (cont’d)

• Topics (cont’d)– Testing Object-Oriented Software– Reviews and Inspections– Testing Tools

Page 5: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Other Resources

• Practice Exams

• Lesson Plans (including Self-Check Quiz Questions)

Page 6: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Ground Rules and Format

• You will have 90 minutes to complete the exam.

• No notes, books, calculators, or PDA’s are allowed.

• All answers should be given in the spaces provided on the exam only.

Page 7: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Ground Rules and Format (cont’d)

• Question format may be short answer, matching, true/false, fill-in-the-blank, proofs, etc.

• The point-value of each question will be given.

Page 8: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Exam Procedures for EDGE Students• Proctors should schedule a single exam time

during normal working hours for all students at each site. If this is not possible, exams may be scheduled outside normal working hours (e.g., in the evening).

• Exams are made available to proctors the same day they are administered to on-campus students.

• Proctors should return ORIGINAL exams directly to the instructor, preferably via overnight delivery.

Page 9: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems

1. (4 pts.) According to Grady & Van Slack ("Key Lessons in Achieving Widespread Inspection Use"), a Chief Moderator "owns" the inspection process within his/her organization. What specific responsibilities do Grady & Van Slack identify as being associated with this "ownership"?

Page 10: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

2. (3 pts.) Even unimpaired, conscientious testers who visually compare actual with expected test results have a tendency to overlook differences. (This is especially true when testing in the the Spring!) Briefly explain why this is so. What specific techniques were discussed in class for countering this tendency?

Page 11: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

3. (4 pts.) In addition to the "top-down" and "bottom-up" incremental integration testing approaches, 3 "hybrid" approaches were discussed in class. Describe 2 of these.

Page 12: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

4. Consider the following subroutine and its control flow graph. (not shown)

a. (5 pts.) List all the Def-C-Use pairs for variable "B".

b. (5 pts.) List all the Def-P-Use pairs for variable "A".

c. (2 pts.) How many paths are associated with the Def-C-Use pair (1,4) for variable A?

Page 13: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

4. (cont’d)

d. (3 pts.) How many of these are du-paths?

e. (3 pts.) Consider a test case with execution path <0,1,2,3,4>. Circle all of the following coverage criteria (not shown) that would be met by executing this test case…

Page 14: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

4. (cont’d)

f. (3 pts.) Consider a 2nd test case with execution path <0,2,3,3,4>. Circle all of the following coverage criteria (not shown) that would be met by executing BOTH test cases…

g. (10 pts.) Give the path condition for path <0,2,3,3,3,4> in terms of the initial symbolic values of A and B for this subroutine. Show ALL path condition conjuncts.

Page 15: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

5. (5 pts.) Indicate True or False for each of the following statements related to Equivalence Partitioning.

a. The technique is also known as “output space partitioning.”

b. When dealing with complex, multiple-input problems, a means for identi-fying appropriate COMBINATIONS OF EQUIVALENCE CLASSES is necessary to partition the input space.

Page 16: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

5. (cont’d)c. Cause-Effect Analysis can be viewed

as a logical extension of Equivalence Partitioning.

d. The specification fragment, "HOURS will range in value from 0 to 40; for HOURS <= 20, output 'Low'; for HOURS > 20, output 'HIGH'," (where HOURS is a program input) suggests ONE valid and possibly ONE or TWO invalid equivalence classes.

Page 17: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

5. (cont’d)e. The technique is predicated on the

assumption that every element of an equivalence class causes the same program path to be executed.

Page 18: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

6. Consider the following Cause-Effect graph fragment: (not shown)a. (3 pts.) How many test cases would be

required to achieve AFCCV (all feasible combinations of Cause values) coverage for this model?

b. (2 pts.) How many test cases would be required to achieve AEMC (all effects covered with the minimum number of test cases) coverage?

Page 19: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

6. (cont’d)c. (8 pts.) How many test cases would be

required to cover all feasible combinations of Causes that, based on the graph, will result in Effect E1 being true? In effect E3 being true?

d. (4 pts.) How many test cases would be required to cover all feasible combinations of Causes that, based on the graph, will result in Effect E1 being true, SUBJECT TO THE CULLING RULES considered in class? In effect E3 being true?

Page 20: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

7. Recall the specification of pow(x,y), which computes the value of x raised to the power y, xy, from the Black-Box Testing Case Study.

a. (3 pts.) It was noted that xy really MEANS (or represents) different functions depending on the input "region" (point, line, etc.) in the x,y plane. If y is an integer <= -1 and x is a non-zero number, what "function" does xy represent?

Page 21: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

b. (4 pts.) What should pow(x,y) return if the mathematical value of xy is greater than zero but less than +TINY_VAL? What should the MATHERR function set “errno” to in this case?

c. (4 pts.) Under what circumstances would a call to pow(x,y) result in MATHERR setting “errno” to OVERFLOW? Be specific.

Page 22: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

8. (3 pts.) Glenford Myers ("The Psychology and Economics of Program Testing") argues that the most important considerations in software testing are issues of psychology, and he identifies a set of testing principles or guidelines in this vein. The justification for one of these is expressed via the following analogy:

Page 23: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

"As many homeowners know, removing wall paper...is not easy, but it is almost unbearably depressing if you, rather than someone else, originally installed it."

What principle or guideline was he justifying?

Page 24: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

9. (9 pts.) Give the TFT path condition for the program fragment below (not shown) in terms of the initial symbolic values of A and B. CLEARLY ILLUSTRATE THE USE OF SYMBOLIC EVALUATION IN YOUR SOLUTION.

10. (10 pts.) Using the program fragment below (not shown), PROVE that All- Uses coverage and Condition coverage are independent.

Page 25: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

11. (9 pts.) Match the descriptions below to the single most appropriate of the following testing related terms.

A. integration testingB. system level testC. system test acceptance

testingD. functional testingE. gray-box testingF. acceptance testingG. Alpha testingH. structural testing

I. causal analysisJ. unit level testK. benchmarkingL. component level testM. regression testingN. product level testO. post-test analysisP. Beta testing

Page 26: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

__ testing conducted to ensure that a system is "ready" for the system-level test phase

__ testing undertaken by end-users within the user environment prior to general release

__ techniques include Boundary Value Analysis and Intuition and Experience

__ general practice of recording and comparing indices of performance, quality, cost, etc.

__ testing undertaken as units are combined to form components

Page 27: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Sample Problems (cont’d)

__ identifying the sources of errors and approaches to eliminate future occurrences

__ reviewing the results of a testing activity with the intent to improve its effectiveness

__ techniques include Boundary Value Analysis and Fault-Based testing

__ end-user testing undertaken within the development environment prior to general release

Page 28: Exam 1 Review Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 15.

Exam 1 Review

Prepared by

Stephen M. Thebaut, Ph.D.

University of Florida

Software Testing and Verification

Lecture 15