Unit-II
Unit-II
Fundamentals of Testing
Unit-II
Fundamentals of Testing
• Definition of Software Testing
• While testing has no single standard
definition, some popular ones are:
• Glenford J Myers; an American author,
computer scientist, and entrepreneur;
defines testing as— “the proces s of
executing a program or part of a program
with the intention of finding errors.”
• institute of Electrical and Electronic
Engineers (IEEE 83a) standard defines
testing as— “the process of exercising or
evaluating a system or system component
by manual or automated means to verify
that it satisfies specified requirements.”
• To sum up, software testing is the act of
“verifying if the software behavior is as
expected.
Need for Software Testing
• Debugging
• Debugging is a part of the development
activity that identifies, analyzes, and
removes defects. Debugging is performed
by Developers on their piece of code.
• Testing
• Testing is the activity of identifying defects
and is performed by Testers.
• Testing is done by testers in an
environment similar to production. There
are different kinds of software testing
levels, types, and techniques. These two
terms, Debugging and Testing, are often
confused and used interchangeably.
• Review
• A review can be performed on deliverables
like documents, code, test plan, and test
cases. While testing can only be done when
the executable code is ready, reviews can
be done on different kinds of documents
and at all stages of development.
• Reviews are commonly referred to as a
static testing technique as they are done
without executing the code. Reviews are
very important for each software or product
as finding a defect early will reduce its
development cost and time.
• Role of Software Testing
• Rigorous testing is necessary during software
development and maintenance to Identify defects
• Reduce failures in the operational environment
• Increase quality of the operational system.
• meet contractual or legal requirements
• Meet industry-specific standards, which may
specify the type of techniques that must be used or
the percentage of the software code that must be
executed.
Objectives of Software Testing