Service engineering

  • 1,087 views
Uploaded 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 …

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.

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,087
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
19
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    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)

Transcript

  • 1. • Continuous Integration• Continuous Delivery• A Good Testing Strategy• Testing in Production• Agile
  • 2. Rapid Componentized BuildsContinuous IntegrationUnit Testing Improve service quality andengineering agilityOperate at Near Zero BugsFocused Integration TestingEffective Exploratory Testing
  • 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. Every Commit should build the mainline onintegration machineKeep the Build fastEveryone can see whats happening
  • 5. http://google-engtools.blogspot.com/
  • 6. Continuous Delivery Building, Testingreleasing fasterfrequently Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
  • 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. Mike McGarr
  • 9. Deployment Pipeline models the part of your project’svalue stream that goes from check-in to release, and thento automate it.
  • 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. Testing Strategyto fit into the deploymentpipeline
  • 12. know what the customer thinks is trulyimportant and test for those subjects.
  • 13. Agile Testing: A Practical Guide for Testers and AgileTeams
  • 14. http://specflow.org http://cukes.info
  • 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. is NOT
  • 17. MindShift
  • 18. Experimentation in Productiondifferent experiences controlledmanner built theright thing we build the thing right
  • 19. enablescontinuous and frequent customer valuedelivery high qualitypredictable lower cost.”
  • 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