Upcoming SlideShare
Loading in...5

Like this? Share it with your network

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads


Total Views
On Slideshare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1.
    • CEN 4072 / CEN 6070
    • Software Testing & Verification
    • Spring 2010
  • 2. Course Overview Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 1
  • 3. Contact Info
    • Instructor : Steve Thebaut, E314-A
      • Office Hours: Wed/Fri 9:30-10:30 or by appt.
      • Phone: (352) 450-5530, business hours
      • e-mail: smt AT cise DOT ufl DOT edu
    • TA : Huafeng Jen
      • Office Hours: TBD
      • e-mail: hj0 AT cise DOT ufl DOT edu
  • 4. 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.).
  • 5. 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 .
  • 6. 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 .
  • 7. Prerequisites
    • Successful completion of an upper division (undergraduate) or graduate-level software engineering survey course, or comparable professional experience (Off-campus EDGE students currently employed as software 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 enroll in CEN 3031/
    • 5035 in AY10-11 and then register for CEN 4072/6070 in Spring11.
  • 8. Prerequisites (cont’d)
    • Basic knowledge of algorithms , data structures , object-oriented programming principles , and discrete math
    • --------------------------------
    • 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.
  • 9. Prerequisites (cont’d)
    • Students who have already taken CEN 4072 may NOT take CEN 6070 for credit…
  • 10. Other SE-related courses offered this semester
    • Note that CEN 6070, Software Testing & Verification is also scheduled for this coming summer.
  • 11. Class Meeting Times and Location (On-Campus Students)
    • Wednesday: 6 th (12:50-1:40)
    • Friday: 5 th and 6 th (11:45-1:30)
    • Room: CSE 107
  • 12. Web Site
    • Syllabus
    • Lecture Notes
    • Lesson Plans
    • Practice Exams
    • Exam Schedule
    • Problem Sets
    • Reading List
    • Announcements
    • Prerequisite Pre-Test
    • Contact Information
    Temporary Site (no password required): www.cise.ufl.edu/class/cen6070/temp.html After the first week of classes, you will need to login to UF's “E-Learning” site at http://lss.at.ufl.edu with your GatorLink account and password.
  • 13. Getting Help
    • EDGE registration + EDGE proctor and exam distribution issues :
    • Ruth Bryant : rbrya AT eng DOT ufl DOT edu
    • or
    • Pam Simon : phs AT eng DOT ufl DOT edu
    • phone: 352-392-9670
  • 14. Getting Help (cont’d)
    • Course content–related help :
    • Steve Thebaut : smt AT cise DOT ufl DOT edu
    • phone: 352-450-5530
    • or
    • Huafeng Jen : hj0 AT cise DOT ufl DOT edu
  • 15. 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.
  • 16. 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.
  • 17. 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.
  • 18. 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.
    • Linger, Cleanroom Software Engineering for Zero-Defect Software, Proceedings, 15 th Int. Conf. on Soft. Eng. (1993), IEEE Computer Society Press, pp. 2-13.
  • 19. 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.
  • 20. 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.
    • ----------
    • A copy of both the optional textbook and the required reading will be placed on reserve in Marston Science Library.
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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
  • 25. 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 PPT format.
  • 26. 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.
  • 27. On-Campus Exam Schedule
    • Exam 1: (topics through “Testing Tools” + associated readings) – February 26 (tentative)
    • Exam 2: (remaining topics + associated readings) – April 16
    • Note: there is no (comprehensive) “final exam” for this course.
  • 28. Exam Procedures for EDGE Students
    • Proctors will be instructed to schedule a SINGLE EXAM TIME for all students at each site . If this is not possible for any reason, students must contact the instructor well in advance to discuss making other arrangements.
    • Exams are made available to proctors the same day they are administered to on-campus students.
    • Proctors should return electronic copies of completed exams directly to the instructor via FAX or e-mail ASAP after administration.
  • 29. 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 .
  • 30. Make-Up Exam Policy (cont’d)
    • Make-up exams, when possible, 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.
  • 31. 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
  • 32. 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 meet with the TA and/or instructor to discuss as desired.
    • Problem set introductions, discussions, hints, and solution reviews will be provided in class.
    • Exams assume a thorough understanding of the problems and their solutions .
  • 33. 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 NOT required to attend live lectures.
  • 34. 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.
  • 35. 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.
  • 36.
    • Questions?
  • 37. Course Overview Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 1