Agile Testing
What is Agile Testing?
 A software testing practice that follow the principle of agile
software development is called Agile Testing.
 Agile is an iterative development methodology where
requirement evolve through collaboration between the
customer and self-organizing teams and agile aligns
development with customer need.
Graphical representation of Agile Testing
Principles of Agile Testing
 Testing is NOT a Phase: Agile team tests continuously and continuous testing is the
only way to ensure continuous progress.
 Testing Moves the project Forward:
When following conventional method, testing is considered as quality gate but agile
testing provide feedback on an ongoing basis and the product meets the business
demand.
 Everyone Tests: In conventional SDLC only test team test while in agile
including developer and BA's test the application.
 Shortening Feedback Response Time: In conventional SDLC only during the
acceptance testing the Business team will get to know the product
development while in agile for each and every iteration they are involved and
continuous feedback shorten the feedback response time and cost involved in
fixing is also less.
An Agile Principles Review
 Customer satisfaction by rapid delivery of useful software.
 Welcome changes in requirements, even late in development.
 Working software is delivered frequently (weeks rather than months).
 Working software is the principal measure of progress.
 Sustainable development – the ability to maintain a constant pace.
 Close, daily cooperation between business professionals and
developers.
 Face-to-face conversation is the best form of communication
(colocation)
 Projects are built around motivated individuals, who should be trusted.
 Continuous attention to technical excellence and good design.
 Regular adaptation to changing circumstances.
Waterfall vs. Agile
Waterfall Agile
Requirements documents Just-in-time, informal requirements
Occasional “customer” involvement Frequent “customer” involvement
Start-to-finish Project Plan Product Backlog. Plan for Sprint.
Details are sketchy beyond that.
Priorities shift based on new data.
Tasks are assigned Assigned tasks are a bottleneck
Potentially large team size Teams of 3 – 9 people
Multiple phases, eventual delivery Working software each Sprint /
Iteration
Resistant to change Change is expected
Contract says what we build, deliver Contract is a lot closer to T&E
Waterfall vs. Agile
The Old Way vs. The New Way
Waterfall Agile
Test cases created from Specifications Acceptance criteria
Test cases are created Manually Manual
Automated stubs from
acceptance criteria
Test cases are created Up front Up front
Time commitment Large Minimal
Text execution is Well defined steps
Some automation
Defined steps/exploratory
Some Automation
Tests executed by QA Team Everyone
Weaknesses Communication
overhead huge
Sensitive to change
Coordination
Skilled resources
Agile testing strategies
 Get your developers involved (TDD, unit testing)
 Automate regression tests
 Scenario based testing when appropriate
 Generate test case documentation whenever possible (from
exploratory tests or acceptance criteria)
 Involve stakeholders in testing (UAT)
 Adopt a good toolset to assist with collaboration and
automation
Advantages and Disadvantages of Agile
Testing
Advantages :
 Agile Testing Saves Time and Money
 Less Documentation
 Regular feedback from the end user
 Daily meetings can help to determine the issues well in advance
Disadvantages of Agile Model:
 The team struggles to adapt to changes
 Challenges in estimations and sizing requirements.
 QA is sometimes prevented from executing a test case for the whole iteration
 Not asking the right questions.
 Addition of new user Stories into the current iteration.
Thank you! 

Notes on agile

  • 1.
  • 2.
    What is AgileTesting?  A software testing practice that follow the principle of agile software development is called Agile Testing.  Agile is an iterative development methodology where requirement evolve through collaboration between the customer and self-organizing teams and agile aligns development with customer need.
  • 3.
  • 4.
    Principles of AgileTesting  Testing is NOT a Phase: Agile team tests continuously and continuous testing is the only way to ensure continuous progress.  Testing Moves the project Forward: When following conventional method, testing is considered as quality gate but agile testing provide feedback on an ongoing basis and the product meets the business demand.  Everyone Tests: In conventional SDLC only test team test while in agile including developer and BA's test the application.  Shortening Feedback Response Time: In conventional SDLC only during the acceptance testing the Business team will get to know the product development while in agile for each and every iteration they are involved and continuous feedback shorten the feedback response time and cost involved in fixing is also less.
  • 5.
    An Agile PrinciplesReview  Customer satisfaction by rapid delivery of useful software.  Welcome changes in requirements, even late in development.  Working software is delivered frequently (weeks rather than months).  Working software is the principal measure of progress.  Sustainable development – the ability to maintain a constant pace.  Close, daily cooperation between business professionals and developers.  Face-to-face conversation is the best form of communication (colocation)  Projects are built around motivated individuals, who should be trusted.  Continuous attention to technical excellence and good design.  Regular adaptation to changing circumstances.
  • 6.
    Waterfall vs. Agile WaterfallAgile Requirements documents Just-in-time, informal requirements Occasional “customer” involvement Frequent “customer” involvement Start-to-finish Project Plan Product Backlog. Plan for Sprint. Details are sketchy beyond that. Priorities shift based on new data. Tasks are assigned Assigned tasks are a bottleneck Potentially large team size Teams of 3 – 9 people Multiple phases, eventual delivery Working software each Sprint / Iteration Resistant to change Change is expected Contract says what we build, deliver Contract is a lot closer to T&E
  • 7.
  • 8.
    The Old Wayvs. The New Way Waterfall Agile Test cases created from Specifications Acceptance criteria Test cases are created Manually Manual Automated stubs from acceptance criteria Test cases are created Up front Up front Time commitment Large Minimal Text execution is Well defined steps Some automation Defined steps/exploratory Some Automation Tests executed by QA Team Everyone Weaknesses Communication overhead huge Sensitive to change Coordination Skilled resources
  • 9.
    Agile testing strategies Get your developers involved (TDD, unit testing)  Automate regression tests  Scenario based testing when appropriate  Generate test case documentation whenever possible (from exploratory tests or acceptance criteria)  Involve stakeholders in testing (UAT)  Adopt a good toolset to assist with collaboration and automation
  • 10.
    Advantages and Disadvantagesof Agile Testing Advantages :  Agile Testing Saves Time and Money  Less Documentation  Regular feedback from the end user  Daily meetings can help to determine the issues well in advance Disadvantages of Agile Model:  The team struggles to adapt to changes  Challenges in estimations and sizing requirements.  QA is sometimes prevented from executing a test case for the whole iteration  Not asking the right questions.  Addition of new user Stories into the current iteration.
  • 11.