Getting to done by testing at the same time as coding

                   李平 王珂
GAIN GLOBAL
       VISIBILITY OF                                 FOSTER
       CASH & RISK                                   CONNECTIVITY




                                                                    UNLOCK
                                                                    HIDDEN CASH

DRIVE
EFFICIENCIES &
PRODUCTIVITY



     AVANTGARD




     GETTING TO DONE BY TESTING AT THE
     SAME TIME AS CODING
     李平(Jessica);王珂(James)
     Manager of Product Development (Scrum Master)
     SunGard
BACKGROUND




Team & Projects


         SunGard

     Treasury Product

          Team
CHALLENGES




Not delivering on schedule




  Testing not finished
  Testers 1 or 2 sprints behind devs
  Low automation coverage
  Regression not being run regularly
DEFINITION OF DONE




What’s DONE?




    Done means released.
DEFINITION OF DONE




Finish complete story




    What do you think
     from different
      perspective?
CHANGES THE WAY PEOPLE WORK




Changing from working as individuals to working as a team




            Developers

              Testers

              Team
WORK AS A TEAM




Proper story size



  Work with PO to break
   down stories into
      proper size.
TEST AUTOMATION




Writing tests before a screen exists


• Automate as much as possible.
• Test tool to choose
• What to do beforehand
TEST AUTOMATION




SCREEN DESIGN
TEST AUTOMATION-EXAMPLE




Example: Object ID
AUTOMATION TESTING




Automate all the stories




 One Example, pervious our testing
 is like this …
AUTOMATION TESTING




Automation script strategy


 One Example, currently our testing
 is like this …
UT/IT




Find issue ASAP



 What to test?

 How it should work?

 When to finish?
UNIT TESTING PROCESS/ EXAMPLE




Once failed, take action immediately




  Example:
RESULT




Deliver functionality on a regular schedule


                                Percentage Stories Done
              120%

              100%

              80%
 Example:
              60%

              40%

              20%

               0%
                     Sprint 1    Sprint 2   Sprint 3   Sprint 4   Sprint 5   Sprint 6
RESULT-DONE ORDER




Improved done order based on story prority


            Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprint 5 Sprint 6



 Example:
CONTINUOUS INTEGRATION




Continuous Delivery Process



 Every code change leads to
     a potential release.

   It’s a continual process.
CONTINUOUS INTEGRATION




Use of VMs for testing environments




 • Team daily build/testing
 • Regression Testing
 • IT/UT
WORKING AS A TEAM




Process to ensure all work fine




 • Don’t comment out
   failing tests!
 • You broke it you fix it!
CONTINUOUS IMPROVEMENT




More practices




  Continuous Improvement.

Scrum Gathering 2012 Shanghai_敏捷测试与质量管理分会场演讲话题:getting to done by testing at the same time as coding(李平 王珂)