1
Yogita Patil
Sr. Software Test Engineer and
QC Lead
2
Topics to be covered …
• What is Agile Testing?
• Agile Testing Strategies
• Principles of Agile Testing
• Advantages of Agile Testing
• Challenges in Agile Testing
• Conclusion
3
What is Agile Testing?
A software testing practice that follows the principles of agile software
development is called Agile Testing.
Agile is an iterative development methodology, where requirements
evolve through collaboration between the customer and self-organizing
teams and agile aligns development with customer needs.
4
Agile Testing Strategies
Agile testing life cycle spans through four stages
5
Stage 1 : Iteration 0
6
During first stage or iteration 0, you perform initial setup tasks. It includes
identifying people for testing, installing testing tools, scheduling resources
(usability testing lab), etc.
The following steps are set to achieve in Iteration 0:
a) Establish the boundary conditions and the testing scope
b) Outline the key requirements and use cases that will drive the design
trade-offs
c) Outline Test case architectures
d) Identifying the risk
7
Stage 2 : Construction Iterations
8
The second phase of testing is Construction Iterations, the majority of the
testing occurs during this phase.
In construction iteration, agile team follows the prioritized requirement practice:
With each iteration they take the most essential requirements remaining from
the work item stack and implement them.
Construction iteration is classified into two, confirmatory testing and
investigative testing.
Confirmatory testing concentrates on verifying that the system fulfills the
intent of the stakeholders as described to the team to date, and is performed
by the team.
In Investigative testing, tester determines the potential problems in the form
of defect stories. Investigative testing deals with common issues like
integration testing, load/stress testing and security testing.
9
Stage 3 : Release or Transition Phase
10
The goal of “Release, End Game” is to deploy your system
successfully into production. The activities include in this phase are
training of end users, support people and operational people.
The final testing stage includes full system testing and acceptance
testing. In accordance to finish your final testing stage without any
obstacles, you should have to test the product more accurately while
it is in construction iterations.
11
Stage 4 : Production
After release stage, the product will move to the production stage. In this
phase we do maintenance.
12
Principles of Agile Testing
1) Testing Moves the Project Forward
13
On traditional projects, testing is usually treated as a quality gate,
and the QA/Test group often serves as the quality gatekeeper. It’s
considered the responsibility of testing to prevent bad software from
going out to the field.
On Agile teams, we build the product well from the beginning, using
testing to provide feedback on an ongoing basis about how well the
emerging product is meeting the business needs.
14
2) Testing is NOT a Phase
15
Testing is NOT a Phase…
…on Agile teams, testing is a way of life.
Agile teams test continuously. It’s the only way to be sure that the
features implemented during a given iteration or sprint are actually
done.
Continuous testing is the only way to ensure continuous
progress.
16
3) Every one Tests
17
On traditional projects, the independent testers are responsible for all
test activities.
In Agile, getting the testing done is the responsibility of the whole
team. Yes, testers execute tests. Developers do too.
18
4) Reduce Feedback Loop
19
If the software isn’t tested until the very end of a long release, the
feedback loops will be extended and can be measured in months.
That’s too long.
Shorter feedback loops increase Agility. Fortunately, on Agile projects
the software is ready to test almost from the beginning. And Agile
teams typically employ several levels of testing to uncover different
types of information.
20
5) Keep the Code Clean
21
This principle is an example of the discipline that Agile teams
have.
It takes tremendous internal discipline to fix bugs as they are
found. If it’s a genuine bug, as opposed to a new story, it is
fixed within the iteration.
22
6) Lightweight Documentation
23
Instead of writing verbose, comprehensive test documentation,
Agile testers:
• Use reusable checklists to suggest tests
• Focus on the essence of the test rather than the incidental
details
• Use lightweight documentation styles/tools
• Capturing test ideas in charters for Exploratory Testing
• Leverage documents for multiple purpose
24
7) Tested is part of Done
25
In traditional environments that have a strict division between
development and test, it is typical for the developers to say they are
“done” with a feature when they have implemented it, but before it is
tested.
Of course the feature isn’t “done” until it’s been tested and any bugs
have been fixed.
Agile teams don’t count something as “done,” and ready to be
accepted by the Product Owner or Customer until it has been
implemented and tested.
26
Advantages of Agile Testing
• 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
27
Challenges in Agile Testing
• Requirement changes and updates are inherent in an agile
method, becoming the biggest challenge for QA
• Testers are often required to play a semi-developer role
• New features are introduced quickly, which reduces the available
time for test teams to identify whether the latest features are
according to the requirement and does it truly address the business
suits
• Test execution cycles are highly compressed
• Very less time to prepare test plan
• For regression testing, they will have minimal timing
28
Conclusion
Agile testing involves testing as early as possible in software
development life cycle. It demands high customer involvement and
testing code as soon as it becomes available.
The code should be stable enough to take it to system testing.
Extensive regression testing can be done to make sure that the bugs
are fixed and tested.
Mainly, Communication between the teams makes agile testing
success!!!
Agile testing

