Chapter 1
Chapter 1
Testing
Software Testing
• Software testing is a process, to evaluate the functionality of a
software application with an intent to find whether the developed
software met the specified requirements or not and to identify the
defects to ensure that the product is defect-free in order to produce
the quality product.
• Software testing is a process used to identify the correctness,
completeness, and quality of software. It involves executing a
software application or system to find defects or bugs, verify that it
works as intended, and ensure it meets the specified requirements.
• Definition:
• Software Testing Definition according to ANSI/IEEE 1059 standard –
• A process of analyzing a software item to detect the differences
between existing and required conditions (i.e., defects) and to
evaluate the features of the software item.
• Software testing is required to check the reliability of the software.
• It required to make sure that the final product is user friendly.
• Software testing ensures that the product is in line with requirement
of the client.
• Software is developed by a team of a all having different viewpoints
and approach.
Difference between Defect, Error, Bug, Failure and Fault
Testing is the process of identifying defects, where a defect is any
variance between actual and expected results.
“A mistake in coding is called Error, error found by tester is called
Defect, defect accepted by development team then it is called Bug,
build does not meet the requirements then it Is Failure.
DEFECT
• It can be simply defined as a variance between expected and actual.
Defect is an error found AFTER the application goes into production.
It commonly refers to several troubles with the software products, with
its external behavior or with its internal features.
• BUG: A bug is the result of a coding error. An Error found in the
development environment before the product is shipped to the customer.
A programming error that causes a program to work poorly, produce
incorrect results or crash. An error in software or hardware that causes a
program to malfunction. Bug is terminology of Tester.
• FAILURE: A failure is the inability of a software system or component to
perform its required functions within specified performance
requirements. When a defect reaches the end customer it is called a
Failure.
• FAULT: A fault is introduced into the software as the result of an error. It
is an anomaly in the software that may cause it to behave incorrectly, and
not according to its specification. It is the result of the error.
Benefits of Software Testing
• Customer Satisfaction:
• Cost Savings:
• Security Assurance:
• Improve software quality
• Product Quality
Types of Testing
1)Functional Testing:
2)Non Functional Testing
3)Maintenance (Regression)
4)Unit Testing
5)Integration Testing
6)System Testing
7)Program Testing
Functional Testing:
• Functional Testing is a type of software testing that verifies whether
the software functions according to the specified requirements and
performs its intended tasks correctly.
• It focuses on testing the functional aspects of the software, ensuring
that each feature works as expected from the end user's perspective.
1. Verification means checking the Validation means testing the actual product.
documents, languages, designs,
and other programming things.
2. Verification does not involve the Validation involves the execution.
execution of the code.
3. It is considered static testing. It is considered dynamic testing.
4. Verification uses methods such as Validation uses a method such as White Box
walkthroughs, reviews, desk- Testing, Black Box Testing, etc.
checking, and inspection.
5. It has the ability to detect errors It can only detect errors that could not be
quickly determined by the verification method.