Pre-exam information

281 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
281
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Pre-exam information

  1. 1. Final Exam • Tuesday, July 17, 09:00 – 12:00 – Location: STE F0126 • Format: closed book, problem solving, short answer questions • Material: – Lecture material – Lab material: JUnit, dbUnit 1
  2. 2. Scope of the exam • Testing basics: – Defects, failure, risk, verdicts, points of control / observation, etc. • Principles – Sensitivity, redundancy, visibility, etc. • Graph models of software – Control flow graph – Data flow graph – Call graph – Finite state machines – Extended finite state machines 2
  3. 3. Scope of the exam • Test coverage from models – Control-flow based: – Branch, multiple-condition, path, etc. – Data-flow based: – All-definitions, all-uses, all du-associations – Finite state machine based: – Transition tour, conformance • Test coverage from specifications: – Equivalence class partitioning – Decision tables – Pair-wise coverage of combinations 3
  4. 4. Scope of the exam • Drivers / Stubs / Mock objects – When are they used? – How are they set up? – What to they have to do? – Requirements for using mock objects. • Integration testing – strategies • Object-oriented testing – Effects of properties such as encapsulation, dynamic binding, etc. on testing. – Testing abstract and generic classes. – Constructors 4
  5. 5. Scope of the exam • Web application testing – Client testing strategies: mock server, embedded server, actual server. – Server code testing strategies: out-of- container, in-container with Cactus – Database code testing strategies: independent of server, with server – Purpose of the various tools: Cactus, dbUnit, Jetty, etc. – There will NOT be any test code on this topic; any questions will be about principles. 5
  6. 6. Scope of the exam • System testing – Purpose of various types of system testing – Issues associated with each. – Security: SQL injection – Operational profiles – Mean time to failure and reliability • Process maturity models – Certifications from CMM, ISO 9000, what they mean, and the process involved. • Metrics – Types of metrics: code, from customer – Defect tracking 6
  7. 7. Scope of the exam • Lab material – JUnit: JUnit test cases may be used as examples on the midterm. – Coverage: – Principles of statement and branch coverage as applied to code. – Basic idea of how instrumentation tools work. – dbUnit – What is the purpose of the tool? – How would it be used in a test case? 7
  8. 8. Sections from text • Chapter 1: Introduction • Chapter 2: Framework – Section 2.1 only: Verification / validation • Chapter 3: Basic principles – All sections: Sensitivity, redundancy, etc. • Chapter 4: not covered • Chapter 5: Finite models – All sections: Control flow graphs, call graphs FSMs 8
  9. 9. Sections from text • Chapter 6: Data Flow models – Section 6.1 only: Data flow graphs • Chapters 7, 8: not covered • Chapters 9, 10: Test adequacy, Functional testing – These chapters have general information about test coverage and test construction. • Chapters 11: – Sections 11.1, 11.2, 11.3 only: Equivalence-class partitioning, Pair-wise combinatorial testing 9
  10. 10. Sections from text • Chapter 12: Structural testing – All sections – Topics covered: statement, branch, (multiple) condition, path coverage – Topics not covered: boundary, LCSAJ, cyclomatic coverage • Chapter 13: Data flow testing – Sections 13.1, 13.2, 13.3 only: definition-use associations, du-coverage • Chapter 14: Model based testing – Sections 14.1, 14.2, 14.3, 14.4 only – FSM-based testing, decision tables 10
  11. 11. Sections from text • Chapter 15: Testing object-oriented software – Sections 15.1, 15.2, 15.3, 15.9, 15.10, 15.11, 15.12 – Encapsulation, dynamic binding, inheritance, abstract classes, generic classes • Chapter 16: not covered • Chapter 17: Test execution – All sections • Chapters 18, 19: not covered • Chapter 20: Test planning and process – Sections 20.2, 20.3, 20.4 – Operational profiles, Process models 11
  12. 12. Sections from text • Chapter 21: Integration testing – All sections • Chapter 22: System and Regression testing: – All sections – In section 22.6, only the first 1.5 pages; we didn’t cover the control flow graph method shown in the section. • Chapter 23: Test automation – Sections 21.1 through 21.5, plus 23.8 through 23.10 • Chapter 24: Test documentation – All sections (as background for the IEEE 829 standard) 12
  13. 13. Other sources used for lecture notes • JUnit in Action – Chapter 6: Stubs + Jetty – Chapter 7: Mock objects – Chapter 8: Testing in a server container, Cactus – Chapter 9: Testing a servlet – Chapter 11: Unit testing database applications 13
  14. 14. Office hours • Thurs. July 12, 14:00 – 16:00 • Monday July 16, 13:00 – 17:00 • Tuesday July 17, 15:00 – 17:00 • Wednesday July 18: 09:00 – 11:00 14

×