SlideShare a Scribd company logo
1 of 25
Download to read offline
Testing and Scrum




Fall 2007 Scrum Gathering
Ralph van Roosmalen




Agenda


  Introduction
  The Classical Test Approach
  Organization
  Test Documentation
  Test Activities
  Recruitment
  Reporting
  Test Automation
  Lessons Learned




                                1
Introduction




Planon > Personal introduction


  Ralph van Roosmalen, r.vanroosmalen@planon.nl
  Computer Science ba, studied at the Institute of
                     ba,
  Technology
  Certified Scrum master
  ISTQB Practitioner
  In Software Industry since 1997 as Software Developer,
  Project Manager and currently Test Manager and Scrum
  master at Planon.




                                                           2
Planon > Company


 Standard software for Integrated Workplace
 Management Solutions
 Private Dutch Company, Nijmegen, ± 300 employees, ±
 50 employees in Software development.
 Last five years at least 23% growth in revenue, and
 turnover of € 21 million Euro (2006).
 Active in The Netherlands, Germany, Belgium, UK,
 France, Spain, Austria, Switzerland, Poland and the
                          Switzerland,
 United States.
 Goal: to become world leader in Integrated Workplace
 Management Solutions in 2010




Planon > Software Development


 ± 50 employees
 Six scrum teams
     Five working on a product
     One support team
 All feature teams
     Team members are interchangeable
 Using Scrum since 2005
 Product Owners are not part of Software Development,
 customer – vendor relation
 Will engage in outsourcing development in 2008 by
 using distributed Scrum teams




                                                        3
Planon > Products


 Planon ProCenter Windows Client
    Legacy product, ± 15 years old, Delphi
    Supported by team SE
 Planon Self-Service
        Self-
    ± 5 years old, Delphi
    Supported by team Net
 Planon Talk
    ± 5 years old, Delphi
    Supported by team Net
 Planon ProCenter Java ClientWeb2.0 Client
                         Client
    3 years old, J2EE environment
    Supported by teams Alpha, Beta and Gamma




      The Classical Test Approach




                                               4
The Classical Test Approach


  Test team is asked to test a project
  Test Manager starts with Project Test Plan
  Test Manager or Test Leads creates Phase Test plan
  Start reviewing requirements and specifications
  Start writing test cases by test engineers
  Wait for software, until it is almost too late to execute the
  test plans.
  Start test execution phase
  Solve problems found
  1st retesting




The Classical Test Approach


  Complaints from the project manager, why is the testing
  phase taking so much time.
  Solve problems found during 1st retesting
  2nd retesting
  Regression test and solve problems found during 2nd
  retesting
  Deliver software
  Project evaluation
  Involvement in the next project too late: it has already
  started because the developers were finished with the
  previous project.




                                                                  5
The Classical Test Approach


  Does not work in Scrum because…
                         because…

  There is no test team
  You deliver potentially shippable software each sprint
     There is no time to write test plans
     You can’t wait until the software is ready
          can’
     There is no time to perform extensive retesting
  Requirements and specifications are lean, so
     Reviewing of documentation cannot wait until it is finished
     Writing test cases based on specifications is difficult
  There is no test manager within Scrum




The Classical Test Approach


  To make testing work in a Scrum environment, you have
  to change…
     change…

     The organization
     Testing Documentation
     Test Activities
     Recruitment
     Reporting
     Regression testing approach




                                                                   6
Organization




Organization


  Testers are integrated into the teams
    So no separate test team
    Testers are always up-to-date
                          up- to-
    Testers can easily communicate with developers,
    technical writers and functional designers
  Test manager is still there, but not in the project




                                                        7
Organization


  Role of the tester
      Ask questions
      Bring people together
      Act as the team’s quality conscience
                 team’
      Testing
  Tester has to earn credit with the rest of the team to fulfil
  this role.




            Testing Documentation




                                                                  8
Testing Documentation


  Test Policy
     High level document, used for all projects
     Just 1 A4 in size
  Test Strategy
     Per Test Level, used for all projects
     Just 1 A4 in size per Test Level
  Project Test Plan
     Describes the deflections compared to the Test Policy
     and Test Strategy




Testing Documentation – Test Policy 1/2


  A Test Policy contains the following sections:

  Mission
  Organization
     All testers hold the ISTQB Foundation certificate.
     On average, each team that builds a software product should
     have one specialized tester on three developers.
     The team is ultimately responsible for the quality of the delivered
                                                               delivered
     software.
  Testing Approach
     The testing approach is aligned with the values of the Agile
     manifesto.
     The testing strategy is based on the product risk matrix.
     An automated regression test is available for each standard
     Planon software product. The regression test covers at least the
     product’s high risks areas.
     product’




                                                                           9
