Levels of Testing Test Types Testing Types Vs Test Levels Testing Techniques or Methods Seven Testing Principles Stages of Testing
Levels of Testing Test Types Testing Types Vs Test Levels Testing Techniques or Methods Seven Testing Principles Stages of Testing
Levels of Testing Test Types Testing Types Vs Test Levels Testing Techniques or Methods Seven Testing Principles Stages of Testing
Overview
1 Introduction
2 Levels of Testing
3 Test Types
4 Testing Types Vs Test Levels
5 Testing Techniques or Methods
6 Seven Testing Principles
7 Stages of Testing
Test Planning Activities
Analysis and Design
Implementation and Execution
Evaluating exit criteria and Reporting
Test Closure activities
8 Testing Methodologies
Verification and Validation
9 Defect Life Cycle
Quality Assurance and Software Testing
Introduction
Definition
Software testing is a process used to identify the correctness,
completeness and quality of developed computer software. It
includes a set of activities conducted with the intent of finding
errors in software so that it could be corrected before the product
is released to end users.
Quality Assurance and Software Testing
Introduction
Definition
In simple words, software testing is an activity to check that the
software system is defect free
Quality Assurance and Software Testing
Introduction
Definition
Testing is executing a program on a tiny sample of the input
domain
Two Important aspect of testing:
1 Dynamic technique
2 Optimistic approximation
Quality Assurance and Software Testing
Introduction
Airbus A300
Software is buggy!
Cost of bugs: 60 B/year US Economy
On average: 1-5 bugs/KLOC
100 % correct mass market software is impossible
Quality Assurance and Software Testing
Introduction
Tester Roles
Quality Assurance
Quality Assurance(QA) is a way of preventing mistakes or defects
in manufactured products and avoiding problems when delivering
solutions or services to customers
Tester Roles
Functional Tester-is responsible for checking if the product
works based on business requirements
Automation Tester-is responsible for writing script that
automate testing rather than manual testing the functionality
Performance Tester-is responsible for testing the product on
different load and report the finding the developer
Mobile Tester- is responsible for testing the product on
different mobile devices
Pen Tester-is responsible for exposing all security flaws(SQL
Injection, Cross scripting, session hijacking,etc ) in the
Quality Assurance and Software Testing
Levels of Testing
Testing Levels
Unit
Test-
ing
Integration
Test-
ing
System
Test-
ing
Quality Assurance and Software Testing
Levels of Testing
Testing Levels
Acceptance
Test-
ing
Validation Testing
Regression
Testing
Alpha Testing
Beta Testing
Quality Assurance and Software Testing
Levels of Testing
Unit Testing
Integration Testing
Validation Testing
Acceptance Testing
Test Types
Functional Testing
Non-Functional Testing
It is the testing of ”how” the system works
Non-functional testing includes, but is not limited to:
Performance Testing- How many users can connect to the
system and how will that affect the performance of the
software
Load Testing - How will the system perform if we do a single
transaction so many times
Stress Testing - How will the system perform under very
tough circumstances, many users, many transactions, low
memory,..etc
Usability Testing- Is the system easy to use
Maintainability Testing- Is the system easy to maintain if we
need to fix a defect
Reliability Testing- Is the system reliable or does it crash
eventually
Portability Testing - Is the system easy to port from one
platform to another
Quality Assurance and Software Testing
Test Types
Structural Testing
Testing Techniques
Example:
1 . v o i d p r i n t N u m B y t e s ( param ) {
2. i f ( param <1024) p r i n t f ( ”%d” , param ) ;
3. e l s e p r i n t f ( ”%dKB” , param / 1 2 3 ) ;
4. }
Limitation
It doesn’t reveal errors hidden in the implementation details
Quality Assurance and Software Testing
Testing Techniques or Methods
Limitation
It doesn’t reveal errors due to missing paths
Quality Assurance and Software Testing
Seven Testing Principles
Stages of Testing
Test Planning
Analysis and Design
Implementation and Execution
Evaluating exit criteria and Reporting
Test Closure activities
Quality Assurance and Software Testing
Stages of Testing
Test Planning Activities
Testing Methodologies
Waterfall model
Iterative Model
Agile
Quality Assurance and Software Testing
Testing Methodologies
Verification and Validation
Verification
Validation
Defect Template
Description:
Steps to Reproduce:
Test Data:
Expected Result:
Action Result:
Screen shot:
Time stamp:
Assigned to:
Severity :
Priority :
Quality Assurance and Software Testing
Defect Life Cycle