Quality Assurance and Testing
in Agile Projects


Ana-Maria Figher, ana.figher@embarcadero.com,
Embarcadero, www.embarcadero.com

Ia i, 8th of May 2010
Agenda
 QA , QC, Testing
 What is Agile?
 Quality Assurance in Agile Projects
 Quality Focused Culture
 Measuring success
QA, QC, Testing
 Testing:
      It’s process of executing a system with the intent of finding defects.

 Quality Control (product oriented) :
      Measuring & Monitoring the quality of software after completion of every phase

 Quality Assurance (process oriented) :
      It’s a set of activities carried out to provide adequate confidence that processes are
      established and continuously improved in order to produce products that meets the quality
      requirements




 Quality assurance                        Quality
                                          control
                                                                               Testing
QA, QC, Testing
        QA                   QC                Testing

 Quality control (QC)   Testing            Unit
 Procedures             Static testing &   Integration
 Management reviews     reviews            System
 Documentation          Internal audits    Acceptance
 Training                                  Maintenance
 Tests &
 measurements
What’s “Agile?”
How Traditional Test Practices Evolved
With great optimism and the best of intentions, The Project Plan is
announced:
How Traditional Test Practices Evolved
Inevitably, The Project Plan is revised:
Agile = Continuous Stream of Value
Iterative approaches mean we can trade features for time instead of
sacrificing quality.
SCRUM
 Product backlog – A prioritized list of tasks to be completed on the project
 Sprint – A time period (typically 2–4 weeks) in which development occurs on a set of
 backlog items that the Team has committed to
 Story - A very high level definition of what the customer wants
Calling It “Agile” Doesn’t Make It So
This is NOT Agile:
    Compress the schedule
    Toss out the documentation
    Code up to the last minute
    Less testing



The organization may gain
short term speed but at the cost of
long term pain.
Assuring Quality in Agile - How we make it happen?
Quality Assurance in Agile Projects
Testing Focus in Sprint
   Provide effort estimates during sprint planning and
   establish the testing priorities

   Focus on test automation

   Focus more on exploratory testing

   Provide continuous feedback to the team

   Participate in sprint review meeting
Quality is a Team Effort
In agile organizations, all team members share quality ownership

    Involve developers in test
        Share ideas regarding how a feature can be tested
        They DO care about the results.
        A good way to share ownership, is have them run your tests
        Demo testing and test results
        Metrics based reporting that developers can act on


    Involve product owners in test

    Share and discuss test results with team to promote
    shared ownership
QA “Tools”
 High Level QA Plan
             Example: DBArtisan patch test plan


 Functional Test plans and Acceptance Test plan

 Quality dashboard
             Example: DBArtisan QA dashboard


 Product Quality Support report
             Example : DBArtisan Quality status


 Others
             Works with Development management at the Project Sprint burn down
             Example: DBArtisan 9.0 Sprint report
QA main challenges
 Planning accordingly

 Risk analysis and mitigation plan

 Implementing and reassessing the plan

 Reporting the right information
Try…
Quality Focused Culture
 Champion the Customer
 Continuous introspection
    Are we doing things right?
    Are we doing the right things?
              Documentation
              Project Role
              Reporting
              Defect Management
              Test Coverage
              Test Automation
              Beta
              Training


 Define and track a standard set of quality metrics
 Communicate the value of Quality - $$$!
Quality Assurance Value
 Early bug identification means easier fixing

 Short testing cycle allows more features to be implemented
 Providing quality metrics helps management makes the
 right decisions
 High product quality results in product success
 Frequent automated testing ensures product quality stays
 high
Measuring Success
1. Customer satisfaction
2. Test effectiveness
3. Objective test metrics
1. Customer Satisfaction
  Beta surveys
  Public product surveys
  Newsgroups
  Support calls
  Defects found after release
2. Test Effectiveness
3. Testing Metrics
  Test results
  Code coverage
  Bug find/fix rates
  Bug categorization – type/frequency
  Customer satisfaction ratings
  Product performance
  Product stability

  Metrics allow you to measure where you are in relation to
  your product goals.
Constantly Seek To Improve
Engage!
 Attitude towards Quality is something YOU control

 Customers include Developers, Product Management,
 Support and Sales Engineers

 Have fun – testing is a challenge, a puzzle and the results
 are a meaningful accomplishment.
Resources
 Agile Manifesto: http://agilemanifesto.org/
 www.testobsessed.com
 www.testingreflections.com
 “Agile Software Development Quality Assurance” , Ioannis
 G. Stamelos and Panagiotis Sfetsos
 Software Quality Assurance: Principles and Practice , Nina
 S Godbole
Q&A
Please fill the evaluation form