Testing Documentation – Test Policy 2/2


      Standards
      Quality Attributes
         Functionality
         Efficiency
      Test Improvement
         The testing process is continuously improved by applying the
         improvement actions from the team- and a testing retrospective
                                          team-
         that is held after each sprint. This continuously improvement is
         embedded in our software process, Scrum.
      Evaluation of testing (Performance indicators)
         Data is collected on test effort and defects; this data enables
         creating metrics to provide input for the test improvement
         process.




Testing Documentation – Test Strategy 1/2

Unit test
The testing of software components. Is planned and designed early in the life cycle, the tests are based on the detailed
     design specifications.
Objective        Test the business logic and the application framework.
Responsibility   The team is responsible; the developers are the operators and the testers in some cases the reviewers.
                 Risk I                          Risk II                       Risk III                     Risk IV
Entry criteria   -                               -                             -                            -
Exit criteria        Jalopy executed                 Jalopy executed               Jalopy executed              Jalopy executed
                     Find Bugs executed; no          Find Bugs executed; no        Find Bugs executed and       Find Bugs executed and
                        Correctness bugs and            Correctness bugs              no Correctness bugs          no Correctness bugs
                        Bad Practices are left          and Bad Practices             are left                     are left
                     100% tests successful              are left                   100% tests successful        100% tests successful
                     Unit tests are reviewed         100% tests successful         Medium coverage              Low coverage
                     High coverage                   Unit tests are reviewed
                                                     High coverage
Test process     A developer creates Unit        A developer creates           A developer creates          A developer creates
                     tests, often they are           Unit tests, often             Unit tests, in               Unit tests.
                     designed by a                   they are designed             some cases they
                     tester. The unit                by a tester. The              are designed by a
                     tests are reviewed              unit tests are                tester. Sometimes
                     by a tester.                    reviewed by a                 they are reviewed
                                                     tester.                       by a tester.




                                                                                                                                         10
Testing Documentation – Test Strategy 2/2

Milestones deliverables   Unit tests, coverage results and Unit results.
Test case design             Boundary value          Boundary value            Boundary value            Boundary value
techniques                analysis                 analysis                  analysis                  analysis
                                                                               Statement testing         Statement testing
                             Equivalence             Equivalence
                          partitioning             partitioning
                             Statement testing       Statement testing
                             Cause/Effect
                          graphing
Type of tools that will   Find Bugs (Code analysis tool), Emma (Coverage tool), Unit framework
be applied

Environments in which     Nightly test environment, subset of unit tests in a continuous build environment.
the tests will be
executed

Typical non-functional    Efficiency.
test types

Metrics                     Number of successful unit tests
                            Statement coverage of successful unit tests
                            Time behavior of the executed tests
The approach to test      All tests are automated in a unit test framework, their will be no manual testing in this level.
automation

The approach to           If a problem is fixed in the source, all the automated unit tests will be executed and there will
retesting and             be one or more new unit tests to prevent reintroduction of the problem.
regression testing




Testing Documentation – Project Test Plan


      If a project does something different than described in
      the Test Policy or Test Strategies, this can be described
      in the Project Test Plan.




                                                                                                                              11
Testing Documentation – Test Policy And Test
Strategy

  Why write documentation? You say it is reverse
  engineering, so why write it down?

  Enables to discuss test approach with management and
  teams
  Used to train new employees
  Regularly check to see whether we are still on the right
  track
  Used in presentations to (potential) customers
  It’s a living document, so we adapt it when necessary.
  It’




                  Test Activities




                                                             12
Test Activities – Sprint Planning


  Testers are present during the sprint planning
  Use risk analysis to identify testing tasks
  Testers estimate test tasks; testing capacity is finite




Test Activities – Sprint


  Test the software
  Test Scrum; once a week
  Testers assists Developers in writing unit tests
  Testers review unit tests and/or specifications
  Testers personify the team’s quality conscience
                         team’
    Daily priority of the team
    Results unit tests
    Keep track of problems




                                                            13
Test Activities – Sprint


  Impact
     Part of the primary
     company process
     Possibility of corrupt data
     Number of users
  Risk of failure
     Tools and technology
     What kind of software:
     maintenance or new
     software
     Number of people involved




