33
Course Overview Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 1

Course Overview Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 1

Embed Size (px)

Citation preview

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

Course Overview

Prepared by

Stephen M. Thebaut, Ph.D.

University of Florida

Software Testing and Verification

Lecture 1

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

Contact Info

• Instructor: Steve Thebaut, E314-A

– Office Hours: M/W 9:30-10:30 or by appt.

– Phone: 392-1496, business hours

– e-mail: [email protected]

• TA: James Nichols

– Office Hours: Tu 1:30-2:30; Th 2:00-3:00 or by appt.

– Phone: (TBD), Tu 5:00-6:00 PM; Wed 11:00-noon

– e-mail: [email protected]

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

Course Description

• Software Testing and Verification is a survey course on concepts, principles, and techniques related to software testing and formal program verification.

• It focuses primarily on issues relevant to software engineers (as opposed to system-level testers, QA personnel, etc.).

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

Course Description (cont’d)

• You will:

– Learn to apply various black-box and white-box testing methods,

– Become acquainted with various integration testing strategies, and

– Become acquainted with techniques for proving the functional correctness of sequential programs.

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

Course Description (cont’d)

• Topics include: black-box and white-box test case design strategies, incremental integration testing techniques, inspections and reviews, axiomatic verification techniques, predicate transforms, and function theoretic-based verification.

• You will have the opportunity to practice the techniques presented in class via individual and/or group exercises.

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

Prerequisites

• Successful completion of an upper division (undergraduate) or graduate-level software engineering survey course, or equivalent professional experience

• Familiarity with programming using a high-level language (C, C++, Java, etc.)

• Basic knowledge of algorithms, data structures, object-oriented programming principles, and discrete math

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

Prerequisites (cont’d)

• A self-assessment “pre-test” will assist students in determining their preparedness for the course vis-à-vis coverage of a small subset of prerequisite knowledge.

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

Class Meeting Times and Location (On-Campus Students)• Tuesday: 5th and 6th (11:45-1:30)

• Thursday: 6th (12:50-1:40)

• Room: CSE 122

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

Web Site

• Syllabus

• Lecture Notes

• Practice Exams

• Exam Schedule

• Exercises

• Reading assignments

• Announcements

• Contact Information

Log-on to “E-Learning” at http://lss.at.ufl.edu with your GatorLink account and password.

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

Getting Help

• WebCT technical assistance – contact:

Bob Mason [email protected]

phone: 352-392-1759

• EDGE registration assistance – contact:

Ruth Bryant [email protected]

phone: 352-392-9670

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

Getting Help (cont’d)

• EDGE proctors and exams – contact:

Chuck Potter [email protected]

phone: 352-392-6028

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

Getting Help (cont’d)

• Course content–related help:

Steve Thebaut [email protected]

phone: 352-392-1496

or

James Nichols [email protected]

phone: TBD

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

Required Reading Material

1. Myers, The Art of Software Testing, John Wiley & Sons, 1979, pp. 4-16, The Psychology and Economics of Program Testing.

2. Kit, Software Testing in the Real World: Improving the Process, Addison-Wesley, 1995, pp. 3-13, Part I, Software testing process maturity.

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

Required Reading Material (cont’d)

3. Gause & Weinberg, Exploring Requirements: Quality Before Design, Dorset House, 1989, pp. 80-91, Making Meetings Work for Everybody.

4. Fagan, Design and Code Inspections to Reduce Errors in Program Development, IBM Systems Journal, Vol. 15, No. 3, July 1976, pp. 182-211.

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

Required Reading Material (cont’d)

5. Grady & Van Slack, Key Lessons in Achieving Widespread Inspection Use, IEEE Software, July 1994, pp. 46-57.

6. Sauer, et al., The Effectiveness of Software Development Technical Reviews: A Behaviorally Motivated Program of Research, IEEE Transactions on Software Engineering, Vol. 26, No. 1, January 2000.

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

Required Reading Material (cont’d)

