Software Testing
- 2. WHAT IS TESTING?
•
Testing is a process to detect defect in any
application in order to reduce various risks
associated with the application and improve
the quality of the application.
- 3. Types of Testing
•
Static testing
Static testing is a type of testing, In which execution of code is
not performed.
Example: Code review, Document review etc.
•
Dynamic testing
Dynamic testing is a type of testing, In which execution of code
is done.
Example: White box testing, Black box testing etc.
- 5. White box testing
White box testing is a method in which tester
can view the internal structure and flow of code.
That’s why it’s also called glass box testing.
Example: Statement coverage, branch coverage,
path coverage.
- 6. Black box testing
•
Black box testing is a method in which tester
can’t view the internal structure and flow of
code. In this method tester provide input and
gets the output and compare the actual
output with expected output.
- 7. Gray box testing
•
Gray box testing is a method in which tester
can view some part of the internal structure
and flow of code and rest of the code or
functionalities are tested using black box
testing method.
•
Example: API testing, Database testing etc.
- 9. Unit Testing
•
Unit testing often refers to the testing of
smallest piece of code i.e. class, function or
procedure. It is mostly automated and done
by developers. Unit testing is also called
component testing.
- 10. Integration Testing
•
Integration testing is performed to test the
interface between two or more modules.
Scope of integration testing is only to verify
the proper integration of two or more
modules, not the complete testing of these
modules.
•
Integration testing is further divided in for
types:
•
Top down approach
•
Bottom up approach
- 11. System Testing
•
System testing is performed to test the
behavior of completely integrated system, in
order to verify that system’s actual behavior
matches with the expected behavior.
•
Both functional and non-functional testing are
the part of system level testing.
- 13. Alpha Testing
•
Alpha testing is done at acceptance level by
testing team for the application at
development site.
•
Alpha testing may also be performed by
isolated member’s team at development site.
(Neither by testing team nor by development
team)
- 14. Beta testing
•
Beta testing is done at acceptance level by
potential end users for the application in real
environment
•
Beta testing may be performed by client,
stakeholders or his team in real environment/
client’s side, if there are no other end users
exist.
- 15. Functional Testing
•
Functional Testing is performed to ensure that
actual functional behavior of particular
module/ system is as per expected behavior.
E.g. Testing of individual Sign Up/Login/Check
out module OR a Testing of a complete flow of
e-commerce application (Signup – Login –
Product details – Add to cart – Billing &
shipping info – Check out & Payment)
- 16. Non Functional Testing
•
Non functional testing emphasis on testing of
non functional aspects for the application. Eg.
UI testing, Localization testing, Security
testing, Load/stress/performance testing etc.
- 17. Retesting
•
Retesting is performed when developer fix the
earlier reported bugs and tester need to verify
that the bugs are fixed properly and any other
bug is not appearing due to current bug fixing
in relevant sections/ functionalities. E.g. Bug
Verification for registration section.
- 18. Regression
Regression is performed in two scenarios:
1. when any changes/ enhancements are implemented
by developers. Scope of regression is to ensure that
newly introduced changes are not impacting the
current desired functionality of not only that specific
module but also relevant module/functionalities. E.g.
‘Forgot password’ functionality is introduced on sign in
screen. In this case ‘Login, Sign Up/my account –
change password’ sections will be tested also.
2. After completion of retesting, to ensure that there
are no adverse effect of bug fixing are reflected on that
particular AND other relevant module/functionalities.
- 19. Smoke Testing
•
Smoke testing some times also known as
‘Build acceptance/ verification testing’. Scope
of smoke testing is to ensure that most critical
functionalities of the application are working
properly.
•
Smoke testing ensures that build/ application
is ready for thorough testing or not.
•
Positive testing approach is used for smoke
testing.
- 20. Sanity Testing
•
Sanity testing focus on particular module or
functionality. Sanity testing is used to verify
that smaller section/functionalities are
working properly.
•
Sanity testing is mostly done in ‘deep’ and
‘narrow’ way to cover detailed business
requirements.
•
Sanity testing may include negative testing
approach also.