Test Activities – Sprint


  Risk I
      Extensive Exploratory Testing
      Structured testing, all
      executed test are automated
      Testing is done by the most
      experienced testers
      Review of Unit tests
      Review of the test cases on
      coverage and content
      Code review
      Review specifications
  Risk IV
      Exploratory Testing
      Some basic unit testing
      Testing can be done by non-
                              non-
      specialized testers




                                      14
Test Activities – Sprint


  ET is very important, also at high risk items
    Writing test cases based on specifications is difficult
    ET in combination with formal techniques
  You can’t wait until the software is ready
       can’
    Testers start with automated test scripts
    Developers have to deliver software piece by piece




Test Activities – End of the Sprint


  Testers participate in the Sprint Retrospective
  Testers are present during the Sprint Review meeting
  Test Retrospective, retrospective about the test process
  Prepare the next sprint, investigate product backlog




                                                              15
Recruitment




Recruitment – Process


• Looking for an “Agile Tester”
                         Tester”
• Interview with Development Manager or Test Manager
  and Recruitment Manager.
• Workshop
   • Four hours – a small effort for a new job
   • Every one can say (s)he has knowledge of software
     testing, but can they prove it?
• Final interview




                                                         16
Recruitment – Workshop


• 60 Questions about testing
   • What does the applicant know about testing (ISTQB)
   • Possibility to discuss testing with the applicant
   • How does (s)he handle stress
• Describe at least 20 test cases to test the Font dialog in Word
   • How creative is the applicant
   • Does (s)he use test techniques
   • How does (s)he describe the tests
• Case “communicate with the developer”
                                 developer”
   • How does (s)he handle with the stereotype developer
   • Can (s)he set the correct priority and severity




Recruitment


• We believe that soft skills are very important for testers
  in a Scrum environment
   • Communication
   • Flexibility
   • Collaboration

• Test techniques is something you can learn




                                                                    17
Reporting




Reporting


 Test Reports
   No separate Management report
   No hidden link on a corporate website
 But…
 But…
   Visible for all team members and stakeholders in a
   public place
   Simple and “less is more”
                        more”




                                                        18
Reporting


  What to report?
    Open issues per module
    Open issues per team
    Open issues displayed in time
    % successful unit tests
  What to report depends per organization, but…
                                           but…
    Report per team, not per individual
    Use colors: green is good and red is bad (In Western
    oriented countries)
    Keep it really simple




Reporting – Monitors in the hall




                                                           19
Reporting – Example report




              Test Automation




                                20
Test Automation – Why


  There is no time for extensive manual regression testing;
  automation is essential.
  Necessary because of incremental iterations and to
  support refactoring
  As Product Vendor we need to support our products for
  years
  Instantaneous feedback: all tests are run each night
  Makes the daily work for testers more fun




Test Automation – Which tools


  JUnit framework
    No testing of classes but on a higher level
    Used by developers to test framework and business
    logic
  QF-Test
  QF-
    Commercial product for automating tests of Java
    applications with a graphical user interface
    Used to test our Swing client
  Selenium
    A test tool for web applications
    Used to test our Web2.0 client




                                                              21
Test Automation – Approach


 Planon Test Policy: “An automated regression test is available for
 each standard Planon software product. The regression test covers
                                                                covers
 at least the product’s high risks areas.”
               product’            areas.”
 Developers and tester discuss test automation
 Developers builds unit tests, testers reviews them or describes the
 unit tests, depends on the risk and available capacity .
 Tester builds a QF-Test test script to touch all GUI components and
                  QF-
 test main use-case.
             use-
 If there is special coding needed for the Web2.0 client, the tester
                                                              tester
 builds a Selenium test script.
 Developer and Testers need to communicate to have the right test
 automation approach!




Test Automation – Approach


 Tool smith
   Responsible for analyzing the automated test results
   Develops and maintains the automated test
   framework
   Reviews the tests scripts
   Prevent this role becoming a bottleneck in creating
   automatic test scripts




                                                                         22
Lessons Learned




Lessons Learned – General


 Make no statement about the quality at the end of the
 sprint
    quality should always be good, and if not a product
    backlog item is not finished
    Quality is a team issue not the responsibility of testers
 Testing in Scrum is different, but you can still use the
 same old test techniques; use them lean




                                                                23
Lessons Learned – General


 How to handle open (customers) issues
     Prioritize issues
     Add the issues to the product backlog
     If you do not want to solve an issue, cancel or close it.
 If you plan a stabilization phase, you are going to need it.




