•   Continuous Integration•   Continuous Delivery•   A Good Testing Strategy•   Testing in Production•   Agile
Rapid Componentized BuildsContinuous IntegrationUnit Testing Improve service quality andengineering agilityOperate at Near...
integrate frequently           multiple integrations perdayautomated build and test                 as quickly aspossible....
Every Commit should build the mainline onintegration machineKeep the Build fastEveryone can see whats happening
http://google-engtools.blogspot.com/
Continuous Delivery          Building, Testingreleasing           fasterfrequently   Continuous Delivery: Reliable Softwar...
The process for releasing/deploying softwareMUST be repeatable and reliable.Automate everything!Done means “released”.If s...
Mike McGarr
Deployment Pipeline models the part of your project’svalue stream that goes from check-in to release, and thento automate ...
Acceptance         Test       Run test on                                     Tests          Deployment    deployment Code...
Testing Strategyto fit into the deploymentpipeline
know what the customer thinks is trulyimportant and test for those subjects.
Agile Testing: A Practical Guide for Testers and AgileTeams
http://specflow.org          http://cukes.info
Production       Monitoring  Level               A simulation of Staging        the production              environment wi...
is NOT
MindShift
Experimentation in Productiondifferent experiences      controlledmanner                            built theright thing  ...
enablescontinuous and frequent customer valuedelivery                           high qualitypredictable lower cost.”
Test In Production (TiP)• Continuously and extensively Monitoring and experimental our service in  productionContinuous De...
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Service engineering
Upcoming SlideShare
Loading in …5
×

Service engineering

1,511 views

Published on

In this talk, Qingsong Yao will discussion a set of commonly used engineering principle and practices, namely, Continuous Integration, Continuous Delivery, and various Testing Strategies, which you can use in your daily work. These principles helped many organizations to release their product fast with high quality and were fully integrated into Agile process. He will show demos about how these engineering principle and practices are used in his DAC Import/Export improvement. In additional, he will show how organizations and companies, like Bing team, Protection Services Team, and Google use these principles.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,511
On SlideShare
0
From Embeds
0
Number of Embeds
576
Actions
Shares
0
Downloads
24
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • We want to bring a set of well known engineering system principle and practice into your daily work and shift your mind:
  • BDD – Dan North (2003)
  • Service engineering

    1. 1. • Continuous Integration• Continuous Delivery• A Good Testing Strategy• Testing in Production• Agile
    2. 2. Rapid Componentized BuildsContinuous IntegrationUnit Testing Improve service quality andengineering agilityOperate at Near Zero BugsFocused Integration TestingEffective Exploratory Testing
    3. 3. integrate frequently multiple integrations perdayautomated build and test as quickly aspossible. http://www.martinfowler.com/articles/continuous Integration.html Continuous Integration in .NET
    4. 4. Every Commit should build the mainline onintegration machineKeep the Build fastEveryone can see whats happening
    5. 5. http://google-engtools.blogspot.com/
    6. 6. Continuous Delivery Building, Testingreleasing fasterfrequently Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
    7. 7. The process for releasing/deploying softwareMUST be repeatable and reliable.Automate everything!Done means “released”.If something difficult or painful, do it more often.
    8. 8. Mike McGarr
    9. 9. Deployment Pipeline models the part of your project’svalue stream that goes from check-in to release, and thento automate it.
    10. 10. Acceptance Test Run test on Tests Deployment deployment Code Unit Tests BuildChange Functional Tests Run test on Pre Monitor in Production Pre Production Production Deployment Production Deployment
    11. 11. Testing Strategyto fit into the deploymentpipeline
    12. 12. know what the customer thinks is trulyimportant and test for those subjects.
    13. 13. Agile Testing: A Practical Guide for Testers and AgileTeams
    14. 14. http://specflow.org http://cukes.info
    15. 15. Production Monitoring Level A simulation of Staging the production environment with Uses monitoring Load testing techniques Level faked identities etc. Automated testingIntegration of every code End-to-End testing with partial change over the component Level dependency closure isolation Super-strict component Extensive use ofUnit Level isolation using e.g. dependency mock-based testing injection
    16. 16. is NOT
    17. 17. MindShift
    18. 18. Experimentation in Productiondifferent experiences controlledmanner built theright thing we build the thing right
    19. 19. enablescontinuous and frequent customer valuedelivery high qualitypredictable lower cost.”
    20. 20. Test In Production (TiP)• Continuously and extensively Monitoring and experimental our service in productionContinuous Deployment• Frequent deployments of small changes to production environment (starting with weekly releases)Continuous Integration• Minimize the gap between code development and deployment readinessPushing Quality Upstream• Efficient processes to reduce the cost and gaps between product and quality developmentContinuous Improvement• Constant observation, measurement and feedback on processes ,systems and cost

    ×