2. DEFINITION
Software testing is a set of processes aimed at
investigating, evaluating and ascertaining the
completeness and quality of computer software.
Software testing ensures the compliance of a
software product in relation with regulatory,
business, technical, functional and user
requirements.
Software testing is also known as application
testing.
3. DEFINITION
Software testing is primarily a broad process that is
composed of several interlinked processes. The
primary objective of software testing is to measure
software health along with its completeness in
terms of core requirements. Software testing
involves examining and checking software through
different testing processes. The objectives of these
processes can include:
4. DEFINITION
Verifying software completeness in regards to
functional/business requirements
Identifying technical bugs/errors and ensuring the
software is error-free
Assessing usability, performance, security,
localization, compatibility and installation
5. DEFINITION
The tested software must pass each of the tests in-
order to be considered complete or fit for use.
Some of the different types of software testing
methods include white box testing, black box
testing and grey box testing. Moreover, the software
can be tested as a whole, in components/units or
within a live system.
6. DIFFERENT TYPES OF TESTING
Dynamic v/s Static Testing
Development v/s Independent Testing
Black v/s White Boxing Testing
Behavioral v/s Structural Testing
Automated v/s Manual Testing
Sanity, acceptance and Smoke Testing
Regression Testing
Exploratory and Monkey Testing
Debugging v/s bugging
7. DYNAMIC V/S STATIC
Static Testing : This testing refers to testing
something that’s not running-Examining and
reviewing it.
Dynamic Testing : This you would normally think of
as testing-running and using the software.
8. DEVELOPMENT V/S INDEPENDENT
Development Testing : It denotes the aspects of test
design and implementation most appropriate for the
team of developers to undertake.
Independent Testing : It denotes the test design and
implementation most appropriately performed by
someone who is independent from the team of
developers.
9. BLACK V/S WHITE BOX TESTING
Black-box tests focus and rely upon the unit’s input
and output.
A white-box test approach should be taken to verify
a unit’s internal structure.
10. BEHAVIORAL V/S STRUCTURAL TESTING
Behavioral Testing : The behavior of the software
when it’s used without knowing the internal logics
how they are implemented.
Structural Testing : The software use the underlying
structure of the code to design and run your tests.
11. AUTOMATED V/S MANUAL
Automated Testing : Software testing assisted with
the software tools that require no operator input,
analysis, or evaluation.
Manual Testing : That part of software testing that
requires human input, analysis, or evaluation.
12. SANITY, ACCEPTANCE & SMOKE TESTING
Sanity Testing : It is performed whenever a cursory
testing is sufficient to prove the application its
functioning according to specifications.
Acceptance Testing : Acceptance testing is the final
test action before deploying the software.
Smoke Testing : Smoke testing is non-exhaustive
software testing, ascertaining that the most crucial
functions of a program work, but not bothering with
finer details.
13. REGRESSION TESTING
Regression testing is initiated after a programmer
has attempted to fix a recognize problem or has
added a source code to a program that may have
inadvertently introduced errors.
It is quality control measure to ensure that the
newly modified code still compiles with its specified
requirements and that unmodified code has not
been affected by the maintenance activity.
14. EXPLORATORY & MONKEY TESTING
Exploratory Testing : It involves simultaneously
learning, planning, running tests, and
reporting/troubleshooting, results.
Monkey Testing : This is another name foe “ Ad hoc
testing”. The use of monkey testing is to simulate
how your customers will use your software in real
time.
15. DEBUGGING V/S BUGGING
Debugging Testing : The process of finding and
removing the causes of failures in software .
The role is performed by a programmer.
Bugging Testing : The process of intentionally
adding known faults to those already in a computer
program for the purpose of monitoring the rate of
detection and removal, and estimating the number
of faults remaining in the program.