Course Description (cont'd) - Department of Computer and

advertisement
CEN 4072 / CEN 6070
Software Testing & Verification
Spring 2014
Syllabus available on-line at:
www.cise.ufl.edu/class/cen6070/sp14.html
Course Overview
Software Testing and Verification
Lecture 1
Prepared by
Stephen M. Thebaut, Ph.D.
University of Florida
Contact Info
• Instructor: Steve Thebaut, CSE 314-A
– Office Hours: Wed/Fri 9:30-10:30 or by appt.
– Phone: (352) 505-1564, business hours
– e-mail: smt AT cise DOT ufl DOT edu
• TA: TBD
Course Description
• Software Testing and Verification is a survey
course on concepts, principles, and techniques
related to software testing and 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 individually or in
groups, via non-graded, optional problem
sets.
Prerequisites
1. Successful completion of an upper division
(undergraduate) or graduate-level software
engineering survey course, or comparable
professional experience (Students currently
or recently employed as software engineering
professionals automatically meet this
requirement.)†
2. Familiarity with programming using a highlevel language (C, C++, Java, etc.)
†If you do not meet this prerequisite, please plan to do so before enrolling
in CEN 4072/6070.
Prerequisites (cont’d)
3. Basic knowledge of algorithms, data
structures, object-oriented programming
principles, and discrete math
-------------------------------A self-assessment “pre-test” on the course
website may help you in assessing your
preparedness for the course vis-à-vis
coverage of a small subset of prerequisite
knowledge.
Important notes:
• If you take this course and then later wish
to take CEN 5035, Software Engineering,
you may do so, but you will be tested on
additional topics (TBD) instead of the "Intro
to Proofs of Correctness" and closely related
material that is covered in CEN 5035.
• Students who have already taken CEN 4072
at UF may NOT take CEN 6070 for credit.
Other SE-related courses offered this
semester
•
•
•
•
•
•
•
OBJECT ORIENTED PROGRAMMING
EXPERT SYSTEMS
HUMAN-COMPUTER INTERACTION (HCI)
MALWARE REVERSE ENGINEERING
ADVANCED DATA STRUCTURES
PROGRAMMING LANGUAGE PRINCIPLES
DATABASE SYSTEM IMPLEMENTATION
Note that CEN 6070 (but NOT CEN 4072),
Software Testing & Verification is also
scheduled for this coming summer.
Class Meeting Times and Location
(On-Campus Students)
• M/W/F: 5th (11:45-12:35)
• Room: NEB 100
Depending on room availability and class
attendance patterns, some lectures may
eventually be held in CSE instead of NEB. Any
room change will be announced in class and
on the course website in advance.
Web Site
www.cise.ufl.edu/class/cen6070/sp14.html
•
•
•
•
•
Syllabus
Lecture Notes
Lesson Plans
Practice Exams
Exam Schedule
•
•
•
•
•
Problem Sets
Reading List
Announcements
Prerequisite Pre-Test
Contact Information
Getting Help
• E-Learning access assistance – contact:
E-Learning Support Services:
learning-support AT ufl DOT edu
phone: 352-392-4357 option 3
• EDGE registration assistance – contact:
edge-admin AT eng DOT ufl DOT edu
phone: 352-392-9670
Getting Help (cont’d)
• Course content–related help:
Steve Thebaut: smt AT cise DOT ufl DOT edu
phone: 352-505-1564
or
TA: to be determined
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.
(cont’d)
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.
(cont’d)
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.
(cont’d)
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. Dunlap & Basili, A Comparative Analysis of
Functional Correctness, ACM Computing
Surveys, Vol. 14, No. 2, June 1982.
9. 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)
• Readings are available for download at NO
CHARGE via the Course Reserves tab at
http://www.uflib.ufl.edu/
Optional Reference Text
• An optional textbook, Pezze and Young's
Software Testing and Analysis, Wiley, 2008, is
available for students who wish to have
additional software testing and analysis
reference material at their disposal.
---------• A copy of the optional textbook will be placed
on reserve in Marston Science Library.
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
(cont’d)
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
(cont’d)
Outline of Topics (cont’d)
• Reviews and Inspections
• Testing Tools (a brief, high-level overview)
----------------------------------------- Exam 1
• Formal Program Specification
• Axiomatic Verification
– Weak correctness
– Rules of inference: sequencing, selection
statements, iteration
– Strong correctness
(cont’d)
Outline of Topics (cont’d)
• Predicate Transforms
– Computing predicate transforms
– Predicate transforms and loops
• Functional Verification
– Complete and sufficient correctness
– Compound programs and the Axiom of
Replacement
(cont’d)
Outline of Topics (cont’d)
• Functional Verification (cont’d)
– Correctness conditions
– Iteration Recursion Lemma
– Subgoal Induction
– Revisiting loop invariants (the Invariant
Status Theorem)
• Cleanroom Software Engineering
Lecture notes will be made available on the
course web site in PPT format.
Examinations and Grades
• Course grades will be based solely on TWO
equally weighted 90-minute exams.
• Histograms of numeric scores will be provided
with solution notes for both exams.
• Course letter grades will be determined at the
end of the semester based on separate
“curves” for CEN 4072 and CEN 6070
students.
Exam Schedule
• Exam 1: February 24, periods E2-E3 (8:20 PM to
10:10 PM), room CSE A101
– covers topics through “Testing Tools” +
associated readings.
• Exam 2: April 21, periods E2-E3 (8:20 PM to
10:10 PM), room CSE A101
– covers remaining topics + associated readings.
Note: there is no (comprehensive) “final exam” for
this course.
Exam Procedures for Out-of-Town
EDGE Students†
• Proctors should be asked to schedule a SINGLE
EXAM TIME for all students at each site within 48
hours of each of the two scheduled exam times in
Gainesville.
• If this is not possible for any reason, students
must contact the instructor well in advance to
discuss making other arrangements.
• See the UF EDGE website about locating and
verifying a qualified proctor well in advance of
Exam 1.
†All Gainesville area EDGE students are required to take exams
at the same time and location as on-campus students.
Make-Up Exam Policy
• Students are expected to be available at
scheduled exam times. Do NOT schedule
conflicting elective activities (family
gatherings, business or interview trips, etc.).
• If missing an exam is unavoidable (e.g., due
to sickness, accident, or other reasons beyond
your control), contact the instructor as far in
advance as possible.
(cont’d)
Make-Up Exam Policy (cont’d)
• Make-up exams, when permitted, may be
administered orally.
• If it is not practical to administer a make-up
exam before the end of the term, a course
grade of "I" (incomplete) may be assigned.
Problem Sets
• There are 7 non-graded, optional problem sets
covering the areas:
– Black-box Testing
– Logic Coverage
– Dataflow Coverage
– Path conditions and Symbolic Evaluation
– Axiomatic Verification
– Predicate Transforms
– Functional Verification
Problem Sets (cont'd)
• Some problems will require the creative
application of techniques presented in class.
• You are encouraged to work on the problems
alone or in groups, and to discuss with the TA
and/or instructor as needed.
• Problem set introductions, discussions, hints,
and solution reviews will be provided in class.
• Exams assume a thorough understanding of
the problems and their solutions.
Class Attendance (On-Campus
Students)
• Students are expected to view all recorded
lectures and are responsible for any recorded
announcement made in class.
• On-campus students are encouraged, but
NOT required, to attend instructor lectures,
BUT ARE REQUIRED TO ATTEND SCHEDULED
GUEST LECTURES.†
†It
is likely that there will be TWO guest lectures during
the semester. Details and dates to follow.
Academic Integrity
• You will be asked to sign the following statement on both exams in this course:
On my honor, I have neither given nor received
unauthorized aid on this exam and I pledge
not to divulge information regarding its
contents to those who have not yet taken it.
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