SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Downloaden Sie, um offline zu lesen
 	
  
           The	
  Beau(ful	
  TESTING
                                    	
  
0   Who

    We
    	
  	
  	
  	
  	
  	
  	
  	
  	
  Are
                            	
  

                                              	
  




                                                     	
  
Yongwei Chen
@Lanvige	
  
                               	
  
               h-p://lanvige.com
1   Modern	
  	
  
    	
  	
  	
  So3ware   	
  
    Develop	
  
h-p://m2.wnymedia.net/files/2009/08/Obama_Change_by_traumerx.jpg	
  
软          	
  
软件可以变化	
  
正是这个本质的小不同决定着两个不同
的发展方向	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
	
  
      h-p://pica.nipic.com/2008-­‐03-­‐31/200833181747900_2.jpg	
  
One	
  week	
  is	
  a	
  release	
  cycle	
  


              We	
  can	
  release	
  many	
  version	
  in	
  one	
  day.	
  
Internet	
  	
  
Develop	
  
Trend                	
  




              Q    UICK	
  
                              <	
  
                                 Implement
                                 Release
                                 Bug fix
2   Quality?	
  
          	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
    TesVng	
  !	
  
h-p://pic3.nipic.com/20090515/2596_080459014_2.jpg	
  




	
  	
  	
  Sounds	
  Great	
  !!!	
  
h-p://www.flickr.com/photos/mutsmuts/4695658106/	
  




but 

Start…
  how we
            ?                     	
  
3   Agile	
  

    ?	
  
    TesVng	
  
 	
  	
  	
  	
  	
  	
  TEST:	
  Making	
  sure	
  the	
  applicaVon	
  does	
  
the	
  RIGHT	
  things	
  RIGHT	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  -­‐	
  Uncle	
  Bob	
  
2	
  words:	
  rapid	
  feedback	
  
        Short	
  feedback	
  loop	
  between	
  testers	
  and	
  developers	
  
        Find	
  criVcal	
  bugs	
  early	
  rather	
  than	
  late	
  
        Testers	
  are	
  service	
  providers,	
  not	
  last	
  line	
  of	
  defense	
  
        Involve	
  customers	
  early	
  in	
  wriVng	
  tests	
  
        Focus	
  on	
  automaVon	
  




What is agile testing?
4      	
  	
  Agile	
  
     1+1
    Team	
  
h-p://www.infoq.com/cn/news/2011/03/Ensuring-­‐Product-­‐Quality-­‐Google	
  
                  h-p://googletesVng.blogspot.com/2011/01/how-­‐google-­‐tests-­‐soiware.html	
  


                     Break	
  the	
  old	
  view	
  
                     The	
  whole-­‐team	
  approach	
  
                            No	
  “throwing	
  code	
  over	
  the	
  wall”	
  to	
  
                            QA!	
  
                     One	
  project	
  team,	
  one	
  aim	
  
                     Together	
  	
  
                            analyze	
  requirements	
  
                            Planning	
  
                            draw	
  up	
  acceptance	
  criteria	
  



Team Logistics
h-p://www.flickr.com/photos/jiheffe/3462940215	
  




              Quality	
  phiosophy	
  
              Introducing	
  Change	
  
              Management	
  ExpectaVons	
  
              CommunicaVon	
  




Cultural Challenge
h-p://lh3.ggpht.com/-­‐rphxCwxUlFA/TIOt_1QpG3E/AAAAAAAAAB8/faz3wJMcP0o/MatrixOrangeCrossCulturalChallengesOfWomenAbroad.jpg	
  




                                                                           Domain	
  
                         DEV	
                                             Expert	
  

                                                           Tester	
  



Interaction of Roles
5   	
  	
  	
  Test	
  
    categorizaVon	
  

           ?	
  
h-p://www.flickr.com/photos/withassociates/3659754428/	
  

Level	
  

              	
  Unit	
  




            &	
  
              	
  Integra.on	
  
              	
  Acceptance	
  




             test
Ac#on	
  


              	
  White	
  Box	
  
              	
  Black	
  Box	
  
Content	
  

              	
  Regression	
  
              	
  Func#on	
  
              	
  Load 
              	
  Stress 
              	
  Performance   
                                                    	
  
              	
  Security	
  	
  
              	
  A/B 
              	
  Alpha/Beta	
  
Agile	
  TesVng:	
  	
  h-p://book.douban.com/subject/5338399/	
  
h-p://julieeconblog.files.wordpress.com/2009/12/taking-­‐test.jpg	
  




Introduction
Unit	
  Test	
       è	
     Do	
  things	
  RIGHT	
  



IntegraVon	
  Test	
     è	
     Do	
  things	
  RIGHT	
  



Acceptance	
  Test	
     è	
     Doing	
  the	
  RIGHT	
  things	
  
Unit	
  Test	
       è	
     Test	
  one	
  funcVon/	
  
                                  method	
  at	
  a	
  Vme


IntegraVon	
  Test	
     è	
     More	
  coarse-­‐grained	
  
                                  than	
  unit	
  tests


Acceptance	
  Test	
     è	
     Business	
  facing
Unit	
  Test	
       è	
     Developer



IntegraVon	
  Test	
     è	
     QA	
  &	
  Developer



Acceptance	
  Test	
     è	
     Customer	
  &	
  QA
data	
  form	
  h-p://www.infoq.com/cn/presentaVons/sjw-­‐webtest-­‐baidu	
  




Void	
  	
                                                                             10%	
  
UI	
  Tes#ng	
  

	
  	
  	
  	
  	
  	
  	
  	
  	
  Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  
Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  
                                                                                       20%	
  
Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  
Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  
Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  
Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  
Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  
Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  
Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  
Void	
  Void	
  Void	
  Void	
  Void	
  Void	
  	
  
Void	
  Void	
  Void	
  Void	
  Void	
  	
  
Void	
  Void	
  Void	
  Void	
  	
                                                     70%	
  
Void	
  Void	
  Void	
  	
  
Void	
  Void	
  
	
  
Types	
  of	
  tesVng	
  –	
  Jason	
  Huggins’s	
  
TesVng	
  Pyramid	
  
	
  
6          Unit	
  Test	
  
    101
    	
  
is	
  a	
  method	
  by	
  which	
  individual	
  units	
  of	
  source	
  code	
  are	
  
                           tested	
  to	
  determine	
  if	
  they	
  are	
  fit	
  for	
  use.	
  A	
  unit	
  is	
  the	
  
                           smallest	
  testable	
  part	
  of	
  an	
  applicaVon.	
  In	
  procedural	
  
                           programming	
  a	
  unit	
  may	
  be	
  an	
  individual	
  funcVon	
  or	
  
                           procedure.	
  In	
  object-­‐oriented	
  programming	
  a	
  unit	
  is	
  usually	
  an	
  
                           interface,	
  such	
  as	
  a	
  class.[citaVon	
  needed]	
  Unit	
  tests	
  are	
  
                           created	
  by	
  programmers	
  or	
  occasionally	
  by	
  white	
  box	
  testers	
  
                           during	
  the	
  development	
  process.	
  
                           	
  




	
  	
  	
  It’s	
  for	
  DEV	
  
Unit Test
                               each test case
                                      Is

     Unit	
  Test	
  
                               Independent
     	
                        from the others:
                        substitutes like method stubs,
                                mock objects,
                                  fakes and
                               test harnesses
                               can be used to
Safety control                 assist testing a
                                   module
                                      in
                                  isolation.
UT	
  as	
  second	
  users	
  
           Force	
  code	
  loose	
  coupling	
  	
  




Beautiful Architeture
Break the dependencies
h-p://www.infoq.com/cn/arVcles/thoughtworks-­‐pracVce-­‐partvi	
  
           h-p://news.csdn.net/n/20060726/93003.html	
  
           	
  




Stub, fake & mock
Test is the target
Test Driven Development
TDD Process
Feature:	
  Change	
  email	
  
     	
  
     	
  	
  Scenario:	
  Change	
  my	
  email	
  
     	
  	
   	
  Given	
  I	
  am	
  signed	
  in	
  
     	
  	
  	
  	
  	
  	
  	
  	
  	
  And	
  I	
  click	
  on	
  my	
  name	
  in	
  the	
  header	
  
     	
  	
  	
  	
  	
  	
  	
  	
  	
  And	
  I	
  follow	
  "seungs"	
  
     	
  	
  	
  	
  	
  	
  	
  	
  	
  Then	
  I	
  should	
  be	
  on	
  my	
  account	
  seungs	
  page	
  
     	
  	
  	
  	
  	
  	
  	
  	
  	
  When	
  I	
  fill	
  in	
  "user_email"	
  with	
  "new_email@newplac.es"	
  
     	
  	
  	
  	
  	
  	
  	
  	
  	
  And	
  I	
  press	
  "Change	
  E-­‐Mail"	
  
     	
  	
  	
  	
  	
  	
  	
  	
  	
  Then	
  I	
  should	
  see	
  "E-­‐Mail	
  Changed"	
  
     	
  	
  	
  	
  	
  	
  	
  	
  	
  And	
  I	
  follow	
  the	
  "confirm_email"	
  link	
  from	
  the	
  last	
  sent	
  email	
  
     	
  	
  	
  	
  	
  	
  	
  	
  	
  Then	
  I	
  should	
  see	
  "acVvated"	
  
     	
  	
  	
  	
  	
  	
  	
  	
  	
  And	
  my	
  "email"	
  should	
  be	
  "new_email@newplac.es"	
  	
  
Behaviour Driven Development
7          FuncVon	
  
    &
    	
  
           IntegraVon	
  
           	
  
           Test	
  
User Story Level
h-p://www.flickr.com/photos/tubish/4143587047/	
  




Testable
selenium           	
  
              [sə'li:niəm]	
  
              n.	
  
              [化]硒	
  




Web UI Test
8
     101
    Acceptance
    Test	
  
       	
  
               	
  
It’s	
  Cool,	
  But	
  	
  
               Wrong	
  Target	
  	
  




Writing right software
9
    ?
    	
  
           Automa(on	
  	
  
h-p://www.flickr.com/photos/dominik_t/487972901/	
  




	
  	
  	
  Free	
  hand,	
  More	
  fun!	
  	
  
h-p://www.flickr.com/photos/studebaker_photography/4513247425/sizes/l/in/photostream/	
  




	
  	
  	
  Feedback	
  Instance	
  
h-p://www.flickr.com/photos/mac_fun/3751473403/sizes/o/in/photostream/	
  




	
  	
  	
  Safe	
  Regression	
  TesVng	
  
h-p://www.dclab.com/images/books.jpg	
  




	
  	
  	
  Test	
  as	
  Document	
  
h-p://www.china-­‐cloud.com/uploads/allimg/110613/1514053394-­‐0.gif	
  




	
  	
  	
  *RESTful	
  API	
  Design	
  
10
     ?
     	
  
            Automa(on	
  
            Tools	
  	
  
CI	
  tools	
  do	
  
automated	
  builds,	
  
execute	
  tests,	
  and	
  
report	
  the	
  results	
  

                               Failing	
  early	
  gives	
  us	
  (me	
  to	
  fix	
  the	
  problems	
  



   Build & CI
Process
Use	
  the	
  whold-­‐team	
  approach	
  
         Adopt	
  an	
  agile	
  tesVng	
  mind-­‐set	
  
         Automate	
  regression	
  tesVng	
  
         Provide	
  and	
  obtain	
  feedback	
  
         Build	
  a	
  foundaVon	
  of	
  core	
  pracVces	
  
           	
  -­‐	
  CI	
  /	
  Test	
  Environment	
  /	
  Technical	
  Debt	
  
            	
  -­‐	
  Working	
  Incrementally	
  
         Collaborate	
  with	
  customers	
  
         Looking	
  at	
  the	
  big	
  picture	
  



Success Factors
How	
  we	
  	
  
11
     ?
     	
  
            pracVce	
  	
  
            	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  in	
  	
  
            School                                                           	
  
Keep	
  Wai(ng	
  …	
  
Eric	
  Zhang	
  will	
  show	
  it	
  to	
  us…	
  
•    h-p://www.365tesVng.com/bbs/thread-­‐31928-­‐1-­‐1.html	
  
       •    h-p://www.infoq.com/cn/news/2010/12/dn-­‐agile-­‐test-­‐2	
  




12
       •    h-p://www.qualitytree.com/	
  
       •    h-p://www.manning.com/osherove/	
  
       •    h-p://www.marVnfowler.com/arVcles/mocksArentStubs.html	
  
       •    h-p://fitnesse.org/	
  
       •    h-p://seleniumhq.org/	
  
       •    h-p://agiletesVng.blogspot.com/2009/07/automatedtesVngofproducVon.html	
  
       •    h-p://www.tesVng.com/cgi-­‐bin/blog/2003/08/21%23agile-­‐tesVng-­‐project-­‐1	
  
       •    h-p://www.extremeprogramming.org/	
  




Resources

~~          -­‐END-­‐	
  

     THANKS
     	
  

Weitere ähnliche Inhalte

Was ist angesagt?

20140925 fistb keynote
20140925 fistb keynote20140925 fistb keynote
20140925 fistb keynoteJames Coplien
 
Quality of Bug Reports in Open Source
Quality of Bug Reports in Open SourceQuality of Bug Reports in Open Source
Quality of Bug Reports in Open SourceThomas Zimmermann
 
Alliance2011 goldcoast Farid
Alliance2011 goldcoast FaridAlliance2011 goldcoast Farid
Alliance2011 goldcoast FaridFarid Vaswani
 
TEA Presentation V 0.3
TEA Presentation V 0.3TEA Presentation V 0.3
TEA Presentation V 0.3Ian McDonald
 
Beyond Agile Testing to Lean Development — Rakuten Technology Conference
Beyond Agile Testing to Lean Development — Rakuten Technology ConferenceBeyond Agile Testing to Lean Development — Rakuten Technology Conference
Beyond Agile Testing to Lean Development — Rakuten Technology ConferenceJames Coplien
 

Was ist angesagt? (7)

20140925 fistb keynote
20140925 fistb keynote20140925 fistb keynote
20140925 fistb keynote
 
Quality of Bug Reports in Open Source
Quality of Bug Reports in Open SourceQuality of Bug Reports in Open Source
Quality of Bug Reports in Open Source
 
Alliance2011 goldcoast Farid
Alliance2011 goldcoast FaridAlliance2011 goldcoast Farid
Alliance2011 goldcoast Farid
 
Avc rem 201211_en
Avc rem 201211_enAvc rem 201211_en
Avc rem 201211_en
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
TEA Presentation V 0.3
TEA Presentation V 0.3TEA Presentation V 0.3
TEA Presentation V 0.3
 
Beyond Agile Testing to Lean Development — Rakuten Technology Conference
Beyond Agile Testing to Lean Development — Rakuten Technology ConferenceBeyond Agile Testing to Lean Development — Rakuten Technology Conference
Beyond Agile Testing to Lean Development — Rakuten Technology Conference
 

Andere mochten auch

Black Berry Server
Black Berry ServerBlack Berry Server
Black Berry ServerEmilyKelps
 
Thinking beyond apps
Thinking beyond appsThinking beyond apps
Thinking beyond appsSaurabh Palan
 
Servicios terminologicos pag web
Servicios terminologicos pag webServicios terminologicos pag web
Servicios terminologicos pag webSarabusramante
 
Non For Profit Social Networking
Non For Profit Social NetworkingNon For Profit Social Networking
Non For Profit Social NetworkingEmilyKelps
 
Rocky Mtn Safety090917
Rocky Mtn Safety090917Rocky Mtn Safety090917
Rocky Mtn Safety090917Don Shafer
 
Deep in c# syntactic sugar
Deep in c# syntactic sugarDeep in c# syntactic sugar
Deep in c# syntactic sugarLanvige Jiang
 
Head first asp.net mvc 2.0 rtt
Head first asp.net mvc 2.0 rttHead first asp.net mvc 2.0 rtt
Head first asp.net mvc 2.0 rttLanvige Jiang
 
Assignment 2 Comtech
Assignment 2 ComtechAssignment 2 Comtech
Assignment 2 Comtechguesta33265
 
Automatic Logo Replacement
Automatic Logo ReplacementAutomatic Logo Replacement
Automatic Logo ReplacementSaurabh Palan
 
Non For Profit Social Networking
Non For Profit Social NetworkingNon For Profit Social Networking
Non For Profit Social NetworkingEmilyKelps
 
LoLiT Business Plan Presentation
LoLiT Business Plan PresentationLoLiT Business Plan Presentation
LoLiT Business Plan PresentationSaurabh Palan
 
Just One Wish Pp Presentation Sept 09
Just One Wish Pp Presentation Sept 09Just One Wish Pp Presentation Sept 09
Just One Wish Pp Presentation Sept 09guest06a3d3
 
Social Networking Shrm Emily
Social Networking Shrm   EmilySocial Networking Shrm   Emily
Social Networking Shrm EmilyEmilyKelps
 
H2 S How May I Help You?
H2 S How May I Help You?H2 S How May I Help You?
H2 S How May I Help You?Eerika Kokkonen
 
PowerPoint Augmentative/Alternative Communication
PowerPoint Augmentative/Alternative CommunicationPowerPoint Augmentative/Alternative Communication
PowerPoint Augmentative/Alternative Communicationguest564db2ec
 

Andere mochten auch (19)

Black Berry Server
Black Berry ServerBlack Berry Server
Black Berry Server
 
You’Ve Got Mail!
You’Ve Got Mail!You’Ve Got Mail!
You’Ve Got Mail!
 
Thinking beyond apps
Thinking beyond appsThinking beyond apps
Thinking beyond apps
 
Servicios terminologicos pag web
Servicios terminologicos pag webServicios terminologicos pag web
Servicios terminologicos pag web
 
Non For Profit Social Networking
Non For Profit Social NetworkingNon For Profit Social Networking
Non For Profit Social Networking
 
Rocky Mtn Safety090917
Rocky Mtn Safety090917Rocky Mtn Safety090917
Rocky Mtn Safety090917
 
Deep in c# syntactic sugar
Deep in c# syntactic sugarDeep in c# syntactic sugar
Deep in c# syntactic sugar
 
Head first asp.net mvc 2.0 rtt
Head first asp.net mvc 2.0 rttHead first asp.net mvc 2.0 rtt
Head first asp.net mvc 2.0 rtt
 
Assignment 2 Comtech
Assignment 2 ComtechAssignment 2 Comtech
Assignment 2 Comtech
 
Automatic Logo Replacement
Automatic Logo ReplacementAutomatic Logo Replacement
Automatic Logo Replacement
 
TXT Next Presentation
TXT Next Presentation TXT Next Presentation
TXT Next Presentation
 
Non For Profit Social Networking
Non For Profit Social NetworkingNon For Profit Social Networking
Non For Profit Social Networking
 
LoLiT Business Plan
LoLiT Business PlanLoLiT Business Plan
LoLiT Business Plan
 
LoLiT Business Plan Presentation
LoLiT Business Plan PresentationLoLiT Business Plan Presentation
LoLiT Business Plan Presentation
 
Just One Wish Pp Presentation Sept 09
Just One Wish Pp Presentation Sept 09Just One Wish Pp Presentation Sept 09
Just One Wish Pp Presentation Sept 09
 
Blimps
BlimpsBlimps
Blimps
 
Social Networking Shrm Emily
Social Networking Shrm   EmilySocial Networking Shrm   Emily
Social Networking Shrm Emily
 
H2 S How May I Help You?
H2 S How May I Help You?H2 S How May I Help You?
H2 S How May I Help You?
 
PowerPoint Augmentative/Alternative Communication
PowerPoint Augmentative/Alternative CommunicationPowerPoint Augmentative/Alternative Communication
PowerPoint Augmentative/Alternative Communication
 

Ähnlich wie Agile Testing

Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Deepak Singhvi
 
The Speed to Cool - Valuing Testing & Quality in Agile Teams
The Speed to Cool - Valuing Testing & Quality in Agile TeamsThe Speed to Cool - Valuing Testing & Quality in Agile Teams
The Speed to Cool - Valuing Testing & Quality in Agile TeamsCraig Smith
 
Software Testing Interview Questions
Software Testing Interview QuestionsSoftware Testing Interview Questions
Software Testing Interview QuestionsTestbytes
 
Software testing career 20180929 update
Software testing career 20180929 updateSoftware testing career 20180929 update
Software testing career 20180929 updateAhmed Ahmed Mokhtar
 
A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversionAshish Kumar
 
Project Management in 3 Slides
Project Management in 3 SlidesProject Management in 3 Slides
Project Management in 3 SlidesLonnie Sorrells
 
Just Java2007 - Daniel Wildt - Tools For Java Test Automation
Just Java2007 - Daniel Wildt - Tools For Java Test AutomationJust Java2007 - Daniel Wildt - Tools For Java Test Automation
Just Java2007 - Daniel Wildt - Tools For Java Test AutomationDaniel Wildt
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightInflectra
 
IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...
IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...
IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...IRJET Journal
 
Functional Testing in Java
Functional Testing in JavaFunctional Testing in Java
Functional Testing in Java秉文 蔡
 
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo EuteneuerStop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo EuteneuerJAXLondon_Conference
 
Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsMichael Palotas
 
Release Management for Large Enterprises
Release Management for Large EnterprisesRelease Management for Large Enterprises
Release Management for Large EnterprisesSalesforce Developers
 
The Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User AdvocacyThe Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User AdvocacyTechWell
 
What is Software Testing | Edureka
What is Software Testing | EdurekaWhat is Software Testing | Edureka
What is Software Testing | EdurekaEdureka!
 
software_testing pdf.pdf
software_testing pdf.pdfsoftware_testing pdf.pdf
software_testing pdf.pdfCbhaSlide
 

Ähnlich wie Agile Testing (20)

Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.Testing and Mocking Object - The Art of Mocking.
Testing and Mocking Object - The Art of Mocking.
 
The Speed to Cool - Valuing Testing & Quality in Agile Teams
The Speed to Cool - Valuing Testing & Quality in Agile TeamsThe Speed to Cool - Valuing Testing & Quality in Agile Teams
The Speed to Cool - Valuing Testing & Quality in Agile Teams
 
manual interview q.pdf
manual interview q.pdfmanual interview q.pdf
manual interview q.pdf
 
Software Testing Interview Questions
Software Testing Interview QuestionsSoftware Testing Interview Questions
Software Testing Interview Questions
 
Software testing career 20180929 update
Software testing career 20180929 updateSoftware testing career 20180929 update
Software testing career 20180929 update
 
A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversion
 
Project Management in 3 Slides
Project Management in 3 SlidesProject Management in 3 Slides
Project Management in 3 Slides
 
Just Java2007 - Daniel Wildt - Tools For Java Test Automation
Just Java2007 - Daniel Wildt - Tools For Java Test AutomationJust Java2007 - Daniel Wildt - Tools For Java Test Automation
Just Java2007 - Daniel Wildt - Tools For Java Test Automation
 
The DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It RightThe DevOps Dance - Shift Left, Shift Right - Get It Right
The DevOps Dance - Shift Left, Shift Right - Get It Right
 
Petri for kyiv.pptx
Petri for kyiv.pptxPetri for kyiv.pptx
Petri for kyiv.pptx
 
IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...
IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...
IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...
 
Functional Testing in Java
Functional Testing in JavaFunctional Testing in Java
Functional Testing in Java
 
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo EuteneuerStop guessing, start testing – mobile testing done right - Timo Euteneuer
Stop guessing, start testing – mobile testing done right - Timo Euteneuer
 
Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile Projects
 
Release Management for Large Enterprises
Release Management for Large EnterprisesRelease Management for Large Enterprises
Release Management for Large Enterprises
 
The Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User AdvocacyThe Tester’s Role: Balancing Technical Acumen and User Advocacy
The Tester’s Role: Balancing Technical Acumen and User Advocacy
 
What is Software Testing | Edureka
What is Software Testing | EdurekaWhat is Software Testing | Edureka
What is Software Testing | Edureka
 
software_testing pdf.pdf
software_testing pdf.pdfsoftware_testing pdf.pdf
software_testing pdf.pdf
 
Testing Tutorial PDF
Testing Tutorial PDFTesting Tutorial PDF
Testing Tutorial PDF
 
software_testing pdf.pdf
software_testing pdf.pdfsoftware_testing pdf.pdf
software_testing pdf.pdf
 

Kürzlich hochgeladen

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 

Kürzlich hochgeladen (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 

Agile Testing

  • 1.     The  Beau(ful  TESTING  
  • 2. 0 Who We                  Are      
  • 4. @Lanvige     h-p://lanvige.com
  • 5. 1 Modern          So3ware   Develop  
  • 7.   软件可以变化   正是这个本质的小不同决定着两个不同 的发展方向                             h-p://pica.nipic.com/2008-­‐03-­‐31/200833181747900_2.jpg  
  • 8.
  • 9. One  week  is  a  release  cycle   We  can  release  many  version  in  one  day.  
  • 10. Internet     Develop   Trend   Q UICK   <   Implement Release Bug fix
  • 11. 2 Quality?                             TesVng  !  
  • 14. 3 Agile   ?   TesVng  
  • 15.              TEST:  Making  sure  the  applicaVon  does   the  RIGHT  things  RIGHT                                                                                                                                -­‐  Uncle  Bob  
  • 16. 2  words:  rapid  feedback   Short  feedback  loop  between  testers  and  developers   Find  criVcal  bugs  early  rather  than  late   Testers  are  service  providers,  not  last  line  of  defense   Involve  customers  early  in  wriVng  tests   Focus  on  automaVon   What is agile testing?
  • 17. 4    Agile   1+1 Team  
  • 18. h-p://www.infoq.com/cn/news/2011/03/Ensuring-­‐Product-­‐Quality-­‐Google   h-p://googletesVng.blogspot.com/2011/01/how-­‐google-­‐tests-­‐soiware.html   Break  the  old  view   The  whole-­‐team  approach   No  “throwing  code  over  the  wall”  to   QA!   One  project  team,  one  aim   Together     analyze  requirements   Planning   draw  up  acceptance  criteria   Team Logistics
  • 19. h-p://www.flickr.com/photos/jiheffe/3462940215   Quality  phiosophy   Introducing  Change   Management  ExpectaVons   CommunicaVon   Cultural Challenge
  • 21. 5      Test   categorizaVon   ?  
  • 22. h-p://www.flickr.com/photos/withassociates/3659754428/   Level    Unit   &    Integra.on    Acceptance   test Ac#on    White  Box    Black  Box   Content    Regression    Func#on    Load   Stress   Performance       Security      A/B   Alpha/Beta  
  • 23. Agile  TesVng:    h-p://book.douban.com/subject/5338399/  
  • 25. Unit  Test   è   Do  things  RIGHT   IntegraVon  Test   è   Do  things  RIGHT   Acceptance  Test   è   Doing  the  RIGHT  things  
  • 26. Unit  Test   è   Test  one  funcVon/   method  at  a  Vme IntegraVon  Test   è   More  coarse-­‐grained   than  unit  tests Acceptance  Test   è   Business  facing
  • 27. Unit  Test   è   Developer IntegraVon  Test   è   QA  &  Developer Acceptance  Test   è   Customer  &  QA
  • 28. data  form  h-p://www.infoq.com/cn/presentaVons/sjw-­‐webtest-­‐baidu   Void     10%   UI  Tes#ng                    Void  Void  Void  Void  Void  Void   Void  Void  Void  Void  Void  Void  Void   20%   Void  Void  Void  Void  Void  Void  Void   Void  Void  Void  Void  Void  Void  Void   Void  Void  Void  Void  Void  Void  Void   Void  Void  Void  Void  Void  Void  Void   Void  Void  Void  Void  Void  Void  Void   Void  Void  Void  Void  Void  Void  Void   Void  Void  Void  Void  Void  Void  Void   Void  Void  Void  Void  Void  Void     Void  Void  Void  Void  Void     Void  Void  Void  Void     70%   Void  Void  Void     Void  Void     Types  of  tesVng  –  Jason  Huggins’s   TesVng  Pyramid    
  • 29. 6 Unit  Test   101  
  • 30. is  a  method  by  which  individual  units  of  source  code  are   tested  to  determine  if  they  are  fit  for  use.  A  unit  is  the   smallest  testable  part  of  an  applicaVon.  In  procedural   programming  a  unit  may  be  an  individual  funcVon  or   procedure.  In  object-­‐oriented  programming  a  unit  is  usually  an   interface,  such  as  a  class.[citaVon  needed]  Unit  tests  are   created  by  programmers  or  occasionally  by  white  box  testers   during  the  development  process.          It’s  for  DEV  
  • 31. Unit Test each test case Is Unit  Test   Independent   from the others: substitutes like method stubs, mock objects, fakes and test harnesses can be used to Safety control assist testing a module in isolation.
  • 32. UT  as  second  users   Force  code  loose  coupling     Beautiful Architeture
  • 34. h-p://www.infoq.com/cn/arVcles/thoughtworks-­‐pracVce-­‐partvi   h-p://news.csdn.net/n/20060726/93003.html     Stub, fake & mock
  • 35. Test is the target
  • 38. Feature:  Change  email        Scenario:  Change  my  email        Given  I  am  signed  in                    And  I  click  on  my  name  in  the  header                    And  I  follow  "seungs"                    Then  I  should  be  on  my  account  seungs  page                    When  I  fill  in  "user_email"  with  "new_email@newplac.es"                    And  I  press  "Change  E-­‐Mail"                    Then  I  should  see  "E-­‐Mail  Changed"                    And  I  follow  the  "confirm_email"  link  from  the  last  sent  email                    Then  I  should  see  "acVvated"                    And  my  "email"  should  be  "new_email@newplac.es"     Behaviour Driven Development
  • 39. 7 FuncVon   &   IntegraVon     Test  
  • 42. selenium   [sə'li:niəm]   n.   [化]硒   Web UI Test
  • 43. 8 101 Acceptance Test      
  • 44. It’s  Cool,  But     Wrong  Target     Writing right software
  • 45. 9 ?   Automa(on    
  • 46. h-p://www.flickr.com/photos/dominik_t/487972901/        Free  hand,  More  fun!    
  • 49. h-p://www.dclab.com/images/books.jpg        Test  as  Document  
  • 51. 10 ?   Automa(on   Tools    
  • 52. CI  tools  do   automated  builds,   execute  tests,  and   report  the  results   Failing  early  gives  us  (me  to  fix  the  problems   Build & CI
  • 54. Use  the  whold-­‐team  approach   Adopt  an  agile  tesVng  mind-­‐set   Automate  regression  tesVng   Provide  and  obtain  feedback   Build  a  foundaVon  of  core  pracVces    -­‐  CI  /  Test  Environment  /  Technical  Debt    -­‐  Working  Incrementally   Collaborate  with  customers   Looking  at  the  big  picture   Success Factors
  • 55. How  we     11 ?   pracVce                              in     School  
  • 56.
  • 57. Keep  Wai(ng  …   Eric  Zhang  will  show  it  to  us…  
  • 58. •  h-p://www.365tesVng.com/bbs/thread-­‐31928-­‐1-­‐1.html   •  h-p://www.infoq.com/cn/news/2010/12/dn-­‐agile-­‐test-­‐2   12 •  h-p://www.qualitytree.com/   •  h-p://www.manning.com/osherove/   •  h-p://www.marVnfowler.com/arVcles/mocksArentStubs.html   •  h-p://fitnesse.org/   •  h-p://seleniumhq.org/   •  h-p://agiletesVng.blogspot.com/2009/07/automatedtesVngofproducVon.html   •  h-p://www.tesVng.com/cgi-­‐bin/blog/2003/08/21%23agile-­‐tesVng-­‐project-­‐1   •  h-p://www.extremeprogramming.org/   Resources
  • 59.  ~~ -­‐END-­‐   THANKS