Thank you very much!
Ana-Maria Figher, ana.figher@embarcadero.com,
Embarcadero, www.embarcadero.com

Code campiasi qa-in-agile-projects-ana-figher-embarcadero

  • 1.
    Quality Assurance andTesting in Agile Projects Ana-Maria Figher, ana.figher@embarcadero.com, Embarcadero, www.embarcadero.com Ia i, 8th of May 2010
  • 2.
    Agenda QA ,QC, Testing What is Agile? Quality Assurance in Agile Projects Quality Focused Culture Measuring success
  • 3.
    QA, QC, Testing Testing: It’s process of executing a system with the intent of finding defects. Quality Control (product oriented) : Measuring & Monitoring the quality of software after completion of every phase Quality Assurance (process oriented) : It’s a set of activities carried out to provide adequate confidence that processes are established and continuously improved in order to produce products that meets the quality requirements Quality assurance Quality control Testing
  • 4.
    QA, QC, Testing QA QC Testing Quality control (QC) Testing Unit Procedures Static testing & Integration Management reviews reviews System Documentation Internal audits Acceptance Training Maintenance Tests & measurements
  • 5.
  • 6.
    How Traditional TestPractices Evolved With great optimism and the best of intentions, The Project Plan is announced:
  • 7.
    How Traditional TestPractices Evolved Inevitably, The Project Plan is revised:
  • 8.
    Agile = ContinuousStream of Value Iterative approaches mean we can trade features for time instead of sacrificing quality.
  • 9.
    SCRUM Product backlog– A prioritized list of tasks to be completed on the project Sprint – A time period (typically 2–4 weeks) in which development occurs on a set of backlog items that the Team has committed to Story - A very high level definition of what the customer wants
  • 10.
    Calling It “Agile”Doesn’t Make It So This is NOT Agile: Compress the schedule Toss out the documentation Code up to the last minute Less testing The organization may gain short term speed but at the cost of long term pain.
  • 11.
    Assuring Quality inAgile - How we make it happen?
  • 12.
    Quality Assurance inAgile Projects
  • 13.
    Testing Focus inSprint Provide effort estimates during sprint planning and establish the testing priorities Focus on test automation Focus more on exploratory testing Provide continuous feedback to the team Participate in sprint review meeting
  • 14.
    Quality is aTeam Effort In agile organizations, all team members share quality ownership Involve developers in test Share ideas regarding how a feature can be tested They DO care about the results. A good way to share ownership, is have them run your tests Demo testing and test results Metrics based reporting that developers can act on Involve product owners in test Share and discuss test results with team to promote shared ownership
  • 15.
    QA “Tools” HighLevel QA Plan Example: DBArtisan patch test plan Functional Test plans and Acceptance Test plan Quality dashboard Example: DBArtisan QA dashboard Product Quality Support report Example : DBArtisan Quality status Others Works with Development management at the Project Sprint burn down Example: DBArtisan 9.0 Sprint report
  • 16.
    QA main challenges Planning accordingly Risk analysis and mitigation plan Implementing and reassessing the plan Reporting the right information
  • 17.
  • 18.
    Quality Focused Culture Champion the Customer Continuous introspection Are we doing things right? Are we doing the right things? Documentation Project Role Reporting Defect Management Test Coverage Test Automation Beta Training Define and track a standard set of quality metrics Communicate the value of Quality - $$$!
  • 19.
    Quality Assurance Value Early bug identification means easier fixing Short testing cycle allows more features to be implemented Providing quality metrics helps management makes the right decisions High product quality results in product success Frequent automated testing ensures product quality stays high
  • 21.
    Measuring Success 1. Customersatisfaction 2. Test effectiveness 3. Objective test metrics
  • 22.
    1. Customer Satisfaction Beta surveys Public product surveys Newsgroups Support calls Defects found after release
  • 23.
  • 24.
    3. Testing Metrics Test results Code coverage Bug find/fix rates Bug categorization – type/frequency Customer satisfaction ratings Product performance Product stability Metrics allow you to measure where you are in relation to your product goals.
  • 25.
  • 26.
    Engage! Attitude towardsQuality is something YOU control Customers include Developers, Product Management, Support and Sales Engineers Have fun – testing is a challenge, a puzzle and the results are a meaningful accomplishment.
  • 27.
    Resources Agile Manifesto:http://agilemanifesto.org/ www.testobsessed.com www.testingreflections.com “Agile Software Development Quality Assurance” , Ioannis G. Stamelos and Panagiotis Sfetsos Software Quality Assurance: Principles and Practice , Nina S Godbole
  • 28.
  • 29.
    Please fill theevaluation form Thank you very much! Ana-Maria Figher, ana.figher@embarcadero.com, Embarcadero, www.embarcadero.com