1 / 16

CSci 250 Software Design & Development

CSci 250 Software Design & Development. Lecture #15 Tuesday, March 13, 2001. Class Format for Today. Announcements Return & review midterm exam Review course evaluations Questions Begin Chapter 9 Lecture. Announcements. Welcome back from Spring break! Reminder: Design documents due

armine
Download Presentation

CSci 250 Software Design & Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CSci 250Software Design & Development Lecture #15 Tuesday, March 13, 2001 CSci 250 - Clark University

  2. Class Format for Today • Announcements • Return & review midterm exam • Review course evaluations • Questions • Begin Chapter 9 Lecture CSci 250 - Clark University

  3. Announcements • Welcome back from Spring break! • Reminder: Design documents due Thursday, March 15th • Implementation Plan - turn in with Test Plan (we’ll discuss on Thursday) • Possibility I might teach CSci 201 (Proseminar in Comp. Sci.) next fall -Confirmation should come in April CSci 250 - Clark University

  4. Review • Midterm exam results • Course evaluation results CSci 250 - Clark University

  5. Questions? • About the midterm exam • About design assignment • About Content Index • Anything else? CSci 250 - Clark University

  6. Chapter 9 Software Testing CSci 250 - Clark University

  7. Introduction • Definition: What is software testing? • The process of finding differences between expected and observed behavior (How do we know what’s expected?) • A systematic attempt to find errors in a planned way • Why do we need to test software? CSci 250 - Clark University

  8. Testing Characteristics • Impossible to completely test a non-trivial system -- Why? • Testing is not decidable • Needs to be performed within time and budget constraints: • Systems are deployed without being fully tested • Some faults are discovered by end user CSci 250 - Clark University

  9. Goals & Results of Testing • Goals: • To “break” the system • To find defects • To find differences between expected behavior (based on system models) & observed behavior • How do we define a successful test? • Results: • When differences are found, developers either modify the system to correct a defect, or update the system model to reflect the state of the system CSci 250 - Clark University

  10. Types of testing • Unit testing: • Based on object model • Test individual components stand-alone • Structural testing: • Based on system design • Integration testing: individual tested components are tested together • System structure testing: culmination of integration testing involving all components CSci 250 - Clark University

  11. Types of testing continued • System testing: • Functional testing: • Based on Use Cases from Requirements • Test functionality • Performance testing: • Based on Non-functional requirements • test system performance • Acceptance testing: • Based on Requirements and Functional Specifications • Performed by the Client CSci 250 - Clark University

  12. Who does the testing? • Not a good idea to have a new or inexperienced person doing testing • Tester must have detailed knowledge of whole system, from Requirements to system design, through implementation • Also not a good idea to have a developer test his/her own code -- Why not? CSci 250 - Clark University

  13. Testing Terminology • Software Reliability: the probability that a software system will not cause the failure of the system for a specified time under specified conditions • Component: any part of system that can be isolated for testing • Failure, Error • Fault / defect / bug CSci 250 - Clark University

  14. Terminology Continued • Test Case: a set of inputs and expected results that exercises a component with the purpose of causing failures and detecting faults. • Test Stub: used to test the caller • Test Driver: used to test the component called • Correction: change to a component with the intent of repairing a fault; may introduce new faults! CSci 250 - Clark University

  15. QC / QA Techniques • Fault Avoidance: prevent occurrence of errors & failures by finding faults in the system before release (to QA) • Fault Detection: find faults, but do not try to recover from failures. Usually applied during development. • Fault Tolerance: recovery from failure while the system is still executing CSci 250 - Clark University

  16. For next time: • Continue lecture on Testing • Read Chapter 9 & bring questions to class. • We’ll also talk about: • Test Planning • Implementation Planning CSci 250 - Clark University

More Related