Published on

  • 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

No notes for slide


  1. 1. <ul><li>CEN 4072 / CEN 6070 </li></ul><ul><li>Software Testing & Verification </li></ul><ul><li>Spring 2010 </li></ul>
  2. 2. Course Overview Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 1
  3. 3. Contact Info <ul><li>Instructor : Steve Thebaut, E314-A </li></ul><ul><ul><li>Office Hours: Wed/Fri 9:30-10:30 or by appt. </li></ul></ul><ul><ul><li>Phone: (352) 450-5530, business hours </li></ul></ul><ul><ul><li>e-mail: smt AT cise DOT ufl DOT edu </li></ul></ul><ul><li>TA : Huafeng Jen </li></ul><ul><ul><li>Office Hours: TBD </li></ul></ul><ul><ul><li>e-mail: hj0 AT cise DOT ufl DOT edu </li></ul></ul>
  4. 4. Course Description <ul><li>Software Testing and Verification is a survey course on concepts , principles , and techniques related to software testing and formal program verification. </li></ul><ul><li>It focuses primarily on issues relevant to software engineers (as opposed to system-level testers, QA personnel, etc.). </li></ul>
  5. 5. Course Description (cont’d) <ul><li>You will: </li></ul><ul><ul><li>Learn to apply various black-box and white-box testing methods , </li></ul></ul><ul><ul><li>Become acquainted with various integration testing strategies , and </li></ul></ul><ul><ul><li>Become acquainted with techniques for proving the functional correctness of sequential programs . </li></ul></ul>
  6. 6. Course Description (cont’d) <ul><li>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. </li></ul><ul><li>You will have the opportunity to practice the techniques presented in class individually or in groups, via non-graded, optional problem sets . </li></ul>
  7. 7. Prerequisites <ul><li>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.) † </li></ul><ul><li>Familiarity with programming using a high-level language (C, C++, Java, etc.) </li></ul><ul><li>† If you do not meet this prerequisite, please plan to enroll in CEN 3031/ </li></ul><ul><li>5035 in AY10-11 and then register for CEN 4072/6070 in Spring11. </li></ul>
  8. 8. Prerequisites (cont’d) <ul><li>Basic knowledge of algorithms , data structures , object-oriented programming principles , and discrete math </li></ul><ul><li>-------------------------------- </li></ul><ul><li>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. </li></ul>
  9. 9. Prerequisites (cont’d) <ul><li>Students who have already taken CEN 4072 may NOT take CEN 6070 for credit… </li></ul>
  10. 10. Other SE-related courses offered this semester <ul><li>HUMAN COMPUTER INTERACTION </li></ul><ul><li>EMBEDDED SYSTEMS </li></ul><ul><li>OBJECT ORIENTED PROGRAMMING </li></ul><ul><li>EXPERT SYSTEMS </li></ul><ul><li>PROGRAMMING LANGUAGE PRINCIPLES </li></ul><ul><li>DATABASE SYSTEM IMPLEMENTATION </li></ul><ul><li>Note that CEN 6070, Software Testing & Verification is also scheduled for this coming summer. </li></ul>
  11. 11. Class Meeting Times and Location (On-Campus Students) <ul><li>Wednesday: 6 th (12:50-1:40) </li></ul><ul><li>Friday: 5 th and 6 th (11:45-1:30) </li></ul><ul><li>Room: CSE 107 </li></ul>
  12. 12. Web Site <ul><li>Syllabus </li></ul><ul><li>Lecture Notes </li></ul><ul><li>Lesson Plans </li></ul><ul><li>Practice Exams </li></ul><ul><li>Exam Schedule </li></ul><ul><li>Problem Sets </li></ul><ul><li>Reading List </li></ul><ul><li>Announcements </li></ul><ul><li>Prerequisite Pre-Test </li></ul><ul><li>Contact Information </li></ul>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. 13. Getting Help <ul><li>EDGE registration + EDGE proctor and exam distribution issues : </li></ul><ul><li>Ruth Bryant : rbrya AT eng DOT ufl DOT edu </li></ul><ul><li>or </li></ul><ul><li>Pam Simon : phs AT eng DOT ufl DOT edu </li></ul><ul><li>phone: 352-392-9670 </li></ul>
  14. 14. Getting Help (cont’d) <ul><li>Course content–related help : </li></ul><ul><li>Steve Thebaut : smt AT cise DOT ufl DOT edu </li></ul><ul><li>phone: 352-450-5530 </li></ul><ul><li>or </li></ul><ul><li>Huafeng Jen : hj0 AT cise DOT ufl DOT edu </li></ul>
  15. 15. Required Reading Material <ul><li>Myers, The Art of Software Testing, John Wiley & Sons, 1979, pp. 4-16, The Psychology and Economics of Program Testing. </li></ul><ul><li>Kit, Software Testing in the Real World: Improving the Process, Addison-Wesley, 1995, pp. 3-13, Part I, Software testing process maturity. </li></ul>
  16. 16. Required Reading Material (cont’d) <ul><li>Gause & Weinberg, Exploring Requirements: Quality Before Design, Dorset House, 1989, pp. 80-91, Making Meetings Work for Everybody. </li></ul><ul><li>Fagan, Design and Code Inspections to Reduce Errors in Program Development, IBM Systems Journal, Vol. 15, No. 3, July 1976, pp. 182-211. </li></ul>
  17. 17. Required Reading Material (cont’d) <ul><li>Grady & Van Slack, Key Lessons in Achieving Widespread Inspection Use, IEEE Software, July 1994, pp. 46-57. </li></ul><ul><li>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. </li></ul>
  18. 18. Required Reading Material (cont’d) <ul><li>King, et al., Is Proof More Cost-Effective than Testing? , IEEE Transactions on Software Engineering, Vol. 26, No. 8, August 2000. </li></ul><ul><li>Linger, Cleanroom Software Engineering for Zero-Defect Software, Proceedings, 15 th Int. Conf. on Soft. Eng. (1993), IEEE Computer Society Press, pp. 2-13. </li></ul>
  19. 19. Required Reading Material (cont’d) <ul><li>Authorized reprints of readings may be purchased as a packet from University Copy & More, 1620 W. University Avenue, (352) 372-7436. </li></ul>
  20. 20. Optional Reference Text <ul><li>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. </li></ul><ul><li>---------- </li></ul><ul><li>A copy of both the optional textbook and the required reading will be placed on reserve in Marston Science Library. </li></ul>
  21. 21. Outline of Topics <ul><li>Introduction to V&V Techniques and Principles </li></ul><ul><li>Requirements and Specifications </li></ul><ul><li>Black-Box Test Case Design Strategies </li></ul><ul><ul><li>Partition testing </li></ul></ul><ul><ul><li>Combinatorial approaches </li></ul></ul><ul><ul><li>Other strategies </li></ul></ul>
  22. 22. Outline of Topics (cont’d) <ul><li>White-Box Test Case Design Strategies </li></ul><ul><ul><li>Logic coverage </li></ul></ul><ul><ul><li>Dataflow coverage </li></ul></ul><ul><ul><li>Path conditions & symbolic evaluation </li></ul></ul><ul><ul><li>Other strategies </li></ul></ul><ul><li>Integration and Higher Level Testing </li></ul><ul><li>Testing Object-Oriented Software </li></ul>
  23. 23. Outline of Topics (cont’d) <ul><li>Reviews and Inspections </li></ul><ul><li>Testing Tools </li></ul><ul><li>----------------------------------------- </li></ul><ul><li>Formal Program Specification </li></ul><ul><li>Axiomatic Verification </li></ul><ul><ul><li>Weak correctness </li></ul></ul><ul><ul><li>Rules of inference: sequencing, selection statements, iteration </li></ul></ul><ul><ul><li>Strong correctness </li></ul></ul>Exam 1
  24. 24. Outline of Topics (cont’d) <ul><li>Predicate Transforms </li></ul><ul><ul><li>Proving strong correctness </li></ul></ul><ul><ul><li>Rules for assignment statements, sequencing, selection statements, iteration </li></ul></ul><ul><li>Functional Verification </li></ul><ul><ul><li>Complete and sufficient correctness </li></ul></ul><ul><ul><li>Compound programs and the Axiom of Replacement </li></ul></ul>
  25. 25. Outline of Topics (cont’d) <ul><li>Functional Verification (cont’d) </li></ul><ul><ul><li>Correctness conditions </li></ul></ul><ul><ul><li>Iteration Recursion Lemma </li></ul></ul><ul><li>Revisiting loop invariants (the Invariant Status Theorem) </li></ul><ul><li>Cleanroom Software Engineering </li></ul><ul><li>Lecture notes will be made available on the course web site in PPT format. </li></ul>
  26. 26. Examinations and Grades <ul><li>Course grades are based solely on two equally weighted 90-minute exams. </li></ul><ul><li>Histograms of numeric scores will be provided with solution notes. </li></ul><ul><li>Course letter grades will be determined at the end of the semester based on separate “curves” for CEN 4072 and CEN 6070 students. </li></ul>
  27. 27. On-Campus Exam Schedule <ul><li>Exam 1: (topics through “Testing Tools” + associated readings) – February 26 (tentative) </li></ul><ul><li>Exam 2: (remaining topics + associated readings) – April 16 </li></ul><ul><li>Note: there is no (comprehensive) “final exam” for this course. </li></ul>
  28. 28. Exam Procedures for EDGE Students <ul><li>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. </li></ul><ul><li>Exams are made available to proctors the same day they are administered to on-campus students. </li></ul><ul><li>Proctors should return electronic copies of completed exams directly to the instructor via FAX or e-mail ASAP after administration. </li></ul>
  29. 29. Make-Up Exam Policy <ul><li>Students are expected to be available at scheduled exam times. Do NOT schedule conflicting elective activities (family gatherings, business or interview trips, etc.). </li></ul><ul><li>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 . </li></ul>(cont’d)
  30. 30. Make-Up Exam Policy (cont’d) <ul><li>Make-up exams, when possible, may be administered orally . </li></ul><ul><li>If it is not practical to administer a make-up exam before the end of the term, a course grade of &quot;I&quot; (incomplete) may be assigned. </li></ul>
  31. 31. Problem Sets <ul><li>There are 7 non-graded, optional problem sets covering the areas: </li></ul><ul><ul><li>Black-box Testing </li></ul></ul><ul><ul><li>Logic Coverage </li></ul></ul><ul><ul><li>Dataflow Coverage </li></ul></ul><ul><ul><li>Path conditions and Symbolic Evaluation </li></ul></ul><ul><ul><li>Axiomatic Verification </li></ul></ul><ul><ul><li>Predicate Transforms </li></ul></ul><ul><ul><li>Functional Verification </li></ul></ul>
  32. 32. Problem Sets (cont'd) <ul><li>Some problems will require the creative application of techniques presented in class. </li></ul><ul><li>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. </li></ul><ul><li>Problem set introductions, discussions, hints, and solution reviews will be provided in class. </li></ul><ul><li>Exams assume a thorough understanding of the problems and their solutions . </li></ul>
  33. 33. Class Attendance (On-Campus Students) <ul><li>Students are expected to view all recorded lectures and are responsible for any recorded announcement made in class. </li></ul><ul><li>On-campus students are NOT required to attend live lectures. </li></ul>
  34. 34. Academic Integrity <ul><li>You will be asked to sign the following state-ment on both exams in this course: </li></ul><ul><li>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. </li></ul>
  35. 35. Other Info <ul><li>For info regarding: </li></ul><ul><ul><li>Accommodation for Students with Disabilities, </li></ul></ul><ul><ul><li>UF Counseling Services, </li></ul></ul><ul><ul><li>UF Software Use Policies, and </li></ul></ul><ul><ul><li>Instructor background, </li></ul></ul><ul><li>please see the course syllabus. </li></ul>
  36. 36. <ul><li>Questions? </li></ul>
  37. 37. Course Overview Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 1
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.