SlideShare uma empresa Scribd logo
1 de 32
Baixar para ler offline
1




Baskin I. Tapkan
Advanced Technology Software Group
Imation Corp.

                                         @baskint
baskint@gmail.com                        http://tapkan.blogspot.com/


               April 9, 2011 – TCCC‐10
2


1.   Reasons behind testing and why you should care
2.   Development and testing with VS‐2010
3.   Something‐Driven styles and contrasts
4.   Types of testing
5.   Coded UI testing – demo
6.   Database Unit testing ‐ demo
7.   Continuous Integration Practices
8.   Unit test & TeamCity ‐ demo
9.   Conclusion & References

                April 9, 2011 – TCCC‐10
3




Bugs are expensive – over $59 billion/year

On average, 100 errors per 1,000 lines of code

Cancelled and over‐ran projects combined cost 
around $88 billion in 2009

A few examples…


            April 9, 2011 – TCCC‐10
4




Code Re‐use
Conversion from 64‐bit to 16‐bit 
signed int caused overflow, 
exception handling was disabled 
for some other reason –
COST > $370 million (‘96 dollars)




                   April 9, 2011 – TCCC‐10
5




                 Crossed international dateline 
                 the first time on the way to 
                 Japan, computers crashed losing 
                 all navigation and 
                 communication systems.

                 Luckily with clear weather, it 
                 followed tankers back to Hawaii




April 9, 2011 – TCCC‐10
6



Failed to wake up users during Daylight Savings Time change




                 April 9, 2011 – TCCC‐10
7




          Writing tests first help write better code



      Process of writing a test first helps to see when a 
              design is too rigid or unfocused



   Testing is no longer just about keeping defects from the 
  users; instead it is about helping the team understand the 
features users need and deliver them reliably and predictably

               April 9, 2011 – TCCC‐10
8




Repeated cycles of activity            Each cycle adds new features 
                                         and team gets feedback


      Each cycle deploys work to some kind 
                 of environment


                         Every deploy, team has an opportunity to 
                           check the assumptions against reality

      Without deployment, the feedback is 
                not complete

                    April 9, 2011 – TCCC‐10
9




Requirements
Feature coding
Pair programming
Stand‐ups
Unit testing
Deployment
Integration testing
Releases


           April 9, 2011 – TCCC‐10
10




  Incremental development 
                                                 Iterative development 
   builds a system feature, 
                                               progressively refines the 
instead of building layers and 
                                              implementation of features 
 components and integrating 
                                                in response to feedback 
       them at the end.  
                                              until they are good enough.  
Each feature is implemented 
                                              In other words, reacting to 
   as an end‐to‐end “slice”.  
                                                the “anticipating to the 
 System is always integrated 
                                                    unanticipated”
  and ready for deployment



                    April 9, 2011 – TCCC‐10
11




                                        Release



                            Test



Development




              April 9, 2011 – TCCC‐10
12




Pushing quality upstream
                                           Release



                               Test



   Development




                 April 9, 2011 – TCCC‐10
13




                 Coding Horror : reference


April 9, 2011 – TCCC‐10
14



    The catch is that few developers enjoy testing their code. 
  Many see writing automated tests is seen as not “real” work 
        compared to adding features.  They find it boring. 
It takes a different mind set and takes time to learn and master.

TDD makes coding a design activity.  Use tests to clarify ideas 
                about what the code should do.  
Having tests during development process can build up a safety 
               net of automated regression tests. 
         These tests give confidence to make changes.  
   All of a sudden, you are doing “Red – Green – Refactor”


        “… you have nothing to lose but your bugs” 

                   April 9, 2011 – TCCC‐10
15




Evolution of TDD          Test method names should be sentences



 Writing tests that matter                   “Given, When, Then”




             Concept of executable specifications


                   April 9, 2011 – TCCC‐10
16




                              Start feature with an acceptance test


                               Develop from the inputs & outputs




MSDN Article: http://msdn.microsoft.com/en‐us/magazine/gg490346.aspx

                     April 9, 2011 – TCCC‐10
17




Unit / Integration / Acceptance Tests

Database Unit Test

Coded UI Tests

Web Performance  and Load Tests



             April 9, 2011 – TCCC‐10
18




       TailSpin project lab