Lessons Learned – Test Manager


 Coach testers
 Review test approach of a product backlog item every
 sprint of every team
 Develop a vision on testing together with testers
 Develops and maintain the Test Policy, Test Strategy
 and Test Project Plan
 Increase the testing knowledge of testers; for example,
 hold a monthly professional circle




                                                                 24
Links


  Agile Testing User Group,
  http://tech.groups.yahoo.com/group/agile-testing/
  http://tech.groups.yahoo.com/group/agile-
  International Software Testing Qualifications Board,
  www.istqb.org
  Planon, www.planon-fm.com
            www.planon-
  QFS, www.qftest.com
  Scrum, www.controlchaos.com
  Scrum User Group,
  http://groups.yahoo.com/group/scrumdevelopment/
  http://groups.yahoo.com/group/scrumdevelopment/
  Selenium, www.openqa.org
  TestComplete, www.automatedqa.com




                                                         25

More Related Content

What's hot

TDD Flow: The Mantra in Action
TDD Flow: The Mantra in ActionTDD Flow: The Mantra in Action
TDD Flow: The Mantra in ActionDionatan default
 
Agile testing for agile sparks kanban clients
Agile testing for agile sparks kanban clientsAgile testing for agile sparks kanban clients
Agile testing for agile sparks kanban clientsYuval Yeret
 
Agile and ATDD the perfect couple
Agile and ATDD the perfect coupleAgile and ATDD the perfect couple
Agile and ATDD the perfect coupleStephen Tucker
 
TDD vs. ATDD - What, Why, Which, When & Where
TDD vs. ATDD - What, Why, Which, When & WhereTDD vs. ATDD - What, Why, Which, When & Where
TDD vs. ATDD - What, Why, Which, When & WhereDaniel Davis
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven DevelopmentJohn Blum
 
Essential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionEssential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionSteven Mak
 
Software testing
Software testingSoftware testing
Software testingBharath K
 
Patterns for Scripted Acceptance Test-Driven Development
Patterns for Scripted Acceptance Test-Driven DevelopmentPatterns for Scripted Acceptance Test-Driven Development
Patterns for Scripted Acceptance Test-Driven DevelopmentIder Zheng
 
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-BrockPragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-BrockJoseph Yoder
 
TEA Presentation V 0.3
TEA Presentation V 0.3TEA Presentation V 0.3
TEA Presentation V 0.3Ian McDonald
 
Introduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven DevelopmentIntroduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven DevelopmentSteven Mak
 
A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD) A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD) CodeOps Technologies LLP
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven DevelopmentMireia Sangalo
 
Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010guest5639fa9
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Developmentguestc8093a6
 

What's hot (19)

TDD Flow: The Mantra in Action
TDD Flow: The Mantra in ActionTDD Flow: The Mantra in Action
TDD Flow: The Mantra in Action
 
Agile testing for agile sparks kanban clients
Agile testing for agile sparks kanban clientsAgile testing for agile sparks kanban clients
Agile testing for agile sparks kanban clients
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
Agile and ATDD the perfect couple
Agile and ATDD the perfect coupleAgile and ATDD the perfect couple
Agile and ATDD the perfect couple
 
TDD vs. ATDD - What, Why, Which, When & Where
TDD vs. ATDD - What, Why, Which, When & WhereTDD vs. ATDD - What, Why, Which, When & Where
TDD vs. ATDD - What, Why, Which, When & Where
 
Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
Essential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile AdoptionEssential practices and thinking tools for Agile Adoption
Essential practices and thinking tools for Agile Adoption
 
Software testing
Software testingSoftware testing
Software testing
 
Patterns for Scripted Acceptance Test-Driven Development
Patterns for Scripted Acceptance Test-Driven DevelopmentPatterns for Scripted Acceptance Test-Driven Development
Patterns for Scripted Acceptance Test-Driven Development
 
Testing in java
Testing in javaTesting in java
Testing in java
 
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-BrockPragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
Pragmatic Not Dogmatic TDD Agile2012 by Joseph Yoder and Rebecca Wirfs-Brock
 
TEA Presentation V 0.3
TEA Presentation V 0.3TEA Presentation V 0.3
TEA Presentation V 0.3
 
Introduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven DevelopmentIntroduction to Acceptance Test Driven Development
Introduction to Acceptance Test Driven Development
 
A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD) A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD)
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
ATDD in practice
ATDD in practiceATDD in practice
ATDD in practice
 
Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010Test Driven Development (TDD) Preso 360|Flex 2010
Test Driven Development (TDD) Preso 360|Flex 2010
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 

