Download presentation
Presentation is loading. Please wait.
Published byMaria Anderson Modified over 8 years ago
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?
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.