http://blogs.msdn.com/b/briankel/archive/2010/06/25/now‐available‐visual‐studio‐
2010‐rtm‐virtual‐machine‐with‐sample‐data‐and‐hands‐on‐labs.aspx


                        April 9, 2011 – TCCC‐10
19




SP1 is available
  Help viewer updates
  Silverlight 4 support
  Unit testing for .NET 3.5
  IIS Express support
  SQL Server CE Support
  Razor support                            “Pimp my IDE” check out 
                                            http://studiostyl.es
Feature Pack 2
  Code visualization and modeling
  Improved Coded UI Testing

                 April 9, 2011 – TCCC‐10
20




      using SQL Server 2008


http://blogs.msdn.com/b/atverma/archive/2010/07/28/how‐to‐unit‐test‐sql‐server‐
2008‐database‐using‐visual‐studio‐2010.aspx


                       April 9, 2011 – TCCC‐10
21




A unit test is a piece 
  of code that invokes 
 another piece of code, 
                                   Is Automated and repeatable
   resides in another 
        assembly
                                   Is Easy to implement
                                   Should remain for future use
                                   Is run by anyone
                                   Should run with a push of a button
                                   Runs quickly
SUT : System Under Test 
(CUT : Code under Test)
  : Class under Test)

                  April 9, 2011 – TCCC‐10
22




                             Development & 
     Architecture                                     Lab Management                  Test                     TFS
                               Database
•Architecture Explorer    •Historical debugging     •Multi‐tier              •Test planning           •Work item hierarchy 
•Layer Diagram            •Test impact analysis      environment creation    •Test case                & link types
•Use case designer        •Improved code             and management           management              •Improved Agile 
•Activity designer         analysis                 •Automated               •Test prioritization      template
                          •Improved profiling        deployment              •Run management &        •MOSS & WSS 
•Component diagram
                           (incl. multi‐tier)       •Easily manage            reporting                dashboards
•Logical class designer
                          •Database extensibility    machine pools           •Project quality         •Simplified reporting
•Sequence diagram
                                                    •Network fencing          reports                 •Improved support for 
•Modeling project 
                                                    •Checkpoints             •Manual test              parallel development
 system
                                                                              execution               •Rollback
•UML Model Explorer
                                                                             •Diagnostic recording    •Build queuing and 
•Architecture 
                                                                              (environment, video,     pooling
 validation during 
                                                                              etc.)                   •Gated check‐in
 build
                                                                             •UI Automation           •Simplified setup
                                                                              recording               •Scale out of web and 
                                                                             •Coded UI tests           data tiers
                                                                                                      •Admin console
                                                                                                      •Project 
                                                                                                       move/archive/restore




                                      April 9, 2011 – TCCC‐10
23




Real Life Example




         April 9, 2011 – TCCC‐10
24



   Maintain a Single Source Repository

                                                    Automate the Build

       Make Your Build Self‐Testing

                                                    Keep the Build Fast

    Everyone can see what's happening

                                                  Automate Deployment

http://martinfowler.com/articles/continuousIntegration.html

                       April 9, 2011 – TCCC‐10
25




April 9, 2011 – TCCC‐10
26




April 9, 2011 – TCCC‐10
27




April 9, 2011 – TCCC‐10
28




April 9, 2011 – TCCC‐10
29




April 9, 2011 – TCCC‐10
30



 Goal is to ship to “less” buggy, rigid 
 software.  TDD and BDD will help. 
  Keep an open mind and try out!


            VS‐2010 has many other features on various testing 
           mechanisms.  Take the time to learn and master them. 
            Don’t hesitate looking at other platforms for ideas. 



Continuous Integration is more than “nice to have” any more. If 
   you are serious about development, you should have it.


                   April 9, 2011 – TCCC‐10
31




April 9, 2011 – TCCC‐10
32


Speaker Rate:
http://speakerrate.com/talks/5834‐tooling‐testing‐and‐
continuous‐integration‐using‐vs‐2010‐and‐teamcity




                April 9, 2011 – TCCC‐10

Mais conteúdo relacionado

Mais procurados

Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven DevelopmentJohn Blum
 
Continuous Automated Regression Testing to the Rescue
Continuous Automated Regression Testing to the RescueContinuous Automated Regression Testing to the Rescue
Continuous Automated Regression Testing to the RescueTechWell
 
