Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype.

Similar presentations


Presentation on theme: "Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype."— Presentation transcript:

1 Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype

2 Spiral Model

3 www.extremeprogramming.org Test Driven Development

4 Software Testing From SWEBOK 2004

5 Software Testing Software testing consists of the dynamic verification of the behavior of a program on a finite set of test cases, suitably selected from the usually infinite executions domain, against the expected behavior.

6 Testing Fundamentals Testing is the one step in software engineering process that could be viewed as destructive rather than constructive. – A successful test is one that breaks the software. – A successful test is one that uncovers an as yet undiscovered defect. Testing can not show the absence of defects, it can only show that software defects are present. For most software exhaustive testing is not possible.

7 Fundamental Terms Faults vs. Failures – What is the purpose of testing? – What are some examples of common faults? Black-box vs. White-box testing – Who does the testing?

8 Test Levels Unit testing Integration testing System testing

9 Types of Tests

10 Testing Process (part of CS 480 QA plan) Describe the process your team will follow for testing your software Include details on your team's methods for unit testing, integration testing, system testing, and validation testing Describe the criteria and procedures you will use for client acceptance testing Present this material in project-specific terms. Avoid stating this material in generic software engineering terms

11 Unit Testing Unit testing is a procedure used to validate that individual units of source code are working properly A unit is the smallest testable part of an application – In procedural programming a unit is a function, procedure, subroutine, etc. – In object-oriented programming, a unit is a method The goal is to show that the individual parts are correct

12 Integration Testing Top-down testing Bottom-up testing Sandwich testing Big-bang testing

13 OO Integration Testing Thread-based testing: integrates classes required to respond to event Use-based testing: integrates classes required by one use case Cluster testing: integrates classes required to demonstrate one collaboration

14 Discussion Question How do we know when we can stop testing?


Download ppt "Software Waterfall Life Cycle Requirements Construction Design Testing Delivery and Installation Operations and Maintenance Concept Exploration Prototype."

Similar presentations


Ads by Google