serviceEngineering2

Download Report

Transcript serviceEngineering2

•
•
•
•
•
•
Continuous Integration
Continuous Delivery
A Good Testing Strategy
Agile
Testing in Production
…
Core Search Principles
Rapid Componentized Builds
Continuous Integration
Unit Testing Improve service quality and
engineering agility
Operate at Near Zero Bugs
Focused Integration Testing
Effective Exploratory Testing
integrate frequently
multiple integrations per
day
automated build and test
as quickly as
possible.
http://www.martinfowler.com/articles/continuous
Integration.html
Continuous Integration in .NET
Every Commit should build the mainline on
integration machine
Keep the Build fast
Everyone can see what's happening
http://google-engtools.blogspot.com/
Continuous Delivery
Building, Testing
releasing
faster
frequently
Continuous Delivery: Reliable Software
Releases through Build, Test, and
Deployment Automation
The process for releasing/deploying software
MUST be repeatable and reliable.
Automate everything!
Done means “released”.
If something difficult or painful, do it more
often.
Deployment Pipeline models the part of your project’s
value stream that goes from check-in to release, and then
to automate it.
Acceptance
Tests
Code
Change
Build
Test
Deployment
Run test on
deployment
Run test on
Pre
Production
Pre
Production
Deployment
Unit Tests
Functional
Tests
Monitor in
Production
Production
Deployment
Agile Testing: A Practical Guide for Testers and Agile
Teams
Production
Level
Monitoring
Staging
Level
A simulation of the
production
environment with
faked identities
etc.
Uses monitoring
techniques
Integration
Level
Automated testing
of every code
change over the
dependency
closure
End-to-End testing
with partial
component
isolation
Unit Level
Super-strict
component
isolation using e.g.
dependency
injection
Extensive use of
mock-based
testing
Load testing
enables
continuous and frequent customer value
delivery
high quality
predictable lower cost.”
Protection Services 2.0 Engineering
Methodology
Test In Production (TiP)
• Continuously and extensively Monitoring and experimental our service in
production
Continuous Deployment
• Frequent deployments of small changes to production environment (starting
with weekly releases)
Continuous Integration
• Minimize the gap between code development and deployment readiness
Pushing Quality Upstream
• Efficient processes to reduce the cost and gaps between product and quality
development
Continuous Improvement
• Constant observation, measurement and feedback on processes ,systems
and cost
•
•
•
•
•
Continuous Delivery Book
Agile Testing Book
My Blog at
http://my/sites/qyao/Blog/default.aspx
Http://Services
Http://Tip
is NOT
Mind
Shift
How Google testing services
Active Monitoring Framework
Experimention in Production
different experiences
manner
right thing
controlled
built the
we build the thing right
know what the customer thinks is truly
important and test for those subjects.