Required Reading Material (cont'd)

advertisement
Course Overview
Software Testing and Verification
Lecture 1
Prepared by
Stephen M. Thebaut, Ph.D.
University of Florida
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: smt@cise.ufl.edu
• 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: jinichol@cise.ufl.edu
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 systemlevel testers, QA personnel, etc.).
Course Description (cont’d)
• You will:
– Learn to apply various black-box and whitebox testing methods,
– Become acquainted with various integration
testing strategies, and
– Become acquainted with techniques for
proving the functional correctness of
sequential programs.
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.
Prerequisites
• Successful completion of an upper division
(undergraduate) or graduate-level software
engineering survey course, or equivalent
professional experience
• Familiarity with programming using a highlevel language (C, C++, Java, etc.)
• Basic knowledge of algorithms, data
structures, object-oriented programming
principles, and discrete math
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.
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
Web Site
Log-on to “E-Learning” at http://lss.at.ufl.edu
with your GatorLink account and password.
• Syllabus
• Exercises
• Lecture Notes
• Reading assignments
• Practice Exams
• Announcements
• Exam Schedule
• Contact Information
Getting Help
• WebCT technical assistance – contact:
Bob Mason bmaso@eng.ufl.edu
phone: 352-392-1759
• EDGE registration assistance – contact:
Ruth Bryant rbrya@eng.ufl.edu
phone: 352-392-9670
Getting Help (cont’d)
• EDGE proctors and exams – contact:
Chuck Potter cpott@eng.ufl.edu
phone: 352-392-6028
Getting Help (cont’d)
• Course content–related help:
Steve Thebaut smt@cise.ufl.edu
phone: 352-392-1496
or
James Nichols jinichol@cise.ufl.edu
phone: TBD
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.
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.
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.
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.
Required Reading Material (cont’d)
• Authorized reprints of readings may be
purchased as a packet from University Copy &
More, 1620 W. University Avenue, (352) 3727436.
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.
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
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
Outline of Topics (cont’d)
• Reviews and Inspections
• Testing Tools
----------------------------------------- Exam 1
• Formal Program Specification
• Axiomatic Verification
– Weak correctness
– Rules of inference: sequencing, selection
statements, iteration
– Strong correctness
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
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.
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.
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.
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.
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.
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.
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.
Academic Integrity
• You will be asked to sign the following statement on all exams in this course:
On my honor, I have neither given nor received
unauthorized aid on this examination.
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.
Questions?
Course Overview
Software Testing and Verification
Lecture 1
Prepared by
Stephen M. Thebaut, Ph.D.
University of Florida
Download