380 likes | 859 Views
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.
E N D
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 system-level testers, QA personnel, etc.).
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.
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 • 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.)† • Familiarity with programming using a high-level 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) • 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.
Syllabus Lecture Notes Lesson Plans Practice Exams Exam Schedule Problem Sets Reading List Announcements Prerequisite Pre-Test Contact Information Web Site www.cise.ufl.edu/class/cen6070/sp14.html
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 • Myers, The Art of Software Testing, John Wiley & Sons, 1979, pp. 4-16, The Psychology and Economics of Program Testing. • 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) • Gause & Weinberg, Exploring Requirements: Quality Before Design, Dorset House, 1989, pp. 80-91, Making Meetings Work for Everybody. • 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) • Grady & Van Slack, Key Lessons in Achieving Widespread Inspection Use, IEEE Software, July 1994, pp. 46-57. • 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) • King, et al., Is Proof More Cost-Effective than Testing?, IEEE Transactions on Software Engineering, Vol. 26, No. 8, August 2000. • Dunlap & Basili, A Comparative Analysis of Functional Correctness, ACM Computing Surveys, Vol. 14, No. 2, June 1982. • 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) ----------------------------------------- • Formal Program Specification • Axiomatic Verification • Weak correctness • Rules of inference: sequencing, selection statements, iteration • Strong correctness Exam 1 (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 sitewithin 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 creativeapplication 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 state-ment 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.
Course Overview Software Testing and Verification Lecture 1 Prepared by Stephen M. Thebaut, Ph.D. University of Florida