Department of Computing Adama Science and Technology University
Department of Computing Adama Science and Technology University
Department of Computing Adama Science and Technology University
Instructor ---------
Dr. T.Gopi Krishna
E-mail --------------
gktiruveedula@gmail.com
Definitions-> Error, fault, failure, and defect
Error: A human action that produces an incorrect result.
Fault: An incorrect step, process, or data definition in a computer program.
Failure: The inability of a system or component to perform its required functions
within specified performance requirements.
Failure refers to a behavioral deviation from the user requirement or the product specification.
Fault refers to an underlying condition within a software that causes certain failure(s) to occur;
Error refers to a missing or incorrect human action resulting in certain fault(s) being injected
into a software.
Note: “Debug “/Debugging” The term --> means “get rid of the bugs”. It includes activities
related to detecting the presence of bugs while dealing/fixing the bugs.
Two similar concepts related to software testing,
frequently used by practitioners are verification and
.
Rather, it must be good enough for its intended use and the type of use
will determine the degree of confidence that is needed
Static verification:
Software inspections: Concerned with analysis of the static system
representation to discover problems
1.May be supplement by tool-based document and code analysis
Dynamic verification:
The system is executed with test data and its operational behavior is
observed
Software
specifications
Requirements
High level Formal Detailed
specification Program
Design Specification Design
Program
Prototype
Testing
Careful planning is required to get the most out of testing &
Inspection processes should be started early in the
development process.
Reliability validation:
1.Does the measured reliability of the system meet its specification?
2.Is the reliability of the system good enough to satisfy users?
Security validation:
Is the system and its data secure against external attack?
These are techniques that are concerned with validating the system in
execution.
1. Testing Techniques - analyzing the system outside of its operational
environment (@ Developing organization)
Reliability validation:
Reliability validation involves exercising the program to assess whether
or not it has reached the required level of reliability
Itsome
is intended to demonstrate that the system cannot enter
unsafe or an insecure state rather than to demonstrate
that the system can do something
Tool-based validation:
Various security tools such as password checkers are used
to analyze the system in operation.
Security teams:
A team is established whose goal is to breach the security of
the system by simulating attacks on the system.
Software Testing answers the question
“Does the s/w behave as specified...?”
Aerror.
process of executing a program with the intent of finding an
........ Glen Myers
However
used.
it also depends on the development model that is being
every
But in incremental model, testing is performed at the end of
increment/iteration and at the end the whole application is
tested.
Unlike when to start testing, it is difficult to determine when to
stop testing, as testing is a never ending process and no
one can say that any software is 100% tested. Following are
the aspects which should be considered to stop the testing:
Testing Deadlines.
Management decision.
Completion of test case execution.
Completion of Functional and code coverage to a certain point.
1.A set of test inputs. These are data items received from an external source by the
code under test. The external source can be hardware, software, or human.
2. Execution conditions. These are conditions required for running the test, for
example, a certain state of a database, or a configuration of a hardware device.
3. Expected outputs. These are the specified results to be produced by the code under
test.
4.TestCase id: Unique identification purpose.
Test Set:
A group of related tests is sometimes referred to as a test set.
Test Suite:
A group of related tests that are associated with a database, and are
usually run together, is sometimes referred to as a test suite
A test bed is an environment that contains all the
hardware and software needed to test a software
component or a software system.