Software testing is a crucial part of the development process. This presentation gives you a glimpse of different types of testing, their objectives, and their advantages.
2. Agenda
What is Functional Testing
Types of Functional Testing
White box and black box testing
Unit testing
Component testing
Integration testing
System testing
Acceptance testing
What is Non-Functional Testing
Types of Non-Functional Testing
Volume testing
Localization testing
Performance testing
Usability testing
Monkey testing
Security testing
Reliability testing
Compatibility testing
Portability testing
3. What is
Functional
Testing?
Functional testing is carried out to test the software against its functional
requirements/specifications.
Such tests don’t consider how a process occurs. Instead, it focuses on the
intended result of the process.
Thus, it answers the most fundamental question “does the application work as
intended?”
Objectives:
To test the core functions of the application.
To test the basic navigation and usability of the application without any
hindrance.
To check the accessibility of the system for the user.
To test for any error conditions and whether suitable error messages are
displayed.
5. White box and black box testing
White box: It tests the core aspects of software such as input
and output, decision branches, loops, statements, etc.
Black Box: It is conducted in a completely unknown
environment. It applies to all four levels of functional testing.
6. Unit testing
Unit testing validates the functions of a specific part or unit.
Unit testing is carried out using the following four techniques:
Branch Coverage
Statement Coverage
Boundary Value Analysis
Decision Coverage
Advantages of unit testing:
Granular testing makes it easier to pinpoint defects
Documents of outcomes enhance the understanding of
onboarding employees
Test can be carried out as independent modules
7. Component testing
Done by a QA under black-box format, component testing
accesses the individual parts of an application.
Advantages of component testing:
UI is tested for usability during the initial phases of
development
Allows the application to be tested against SQL injections
Reducing the development life cycles
8. Integration testing
Integration testing is concerned with software modules being
logically integrated and tested as a group and is carried out to
validate the interaction between different modules as expected.
There are three different types of integration testing as follows:
Top-Down approach
Bottom-Up approach
Hybrid approach
Advantages of integrated testing:
It offers QA teams to test many parts in one go
Useful to track system defects in the earlier stages of
Software Testing Life Cycle (STLC)
Helps testing modules to interact with API and third-party
tools
9. System testing
Comes after the individual models are tested for integration, all
the modules are clubbed together, and the entire system is
tested for system failures or errors.
The primary purpose is to evaluate end-to-end system
specifications.
Advantages of system testing:
The system performs optimally without crashes
It gives a broader perspective of the end product
10. Acceptance testing
In this testing, the client tests the system by verifying if the
product performs flawlessly.
The client decides whether the system is a Go/No-Go before
releasing the product.
There are majorly three different types of acceptance testing:
Alpha testing
Beta testing
User acceptance testing
Advantages of acceptance testing:
Omits the misalignment between tech teams and
management
Shows red flags for financial and reputational losses
Instill confidence in stakeholders and business owners
11. What is
Non-
Functional
Testing?
It's a second primary type of software testing, the purpose of the non-functional
testing is to check the application’s readiness from a non-functional perspective.
The testers deal with all the non-functional aspects of the application like –
performance, reliability, scalability, etc.
Advantages of non-functional testing:
Helps in performance optimization of the product
To collect performance metrics for internal research and improvements
To test the application behavior
Ensures faster loading and application responsiveness
Adds a higher level of security
13. Volume testing
Volume testing ensures that the application responds as
intended in scenarios where it has to deal with high volumes of
data.
Advantages of volume testing:
The system can be prepared for future data scalability
Reduces the maintenance of the system
Decreases the overall risk of failure
14. Localization testing
Localization testing tests the linguistic and regional aspects of
the application with the particular geographic location.
The testing process is thoroughly checked against parameters
such as local language, currency, date format, etc.
Advantages of localization testing:
Reduces the overall support cost
Has more flexibility and scalability
Generates end-user loyalty by providing the best user
experience and regional language support
15. Performance testing
Performance testing consists of a series of tests to check
whether the software is performing optimally.
It deals with performance testing of the whole application rather
than focussing on flagging the functional errors.
Here are five commonly used types:
Load testing
Stress testing
Scalability testing
Spike testing
Soak testing
Advantages of performance testing:
Improves the application’s potential to scale
Ensures that the application delivers the vision of the
project
Ensures that the users receive a final product
16. Usability testing
Usability testing is conducted precisely to address this issue.
The application’s ease of use is tested from the end user’s
perspective in this testing method.
Advantages of usability testing:
It helps in analyzing user satisfaction while using your
software
Discerns the client’s needs and concerns
Analyzes the performance to check if it meets the usability
objectives
17. Monkey testing
Monkey testing is done by assuming a monkey is using the
application.
The tester inputs random input and values and ensures that the
application doesn’t get crashed from random inputs.
Advantages of monkey testing:
It is used to find out-of-the-box errors
Helps in finding bugs that can break the system
It can be accessed by anyone who has complete
knowledge of the system
18. Security testing
Security testing is conducted to identify the potential threats to
the application and gauge the overall risk.
This will then help security experts take the necessary
measures to keep the hackers and data phishers at bay.
Security testing can be classified into different types of testing
as follows:
Vulnerability scanning
Penetration testing
Risk assessment
Security audit
Advantages of security testing:
Testing your cyber-defense capabilities
Reveal unknown vulnerabilities
Having a third party expert opinion
19. Reliability testing
Under this testing, the QA ensures that the software performs
optimally for a set time duration under normal load conditions.
In addition to that, reliability testing reduces the post-
deployment cost by identifying repeating failures.
Advantages of reliability testing:
Ensures that the system can reliably perform
Checks each operation of the software at least once
Used to find the structure of repeating failures
20. Compatibility testing
It is used to measure how the software will work in different
environments.
This test checks for compatibility with other browsers,
operating systems, platforms, or screen resolutions.
Advantages of compatibility testing:
Enhances software development process
Identifies compatibility issues
Ensures various browsers and devices compatibility
21. Portability testing
This type of testing determines the degree of feasibility in
porting from one server to another.
Therefore, it is crucial to conduct this non-functional testing to
make sure your application is future-proof.
Advantages of portability testing:
Helps in application scalability
Helps in dependency identification between two
applications
Ensures flawless performance on browsers and devices
22. Concluding
Testing is like a tool. How to utilize the
tool depends on the master using it.
That’s why managers and CTOs must
understand the different types of testing.
This presentation has included all the
major testing types and categories
commonly used by IT professionals.
23. Contact Us
Reach out to us for inquiries or comments.
Email Address
contactus@simform.com
Website
www.simform.com
Social Presence
twitter.com/simform
facebook.com/simform
linkedin.com/company/simform/