Similar to test

ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsEliane Collins
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015Raghu Karnati
 
Test management
Test managementTest management
Test managementOana Feidi
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseClareMcLennan
 
Test Management introduction
Test Management introductionTest Management introduction
Test Management introductionOana Feidi
 
Computer Software Testing Basics introduced.ppt
Computer Software Testing Basics introduced.pptComputer Software Testing Basics introduced.ppt
Computer Software Testing Basics introduced.pptTrevorChinguwo
 
Quality Coding: What's New with Visual Studio 2012
Quality Coding: What's New with Visual Studio 2012Quality Coding: What's New with Visual Studio 2012
Quality Coding: What's New with Visual Studio 2012Imaginet
 
Quality Coding: What’s New with Visual Studio 2012
Quality Coding: What’s New with Visual Studio 2012Quality Coding: What’s New with Visual Studio 2012
Quality Coding: What’s New with Visual Studio 2012Imaginet
 
Quality Coding with Visual Studio 2012
Quality Coding with Visual Studio 2012Quality Coding with Visual Studio 2012
Quality Coding with Visual Studio 2012Imaginet
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8a34sharm
 
Fundamentals of testing 1
Fundamentals of testing 1Fundamentals of testing 1
Fundamentals of testing 1Hoang Nguyen
 
software testing.pptx
software testing.pptxsoftware testing.pptx
software testing.pptxRadenAndri
 

Similar to test (20)

Agile case studies
Agile case studiesAgile case studies
Agile case studies
 
CurrieTesting.ppt
CurrieTesting.pptCurrieTesting.ppt
CurrieTesting.ppt
 
CurrieTesting.ppt
CurrieTesting.pptCurrieTesting.ppt
CurrieTesting.ppt
 
CurrieTesting.ppt
CurrieTesting.pptCurrieTesting.ppt
CurrieTesting.ppt
 
test_567.ppt
test_567.ppttest_567.ppt
test_567.ppt
 
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall ProjectsICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
ICTSS 2010 - Iterative Software Testing Process for Scrum and Waterfall Projects
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Agile Testing 20021015
Agile Testing 20021015Agile Testing 20021015
Agile Testing 20021015
 
Agile testing
Agile testingAgile testing
Agile testing
 
Test management
Test managementTest management
Test management
 
Agile Acceptance testing with Fitnesse
Agile Acceptance testing with FitnesseAgile Acceptance testing with Fitnesse
Agile Acceptance testing with Fitnesse
 
Test Management introduction
Test Management introductionTest Management introduction
Test Management introduction
 
Computer Software Testing Basics introduced.ppt
Computer Software Testing Basics introduced.pptComputer Software Testing Basics introduced.ppt
Computer Software Testing Basics introduced.ppt
 
Quality Coding: What's New with Visual Studio 2012
Quality Coding: What's New with Visual Studio 2012Quality Coding: What's New with Visual Studio 2012
Quality Coding: What's New with Visual Studio 2012
 
Quality Coding: What’s New with Visual Studio 2012
Quality Coding: What’s New with Visual Studio 2012Quality Coding: What’s New with Visual Studio 2012
Quality Coding: What’s New with Visual Studio 2012
 
Quality Coding with Visual Studio 2012
Quality Coding with Visual Studio 2012Quality Coding with Visual Studio 2012
Quality Coding with Visual Studio 2012
 
UNIT 1.pptx
UNIT 1.pptxUNIT 1.pptx
UNIT 1.pptx
 
Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8Role Of Qa And Testing In Agile 1225221397167302 8
Role Of Qa And Testing In Agile 1225221397167302 8
 
Fundamentals of testing 1
Fundamentals of testing 1Fundamentals of testing 1
Fundamentals of testing 1
 
software testing.pptx
software testing.pptxsoftware testing.pptx
software testing.pptx
 

More from gikrauss

new presentation
new presentationnew presentation
new presentationgikrauss
 
documento 2
documento 2documento 2
documento 2gikrauss
 
presentacion
presentacionpresentacion
presentaciongikrauss
 
documento 2
documento 2documento 2
documento 2gikrauss
 
presentacion
presentacionpresentacion
presentaciongikrauss
 
presentacion
presentacionpresentacion
presentaciongikrauss
 
documento 2
documento 2documento 2
documento 2gikrauss
 
documento 2
documento 2documento 2
documento 2gikrauss
 
presentacion
presentacionpresentacion
presentaciongikrauss
 
documento 2
documento 2documento 2
documento 2gikrauss
 
