Manual
Manual
6. Regression Testing :
Regression testing is a black box testing techniques.
It is used to authenticate a code change in the software does not impact the
existing functionality of the product.
Regression testing is making sure that the product works fine with new
functionality, bug fixes, or any change in the existing feature.
Test cases are re-executed to check the previous functionality of the application
is working fine, and the new changes have not produced any bugs.
Regression testing can be performed on a new build when there is a significant
change in the original functionality.
It ensures that the code still works even when the changes are occurring.
Types Of Regression :
The different types of Regression Testing are as follows:
Unit Regression Testing [URT]
Regional Regression Testing[RRT]
Full or Complete Regression Testing [FRT]
Unit Regression Testing [URT]
In this, we are going to test only the changed unit, not the impact area,
because it may affect the components of the same module.
Example:
In the below application, and in the first build, the developer develops
the Search button that accepts 1-15 characters.
Then the test engineer tests the Search button with the help of the test case
design technique.
Now, the client does some modification in the requirement and also requests
that the Search button can accept the 1-35 characters.
The test engineer will test only the Search button to verify that it takes 1-
35 characters and does not check any further feature of the first build.
Regional Regression testing [RRT]
In this, we are going to test the modification along with the impact area or
regions, are called the Regional Regression testing.
Here, we are testing the impact area because if there are dependable modules,
it will affect the other modules also.
Example:
Assume we have four different modules, such as Module A, Module B, Module C,
and Module D,
which are provided by the developers for the testing during the first build.
Now, the test engineer will identify the bugs in Module D.
The bug report is sent to the developers, and the development team fixes
those defects and sends the second build.
In the second build, the previous defects are fixed.
Now the test engineer understands that the bug fixing in Module D has
impacted some features in Module A and Module C.
Hence, the test engineer first tests the Module D where the bug has been
fixed and then checks the impact areas in Module A and Module C.
Therefore, this testing is known as Regional regression testing.
Full Regression testing [FRT]
During the second and the third release of the product, the client asks for
adding 3-4 new features,
and also some defects need to be fixed from the previous release.
Then the testing team will do the Impact Analysis and identify that the above
modification will lead us to test the entire product.
Therefore, we can say that testing the modified features and all the
remaining (old) features is called the Full Regression testing.
7. Integration Testing :
When individual software modules are merged and tested as a group than it is known
as integration testing.
Integration testing is sets between Unit Testing and System Testing.
Conclusion:
At last we conclude that Integration testing focuses on testing multiple modules
working together and this testing
is one of the extensive exercises of the software testing in which particular
software modules are merged and tested as a group.
Sanity Testing :
Sanity testing is a kind of Software Testing performed after receiving a
software build, with minor changes in code, or functionality,
to ascertain that the bugs have been fixed and no further issues are
introduced due to these changes.
The goal is to determine that the proposed functionality works roughly as
expected.
If sanity test fails, the build is rejected to save the time and costs
involved in a more rigorous testing.
Smoke Testing has a goal to verify “stability” whereas Sanity Testing has a goal to
verify “rationality”.
Smoke Testing is done by both developers or testers whereas Sanity Testing is done
by testers.
Smoke Testing verifies the critical functionalities of the system whereas Sanity
Testing verifies the new functionality like bug fixes.
Smoke testing is a subset of acceptance testing whereas Sanity testing is a subset
of Regression Testing.
Smoke testing is documented or scripted whereas Sanity testing isn’t.
Smoke testing verifies the entire system from end to end whereas Sanity Testing
verifies only a particular component.
9. SDLC :
Software Development Life Cycle
Requirement Gathering
Analysis
Design
Coding / Development
Testing
Deployment & Maintenance
SDLC Models
Waterfall Model
V Model
Prototype Model
Spiral Model
Agile Model
Advantages :
With the help of the RTM document, we can display the complete test execution and
bugs status based on requirements.
It is used to show the missing requirements or conflicts in documents.
In this, we can ensure the complete test coverage, which means all the modules are
tested.
It will also consider the efforts of the testing teamwork towards reworking or
reconsidering on the test cases.
Strategy based : Strategy based exploratory testing can be performed with the help
of multiple testing techniques such as risk-based,
boundary value analysis, and equivalence partitioning.
It is done by the experienced tester and who is using the application for the
longest time because he/she is known the application very much.
Scenario-based : Scenario-based exploratory testing is performed with the help of
multiple scenarios such as end-to-end, test scenarios,
and real user scenarios.
The test engineer can find defects and also checks various set of
possibilities for the multiple scenarios with their application knowledge
while they were exploring the application.
Dynamic Testing :
Dynamic testing is one of the most important parts of Software testing, which
is used to analyse the code's dynamic behavior.
The dynamic testing is working with the software by giving input values and
verifying if the output is expected by
implementing a specific test case that can be done manually or with an
automation process.
The dynamic testing can be done when the code is executed in the run time
environment.
It is a validation process where functional testing [unit, integration,
system, and user acceptance testing] and
non-functional testing [Performance, usability, compatibility, recovery
and security testing] are performed.
As we know that Static testing is a verification process, whereas dynamic
testing is a validation process,
and together they help us to deliver a cost-effective quality Software
product.