2. NEED FOR TESTING GOALS OF TESTING
o To demonstrate Data Completeness
-product performs each Data Transformation
function intended. Data Quality
-internal operations of Regression Testing
product meets
Performance and
requirement.
Scalability
o Free from defects
View Testing
o To increase confidence in
proper functioning of
S/W.
3. OBJECTIVES OF TESTING
Testing cannot show the absence of defects, it can only
show that s/w defects are present.
Testing is a process of executing a program with an
intention to find error.
A successful test is one that uncovers an undiscovered
error.
Benefits of Testing:
Huge loss in terms of money, lives, time , trust and
reputation can be avoided.
Improves confidence of Warehouse and respective
applications using the data.
Makes sure requirements are met.
4. TESTING DEFINED
Testing is no longer adjunct to the SDLC, but rather
is a key part of it.
s/w testing validates the behavior of a program with
a finite set of test cases against the specified
expected behavior.
a “GOOD TEST CASE” is one that has high
probability if finding an yet undiscovered error.
The goal is to optimize „cost of quality‟, production
process to the extent that rework is eliminated and
inspection is built into the production process.
5. WHAT IS A BUG?
Error : human action that produces incorrect result.
Fault(bug): manifestation of error in s/w
Failure: deviation of s/w from its expected delivery
or service. A fault may cause the failure.
Failure is an event; fault is the state of the s/w,
caused by the error.
..that can cause
A Person makes ..that creates a
an operation
an error… fault in s/w..
failure..
6. HOW MUCH TESTING?
It depends on the following RISK:
1. RISK of missing important faults
2. RISK of incurring failure costs
3. RISK of releasing untested or under tested s/w.
4. RISK of losing credibility and market share.
5. RISK of missing a market window.
6. RISK of over-testing and ineffective testing.
“Prioritize tests so that, whenever you stop testing,
you have done the best testing in the time
available.”
7. LIFE CYCLE MODELS (SDLC)
Following are the three life cycle models (SDLC)
Waterfall model
Spiral model or Iterative model
Incremental model
9. Approach : Disadvantages:
1) Document system A. Requirements evolve
concept as development
2) Identify system continues.
requirements and B. Problems in
analyze requirements and
3) Detailed design design may not be
found until very late.
4) Coding, Debugging
and Unit testing C. Testing is carried out
in the end of s/w
5) Integration testing
process which results
6) Deploy the system in a poor test
and operate.
11. SPIRAL MODEL (CONTD.)
Spiral model is a software development model
combining elements of both design and prototyping-
in-stages, so it is a healthy mix top-down and
bottom-up concepts.
Each phase starts with a design goal (such as user
interface prototype as an early phase) and ends
with the client (which may be internal) reviewing the
progress thus far.
Analysis and Engineering Efforts are applied to
each phase of the project, with an toward the end
goal of the project.
12. DISADVANTAGES OF SPIRAL MODEL WITH
RESPECT TO TESTING
Project is finalized only if all the risks are analyzed.
It is extremely risk-driven.
Spiral model targets testing by treating it as a risk,
which has to be addressed.
Test estimation (Budget/Schedule) is extremely
difficult.
14. INCREMENTAL MODEL (CONTD.)
It is a model in which all the requirements are collected
at one shot.
Multiple development life cycles take place making it a
“multi-waterfall” cycle.
Cycles are divided up into smaller, more easily managed
iterations.
Each iteration passes through the requirements, design,
implementation and testing phases
A working version of software is produced during the
first iteration, so you have working software early on
during the software life cycle
Subsequent iterations build on the initial software
produced during the first iteration
Increments can be sequential or parallel.
15. EVOLUTION OF V MODEL
V- model is a process where the development and
testing phases can be parallel. For every development
phase there is a testing phase. Development phases are
called verification whereas testing phases are called
validation.
Verification means checking if the software implements
correctly or not. Validation means checking if the
software that has been built is traceable to the customer
requirements or not.
V Model is the process model to provide quality product
by combining SDLC and STLC. In this model both SDLC
and STLC works parallel.
Left Hand side of the V model contains SDLC in downhill
direction whereas right hand side of the V model
contains STLC in uphill direction.
17. V &V MODEL
Verification: Verification is the activity, which
ensures the work products of a given phase fully
implement the inputs to that phase or "the product
is built right”.
Validation: Validation, in its simplest terms, is the
demonstration that the software implements each of
the software requirements correctly and completely.
In other words, the "right product is built“.
18. BENEFITS OF V &V MODEL
The V&V-model promotes the idea that every
deliverable should have an associated test activity.
It promotes both static testing of early document or
code deliverables and dynamic test stages of
software deliverables.
Each test phase and test type can uncover and
remove defects from the software as early as
possible.
A specific set of measurable quality goals can also
be achieved at the end of each test phase.
20. TYPES OF TESTING
1. UNIT TESTING
2. INTEGRATION TEST
3. SYSTEM TEST
4. ACCEPTANCE TEST
5. USER REQUIREMENTS TEST
6. SYSTEM REQUIREMENTS TEST
7. DESIGN TEST
8. ALPHA TEST
9. PRE BETA TEST
10. BETA TEST
11. USER INTERFACE TEST
12. INSTALLATION TEST
13. CONFIGURATION TEST
14. DOCUMENTATION TEST
15. REGRESSION
21. TYPES OF TESTING(CONTD.)
16. NETWORK
17. AD-HOC
18. COMPATIBILITY
19. USABILITY
20. STATIC AND DYNAMIC ANALYSIS
21. SMOKE TESTING
22. RECOVERY TESTING
23. LOCALIZATION TESTING
24. INTERNATIONALIZATION TESTING
25. SECURITY TEST
26. PILOT TESTING
27. AUTOMATED
28. WHITE BOX
29. BLACK BOX