documento 2
documento 2documento 2
documento 2gikrauss
 
presentacion
presentacionpresentacion
presentaciongikrauss
 
documento 2
documento 2documento 2
documento 2gikrauss
 
presentacion
presentacionpresentacion
presentaciongikrauss
 
presentacion
presentacionpresentacion
presentaciongikrauss
 
presentacion
presentacionpresentacion
presentaciongikrauss
 

More from gikrauss (20)

fasf
fasffasf
fasf
 
dsa
dsadsa
dsa
 
new presentation
new presentationnew presentation
new presentation
 
test
testtest
test
 
documento 2
documento 2documento 2
documento 2
 
presentacion
presentacionpresentacion
presentacion
 
fdasf
fdasffdasf
fdasf
 
documento 2
documento 2documento 2
documento 2
 
presentacion
presentacionpresentacion
presentacion
 
presentacion
presentacionpresentacion
presentacion
 
documento 2
documento 2documento 2
documento 2
 
documento 2
documento 2documento 2
documento 2
 
presentacion
presentacionpresentacion
presentacion
 
documento 2
documento 2documento 2
documento 2
 
documento 2
documento 2documento 2
documento 2
 
presentacion
presentacionpresentacion
presentacion
 
documento 2
documento 2documento 2
documento 2
 
presentacion
presentacionpresentacion
presentacion
 
presentacion
presentacionpresentacion
presentacion
 
presentacion
presentacionpresentacion
presentacion
 

