Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

2/14/2012

Software Testing
Throughout the Software Development Life Cycle

Waterfall model

2/14/2012

Waterfall model

V-model

2/14/2012

V-Model

Levels of Testing
Component testing
Unit, Module, or Program Testing Focuses on testing of the individual components themselves To be carried out by the developer of the software Requires knowledge of internal code

2/14/2012

Levels of Testing
Integration Testing
Concerned with ensuring the interactions between the software components at the module level behave as expected

System Testing
Covers all combined parts of a system Based on overall requirements specifications

Levels of Testing
User Acceptance Testing (UAT)
Last testing performed on the software product before its actual release Commonly performed by customer Done to try and simulate as closely as possible the way in which the software product will actually be used by the end users

2/14/2012

Types of Testing
Functional Testing
Requirements-based Functional Testing
Testing the functionality of the software/system based on the requirements. The tests themselves should be derived from the documented requirements and not based on the software code itself.

Business Process Functional Testing


Different types of users may use the developed software in different ways. These ways are analysed and business scenarios are then created

Types of Testing
Functional Testing Non Functional Testing Structural Testing Change-related Testing

2/14/2012

Types of Testing
Non-Functional Testing
Performance Testing
Validates the speed, scalability, and/or stability characteristics of the system Concerned with achieving response times, throughput, and resource-utilization levels that meet the performance objectives for the project or product.

Load Testing
Validates performance characteristics of the system when subjected to workloads and load volumes anticipated during production operations

Stress Testing
Validates performance characteristics of the system when subjected to conditions beyond those anticipated during production operations, and/or stressful conditions like limited memory, insufficient disk space or server failure

Types of Testing
Non-Functional Testing
Security Testing
Testing how well the system protects against unauthorized internal or external access, willful damage, etc.

Usability Testing
Testing for user-friendliness

2/14/2012

Types of Testing
Non-Functional Testing
Recovery Testing
Focus on how the system handles failure and how it handles the recovery process

Types of Testing
Structural Testing Black-box Testing (Functional Testing)
Tests are developed based on the program or systems functionality The tester requires information about the input data and observed output, but does not know how the program or system works

White-box Testing
Designed by examining paths of logic The tester examines the internal structure of the program The tester knows the internal program structure and logic

Gray-box Testing
combination of black- and white-box testing

2/14/2012

Types of Testing
Change-Related Testing
Re-test (Confirmation Test)
Whenever a fault is detected and fixed then the software should be re-tested to ensure that the original fault has been successfully removed.

Regression Test
Regression testing attempts to verify that modifications have not caused unintended adverse side effects in the unchanged software (regression faults) and that the modified system still meets its requirements.

Non-Systematics Testing
Error-Guessing Testing Exploratory Testing Adhoc Testing
Making up tests as you go along

You might also like