Software Testing Types
Software Testing Types
Software Testing Types
Testing
Types
Unit Test
Acceptance
Tests Integration
Tests
Regression
Tests Functional
Tests
Smoke
Tests
Swipe
02
Introduction to
Software Testing
Software Testing is a method to check whether the actual software
product matches expected requirements and to ensure that the
software product is DEFECT free.
Though testing itself costs money, companies can save millions per year
in development and support if they have a good testing technique and
Architectural flaws
Security vulnerabilities
Scalability issues
Functional
Non-functional Testing
For each of these, we have many testing types that we will be discussing
further in this presentation.
VS
Functional Testing Non-Functional Testing
04
Functional Testing
Functional testing a stage in the software delivery lifecycle in which
is
Unit Testing
Integration Testing
SmokeTesting
Sanity Testing
Regression Testing
InterfaceTesting Functional
Testing
4
2 Regression
Integration
3
System
05
Non-Functional
Testing
When performing non-functional testing, testers evaluate other
attributes of system behavior, such as the system's performance,
reliability, and stability.
Performance Testing
Security Testing
Usability Testing
Security testing
Installation Testing
Reliability Testing
Interoperability Performance
Testing Testing
Non
Functional
Testing
Reliability Scalability
Testing Testing
Usability Testing
06
Unit Testing
Unit testing a type of software testing which
is is done on an individual
unit or component to test its corrections.
Developers often use test automation tools such as NUnit, Xunit, JUnit,
Chai, Jest for the test execution.
UNIT
TESTING
08
Regression Testing
Any new change or feature added to the software can wreck its existing
functionalities. Regression testing is performed every time alterations
are made to check for the software's stability and functionalities. Due to
its work-intensive nature, regression testing is often automated.
REGRESSION
TESTING
07
Integration Testing
Integration testing a type of software testing where two or more
is
Integration Testing
09
Sanity Testing
Similar to regression testing, sanity testing is conducted for a new build
with minor bug Fixes, or new code added. If rejected in the sanity testing
phase, the build will not proceed to further testing. While regression
testing checks the entire system after alterations, sanity testing targets
specific areas that are affected by the new code or bug fixes only.
Sanity Testing
10
Smoke Testing
When a new build is completed, it is handed to the QAs for smoke testing.
outages in customers' homes. This function reports the address and other
relevant information as well as notifies the homeowner when a
dispatcher on the way to help. Smoke testing will validate this feature
is
TESTING
500
beta test
14
Types of Performance
Testing
Load testing
Stress Testing
Endurance Testing
For example, car companies soak testing to verify that users can drive
cars continuously for hours without any problem.
15
Usability Testing
Usability testing is testing an application from the user's perspective to
check the look and feel and user-friendliness.
The main idea of usability testing of this kind of app is that as soon as the
user opens the app, the user should get a glance atthe market.
USABILITY
TESTING
16
UAT (User
Acceptance Testing)
User acceptance testing (UAT), also called application testing or end
user testing, is a phase of software development in which the software is
tested in the real world by its intended audience.
User acceptance testing validates the testing done at the end of the
development cycle. It is typically completed after unit testing, quality
assurance, system testing and integration testing. The software may
undergo other testing phases and be completely functional but might
still not meet its requirements if it is not well received by its intended
Users.
Internal functional experts also playa role in UAT, as they help shape
UAT Cycles and test management, as well as interpret the results.
USER ACCEPTANCE
T
TESTING
17
AlphaTesting
Alpha Testing is a type of acceptance testing; performed to identify all
possible issues and bugs before releasing the final product to the end
users. Alpha testing is carried out by the testers who are internal
A B
75% 85%
19
Ad Hoc-Monkey
Testing
Ad Hoc Testing is a kindof testing where testers who know the software
well test it without a strict plan. It's also called Random Testing or
Monkey Testing.
Testers might use some existing test cases or choose them randomly to
test the software.
The term "Monkey Testing" comes from the idea that testers are
essentially "monkeying around" with the software, mimicking a playful
Adhoc Testing
Adhoc -Unplanned
Testing -Unstructured
-No Documentation