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

Post on 28-Dec-2015

233 views 0 download

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

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…

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

Coverage (cont’d)

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

Other Resources

• Practice Exams

• Lesson Plans (including Self-Check Quiz Questions)

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.

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.

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.

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"?

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?

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.

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?

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…

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.

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.

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.

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.

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?

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?

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?

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.

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:

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?

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.

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

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

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

Exam 1 Review

Prepared by

Stephen M. Thebaut, Ph.D.

University of Florida

Software Testing and Verification

Lecture 15