7. King, et al., Is Proof More Cost-Effective than Testing?, IEEE Transactions on Software Engineering, Vol. 26, No. 8, August 2000.

8. Linger, Cleanroom Software Engineering for Zero-Defect Software, Proceedings, 15th Int. Conf. on Soft. Eng. (1993), IEEE Computer Society Press, pp. 2-13.

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

Required Reading Material (cont’d)

• Authorized reprints of readings may be purchased as a packet from University Copy & More, 1620 W. University Avenue, (352) 372-7436.

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

Optional Reference Text

• An optional textbook, Pezze and Young's Software Testing and Analysis, Wiley, 2008, is recommended for students who wish to have additional software testing and analysis reference material at their disposal.

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

Outline of Topics

• Introduction to V&V Techniques and Principles

• Requirements and Specifications

• Black-Box Test Case Design Strategies

– Partition testing

– Combinatorial approaches

– Other strategies

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

Outline of Topics (cont’d)

• White-Box Test Case Design Strategies

– Logic coverage

– Dataflow coverage

– Path conditions & symbolic evaluation

– Other strategies

• Integration and Higher Level Testing

• Testing Object-Oriented Software

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

Outline of Topics (cont’d)

• Reviews and Inspections

• Testing Tools

-----------------------------------------

• Formal Program Specification

• Axiomatic Verification

– Weak correctness

– Rules of inference: sequencing, selection statements, iteration

– Strong correctness

Exam 1

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

Outline of Topics (cont’d)

• Predicate Transforms

– Proving strong correctness

– Rules for assignment statements, sequencing, selection statements, iteration

• Functional Verification

– Complete and sufficient correctness

– Compound programs and the Axiom of Replacement

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

Outline of Topics (cont’d)

• Functional Verification (cont’d)

– Correctness conditions

– Iteration Recursion Lemma

• Revisiting loop invariants (the Invariant Status Theorem)

• Cleanroom Software Engineering

Lecture notes will be made available on the course web site in PDF format.

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

Examinations and Grades

• Course grades are based solely on two equally weighted 90-minute exams.

• Histograms of numeric scores will be provided with solution notes.

• Course letter grades will be determined at the end of the semester based on separate “curves” for CEN 4072 and CEN 6070 students.

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

On-Campus Exam Schedule

• Exam 1: (topics through “Testing Tools” + associated readings) – October 23 (tentative)

• Exam 2: (remaining topics + associated readings) – December 4

Note: there is no (comprehensive) “final exam” for this course.

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

Exam Procedures for EDGE Students• Proctors will be instructed to 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, completed exams directly to the instructor, preferably via overnight delivery.

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

Make-Up Exam Policy

• Students are expected to make every effort to be available at scheduled exam times.

• If missing an exam is unavoidable, please contact the instructor as far in advance as possible.

• An oral make-up exam may be administered in cases of unavoidable absence.

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

Problem Sets

• There will be 7 optional, non-graded problem sets.

• Some problems will require the creative application of techniques presented in class.

• You may work on the problems alone or in groups.

• To receive feedback on your work, solutions must be submitted by the due date.

• Exams assume a thorough understanding of the problems and their solutions.

Page 29: Course Overview Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 1

Class Attendance (On-Campus Students)

• On-campus students are strongly encouraged – but not required – to attend all lectures.

• You will, however, be responsible for all announcements and course materials discussed in class regardless of whether or not you attend.

Page 30: Course Overview Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 1

Academic Integrity

• You will be asked to sign the following state-ment on all exams in this course:

On my honor, I have neither given nor received unauthorized aid on this examination.

Page 31: Course Overview Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 1

Other Info

For info regarding:

– Accommodation for Students with Disabilities,

– UF Counseling Services,

– UF Software Use Policies, and

– Instructor background,

please see the course syllabus.

Page 32: Course Overview Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 1

Questions?

Page 33: Course Overview Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 1

Course Overview

Prepared by

Stephen M. Thebaut, Ph.D.

University of Florida

Software Testing and Verification

Lecture 1