Software Testing
An overview
Introduction & Fundamentals
What is Software Testing?
Why testing is necessary?
Who does the testing?
What has to be tested?
When is testing done?
How often to test?
Most Common Software problems
Incorrect calculation
Incorrect data edits & ineffective data
edits
Incorrect matching and merging of data
Data searches that yields incorrect
results
Incorrect processing of data
relationship
Incorrect coding / implementation of
business rules
Inadequate software performance
Confusing or misleading data
Software usability by end users &
Obsolete Software
Inconsistent processing
Unreliable results or performance
Inadequate support of business needs
Incorrect or inadequate interfaces
with other systems
Inadequate performance and security
controls
Incorrect file handling
Testing is the process of exercising a
Software Testing
program with the specific intent of finding
errors prior to delivery to the end user.
5
What Testing Shows
errors
requirements conformance
performance
an indication
of quality
6
Who Tests the
Software?
developer independent tester
Understands the system Must learn about the system,
but, will test "gently" but, will attempt to break it
and, is driven by and, is driven by quality
"delivery"
7
Objectives of testing
Executing a program with the intent of
finding an error.
To check if the system meets the
requirements and be executed
successfully in the Intended environment.
To check if the system is “ Fit for purpose”.
To check if the system does what it is
expected to do.
Objectives of testing
A good test case is one that has a
probability of finding an as yet
undiscovered error.
A successful test is one that uncovers a
yet undiscovered error.
A good test is not redundant.
A good test should be “best of breed”.
A good test should neither be too simple
nor too complex.
Objective of a Software Tester
Find bugs as early as possible and make sure
they get fixed.
To understand the application well.
Study the functionality in detail to find where the
bugs are likely to occur.
Study the code to ensure that each and every
line of code is tested.
Create test cases in such a way that testing is
done to uncover the hidden bugs and also
ensure that the software is usable and reliable
Error and Bug Terminology:
Bug refers to any shortcoming in a software
system that causes it to behave in unexpected
and undesirable ways.
These could range from irrational or incorrect
responses to unpredictable failures, system
crashes, etc.
Essentially, a programming error leads to
software malfunction detected before the
website or app is deployed to production.
Bugs usually result from coding mistakes, such
as syntax, logic, or data processing errors.
Error and Bug Terminology:
Bugs can be of multiple types. A few of them
would be:
• Bugs affecting algorithms
• Bugs affecting logic – e.g. infinite loops
• Bugs emerging due to uninitialized variables
Example : Let’s say that an eCommerce website
has an Add to Cart button – as it should;
however, when clicked, the button opens a
window leading back to the product catalog
rather than the payment page.
This unpredictable and irrational behavior is a
bug that needs to be fixed.
What is an Error?
Error refers to a coding or programming mistake,
usually due to incorrect syntax or faulty loops.
Errors emerge from the source code, caused by
inconsistencies or outright fallacies in the
internal code structure. They are anomalies
triggered by misconceptions, oversights, or
misunderstandings from the developer’s
(engineers, testers, analysts, etc.) end.
.
.
What is an Error?
Errors are also of various types:
Errors in calculation caused by wrong formulae
Data handling errors caused by overwriting
necessary files
Configuration errors caused due to insufficient
storage space.
.
Example of an Error
Let’s say a dev has typed an incorrect variable
name or mistaken a design notation.
The result will be inconsistencies (incorrect
login, syntax, or logic) in code, leading to an
error.
Difference between Errors and Bugs
Errors in software are mistakes made during
development and can be more conceptual or
logical.
Bugs are the manifestations of those
errors in the functioning of the software and are
specific instances of incorrect behavior within
the program.
Difference between Errors and Bugs
Bug Error
Occurs due to shortcomings in the Occurs due to some mistake or
software system misconception in the source code
Detected before the software is Detected when code is to be
pushed to production compiled and fails to do so
May be caused by human oversight It caused by human oversight
or non-human causes like
integration issues, environmental
configuration, etc.