Quality Assurancein Distributed Continuous DeliveryByJin Ming|@金明i
Continuous Delivery Lead, ThoughtWorks
Wednesday, August 8, 12
TextBackground: Top One Property Listing Site in OZ
Wednesday, August 8, 12
Agency
Seller Consumer
Business Overview
Wednesday, August 8, 12
Architecture Overview
Wednesday, August 8, 12
How to Do QA?
Wednesday, August 8, 12
Quality is Value to Some Person.---Gerald Weinberg
Wednesday, August 8, 12
Challenges We’re Facing
Wednesday, August 8, 12
Legacy Systems
Wednesday, August 8, 12
Cross Systems
Wednesday, August 8, 12
Distributed Development
Wednesday, August 8, 12
Also, We Want to Be
Wednesday, August 8, 12
Wednesday, August 8, 12
We Need “Total Quality”
Wednesday, August 8, 12
Functional Tests Examples
Story Tests Prototypes Simulations
...
Exploratory Testing Scenarios
Usability Testing UAT(User Acceptance Testing)
Alpha / Beta ...
Unit Tests Component Tests
...
Performance & Load Testing Security Testing
...
Automated & Manual
Manual
Tools Automated
Business Facing
Technology Facing
Critique Product
Supporting Team Q1
Q2 Q3 Q4
Test Quadrants
Wednesday, August 8, 12
Functional Test Boundaries
Wednesday, August 8, 12
We Need to Ensure End-to-End
Wednesday, August 8, 12
We Need to Ensure Single System
Wednesday, August 8, 12
Units Inside Single System
Wednesday, August 8, 12
Automatic Those Tests
Wednesday, August 8, 12
End-to-End Test�
System Test�
Unit Test
Test Pyramid
Scope
End-User Simulation
EfficiencyCost
EfficiencyCost
Scope
End-User Simulation
Wednesday, August 8, 12
Functional Test Samples
Capybara
Selenium
WebDriver
Wednesday, August 8, 12
Performance Test Samples
Wednesday, August 8, 12
Deployment Validation
Wednesday, August 8, 12
Test Plan
Wednesday, August 8, 12
Release Test Plan Iteration Test Plan Daily Test Plan
$
$
$
$
Level Stories
Vision & High-
Iteration
Release
Test Plan
Wednesday, August 8, 12
Iterations
Automated Regression Test
Performance Profiling Test
Full Regression
Test
Integration Test
Acceptance Testing
I1
Exploratory, Automation
I1
Test Analysis I1
I0 I1 I4 … In I2 I3
Acceptance Testing
I2
Exploratory, Automation
I2
Test Analysis I2
Acceptance Testing
I3
Exploratory, Automation
I3
Test Analysis I3
Stabilize (opt)
Pre-production Production
UAT
�iIities operations
&Compliance
Deployment
Data Migration
PVT
End-To-End Test
Load/Stress Load/Stress
End-To-End Test
Integration Test
Wednesday, August 8, 12
Good Enough?
Wednesday, August 8, 12
It’s Just Validation.
Where is Verification?
Wednesday, August 8, 12
Wednesday, August 8, 12
Stories Behaviour Application
Exercise expectations against Matches to
Customer QA Domain Expert Developer
BDD
Wednesday, August 8, 12
Co-Education
Wednesday, August 8, 12
Agile Quality Assurance
Business Analytics
Test Strategy
Risk Assessmen
t
Test Analytics
Process Improveme
nt
Test Framework
Common Vision on Quality
Exploratory Test
Showcase
Quality Assurance Activities
Wednesday, August 8, 12
Wednesday, August 8, 12
Build Quality In
Wednesday, August 8, 12
Shared Responsibility
Wednesday, August 8, 12
Communication & Collaboration
Wednesday, August 8, 12
QA is NOT JUST Testing
Wednesday, August 8, 12
Eradicating Non-Determinism in Tests
Wednesday, August 8, 12
Visualizing Quality
Wednesday, August 8, 12
Wednesday, August 8, 12
? ? ? ? ?
? ?
Wednesday, August 8, 12