Complete Software Testing Hierarchy
Software Testing Hierarchy |
Complete Software Testing Hierarchy
Software Testing Hierarchy |
Re-testing
Why and when we perform Retesting
Advantages
Disadvantages
Regression Testing
When To use Regression Testing
Advantages
Disadvantages
Re-testing vs Regression Testing:
Re-Testing |
Regression
Testing |
Retesting is
about fixing specific defects that you've already found. |
Regression
testing is about searching for defects. |
Retesting is done only for failed test cases. |
Regression
testing is performed for passed test cases. |
Retesting is
used to ensure the test cases which failed in last execution are fixed. |
Regression
testing is to ensure that changes have not affected the unchanged part of
product. |
Verification
of bugs are included in the retesting. |
Verification of
bugs are not included in the regression testing. |
Retesting is
of high priority so it’s done before the
regression testing. |
Regression testing can be done in
parallel with retesting. |
Retesting the
test cases cannot be automated. |
Regression testing test cases can
be automated. |
In case of
retesting the testing is done in a planned way. |
In case of regression testing the
testing style is generic. |
Test cases of
retesting can be obtained only when the testing starts. |
Test cases of regression testing
can be obtained from the specification documents and bug reports |
Please refer the below video on complete video on Retesting and Regression Testing:
Adhoc Testing
Why do we do adhoc testing?
Advantages:
Disadvantages:
Adhoc testing Vs Exploratory Testing
Adhoc Testing |
Exploratory Testing |
Ad Hoc
Testing implies learning of the software before its testing. |
Exploratory
Testing, you learn and test the software simultaneously. |
Documentation
is not a basic need of this type of testing. The QA team always attends the
testing without specific documentation. |
Documentation
is mandatory in Exploratory Testing. To assure the quality it’s necessary to
documents the detail of the testing. |
Ad hoc is
about the perfection of the testing. |
Exploratory
Testing is more about the learning of the application. |
Ad hoc Testing
helps to find innovative ideas from the research. |
It helps to
develop the application. |
Ad hoc is a
technique of testing an application; this provides a significant role in the
software Production. |
This is an
approach of testing that combines the learning test results and creates a new
solution. |
It mostly
works on the business concerns and increases the knowledge about the application. |
It
categorizes the problems and compare them from the problems found in past.
This helps to reduce the time consumption. |
Adhoc testing
is not important to execute by an expert software testing engineer. |
This always
needed to be done by expert. |
It works on
negative testing mostly. |
This testing
works on positive testing niche. |
Please refer the below video on complete video on Adhoc testing:
Exploratory Testing?
When should we do Exploratory Testing?
Advantages of Exploratory testing
Disadvantages of Exploratory testing
Positive Testing
Negative Testing
Positive Testing |
Negative
Testing |
Positive
Testing means testing the application or system with valid data. |
Negative
Testing means testing the application or system with invalid data. |
It is always
done to verify the known set of test conditions. |
It is always
done to break the project or product with unknown set of test conditions. |
It ensures
software is normal. |
It ensures
100% defect free software. |
It doesn’t
cover all possible cases. |
It covers all
possible cases. |
It can be performed
by people having less knowledge. |
It can be performed
by professionals. |
Positive
testing is implemented only for the expected conditions. |
Negative
testing is implemented only for unexpected conditions. |
It is less
important as compare to negative testing. |
It is more
important as compare to positive testing. |
Positive
testing can be implemented on every application. |
Negative
testing can be implemented when the possibilities of unpredicted conditions. |
Smoke Testing:
How to do Smoke Testing:
Why We Perform Smoke Testing:
Smoke Testing Example
A web page for insurance add a claim status page. Tester would apply smoke test to verify that the existing build works on fundamental level , such as user can login in or not and navigate to claim status page or not , and retrieve the status report of specific claim without the app crashing.
Sanity Testing:
How to do Sanity Testing
Why We Perform Sanity Testing
Sanity Testing Example
A web page for loan provider returns a 404 error for personal loan page. The developers fix the issue and submit the build for testing. The QA professional perform a sanity test to determine whether the basic functionality and navigation for that specific page is working as intended or not.
Smoke Vs Sanity
Smoke |
Sanity |
Smoke Testing
is performed to ascertain that the critical functionalities of the
program are working fine. |
Sanity
testing is done at random to verify that each
functionality is working as expected. |
Smoke testing
is usually documented and scripted. |
Sanity
testing is not documented and is unscripted. |
Smoke Testing
has a goal to verify “stability”. |
Sanity
Testing has a goal to verify “rationality”. |
Testing is
done by both developers or testers. |
Sanity
Testing is done by only testers. |
Smoke testing
is a subset of acceptance testing. |
Sanity
testing is a subset of Regression Testing. |
This is a
wide and High Level testing. |
This is a
wide and shallow testing. |
It is a
well elaborate and planned testing. |
This is
not a planned test and is done only when there is a shortage of time. |
Smoke testing
exercises the entire system from end to end. |
Sanity
testing exercises only the particular component of the entire
system. |
Please refer the below video on complete video on Smoke and Sanity Testing:
Error Guessing Testing
Error Guessing Testing example:
Advantages of Error Guessing Testing
Disadvantages of Error Guessing Testing
What is UI (user interface) testing?
Why we do GUI testing?
What we verify as part of GUI testing
Advantages of UI or GUI Testing
What is Object Properties Testing?
Object Properties Testing example:
Quality Assurance VS Quality Control
QA |
QC |
QA is the process of managing for
quality. |
QC is used to the verify the
quality of the output. |
QA aims to prevent the defect. |
QC aims to identify and fix the
defect. |
It is method to manage the quality
verification. |
It is a method to verify the
quality validation. |
It is preventing technique. |
It is a corrective technique. |
It is the process to create the
deliverables. |
It is the process to verify the
deliverables. |
QA -> SDLC process. |
QC-> STLC Process. |
Involvement of whole team. |
Involvement of Testing Team |
Perform before QC. |
After QA |
Please refer the below video on difference between QA and QC:
Verification | Validation |
Verification
is the process of checking the documents (BRD, SRS), design, code and
programs. | Testing and
validation of actual product. |
Are we
building the product write? s/w meets the specification or not? Here we are
checking whether we are developing right product or not. | Are we
building the right product or not? s/w
meets the requirement or not? We check whether the developed module is right
or not. |
Static
Testing | Dynamic
Testing |
Methods – Inspection,
Reviews and walk through. | Methods - Unit,
integration, system, Acceptance, black box, functional and non-functional
testing. |
QA comes
under verification. | QC comes
under validation. |
QA involved | Tester
involved with the help of QA |
It comes
first | It comes
later |
It finds the
bug early in the development life cycle. | It finds the
bugs that verification cannot catch. |
Please refer the below video on difference between Verification and Validation:
What is Acceptance Testing:
Advantages of Acceptance Testing
Levels of Acceptance Testing
Alpha Test OR Pre UAT Testing
Advantages of Alpha Testing or Pre UAT
Beta Test OR Post UAT
Advantages of Beta Testing or Post UAT
What is System Testing?
Types of System Testing
Advantages of System Testing
Functional Testing
These are black box testing techniques which test the functionality of the application.
Types of Functional Testing
Non-Functional Testing
Types of Non-Functional Testing
Integration Testing And Its Approaches
What is Integration Testing:
Integration Testing Approaches:
1. Big – Bang Integration Approach
Limitations Faced in Big – Bang Integration Approach
2. Incremental Approach
Stubs And Drivers
This are the temporary component which are used in place of sub module and main module
Stubs :- It is substitute for sub module in top - down integration approach.
Driver :- It is substitute for Main module in Bottom - up integration approach.
Advantages of Integration Testing
Disadvantages of Integration Testing
Please refer below video for more detail on Integration Testing And Its Approaches: