SlideShare a Scribd company logo
1 of 28
Download to read offline
Day 2

Testing Throughout SDLC

© Mahindra Satyam 2011
Learning Objectives
 Software Development Life Cycle

 Software Development Models
 Waterfall model
 V-model (Sequential Development Model)

 Iterative-incremental Development Model

 Agile Methodology

© Mahindra Satyam 2011
2
Software Development Life Cycle
 The Software Development Life Cycle is a step-by-step process involved in the
development of a software product.

 The whole process is generally classified into a set of steps and a specific
operation will be carried out in each of the steps.

 The basic classification of the whole process is as follows:


Initial



Analysis



Design



Coding



Testing



Maintenance

Initial:
• The main aim of the initial phase is requirements gathering.
• The responsible person is “BA – Business Analyst”
• The outcome document name is “BRS – Business Requirements
Specification”.
© Mahindra Satyam 2011
3
Contd..
Analysis:
• In this phase requirements are analyzed for the feasibility of implementation.
• Planning the project, Resource estimation, Schedule preparation, project prototype
will takes place.
• The outcome document name is “SRS – System Requirements Specification”.
• At the end of this phase, both project plan and test plan documents are delivered.

Design:
•
•
•
•
•

The aim is to create the architecture of the total system(including database design).
Dividing the system into no. of module and sub-modules.
Preparing Data-flow diagrams, Control-flow diagrams, Use cases.
Designing Database
The outcome document name is “TDD – Technical Design Document”.

Coding:
• In this phase, programmers prepares/write the code for given specification in
the chosen programming language.
• The outcome is “Source code”.
© Mahindra Satyam 2011
4
Contd..
Testing:
• In this phase, testing team will execute the prepared test cases on the given
build/system.
• Main aim is, to verify that the given system working as per client requirements.
• If test fails, they will raise an incident.
• The outcome documents are: Test Cases, Incidents.

Maintenance:
•
•
•
•

In this phase, the system deployed into the client‟s environment.
Any issue raised by client, environmental problems are handled.
Requirements change requests are handled
Maintenance is made up of:
• Corrective maintenance
• Ex: fixing customer-reported problems
• Adaptive maintenance
• Ex: making the software run on a new version of an OS or Database.
• Preventive maintenance
• Ex: changing the application program code to avoid a potential security hole in an
OS code

© Mahindra Satyam 2011
5
Software
Development Models

© Mahindra Satyam 2011
Waterfall Model

© Mahindra Satyam 2011
Software Development Models – Waterfall model
Waterfall Model

Requirements

 In "The Waterfall" approach, the
whole process of software
development is divided into
separate process phases.

Design

 All these phases are cascaded to
each other so that second phase is
started as and when defined set of
goals are achieved for first phase
and it is signed off, so the name
"Waterfall Model".

Code

 All the methods and processes

Testing

undertaken in Waterfall Model are
more visible.

Release
© Mahindra Satyam 2011
8
Contd..
Advantages

Disadvantages

 It is the simplest software process

 All requirements must be known

model in terms of complexity and
ease of implementation. As you
know, it is nothing but common
sense.

upfront

 Jumping back and forth between
two or more phases is not possible.

 The next phase can be reached only

 This model is extremely easy to

after the previous one has been
completed.

understand and therefore, is
implemented at various project
management levels and in a number
of fields (not just software
development).

 Bugs and errors in the code cannot
be discovered until and unless the
testing phase is reached. This can
lead to a lot of wastage of time and
other precious resources.

 It employs a systematic, orthodox
method of project development and
delivery.

 Not suitable for projects wherein the
project requirements are dynamic or
constantly changing.

© Mahindra Satyam 2011
9
V -Model

© Mahindra Satyam 2011
V-Model

© Mahindra Satyam 2011
11
Contd..
 A framework to describe the software development lifecycle activities from
requirements specification to maintenance. The V-model illustrates how testing
activities can be integrated into each phase of the software development lifecycle.

 The V-Model demonstrates the relationships between each phase of the
development life cycle and its associated phase of testing.

 Testing helps to ensure that the work-products are being developed in the right
way (verification) and that the product will meet the user needs (validation).

Verification
• Checks that the work-product meets the requirements set out for it.
• Verification helps to ensure that we are building the product in the
right way.

Validation
• Checks that the behavior of the work-product matches the customer
needs as defined for the project.
• Validation helps to ensure that we are building the right product as far
as the users are concerned.
© Mahindra Satyam 2011
12
Contd..
V-Model Objectives:

Minimization of Project Risks

Improvement and Guarantee of Quality

Reduction of Total Cost over the Entire Project and System Life Cycle

Improvement of Communication between all Stakeholders

© Mahindra Satyam 2011
13
Contd..
Advantages

Limitations

 The users of the V-Model participate in

 The organization and execution of







the development and maintenance of the
V-Model.
A change control board publicly
maintains the V-Model.
The change control board meets once a
year and processes all received change
requests on The V-Model.
At each project start, the V-Model can be
tailored into a specific project V-Model,
because the V-Model is project
independent.
It provides concrete assistance on how
to implement an activity and its work
steps, defining explicitly the events
needed to complete a work step: each
activity schema contains instructions,
recommendations and detailed
explanations of the activity.

operation, maintenance, repair and
disposal of the system are not covered
by the V-Model. However, planning and
preparation of a concept for these tasks
are regulated in the V-Model.

 The V-Model addresses software
development within a project rather than
a whole organization.

© Mahindra Satyam 2011
14
Iterative-Incremental
Model

© Mahindra Satyam 2011
Iterative-Incremental Model
 This is one where the requirements do not need to be fully defined before coding
can start. Instead, a working version of the product is built, in a series of stages,
or iterations - hence the name iterative or incremental development.

© Mahindra Satyam 2011
16
Contd..
 An Iterative model for development has fewer steps those are:


1) Define Iteration Requirements



2) Build Iteration



3) Test Iteration

 This type of development is often referred to as cyclical - we go „round the
development cycle a number of times‟, within the project.

 Example:
– Assuming a development of a social networking website with parts like
member registration, sign in, forgot password, member profile, search
members, friends list, blog, blog search, photos, photo search and messaging.

 Development:
– First iteration comprising of member registration, sign in, member profile and
search members.

– The second iteration can comprise of friends list, blog, blog search.
– The third iteration can comprise of photos, photo search, messaging and
forgot password.
© Mahindra Satyam 2011
17
Contd..
 Drawbacks:
 The lack of formal documentation makes it difficult to test.
 The working environment may be such that developers make any changes
required, without formally recording them.

 The amount of testing required to ensure that implementation of the changes
does not cause unintended changes to other parts of the software (this is
called regression testing).

© Mahindra Satyam 2011
18
Agile Testing

© Mahindra Satyam 2011
What is Agile Testing ? –Agile values
Core value1: Individuals and interactions over
processes and tools:
• Undocumented process with good interactions among
the stakeholders, than a documented process with
less interactions
Agile Values
(Agile
Manifesto)

How it is
different?

Roles and
Activities

Core value 2: Working software over comprehensive
documentation:
• Running code is ruthlessly honest

Whole team
approach

Core value 3: Customer collaboration over contract
negotiation:
• Customer is part of development process; it is
collaboration in decision meeting, speed of
communication and individual's connect
Core value 4: Respond to change over following a plan:
• Rather than focusing on outdated plan, deal with
changing realities

© Mahindra Satyam 2011
20
Water fall model –Success factors
Complexity = f( development+ target) environment variables

Successful:
The system is
useful when it
is delivered

© Mahindra Satyam 2011
21
Agile – Success factors

Risk reduction:
analyzing,
prioritizing and
attacking the top
risks in each
iteration

Walker Royce, Software project management: A unified framework, 1998, AW
© Mahindra Satyam 2011
22
What is Agile Testing –Meaning whole Team approach
 Business facing tests –tests that describe customer‟s desired features and
functionalities

 It includes functional, system, load, performance, stress, security, usability ..
 Agile testing –does not mean testing on an agile project. Testing is inline with
valuing working software and responding to change

 In Agile not only testers or a quality assurance team own the responsibility for
quality –but entire team
 We just don‟t think of departments -rather the skills and resources we need to
deliver the best possible product.
 Business facing tests –tests that describe customer‟s desired features and
functionalities

 Focus of agile development is producing high quality software in a time frame that
maximizes its value to the business.
 Any task might be completed by any team member or a pair of team members
 Team takes the responsibility of all kinds of testing tasks, such as automating
tests and manual exploratory testing
© Mahindra Satyam 2011
23
Agile Testing –Roles and Activities
Customer Team
• Includes business experts, product owners, domain
experts, product managers, business analysts, Subject
Matter experts
• Customer team writes the stories or feature sets that the
developer team delivers
• They communicate and collaborate with the developer
team through out each iteration
• Testers are integral part of the customer team helping
elicit requirements and examples and helping the
customers express their requirements as tests, make
sure the tests pass, and make sure that adequate
regression tests are automated

Developer Team
• Involved in delivering code
• Discourage specialized roles on the teams and
encourage all team members to transfer their skills to
other members as much as possible
• Testers are also on the developer team

Interaction of roles

© Mahindra Satyam 2011
24

Programmer

Tester

Domain Expert
How Agile Testing is different?

I1

Requirements

I2

I3

I4

Software
Specifications

E
D
C

Code
C

Testing

A

Release

© Mahindra Satyam 2011
25

B

A

B

A

D
C
B

A

B
Traditional Vs Agile Testing
 In water fall model, testing happens towards the end, right before release
 It appears that there is as much time for testing as coding –but in reality it is
not the case –Testing gets squished because coding takes longer time than
expected

 Requirements are taken as inputs and tests are created from a requirement
document

 Agile is incremental with intermediate releases
 Testers test each increment of coding as soon as it is finished (An iteration can
be as short as one week or one month)

 Team builds and tests little bit of code, make sure that it works correctly and
then moves on to the next piece of requirements that need to be built.

 A story is not “done” until it has been tested
 One team might be dedicated to a single project or might be part of another
project

 Tests normally created by business analysts before anyone ever thought of
writing a line of code. It is collaborative effort.
© Mahindra Satyam 2011
26
Ten Principles for Agile Tester
Agile Tester is a professional tester who embraces change,
collaborates well with both development and business team
• Agile testers tend to have good technical skills
• collaborate with others to automate tests, are also experienced exploratory testers
• better understand customer‟s requirements

10 Principles important for agile testers:
• Provide continuous feedback: Feedback helps the team in removing impediments
• Deliver value to the customer: Tester helps the team in limiting the scope and recognizes impact of
cool features to the story
• Enable face to face communication: Any time there is a question about how a feature should work,
tester can pull in a programmer and a business expert to talk about it.
• Have courage: It is a core value in XP such as test automation; continuous integration allow the
team. We need courage to let ourselves fail, learn quickly from that; allow others to make
mistakes, to seek help –when we‟ve blown up an iteration because we didn‟t get a stable build, we
will start thinking of ways to ensure it does not happen again
• Keep it simple: Take a simple approach to ensuring that the software meets requirements
• Practice continuous improvement
• Respond to change
• Self organize
• Focus on people
• Enjoy
© Mahindra Satyam 2011
27
Thank you

mahindrasatyam.com
Safe Harbor
This document contains forward-looking statements within the meaning of Section 27A of the Securities Act of
1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended. The forward-looking
statements contained herein are subject to certain risks and uncertainties that could cause actual results to differ
materially from those reflected in the forward-looking statements. Mahindra Satyam undertakes no duty to
update any forward-looking statements.

© Mahindra Satyam 2011
28

More Related Content

What's hot

Effort Distribution on Waterfall and Agile
Effort Distribution on Waterfall and AgileEffort Distribution on Waterfall and Agile
Effort Distribution on Waterfall and AgileAnanda Pramanik
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software EngineeringPurvik Rana
 
Overview of SDLC - Waterfall, Agile, and more
Overview of SDLC - Waterfall, Agile, and moreOverview of SDLC - Waterfall, Agile, and more
Overview of SDLC - Waterfall, Agile, and moreSteve Gladstone
 
Comparision between waterfall model and agile model
Comparision between waterfall model and agile modelComparision between waterfall model and agile model
Comparision between waterfall model and agile modeldiwas mishra
 
Agile Development Method
Agile Development MethodAgile Development Method
Agile Development MethodJohn Liebenau
 
Agile model in software testing
Agile model in software testingAgile model in software testing
Agile model in software testingpooja deshmukh
 
Software Development with Agile Waterfall Hybrid Method
Software Development with Agile Waterfall Hybrid MethodSoftware Development with Agile Waterfall Hybrid Method
Software Development with Agile Waterfall Hybrid MethodIntland Software GmbH
 

What's hot (20)

Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Agile model
Agile modelAgile model
Agile model
 
Effort Distribution on Waterfall and Agile
Effort Distribution on Waterfall and AgileEffort Distribution on Waterfall and Agile
Effort Distribution on Waterfall and Agile
 
SDLC
SDLCSDLC
SDLC
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 
SDLC MODEL
SDLC MODEL SDLC MODEL
SDLC MODEL
 
Overview of SDLC - Waterfall, Agile, and more
Overview of SDLC - Waterfall, Agile, and moreOverview of SDLC - Waterfall, Agile, and more
Overview of SDLC - Waterfall, Agile, and more
 
Introduction of sdlc
Introduction of sdlcIntroduction of sdlc
Introduction of sdlc
 
Comparision between waterfall model and agile model
Comparision between waterfall model and agile modelComparision between waterfall model and agile model
Comparision between waterfall model and agile model
 
SDLC Smashup
SDLC SmashupSDLC Smashup
SDLC Smashup
 
Waterfall Model
Waterfall ModelWaterfall Model
Waterfall Model
 
Agile Development Method
Agile Development MethodAgile Development Method
Agile Development Method
 
Agile model in software testing
Agile model in software testingAgile model in software testing
Agile model in software testing
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Software Development with Agile Waterfall Hybrid Method
Software Development with Agile Waterfall Hybrid MethodSoftware Development with Agile Waterfall Hybrid Method
Software Development with Agile Waterfall Hybrid Method
 
SDLC-Waterfall-Model
SDLC-Waterfall-ModelSDLC-Waterfall-Model
SDLC-Waterfall-Model
 
Agile Model for Beginner’s
Agile Model for Beginner’sAgile Model for Beginner’s
Agile Model for Beginner’s
 
SDLC
SDLCSDLC
SDLC
 
Sdlc plan
Sdlc planSdlc plan
Sdlc plan
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 

Similar to SDLC Testing Models Agile Iterative

unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJKunit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJKAvijitChaudhuri3
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1Badar Waseer
 
SW Development Methodologies
SW Development MethodologiesSW Development Methodologies
SW Development Methodologiesthiago_tadeu
 
Software development life cycle (sdlc) phases.pdf
Software development life cycle (sdlc) phases.pdfSoftware development life cycle (sdlc) phases.pdf
Software development life cycle (sdlc) phases.pdfPrayas Gokhale
 
Lesson 2 introduction in computing
Lesson 2 introduction in computingLesson 2 introduction in computing
Lesson 2 introduction in computingProfessor Thor
 
Presentation of waterfall model
Presentation of waterfall modelPresentation of waterfall model
Presentation of waterfall modelRohitkumar3723
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)sanoop s
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )eshtiyak
 
Understanding the Software Development Lifecycle [SDLC] | A Comprehensive Guide
Understanding the Software Development Lifecycle [SDLC] | A Comprehensive GuideUnderstanding the Software Development Lifecycle [SDLC] | A Comprehensive Guide
Understanding the Software Development Lifecycle [SDLC] | A Comprehensive GuideGeorgeStanley21
 
Scrum in IT Industry Part1
Scrum in IT Industry Part1Scrum in IT Industry Part1
Scrum in IT Industry Part1JayeshPatil149
 
Software development life cycle model
Software development life cycle modelSoftware development life cycle model
Software development life cycle modelنور شزننا
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSaravanan Manoharan
 
SDLC (Software development life Cycle)
SDLC (Software development life Cycle)SDLC (Software development life Cycle)
SDLC (Software development life Cycle)PrithvirajChauhan61
 
21UCAE65 Software Testing.pdf(MTNC)(BCA)
21UCAE65 Software Testing.pdf(MTNC)(BCA)21UCAE65 Software Testing.pdf(MTNC)(BCA)
21UCAE65 Software Testing.pdf(MTNC)(BCA)ssuser7f90ae
 
Sdlc process document
Sdlc process documentSdlc process document
Sdlc process documentPesara Swamy
 

Similar to SDLC Testing Models Agile Iterative (20)

unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJKunit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
unit2.pdfJgkcGkgcjkGKCJGgscdGSADKJgjsdkgKJAGSDJK
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1
 
SW Development Methodologies
SW Development MethodologiesSW Development Methodologies
SW Development Methodologies
 
Software development life cycle (sdlc) phases.pdf
Software development life cycle (sdlc) phases.pdfSoftware development life cycle (sdlc) phases.pdf
Software development life cycle (sdlc) phases.pdf
 
Lesson 2 introduction in computing
Lesson 2 introduction in computingLesson 2 introduction in computing
Lesson 2 introduction in computing
 
Presentation of waterfall model
Presentation of waterfall modelPresentation of waterfall model
Presentation of waterfall model
 
software development life cycle(SDLC)
software development life cycle(SDLC)software development life cycle(SDLC)
software development life cycle(SDLC)
 
Ijetcas14 545
Ijetcas14 545Ijetcas14 545
Ijetcas14 545
 
SE-03.pptx
SE-03.pptxSE-03.pptx
SE-03.pptx
 
Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )Software Development Life Cycle (SDLC )
Software Development Life Cycle (SDLC )
 
I
II
I
 
Understanding the Software Development Lifecycle [SDLC] | A Comprehensive Guide
Understanding the Software Development Lifecycle [SDLC] | A Comprehensive GuideUnderstanding the Software Development Lifecycle [SDLC] | A Comprehensive Guide
Understanding the Software Development Lifecycle [SDLC] | A Comprehensive Guide
 
Scrum in IT Industry Part1
Scrum in IT Industry Part1Scrum in IT Industry Part1
Scrum in IT Industry Part1
 
Software development life cycle model
Software development life cycle modelSoftware development life cycle model
Software development life cycle model
 
SDLC Models.pdf
SDLC Models.pdfSDLC Models.pdf
SDLC Models.pdf
 
SDLC - Software Development Life Cycle
SDLC - Software Development Life CycleSDLC - Software Development Life Cycle
SDLC - Software Development Life Cycle
 
SDLC (Software development life Cycle)
SDLC (Software development life Cycle)SDLC (Software development life Cycle)
SDLC (Software development life Cycle)
 
21UCAE65 Software Testing.pdf(MTNC)(BCA)
21UCAE65 Software Testing.pdf(MTNC)(BCA)21UCAE65 Software Testing.pdf(MTNC)(BCA)
21UCAE65 Software Testing.pdf(MTNC)(BCA)
 
Chapter 2
Chapter 2 Chapter 2
Chapter 2
 
Sdlc process document
Sdlc process documentSdlc process document
Sdlc process document
 

More from Jyothi Vbs

Kidney book-in-telugu
Kidney book-in-teluguKidney book-in-telugu
Kidney book-in-teluguJyothi Vbs
 
Shri anjaneya dhadakam_telugu
Shri anjaneya dhadakam_teluguShri anjaneya dhadakam_telugu
Shri anjaneya dhadakam_teluguJyothi Vbs
 
Aditya hrudayam-in-telugu
Aditya hrudayam-in-teluguAditya hrudayam-in-telugu
Aditya hrudayam-in-teluguJyothi Vbs
 
Lalitha sahasra namamulu_telugu
Lalitha sahasra namamulu_teluguLalitha sahasra namamulu_telugu
Lalitha sahasra namamulu_teluguJyothi Vbs
 
Telugu strotras
Telugu strotrasTelugu strotras
Telugu strotrasJyothi Vbs
 
Hanuman dandakam
Hanuman dandakamHanuman dandakam
Hanuman dandakamJyothi Vbs
 
Bilvaashtakam in-telugu
Bilvaashtakam in-teluguBilvaashtakam in-telugu
Bilvaashtakam in-teluguJyothi Vbs
 
Shri anjaneya dhadakam_telugu
Shri anjaneya dhadakam_teluguShri anjaneya dhadakam_telugu
Shri anjaneya dhadakam_teluguJyothi Vbs
 
SDLC or Software Development Life Cycle
SDLC or Software Development Life CycleSDLC or Software Development Life Cycle
SDLC or Software Development Life CycleJyothi Vbs
 
Completed slides
Completed slidesCompleted slides
Completed slidesJyothi Vbs
 
20100310 liwen-waterfall (1)
20100310 liwen-waterfall (1)20100310 liwen-waterfall (1)
20100310 liwen-waterfall (1)Jyothi Vbs
 
21 patra with telugu names and mantra for vinayaka chavithi
21 patra with telugu names and mantra for vinayaka chavithi21 patra with telugu names and mantra for vinayaka chavithi
21 patra with telugu names and mantra for vinayaka chavithiJyothi Vbs
 
Warren buffet principles & philosophy
Warren buffet principles & philosophyWarren buffet principles & philosophy
Warren buffet principles & philosophyJyothi Vbs
 
Move forward in life life is yours rightway to achieve and win
Move forward in life  life is yours rightway to achieve and winMove forward in life  life is yours rightway to achieve and win
Move forward in life life is yours rightway to achieve and winJyothi Vbs
 
Slides1 - testing
Slides1 - testingSlides1 - testing
Slides1 - testingJyothi Vbs
 

More from Jyothi Vbs (18)

Kidney book-in-telugu
Kidney book-in-teluguKidney book-in-telugu
Kidney book-in-telugu
 
Shri anjaneya dhadakam_telugu
Shri anjaneya dhadakam_teluguShri anjaneya dhadakam_telugu
Shri anjaneya dhadakam_telugu
 
Aditya hrudayam-in-telugu
Aditya hrudayam-in-teluguAditya hrudayam-in-telugu
Aditya hrudayam-in-telugu
 
Vratam
VratamVratam
Vratam
 
Lalitha sahasra namamulu_telugu
Lalitha sahasra namamulu_teluguLalitha sahasra namamulu_telugu
Lalitha sahasra namamulu_telugu
 
Telugu strotras
Telugu strotrasTelugu strotras
Telugu strotras
 
Stotrams
StotramsStotrams
Stotrams
 
Hanuman dandakam
Hanuman dandakamHanuman dandakam
Hanuman dandakam
 
Bilvaashtakam in-telugu
Bilvaashtakam in-teluguBilvaashtakam in-telugu
Bilvaashtakam in-telugu
 
Shri anjaneya dhadakam_telugu
Shri anjaneya dhadakam_teluguShri anjaneya dhadakam_telugu
Shri anjaneya dhadakam_telugu
 
SDLC or Software Development Life Cycle
SDLC or Software Development Life CycleSDLC or Software Development Life Cycle
SDLC or Software Development Life Cycle
 
2.5 gui
2.5 gui2.5 gui
2.5 gui
 
Completed slides
Completed slidesCompleted slides
Completed slides
 
20100310 liwen-waterfall (1)
20100310 liwen-waterfall (1)20100310 liwen-waterfall (1)
20100310 liwen-waterfall (1)
 
21 patra with telugu names and mantra for vinayaka chavithi
21 patra with telugu names and mantra for vinayaka chavithi21 patra with telugu names and mantra for vinayaka chavithi
21 patra with telugu names and mantra for vinayaka chavithi
 
Warren buffet principles & philosophy
Warren buffet principles & philosophyWarren buffet principles & philosophy
Warren buffet principles & philosophy
 
Move forward in life life is yours rightway to achieve and win
Move forward in life  life is yours rightway to achieve and winMove forward in life  life is yours rightway to achieve and win
Move forward in life life is yours rightway to achieve and win
 
Slides1 - testing
Slides1 - testingSlides1 - testing
Slides1 - testing
 

Recently uploaded

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentationphoebematthew05
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
costume and set research powerpoint presentation
costume and set research powerpoint presentationcostume and set research powerpoint presentation
costume and set research powerpoint presentation
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

SDLC Testing Models Agile Iterative

  • 1. Day 2 Testing Throughout SDLC © Mahindra Satyam 2011
  • 2. Learning Objectives  Software Development Life Cycle  Software Development Models  Waterfall model  V-model (Sequential Development Model)  Iterative-incremental Development Model  Agile Methodology © Mahindra Satyam 2011 2
  • 3. Software Development Life Cycle  The Software Development Life Cycle is a step-by-step process involved in the development of a software product.  The whole process is generally classified into a set of steps and a specific operation will be carried out in each of the steps.  The basic classification of the whole process is as follows:  Initial  Analysis  Design  Coding  Testing  Maintenance Initial: • The main aim of the initial phase is requirements gathering. • The responsible person is “BA – Business Analyst” • The outcome document name is “BRS – Business Requirements Specification”. © Mahindra Satyam 2011 3
  • 4. Contd.. Analysis: • In this phase requirements are analyzed for the feasibility of implementation. • Planning the project, Resource estimation, Schedule preparation, project prototype will takes place. • The outcome document name is “SRS – System Requirements Specification”. • At the end of this phase, both project plan and test plan documents are delivered. Design: • • • • • The aim is to create the architecture of the total system(including database design). Dividing the system into no. of module and sub-modules. Preparing Data-flow diagrams, Control-flow diagrams, Use cases. Designing Database The outcome document name is “TDD – Technical Design Document”. Coding: • In this phase, programmers prepares/write the code for given specification in the chosen programming language. • The outcome is “Source code”. © Mahindra Satyam 2011 4
  • 5. Contd.. Testing: • In this phase, testing team will execute the prepared test cases on the given build/system. • Main aim is, to verify that the given system working as per client requirements. • If test fails, they will raise an incident. • The outcome documents are: Test Cases, Incidents. Maintenance: • • • • In this phase, the system deployed into the client‟s environment. Any issue raised by client, environmental problems are handled. Requirements change requests are handled Maintenance is made up of: • Corrective maintenance • Ex: fixing customer-reported problems • Adaptive maintenance • Ex: making the software run on a new version of an OS or Database. • Preventive maintenance • Ex: changing the application program code to avoid a potential security hole in an OS code © Mahindra Satyam 2011 5
  • 8. Software Development Models – Waterfall model Waterfall Model Requirements  In "The Waterfall" approach, the whole process of software development is divided into separate process phases. Design  All these phases are cascaded to each other so that second phase is started as and when defined set of goals are achieved for first phase and it is signed off, so the name "Waterfall Model". Code  All the methods and processes Testing undertaken in Waterfall Model are more visible. Release © Mahindra Satyam 2011 8
  • 9. Contd.. Advantages Disadvantages  It is the simplest software process  All requirements must be known model in terms of complexity and ease of implementation. As you know, it is nothing but common sense. upfront  Jumping back and forth between two or more phases is not possible.  The next phase can be reached only  This model is extremely easy to after the previous one has been completed. understand and therefore, is implemented at various project management levels and in a number of fields (not just software development).  Bugs and errors in the code cannot be discovered until and unless the testing phase is reached. This can lead to a lot of wastage of time and other precious resources.  It employs a systematic, orthodox method of project development and delivery.  Not suitable for projects wherein the project requirements are dynamic or constantly changing. © Mahindra Satyam 2011 9
  • 10. V -Model © Mahindra Satyam 2011
  • 12. Contd..  A framework to describe the software development lifecycle activities from requirements specification to maintenance. The V-model illustrates how testing activities can be integrated into each phase of the software development lifecycle.  The V-Model demonstrates the relationships between each phase of the development life cycle and its associated phase of testing.  Testing helps to ensure that the work-products are being developed in the right way (verification) and that the product will meet the user needs (validation). Verification • Checks that the work-product meets the requirements set out for it. • Verification helps to ensure that we are building the product in the right way. Validation • Checks that the behavior of the work-product matches the customer needs as defined for the project. • Validation helps to ensure that we are building the right product as far as the users are concerned. © Mahindra Satyam 2011 12
  • 13. Contd.. V-Model Objectives: Minimization of Project Risks Improvement and Guarantee of Quality Reduction of Total Cost over the Entire Project and System Life Cycle Improvement of Communication between all Stakeholders © Mahindra Satyam 2011 13
  • 14. Contd.. Advantages Limitations  The users of the V-Model participate in  The organization and execution of     the development and maintenance of the V-Model. A change control board publicly maintains the V-Model. The change control board meets once a year and processes all received change requests on The V-Model. At each project start, the V-Model can be tailored into a specific project V-Model, because the V-Model is project independent. It provides concrete assistance on how to implement an activity and its work steps, defining explicitly the events needed to complete a work step: each activity schema contains instructions, recommendations and detailed explanations of the activity. operation, maintenance, repair and disposal of the system are not covered by the V-Model. However, planning and preparation of a concept for these tasks are regulated in the V-Model.  The V-Model addresses software development within a project rather than a whole organization. © Mahindra Satyam 2011 14
  • 16. Iterative-Incremental Model  This is one where the requirements do not need to be fully defined before coding can start. Instead, a working version of the product is built, in a series of stages, or iterations - hence the name iterative or incremental development. © Mahindra Satyam 2011 16
  • 17. Contd..  An Iterative model for development has fewer steps those are:  1) Define Iteration Requirements  2) Build Iteration  3) Test Iteration  This type of development is often referred to as cyclical - we go „round the development cycle a number of times‟, within the project.  Example: – Assuming a development of a social networking website with parts like member registration, sign in, forgot password, member profile, search members, friends list, blog, blog search, photos, photo search and messaging.  Development: – First iteration comprising of member registration, sign in, member profile and search members. – The second iteration can comprise of friends list, blog, blog search. – The third iteration can comprise of photos, photo search, messaging and forgot password. © Mahindra Satyam 2011 17
  • 18. Contd..  Drawbacks:  The lack of formal documentation makes it difficult to test.  The working environment may be such that developers make any changes required, without formally recording them.  The amount of testing required to ensure that implementation of the changes does not cause unintended changes to other parts of the software (this is called regression testing). © Mahindra Satyam 2011 18
  • 20. What is Agile Testing ? –Agile values Core value1: Individuals and interactions over processes and tools: • Undocumented process with good interactions among the stakeholders, than a documented process with less interactions Agile Values (Agile Manifesto) How it is different? Roles and Activities Core value 2: Working software over comprehensive documentation: • Running code is ruthlessly honest Whole team approach Core value 3: Customer collaboration over contract negotiation: • Customer is part of development process; it is collaboration in decision meeting, speed of communication and individual's connect Core value 4: Respond to change over following a plan: • Rather than focusing on outdated plan, deal with changing realities © Mahindra Satyam 2011 20
  • 21. Water fall model –Success factors Complexity = f( development+ target) environment variables Successful: The system is useful when it is delivered © Mahindra Satyam 2011 21
  • 22. Agile – Success factors Risk reduction: analyzing, prioritizing and attacking the top risks in each iteration Walker Royce, Software project management: A unified framework, 1998, AW © Mahindra Satyam 2011 22
  • 23. What is Agile Testing –Meaning whole Team approach  Business facing tests –tests that describe customer‟s desired features and functionalities  It includes functional, system, load, performance, stress, security, usability ..  Agile testing –does not mean testing on an agile project. Testing is inline with valuing working software and responding to change  In Agile not only testers or a quality assurance team own the responsibility for quality –but entire team  We just don‟t think of departments -rather the skills and resources we need to deliver the best possible product.  Business facing tests –tests that describe customer‟s desired features and functionalities  Focus of agile development is producing high quality software in a time frame that maximizes its value to the business.  Any task might be completed by any team member or a pair of team members  Team takes the responsibility of all kinds of testing tasks, such as automating tests and manual exploratory testing © Mahindra Satyam 2011 23
  • 24. Agile Testing –Roles and Activities Customer Team • Includes business experts, product owners, domain experts, product managers, business analysts, Subject Matter experts • Customer team writes the stories or feature sets that the developer team delivers • They communicate and collaborate with the developer team through out each iteration • Testers are integral part of the customer team helping elicit requirements and examples and helping the customers express their requirements as tests, make sure the tests pass, and make sure that adequate regression tests are automated Developer Team • Involved in delivering code • Discourage specialized roles on the teams and encourage all team members to transfer their skills to other members as much as possible • Testers are also on the developer team Interaction of roles © Mahindra Satyam 2011 24 Programmer Tester Domain Expert
  • 25. How Agile Testing is different? I1 Requirements I2 I3 I4 Software Specifications E D C Code C Testing A Release © Mahindra Satyam 2011 25 B A B A D C B A B
  • 26. Traditional Vs Agile Testing  In water fall model, testing happens towards the end, right before release  It appears that there is as much time for testing as coding –but in reality it is not the case –Testing gets squished because coding takes longer time than expected  Requirements are taken as inputs and tests are created from a requirement document  Agile is incremental with intermediate releases  Testers test each increment of coding as soon as it is finished (An iteration can be as short as one week or one month)  Team builds and tests little bit of code, make sure that it works correctly and then moves on to the next piece of requirements that need to be built.  A story is not “done” until it has been tested  One team might be dedicated to a single project or might be part of another project  Tests normally created by business analysts before anyone ever thought of writing a line of code. It is collaborative effort. © Mahindra Satyam 2011 26
  • 27. Ten Principles for Agile Tester Agile Tester is a professional tester who embraces change, collaborates well with both development and business team • Agile testers tend to have good technical skills • collaborate with others to automate tests, are also experienced exploratory testers • better understand customer‟s requirements 10 Principles important for agile testers: • Provide continuous feedback: Feedback helps the team in removing impediments • Deliver value to the customer: Tester helps the team in limiting the scope and recognizes impact of cool features to the story • Enable face to face communication: Any time there is a question about how a feature should work, tester can pull in a programmer and a business expert to talk about it. • Have courage: It is a core value in XP such as test automation; continuous integration allow the team. We need courage to let ourselves fail, learn quickly from that; allow others to make mistakes, to seek help –when we‟ve blown up an iteration because we didn‟t get a stable build, we will start thinking of ways to ensure it does not happen again • Keep it simple: Take a simple approach to ensuring that the software meets requirements • Practice continuous improvement • Respond to change • Self organize • Focus on people • Enjoy © Mahindra Satyam 2011 27
  • 28. Thank you mahindrasatyam.com Safe Harbor This document contains forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended. The forward-looking statements contained herein are subject to certain risks and uncertainties that could cause actual results to differ materially from those reflected in the forward-looking statements. Mahindra Satyam undertakes no duty to update any forward-looking statements. © Mahindra Satyam 2011 28