Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "March 13, 2001CSci 250 - Clark University1 CSci 250 Software Design & Development Lecture #15 Tuesday, March 13, 2001."— Presentation transcript:

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

2 March 13, 2001CSci 250 - Clark University2 Class Format for Today §Announcements §Return & review midterm exam §Review course evaluations §Questions §Begin Chapter 9 Lecture

3 March 13, 2001CSci 250 - Clark University3 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

4 March 13, 2001CSci 250 - Clark University4 Review §Midterm exam results §Course evaluation results

5 March 13, 2001CSci 250 - Clark University5 Questions? §About the midterm exam §About design assignment §About Content Index §Anything else?

6 March 13, 2001CSci 250 - Clark University6 Chapter 9 Software Testing

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

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

9 March 13, 2001CSci 250 - Clark University9 Goals & Results of Testing §Goals: l To “break” the system l To find defects l To find differences between expected behavior (based on system models) & observed behavior §How do we define a successful test? §Results: l 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

10 March 13, 2001CSci 250 - Clark University10 Types of testing §Unit testing: l Based on object model l Test individual components stand-alone §Structural testing: l Based on system design l Integration testing: individual tested components are tested together l System structure testing: culmination of integration testing involving all components

11 March 13, 2001CSci 250 - Clark University11 Types of testing continued §System testing: l Functional testing: Based on Use Cases from Requirements Test functionality l Performance testing: Based on Non-functional requirements test system performance l Acceptance testing: Based on Requirements and Functional Specifications Performed by the Client

12 March 13, 2001CSci 250 - Clark University12 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?

13 March 13, 2001CSci 250 - Clark University13 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

14 March 13, 2001CSci 250 - Clark University14 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!

15 March 13, 2001CSci 250 - Clark University15 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

16 March 13, 2001CSci 250 - Clark University16 For next time: §Continue lecture on Testing §Read Chapter 9 & bring questions to class. §We’ll also talk about: l Test Planning l Implementation Planning


Download ppt "March 13, 2001CSci 250 - Clark University1 CSci 250 Software Design & Development Lecture #15 Tuesday, March 13, 2001."

Similar presentations


Ads by Google