test

  • 1. Testing and Scrum Fall 2007 Scrum Gathering Ralph van Roosmalen Agenda Introduction The Classical Test Approach Organization Test Documentation Test Activities Recruitment Reporting Test Automation Lessons Learned 1
  • 2. Introduction Planon > Personal introduction Ralph van Roosmalen, r.vanroosmalen@planon.nl Computer Science ba, studied at the Institute of ba, Technology Certified Scrum master ISTQB Practitioner In Software Industry since 1997 as Software Developer, Project Manager and currently Test Manager and Scrum master at Planon. 2
  • 3. Planon > Company Standard software for Integrated Workplace Management Solutions Private Dutch Company, Nijmegen, ± 300 employees, ± 50 employees in Software development. Last five years at least 23% growth in revenue, and turnover of € 21 million Euro (2006). Active in The Netherlands, Germany, Belgium, UK, France, Spain, Austria, Switzerland, Poland and the Switzerland, United States. Goal: to become world leader in Integrated Workplace Management Solutions in 2010 Planon > Software Development ± 50 employees Six scrum teams Five working on a product One support team All feature teams Team members are interchangeable Using Scrum since 2005 Product Owners are not part of Software Development, customer – vendor relation Will engage in outsourcing development in 2008 by using distributed Scrum teams 3
  • 4. Planon > Products Planon ProCenter Windows Client Legacy product, ± 15 years old, Delphi Supported by team SE Planon Self-Service Self- ± 5 years old, Delphi Supported by team Net Planon Talk ± 5 years old, Delphi Supported by team Net Planon ProCenter Java ClientWeb2.0 Client Client 3 years old, J2EE environment Supported by teams Alpha, Beta and Gamma The Classical Test Approach 4
  • 5. The Classical Test Approach Test team is asked to test a project Test Manager starts with Project Test Plan Test Manager or Test Leads creates Phase Test plan Start reviewing requirements and specifications Start writing test cases by test engineers Wait for software, until it is almost too late to execute the test plans. Start test execution phase Solve problems found 1st retesting The Classical Test Approach Complaints from the project manager, why is the testing phase taking so much time. Solve problems found during 1st retesting 2nd retesting Regression test and solve problems found during 2nd retesting Deliver software Project evaluation Involvement in the next project too late: it has already started because the developers were finished with the previous project. 5
  • 6. The Classical Test Approach Does not work in Scrum because… because… There is no test team You deliver potentially shippable software each sprint There is no time to write test plans You can’t wait until the software is ready can’ There is no time to perform extensive retesting Requirements and specifications are lean, so Reviewing of documentation cannot wait until it is finished Writing test cases based on specifications is difficult There is no test manager within Scrum The Classical Test Approach To make testing work in a Scrum environment, you have to change… change… The organization Testing Documentation Test Activities Recruitment Reporting Regression testing approach 6
  • 7. Organization Organization Testers are integrated into the teams So no separate test team Testers are always up-to-date up- to- Testers can easily communicate with developers, technical writers and functional designers Test manager is still there, but not in the project 7
  • 8. Organization Role of the tester Ask questions Bring people together Act as the team’s quality conscience team’ Testing Tester has to earn credit with the rest of the team to fulfil this role. Testing Documentation 8
  • 9. Testing Documentation Test Policy High level document, used for all projects Just 1 A4 in size Test Strategy Per Test Level, used for all projects Just 1 A4 in size per Test Level Project Test Plan Describes the deflections compared to the Test Policy and Test Strategy Testing Documentation – Test Policy 1/2 A Test Policy contains the following sections: Mission Organization All testers hold the ISTQB Foundation certificate. On average, each team that builds a software product should have one specialized tester on three developers. The team is ultimately responsible for the quality of the delivered delivered software. Testing Approach The testing approach is aligned with the values of the Agile manifesto. The testing strategy is based on the product risk matrix. An automated regression test is available for each standard Planon software product. The regression test covers at least the product’s high risks areas. product’ 9
  • 10. Testing Documentation – Test Policy 2/2 Standards Quality Attributes Functionality Efficiency Test Improvement The testing process is continuously improved by applying the improvement actions from the team- and a testing retrospective team- that is held after each sprint. This continuously improvement is embedded in our software process, Scrum. Evaluation of testing (Performance indicators) Data is collected on test effort and defects; this data enables creating metrics to provide input for the test improvement process. Testing Documentation – Test Strategy 1/2 Unit test The testing of software components. Is planned and designed early in the life cycle, the tests are based on the detailed design specifications. Objective Test the business logic and the application framework. Responsibility The team is responsible; the developers are the operators and the testers in some cases the reviewers. Risk I Risk II Risk III Risk IV Entry criteria - - - - Exit criteria Jalopy executed Jalopy executed Jalopy executed Jalopy executed Find Bugs executed; no Find Bugs executed; no Find Bugs executed and Find Bugs executed and Correctness bugs and Correctness bugs no Correctness bugs no Correctness bugs Bad Practices are left and Bad Practices are left are left 100% tests successful are left 100% tests successful 100% tests successful Unit tests are reviewed 100% tests successful Medium coverage Low coverage High coverage Unit tests are reviewed High coverage Test process A developer creates Unit A developer creates A developer creates A developer creates tests, often they are Unit tests, often Unit tests, in Unit tests. designed by a they are designed some cases they tester. The unit by a tester. The are designed by a tests are reviewed unit tests are tester. Sometimes by a tester. reviewed by a they are reviewed tester. by a tester. 10
  • 11. Testing Documentation – Test Strategy 2/2 Milestones deliverables Unit tests, coverage results and Unit results. Test case design Boundary value Boundary value Boundary value Boundary value techniques analysis analysis analysis analysis Statement testing Statement testing Equivalence Equivalence partitioning partitioning Statement testing Statement testing Cause/Effect graphing Type of tools that will Find Bugs (Code analysis tool), Emma (Coverage tool), Unit framework be applied Environments in which Nightly test environment, subset of unit tests in a continuous build environment. the tests will be executed Typical non-functional Efficiency. test types Metrics Number of successful unit tests Statement coverage of successful unit tests Time behavior of the executed tests The approach to test All tests are automated in a unit test framework, their will be no manual testing in this level. automation The approach to If a problem is fixed in the source, all the automated unit tests will be executed and there will retesting and be one or more new unit tests to prevent reintroduction of the problem. regression testing Testing Documentation – Project Test Plan If a project does something different than described in the Test Policy or Test Strategies, this can be described in the Project Test Plan. 11
  • 12. Testing Documentation – Test Policy And Test Strategy Why write documentation? You say it is reverse engineering, so why write it down? Enables to discuss test approach with management and teams Used to train new employees Regularly check to see whether we are still on the right track Used in presentations to (potential) customers It’s a living document, so we adapt it when necessary. It’ Test Activities 12
  • 13. Test Activities – Sprint Planning Testers are present during the sprint planning Use risk analysis to identify testing tasks Testers estimate test tasks; testing capacity is finite Test Activities – Sprint Test the software Test Scrum; once a week Testers assists Developers in writing unit tests Testers review unit tests and/or specifications Testers personify the team’s quality conscience team’ Daily priority of the team Results unit tests Keep track of problems 13
  • 14. Test Activities – Sprint Impact Part of the primary company process Possibility of corrupt data Number of users Risk of failure Tools and technology What kind of software: maintenance or new software Number of people involved Test Activities – Sprint Risk I Extensive Exploratory Testing Structured testing, all executed test are automated Testing is done by the most experienced testers Review of Unit tests Review of the test cases on coverage and content Code review Review specifications Risk IV Exploratory Testing Some basic unit testing Testing can be done by non- non- specialized testers 14
  • 15. Test Activities – Sprint ET is very important, also at high risk items Writing test cases based on specifications is difficult ET in combination with formal techniques You can’t wait until the software is ready can’ Testers start with automated test scripts Developers have to deliver software piece by piece Test Activities – End of the Sprint Testers participate in the Sprint Retrospective Testers are present during the Sprint Review meeting Test Retrospective, retrospective about the test process Prepare the next sprint, investigate product backlog 15
  • 16. Recruitment Recruitment – Process • Looking for an “Agile Tester” Tester” • Interview with Development Manager or Test Manager and Recruitment Manager. • Workshop • Four hours – a small effort for a new job • Every one can say (s)he has knowledge of software testing, but can they prove it? • Final interview 16
  • 17. Recruitment – Workshop • 60 Questions about testing • What does the applicant know about testing (ISTQB) • Possibility to discuss testing with the applicant • How does (s)he handle stress • Describe at least 20 test cases to test the Font dialog in Word • How creative is the applicant • Does (s)he use test techniques • How does (s)he describe the tests • Case “communicate with the developer” developer” • How does (s)he handle with the stereotype developer • Can (s)he set the correct priority and severity Recruitment • We believe that soft skills are very important for testers in a Scrum environment • Communication • Flexibility • Collaboration • Test techniques is something you can learn 17
  • 18. Reporting Reporting Test Reports No separate Management report No hidden link on a corporate website But… But… Visible for all team members and stakeholders in a public place Simple and “less is more” more” 18
  • 19. Reporting What to report? Open issues per module Open issues per team Open issues displayed in time % successful unit tests What to report depends per organization, but… but… Report per team, not per individual Use colors: green is good and red is bad (In Western oriented countries) Keep it really simple Reporting – Monitors in the hall 19
  • 20. Reporting – Example report Test Automation 20
  • 21. Test Automation – Why There is no time for extensive manual regression testing; automation is essential. Necessary because of incremental iterations and to support refactoring As Product Vendor we need to support our products for years Instantaneous feedback: all tests are run each night Makes the daily work for testers more fun Test Automation – Which tools JUnit framework No testing of classes but on a higher level Used by developers to test framework and business logic QF-Test QF- Commercial product for automating tests of Java applications with a graphical user interface Used to test our Swing client Selenium A test tool for web applications Used to test our Web2.0 client 21
  • 22. Test Automation – Approach Planon Test Policy: “An automated regression test is available for each standard Planon software product. The regression test covers covers at least the product’s high risks areas.” product’ areas.” Developers and tester discuss test automation Developers builds unit tests, testers reviews them or describes the unit tests, depends on the risk and available capacity . Tester builds a QF-Test test script to touch all GUI components and QF- test main use-case. use- If there is special coding needed for the Web2.0 client, the tester tester builds a Selenium test script. Developer and Testers need to communicate to have the right test automation approach! Test Automation – Approach Tool smith Responsible for analyzing the automated test results Develops and maintains the automated test framework Reviews the tests scripts Prevent this role becoming a bottleneck in creating automatic test scripts 22
  • 23. Lessons Learned Lessons Learned – General Make no statement about the quality at the end of the sprint quality should always be good, and if not a product backlog item is not finished Quality is a team issue not the responsibility of testers Testing in Scrum is different, but you can still use the same old test techniques; use them lean 23
  • 24. Lessons Learned – General How to handle open (customers) issues Prioritize issues Add the issues to the product backlog If you do not want to solve an issue, cancel or close it. If you plan a stabilization phase, you are going to need it. Lessons Learned – Test Manager Coach testers Review test approach of a product backlog item every sprint of every team Develop a vision on testing together with testers Develops and maintain the Test Policy, Test Strategy and Test Project Plan Increase the testing knowledge of testers; for example, hold a monthly professional circle 24
  • 25. Links Agile Testing User Group, http://tech.groups.yahoo.com/group/agile-testing/ http://tech.groups.yahoo.com/group/agile- International Software Testing Qualifications Board, www.istqb.org Planon, www.planon-fm.com www.planon- QFS, www.qftest.com Scrum, www.controlchaos.com Scrum User Group, http://groups.yahoo.com/group/scrumdevelopment/ http://groups.yahoo.com/group/scrumdevelopment/ Selenium, www.openqa.org TestComplete, www.automatedqa.com 25