Software Testing
Software Testing
PRESENTED BY,
HARSHVARDHAN KHERODKAR
Importants Software Testing
Unit Testing
Integration
Performance
Security
Load
Regression
Acceptance
Unit Testing
Unit testing involves the testing of each unit or an individual component of the
software application. It is the first level of functional testing. The aim behind unit
testing is to validate unit components with its performance.
A unit is a single testable part of a software system and tested during the
development phase of the application software.
Integration Testing
Integration testing is the process of testing the interface between two software
units or modules. It focuses on determining the correctness of the interface. The
purpose of integration testing is to expose faults in the interaction between
integrated units. Once all the modules have been unit tested, integration testing is
performed.
Integration Testing Contd..
Advantages:
1. It is convenient for small systems.
2. Simple and straightforward approach.
3. Can be completed quickly.
4. Does not require a lot of planning or coordination.
5. May be suitable for small systems or projects with a low degree of interdependence between
components.
Disadvantages:
1. There will be quite a lot of delay because you would have to wait for all the modules to be integrated.
2. High-risk critical modules are not isolated and tested on priority since all modules are tested at once.
3. Not Good for long projects.
4. High risk of integration problems that are difficult to identify and diagnose.
5. This can result in long and complex debugging and troubleshooting efforts.
Performance Testing
Principle of Security Testing: Below are the six basic principles of security testing:
• Confidentiality
• Integrity
• Authentication
• Authorization
• Availability
• Non-repudiation
Types of Security Testing
Security Scanning
Risk Assessment
Vulnerability Scanning
Penetration testing
Security Auditing
Ethical hacking
Posture Assessment
Load Testing
load testing is used to find whether the organization used for compering the
application is necessary or not, and the performance of the application is
maintained when it is at the maximum of its user load.
Generally, load testing is used to signify how many concurrent users handle the
application and the application's scale in terms of hardware, network capacity etc.
Regression
Testing
Regression Testing is the process of testing
the modified parts of the code and the parts
that might get affected due to the
modifications to ensure that no new errors
have been introduced in the software after
the modifications have been made.
Regression means return of something and
in the software field, it refers to the return of
a bug.
Regression Testing contd..