Agile testing

  • 1.
    1 Yogita Patil Sr. SoftwareTest Engineer and QC Lead
  • 2.
    2 Topics to becovered … • What is Agile Testing? • Agile Testing Strategies • Principles of Agile Testing • Advantages of Agile Testing • Challenges in Agile Testing • Conclusion
  • 3.
    3 What is AgileTesting? A software testing practice that follows the principles of agile software development is called Agile Testing. Agile is an iterative development methodology, where requirements evolve through collaboration between the customer and self-organizing teams and agile aligns development with customer needs.
  • 4.
    4 Agile Testing Strategies Agiletesting life cycle spans through four stages
  • 5.
    5 Stage 1 :Iteration 0
  • 6.
    6 During first stageor iteration 0, you perform initial setup tasks. It includes identifying people for testing, installing testing tools, scheduling resources (usability testing lab), etc. The following steps are set to achieve in Iteration 0: a) Establish the boundary conditions and the testing scope b) Outline the key requirements and use cases that will drive the design trade-offs c) Outline Test case architectures d) Identifying the risk
  • 7.
    7 Stage 2 :Construction Iterations
  • 8.
    8 The second phaseof testing is Construction Iterations, the majority of the testing occurs during this phase. In construction iteration, agile team follows the prioritized requirement practice: With each iteration they take the most essential requirements remaining from the work item stack and implement them. Construction iteration is classified into two, confirmatory testing and investigative testing. Confirmatory testing concentrates on verifying that the system fulfills the intent of the stakeholders as described to the team to date, and is performed by the team. In Investigative testing, tester determines the potential problems in the form of defect stories. Investigative testing deals with common issues like integration testing, load/stress testing and security testing.
  • 9.
    9 Stage 3 :Release or Transition Phase
  • 10.
    10 The goal of“Release, End Game” is to deploy your system successfully into production. The activities include in this phase are training of end users, support people and operational people. The final testing stage includes full system testing and acceptance testing. In accordance to finish your final testing stage without any obstacles, you should have to test the product more accurately while it is in construction iterations.
  • 11.
    11 Stage 4 :Production After release stage, the product will move to the production stage. In this phase we do maintenance.
  • 12.
    12 Principles of AgileTesting 1) Testing Moves the Project Forward
  • 13.
    13 On traditional projects,testing is usually treated as a quality gate, and the QA/Test group often serves as the quality gatekeeper. It’s considered the responsibility of testing to prevent bad software from going out to the field. On Agile teams, we build the product well from the beginning, using testing to provide feedback on an ongoing basis about how well the emerging product is meeting the business needs.
  • 14.
    14 2) Testing isNOT a Phase
  • 15.
    15 Testing is NOTa Phase… …on Agile teams, testing is a way of life. Agile teams test continuously. It’s the only way to be sure that the features implemented during a given iteration or sprint are actually done. Continuous testing is the only way to ensure continuous progress.
  • 16.
  • 17.
    17 On traditional projects,the independent testers are responsible for all test activities. In Agile, getting the testing done is the responsibility of the whole team. Yes, testers execute tests. Developers do too.
  • 18.
  • 19.
    19 If the softwareisn’t tested until the very end of a long release, the feedback loops will be extended and can be measured in months. That’s too long. Shorter feedback loops increase Agility. Fortunately, on Agile projects the software is ready to test almost from the beginning. And Agile teams typically employ several levels of testing to uncover different types of information.
  • 20.
    20 5) Keep theCode Clean
  • 21.
    21 This principle isan example of the discipline that Agile teams have. It takes tremendous internal discipline to fix bugs as they are found. If it’s a genuine bug, as opposed to a new story, it is fixed within the iteration.
  • 22.
  • 23.
    23 Instead of writingverbose, comprehensive test documentation, Agile testers: • Use reusable checklists to suggest tests • Focus on the essence of the test rather than the incidental details • Use lightweight documentation styles/tools • Capturing test ideas in charters for Exploratory Testing • Leverage documents for multiple purpose
  • 24.
    24 7) Tested ispart of Done
  • 25.
    25 In traditional environmentsthat have a strict division between development and test, it is typical for the developers to say they are “done” with a feature when they have implemented it, but before it is tested. Of course the feature isn’t “done” until it’s been tested and any bugs have been fixed. Agile teams don’t count something as “done,” and ready to be accepted by the Product Owner or Customer until it has been implemented and tested.
  • 26.
    26 Advantages of AgileTesting • 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
  • 27.
    27 Challenges in AgileTesting • Requirement changes and updates are inherent in an agile method, becoming the biggest challenge for QA • Testers are often required to play a semi-developer role • New features are introduced quickly, which reduces the available time for test teams to identify whether the latest features are according to the requirement and does it truly address the business suits • Test execution cycles are highly compressed • Very less time to prepare test plan • For regression testing, they will have minimal timing
  • 28.
    28 Conclusion Agile testing involvestesting as early as possible in software development life cycle. It demands high customer involvement and testing code as soon as it becomes available. The code should be stable enough to take it to system testing. Extensive regression testing can be done to make sure that the bugs are fixed and tested. Mainly, Communication between the teams makes agile testing success!!!