Open Source tools in Continuous Integration environment (case study for agil...
Open Source tools in Continuous Integration environment  (case study for agil...Open Source tools in Continuous Integration environment  (case study for agil...
Open Source tools in Continuous Integration environment (case study for agil...suwalki24.pl
 
Software Design for Testability
Software Design for TestabilitySoftware Design for Testability
Software Design for Testabilityamr0mt
 
Keynote: Next Generation Testing
Keynote: Next Generation TestingKeynote: Next Generation Testing
Keynote: Next Generation TestingLoh Chuan Ho Ervin
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграцииSQALab
 
Releasing fast code - The DevOps approach
Releasing fast code - The DevOps approachReleasing fast code - The DevOps approach
Releasing fast code - The DevOps approachMichael Kopp
 
Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)David Ehringer
 
Test Driven iOS Development (TDD)
Test Driven iOS Development (TDD)Test Driven iOS Development (TDD)
Test Driven iOS Development (TDD)Babul Mirdha
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Mohamed Taman
 
Automation testing by Durgasoft in Hyderabad
Automation testing by Durgasoft in HyderabadAutomation testing by Durgasoft in Hyderabad
Automation testing by Durgasoft in HyderabadDurga Prasad
 
Test-Driven Development (TDD)
Test-Driven Development (TDD)Test-Driven Development (TDD)
Test-Driven Development (TDD)Brian Rasmussen
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development CodeOps Technologies LLP
 
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
 
Selenium - The Way Of Success
Selenium - The Way Of SuccessSelenium - The Way Of Success
Selenium - The Way Of SuccessZbyszek Mockun
 
Design For Testability
Design For TestabilityDesign For Testability
Design For TestabilityWill Iverson
 
Design for testability as a way to good coding (SOLID and IoC)
Design for testability as a way to good coding (SOLID and IoC)Design for testability as a way to good coding (SOLID and IoC)
Design for testability as a way to good coding (SOLID and IoC)Simone Chiaretta
 
Software testing: an introduction - 2017
Software testing: an introduction - 2017Software testing: an introduction - 2017
Software testing: an introduction - 2017XavierDevroey
 

Mais procurados (19)

Test-Driven Development
Test-Driven DevelopmentTest-Driven Development
Test-Driven Development
 
Continuous Automated Regression Testing to the Rescue
Continuous Automated Regression Testing to the RescueContinuous Automated Regression Testing to the Rescue
Continuous Automated Regression Testing to the Rescue
 
Open Source tools in Continuous Integration environment (case study for agil...
Open Source tools in Continuous Integration environment  (case study for agil...Open Source tools in Continuous Integration environment  (case study for agil...
Open Source tools in Continuous Integration environment (case study for agil...
 
Software Design for Testability
Software Design for TestabilitySoftware Design for Testability
Software Design for Testability
 
Keynote: Next Generation Testing
Keynote: Next Generation TestingKeynote: Next Generation Testing
Keynote: Next Generation Testing
 
Постоянное тестирование интеграции
Постоянное тестирование интеграцииПостоянное тестирование интеграции
Постоянное тестирование интеграции
 
Objectif cloud
Objectif cloudObjectif cloud
Objectif cloud
 
Releasing fast code - The DevOps approach
Releasing fast code - The DevOps approachReleasing fast code - The DevOps approach
Releasing fast code - The DevOps approach
 
Test Driven Development (TDD)
Test Driven Development (TDD)Test Driven Development (TDD)
Test Driven Development (TDD)
 
Test Driven iOS Development (TDD)
Test Driven iOS Development (TDD)Test Driven iOS Development (TDD)
Test Driven iOS Development (TDD)
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.
 
Automation testing by Durgasoft in Hyderabad
Automation testing by Durgasoft in HyderabadAutomation testing by Durgasoft in Hyderabad
Automation testing by Durgasoft in Hyderabad
 
Test-Driven Development (TDD)
Test-Driven Development (TDD)Test-Driven Development (TDD)
Test-Driven Development (TDD)
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to 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)
 
Selenium - The Way Of Success
Selenium - The Way Of SuccessSelenium - The Way Of Success
Selenium - The Way Of Success
 
Design For Testability
Design For TestabilityDesign For Testability
Design For Testability
 
Design for testability as a way to good coding (SOLID and IoC)
Design for testability as a way to good coding (SOLID and IoC)Design for testability as a way to good coding (SOLID and IoC)
Design for testability as a way to good coding (SOLID and IoC)
 
Software testing: an introduction - 2017
Software testing: an introduction - 2017Software testing: an introduction - 2017
Software testing: an introduction - 2017
 

Destaque

BDT Workflow
BDT WorkflowBDT Workflow
BDT Workflowlrotter
 
Coded ui - lesson 2 - coded ui test builder
Coded ui - lesson 2 - coded ui test builderCoded ui - lesson 2 - coded ui test builder
Coded ui - lesson 2 - coded ui test builderOmer Karpas
 
Coded ui - lesson 5 - ui map
Coded ui - lesson 5 - ui mapCoded ui - lesson 5 - ui map
Coded ui - lesson 5 - ui mapOmer Karpas
 
Production of content page
Production of content pageProduction of content page
Production of content pageZoe0810
 
Temperature datacollectionsystems arduinomn_dec5_2013
Temperature datacollectionsystems arduinomn_dec5_2013Temperature datacollectionsystems arduinomn_dec5_2013
Temperature datacollectionsystems arduinomn_dec5_2013Baskin Tapkan
 
6 c flat plans
6 c   flat plans6 c   flat plans
6 c flat plansZoe0810
 
the web is open: technologies, data, people
the web is open: technologies, data, peoplethe web is open: technologies, data, people
the web is open: technologies, data, peopleFruktarbo
 
Flat plans
Flat plansFlat plans
Flat plansZoe0810
 
Universita 2.0
Universita 2.0Universita 2.0
Universita 2.0Fruktarbo
 
Magazine Conventions
Magazine ConventionsMagazine Conventions
Magazine ConventionsZoe0810
 
Production of double page
Production of double pageProduction of double page
Production of double pageZoe0810
 
Production of double page
Production of double pageProduction of double page
Production of double pageZoe0810
 
Tech fuse11 toolingtestingci-vs2010teamcity
Tech fuse11 toolingtestingci-vs2010teamcityTech fuse11 toolingtestingci-vs2010teamcity
Tech fuse11 toolingtestingci-vs2010teamcityBaskin Tapkan
 
專業知能101610 行為問題講義(蔡靜怡)
專業知能101610 行為問題講義(蔡靜怡)專業知能101610 行為問題講義(蔡靜怡)
專業知能101610 行為問題講義(蔡靜怡)tcrcTaiwan
 
Coded ui - lesson 6 - manual coding
Coded ui - lesson 6 - manual codingCoded ui - lesson 6 - manual coding
Coded ui - lesson 6 - manual codingOmer Karpas
 
Deconstruction of magazines
Deconstruction of magazinesDeconstruction of magazines
Deconstruction of magazinesZoe0810
 
Coded ui - lesson 1 - overview
Coded ui - lesson 1 - overviewCoded ui - lesson 1 - overview
Coded ui - lesson 1 - overviewOmer Karpas
 
UI testing frameworks and the Coded UI testing paradigm
UI testing frameworks and the Coded UI testing paradigm UI testing frameworks and the Coded UI testing paradigm
UI testing frameworks and the Coded UI testing paradigm Arnold Stellio
 
Coded UI: Hand Coding based on Page Object Model
Coded UI: Hand Coding based on Page Object ModelCoded UI: Hand Coding based on Page Object Model
Coded UI: Hand Coding based on Page Object ModelTharinda Liyanage
 
Coded UI - Test automation Practices from the Field
Coded UI - Test automation Practices from the FieldCoded UI - Test automation Practices from the Field
Coded UI - Test automation Practices from the FieldClemens Reijnen
 

Destaque (20)

BDT Workflow
BDT WorkflowBDT Workflow
BDT Workflow
 
Coded ui - lesson 2 - coded ui test builder
Coded ui - lesson 2 - coded ui test builderCoded ui - lesson 2 - coded ui test builder
Coded ui - lesson 2 - coded ui test builder
 
Coded ui - lesson 5 - ui map
Coded ui - lesson 5 - ui mapCoded ui - lesson 5 - ui map
Coded ui - lesson 5 - ui map
 
Production of content page
Production of content pageProduction of content page
Production of content page
 
Temperature datacollectionsystems arduinomn_dec5_2013
Temperature datacollectionsystems arduinomn_dec5_2013Temperature datacollectionsystems arduinomn_dec5_2013
Temperature datacollectionsystems arduinomn_dec5_2013
 
6 c flat plans
6 c   flat plans6 c   flat plans
6 c flat plans
 
the web is open: technologies, data, people
the web is open: technologies, data, peoplethe web is open: technologies, data, people
the web is open: technologies, data, people
 
Flat plans
Flat plansFlat plans
Flat plans
 
Universita 2.0
Universita 2.0Universita 2.0
Universita 2.0
 
Magazine Conventions
Magazine ConventionsMagazine Conventions
Magazine Conventions
 
Production of double page
Production of double pageProduction of double page
Production of double page
 
Production of double page
Production of double pageProduction of double page
Production of double page
 
Tech fuse11 toolingtestingci-vs2010teamcity
Tech fuse11 toolingtestingci-vs2010teamcityTech fuse11 toolingtestingci-vs2010teamcity
Tech fuse11 toolingtestingci-vs2010teamcity
 
專業知能101610 行為問題講義(蔡靜怡)
專業知能101610 行為問題講義(蔡靜怡)專業知能101610 行為問題講義(蔡靜怡)
專業知能101610 行為問題講義(蔡靜怡)
 
Coded ui - lesson 6 - manual coding
Coded ui - lesson 6 - manual codingCoded ui - lesson 6 - manual coding
Coded ui - lesson 6 - manual coding
 
Deconstruction of magazines
Deconstruction of magazinesDeconstruction of magazines
Deconstruction of magazines
 
Coded ui - lesson 1 - overview
Coded ui - lesson 1 - overviewCoded ui - lesson 1 - overview
Coded ui - lesson 1 - overview
 
UI testing frameworks and the Coded UI testing paradigm
UI testing frameworks and the Coded UI testing paradigm UI testing frameworks and the Coded UI testing paradigm
UI testing frameworks and the Coded UI testing paradigm
 
Coded UI: Hand Coding based on Page Object Model
Coded UI: Hand Coding based on Page Object ModelCoded UI: Hand Coding based on Page Object Model
Coded UI: Hand Coding based on Page Object Model
 
Coded UI - Test automation Practices from the Field
Coded UI - Test automation Practices from the FieldCoded UI - Test automation Practices from the Field
Coded UI - Test automation Practices from the Field
 

Semelhante a Tccc10 tooling testingci-vs2010teamcity

Zheng Ma Resume
Zheng Ma ResumeZheng Ma Resume
Zheng Ma ResumeZheng Ma
 
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...SOASTA
 
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...SOASTA
 
PramodMishra_Profile
PramodMishra_ProfilePramodMishra_Profile
PramodMishra_ProfilePramod Mishra
 
Mix Tech Ed Update No Video
Mix Tech Ed Update No VideoMix Tech Ed Update No Video
Mix Tech Ed Update No VideoAllyWick
 
Devops - Continuous Integration And Continuous Development
Devops - Continuous Integration And Continuous DevelopmentDevops - Continuous Integration And Continuous Development
Devops - Continuous Integration And Continuous DevelopmentSandyJohn5
 
DevOps - Introduction to data science
DevOps - Introduction to data scienceDevOps - Introduction to data science
DevOps - Introduction to data scienceFrank Kienle
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformNuxeo
 
Kevin Slade - CV
Kevin Slade - CVKevin Slade - CV
Kevin Slade - CVKevin Slade
 
ElasTest: quality for cloud native applications
ElasTest: quality for cloud native applicationsElasTest: quality for cloud native applications
ElasTest: quality for cloud native applicationsElasTest Project
 
Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12Enkitec
 
Devops Powered by Splunk
Devops Powered by SplunkDevops Powered by Splunk
Devops Powered by SplunkSplunk
 
Five Ways Automation Has Increased Application Deployment and Changed Culture
Five Ways Automation Has Increased Application Deployment and Changed CultureFive Ways Automation Has Increased Application Deployment and Changed Culture
Five Ways Automation Has Increased Application Deployment and Changed CultureXebiaLabs
 
Remote Assessment Services
Remote Assessment ServicesRemote Assessment Services
Remote Assessment Servicesgnreddi
 
Remote Assessment Services
Remote Assessment ServicesRemote Assessment Services
Remote Assessment Servicesmadhu54321
 

Semelhante a Tccc10 tooling testingci-vs2010teamcity (20)

Zheng Ma Resume
Zheng Ma ResumeZheng Ma Resume
Zheng Ma Resume
 
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
 
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
 
PramodMishra_Profile
PramodMishra_ProfilePramodMishra_Profile
PramodMishra_Profile
 
Mix Tech Ed Update No Video
Mix Tech Ed Update No VideoMix Tech Ed Update No Video
Mix Tech Ed Update No Video
 
Devops - Continuous Integration And Continuous Development
Devops - Continuous Integration And Continuous DevelopmentDevops - Continuous Integration And Continuous Development
Devops - Continuous Integration And Continuous Development
 
DevOps - Introduction to data science
DevOps - Introduction to data scienceDevOps - Introduction to data science
DevOps - Introduction to data science
 
The Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platformThe Nuxeo Way: leveraging open source to build a world-class ECM platform
The Nuxeo Way: leveraging open source to build a world-class ECM platform
 
NAGESH B KALAL
NAGESH B KALALNAGESH B KALAL
NAGESH B KALAL
 
Kevin Slade - CV
Kevin Slade - CVKevin Slade - CV
Kevin Slade - CV
 
ElasTest: quality for cloud native applications
ElasTest: quality for cloud native applicationsElasTest: quality for cloud native applications
ElasTest: quality for cloud native applications
 
Task Complexity Metrics - Ben Colborn
Task Complexity Metrics - Ben ColbornTask Complexity Metrics - Ben Colborn
Task Complexity Metrics - Ben Colborn
 
Pradeep.CL
Pradeep.CLPradeep.CL
Pradeep.CL
 
Pradeep.CL
Pradeep.CLPradeep.CL
Pradeep.CL
 
Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12Kelly potvin nosurprises_odtug_oow12
Kelly potvin nosurprises_odtug_oow12
 
Devops Powered by Splunk
Devops Powered by SplunkDevops Powered by Splunk
Devops Powered by Splunk
 
Meenakshi Pal_16
Meenakshi Pal_16Meenakshi Pal_16
Meenakshi Pal_16
 
Five Ways Automation Has Increased Application Deployment and Changed Culture
Five Ways Automation Has Increased Application Deployment and Changed CultureFive Ways Automation Has Increased Application Deployment and Changed Culture
Five Ways Automation Has Increased Application Deployment and Changed Culture
 
Remote Assessment Services
Remote Assessment ServicesRemote Assessment Services
Remote Assessment Services
 
Remote Assessment Services
Remote Assessment ServicesRemote Assessment Services
Remote Assessment Services
 

Último

Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeThiyagu K
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...Pooja Nehwal
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3JemimahLaneBuaron
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 

Último (20)

Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...Russian Call Girls in Andheri Airport Mumbai WhatsApp  9167673311 💞 Full Nigh...
Russian Call Girls in Andheri Airport Mumbai WhatsApp 9167673311 💞 Full Nigh...
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3Q4-W6-Restating Informational Text Grade 3
Q4-W6-Restating Informational Text Grade 3
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 

Tccc10 tooling testingci-vs2010teamcity

  • 1. 1 Baskin I. Tapkan Advanced Technology Software Group Imation Corp. @baskint baskint@gmail.com http://tapkan.blogspot.com/ April 9, 2011 – TCCC‐10
  • 2. 2 1. Reasons behind testing and why you should care 2. Development and testing with VS‐2010 3. Something‐Driven styles and contrasts 4. Types of testing 5. Coded UI testing – demo 6. Database Unit testing ‐ demo 7. Continuous Integration Practices 8. Unit test & TeamCity ‐ demo 9. Conclusion & References April 9, 2011 – TCCC‐10
  • 5. 5 Crossed international dateline  the first time on the way to  Japan, computers crashed losing  all navigation and  communication systems. Luckily with clear weather, it  followed tankers back to Hawaii April 9, 2011 – TCCC‐10
  • 7. 7 Writing tests first help write better code Process of writing a test first helps to see when a  design is too rigid or unfocused Testing is no longer just about keeping defects from the  users; instead it is about helping the team understand the  features users need and deliver them reliably and predictably April 9, 2011 – TCCC‐10
  • 8. 8 Repeated cycles of activity Each cycle adds new features  and team gets feedback Each cycle deploys work to some kind  of environment Every deploy, team has an opportunity to  check the assumptions against reality Without deployment, the feedback is  not complete April 9, 2011 – TCCC‐10
  • 10. 10 Incremental development  Iterative development  builds a system feature,  progressively refines the  instead of building layers and  implementation of features  components and integrating  in response to feedback  them at the end.   until they are good enough.   Each feature is implemented  In other words, reacting to  as an end‐to‐end “slice”.   the “anticipating to the  System is always integrated  unanticipated” and ready for deployment April 9, 2011 – TCCC‐10
  • 11. 11 Release Test Development April 9, 2011 – TCCC‐10
  • 12. 12 Pushing quality upstream Release Test Development April 9, 2011 – TCCC‐10
  • 13. 13 Coding Horror : reference April 9, 2011 – TCCC‐10
  • 14. 14 The catch is that few developers enjoy testing their code.  Many see writing automated tests is seen as not “real” work  compared to adding features.  They find it boring.  It takes a different mind set and takes time to learn and master. TDD makes coding a design activity.  Use tests to clarify ideas  about what the code should do.   Having tests during development process can build up a safety  net of automated regression tests.  These tests give confidence to make changes.   All of a sudden, you are doing “Red – Green – Refactor” “… you have nothing to lose but your bugs”  April 9, 2011 – TCCC‐10
  • 15. 15 Evolution of TDD Test method names should be sentences Writing tests that matter “Given, When, Then” Concept of executable specifications April 9, 2011 – TCCC‐10
  • 16. 16 Start feature with an acceptance test Develop from the inputs & outputs MSDN Article: http://msdn.microsoft.com/en‐us/magazine/gg490346.aspx April 9, 2011 – TCCC‐10
  • 18. 18 TailSpin project lab http://blogs.msdn.com/b/briankel/archive/2010/06/25/now‐available‐visual‐studio‐ 2010‐rtm‐virtual‐machine‐with‐sample‐data‐and‐hands‐on‐labs.aspx April 9, 2011 – TCCC‐10
  • 19. 19 SP1 is available Help viewer updates Silverlight 4 support Unit testing for .NET 3.5 IIS Express support SQL Server CE Support Razor support “Pimp my IDE” check out  http://studiostyl.es Feature Pack 2 Code visualization and modeling Improved Coded UI Testing April 9, 2011 – TCCC‐10
  • 20. 20 using SQL Server 2008 http://blogs.msdn.com/b/atverma/archive/2010/07/28/how‐to‐unit‐test‐sql‐server‐ 2008‐database‐using‐visual‐studio‐2010.aspx April 9, 2011 – TCCC‐10
  • 21. 21 A unit test is a piece  of code that invokes  another piece of code,  Is Automated and repeatable resides in another  assembly Is Easy to implement Should remain for future use Is run by anyone Should run with a push of a button Runs quickly SUT : System Under Test  (CUT : Code under Test) : Class under Test) April 9, 2011 – TCCC‐10
  • 22. 22 Development &  Architecture Lab Management Test TFS Database •Architecture Explorer •Historical debugging •Multi‐tier  •Test planning •Work item hierarchy  •Layer Diagram •Test impact analysis environment creation  •Test case  & link types •Use case designer •Improved code  and management management •Improved Agile  •Activity designer analysis •Automated  •Test prioritization template •Improved profiling  deployment •Run management &  •MOSS & WSS  •Component diagram (incl. multi‐tier) •Easily manage  reporting dashboards •Logical class designer •Database extensibility machine pools •Project quality  •Simplified reporting •Sequence diagram •Network fencing reports •Improved support for  •Modeling project  •Checkpoints •Manual test  parallel development system execution •Rollback •UML Model Explorer •Diagnostic recording  •Build queuing and  •Architecture  (environment, video,  pooling validation during  etc.) •Gated check‐in build •UI Automation  •Simplified setup recording •Scale out of web and  •Coded UI tests data tiers •Admin console •Project  move/archive/restore April 9, 2011 – TCCC‐10
  • 23. 23 Real Life Example April 9, 2011 – TCCC‐10
  • 24. 24 Maintain a Single Source Repository Automate the Build Make Your Build Self‐Testing Keep the Build Fast Everyone can see what's happening Automate Deployment http://martinfowler.com/articles/continuousIntegration.html April 9, 2011 – TCCC‐10
  • 30. 30 Goal is to ship to “less” buggy, rigid  software.  TDD and BDD will help.  Keep an open mind and try out! VS‐2010 has many other features on various testing  mechanisms.  Take the time to learn and master them.  Don’t hesitate looking at other platforms for ideas.  Continuous Integration is more than “nice to have” any more. If  you are serious about development, you should have it. April 9, 2011 – TCCC‐10