5 Testing Types
5 Testing Types
Today’s Agenda
● Software Development Life Cycle (SDLC) and Software Testing Life Cycle (STLC)
● Test Levels
○ Unit/Component Testing
○ Integration Testing
○ System Testing
○ User Acceptance Testing
● Test Types
○ Functional
○ Non-Functional
○ White box / Structural
○ Changes related
● Test Types and Test Levels
SDLC and STLC
SDLC and STLC
System
Analysis Design Code Testing Maintenance
Engineering
SDLC and STLC
● Test levels are groups of test activities that are organized and
managed together.
SYSTEM 1 UAT
TESTING
2
SYSTEM INTEGRATION
3
TESTING
UNIT
4
TESTING
Testing Levels
3
System
1
Unit Testing Testing
Done by
Test
Done by
Developers Testers
Levels
Acceptance
2 4
Integration
Testing
Testing
Done by
Done by End Users
Testers
Testing Levels : Unit Test
● Identifies problems that may arise when the different units are
combined.
3
Functional Structural
1
Testing Testing
What the system
Test
Assessment of
does? coverage of a
type of structure
Types
2
Change-base
4
Non-Functional
Testing Testing
Testing related to
How the system changes
works?
Testing Types
Functional Testing
1. Smoke testing
2. Sanity Testing
3. Exploratory testing
4. Regression
5. User Acceptance Testing (UAT)
Testing Types
Non-Functional Testing
What are the non-functional aspects?
● How does the application perform under normal circumstances?
● How does the application behave when too many users login concurrently?
● Can the application handle stress?
● How secure is the application?
● Can the application recover from any disaster?
● Can the application behave in the same way in a different env or OS?
● Are the guides provided with the application easy to understand?
Testing Types
Non-Functional Testing
● Tests system attributes not related to the functionality.
● Is the testing of “how well” the system behaves.
SECURITY
PERFORMANCE
USABILITY
NON-
SCALABILITY FUNCTIONAL
TESTING
RECOVERABILITY
LOAD
RESILIENCE
STRESS
DATA INTEGRITY
Testing Types
Change-related Testing
Is suitable for almost any software product Is suitable only for stable systems and used
mainly for regression. Some types of testing
(research, ad-hoc, etc.) cannot be
automated
Set of techniques applicable to all other Typically applies only to unit testing,
phases of testing where code is involved
Testing Types and Testing Levels
System Testing: Number of concurrent users that can make a video call.
Acceptance Testing: Accessibility of the Post processing interface for people with
disabilities.
Testing Types and Testing Levels
Integration Testing: How the Mercado libre system uses external payment
authorizers to check Credit card.
System Testing: Re-execute all tests for a given workflow if a new version of
Facebook homepage changes.
Acceptance Testing: Re-execute all failed test cases after a fix found in UAT.
Testing Types and Testing Levels
Activity