Sie sind auf Seite 1von 41

Software testing

Software Testing Introduction

Abhijeet Savkar

Contents:
Introduction to software Testing
When to start and stop Testing.
Seven Principles of Testing.
Software Development Life Cycle.
(Waterfall model, Incremental Model,

Prototype Model, Spiral Model,V model,


Agile Model.)
Software testing Life cycle.

Introduction to Software
Testing
Software testing is an activity to check whether the actual

result match the expected result and to ensure that software


system is defect free.
Testing is process of evaluating a system or its components

with intent to find that whether it satisfies requirements or not.


three important factors for software testing

1)Software should test within time period.


2)It should be cost effective.
3)It should be quality product.

When to start and stop


testing
Start of testing-

1)As early as possible.


2)At requirement gathering phase
3)Depend of software development model.
Stop of testing-

1)Completion of test case execution.


2)Completion of Functional and code coverage to
certain point.
3)Testing Deadlines.
4)No high priority bugs are identified.
5)Management decision.

Seven Principles of
testing
P1 ->Testing shows Presence of defects.
P2->Exhaustive testing is impossible.
P3->Early Testing.
P4->Defect Clustering.
P5->Pesticide Paradox.
P6->Testing is Context depending.
P7->Absence of errors Fallacy.

Software Development Life Cycle

Software Development
Model.
1)Water Fall Model
2)Incremental model
3) Prototype Model
4)RAD Model
5)Spiral Model
6)V Model
7)Agile Model

Water Fall Model

Advantages of water fall modelSimple and easy understand and use.


Phases are processed and completed one at a

time.
Works well for smaller projects where

requirements are very well understood.

Disadvantages of water fall modelIt is very difficult to go back and change something
that was not well thought out in the concept stage.
No working software is produced until during the life
cycle.
High amount of risk and uncertainty.
Not a good model for complex and object oriented
projects.
Poor model for long and ongoing project.
Not suitable for the projects where requirements are
at a moderate to high risk of changing.

Incremental Model

Advantages Of Incremental Model


1)Generates working s/w quickly and early

during the software life cycle.


2)More flexible less costly to change scope
and requirements.
3)Easier to test and debug during a smaller
iterations.
4)Customer can respond to each built.
5)easier to manage risk because risky pieces
are identified and handled during its iteration.

Disadvantages of Incremental
model
1)Needs good planning and design.
2)Needs a clear and complete definition of the

whole system before it can be broken down


and built incrementally.

Prototype Model

Advantages of prototype model


Users are actively involved in the

development
It provides a better system to users, as users
have natural tendency to change their mind in
specifying requirements and this method of
developing systems supports this user
tendency.
Errors can be detected much earlier as the
system is mode side by side.
Quicker user feedback is available leading to
better solutions.

Disadvantage of prototype model


Leads to implementing and then repairing

way of building systems.


Practically, this methodology may increase

the complexity of the system as scope of the


system may expand beyond original plans.

RAD Model

Advantages of the RAD Model


1)Reduced development time.
2)Increase reusability of components.
3)Quick initial reviews occur.
4)Encourages customer feedback.
5)Integration from very beginning solves a lot

of integration issues.

Disadavantages of RAD model


Depends on strong team and individual

performances for identifying business


requirements.
Only system that can be modularized can be
built using RAD.
Requires highly skilled developers/designers.
High dependency on modeling skills.
Inapplicable to cheaper projects as cost of
modeling and automated code generation is
very high.

Spiral Model

Cumulative cost
Determine objectives,
alternatives & constraints

Prototypes

Evaluate alternatives,
Identify & resolve risks

Operational
Prototype

Start P1
P2
P3
Requirements
Concept
Design, Detailed design
plan
Of Operation Validation
Development
& Verification
plan
Requirements
Coding
validation
Integration &
Test plan
Unit & Integration
Testing
End Acceptance
Develop & verify
Plan next phase
Testing
next-level product

Review &
commitment

Spiral Model

Advantages of Spiral
model
High amount of risk analysis hence, avoidance

of risk is enhanced.
Good for large and mission-critical projects.
Strong approval and documentation control.
Additional functionality can be added at a
later date.
Software is produced early in the software life
cycle.

Disadvantages of spiral model


Can be costly model to use
Risk analysis requires highly specific

expertise.
Projects success is highly dependent on the
risk analysis phase.
Does not work well for smaller projects.

V Model

Advantages of V model
Development and progress is very organized

and systematic
Works well for smaller to medium sized
projects.
Testing starts from beginning so ambiguities
are identified from the beginning.
Easy to manage as each phase has well
defined objectives and goals.

disadvantages of V model
Not suitable for bigger and complex projects
Not suitable if the requirements are not

consistent.
No working software is produced in the
intermediate stage.
No provision for doing risk analysis so
uncertainty and risks are there.

Agile model

Advantages of Agile Model

Customer satisfaction by rapid, Continuous delivery

of useful s/w.
People and interactions are emphasized rather than
process and tools, Customers developers and
testers constantly interact with each other.
Working s/w is delivered frequently(Weeks rather
than months).
Face to face communication is the best form of
communication.
Close daily cooperation between business people
and developers.

Disadvantages of Agile model


In case of some s/w deliverables, especially

the large ones, it is diffcult to assess the effort


required at the beginning of the s/w
development life cycle.
There is lack of emphasis on necessary
designing and documentation.
The project can easily get taken off track if
the customer representative is not clear what
final outcome that they want.

Software Testing Life


Cycle

Requirement
Analysis

Requirement
gathering

Design

Test planning ,Test


design

Coding or
development

Test case writing

Testing

SDLC
VS
STLC

Testcase
development

Deployment

Final test
execution

Maintenance

Maintenance
Testing

REFERENCES
Google.com

THANK YOU !!!

Das könnte Ihnen auch gefallen