Quality Assurance
            in
            Distributed Continuous Delivery
            By
            Jin Ming|@金明i
            Continuous Delivery Lead, ThoughtWorks



Wednesday, August 8, 12
Text
              Background: Top One Property Listing Site in OZ




Wednesday, August 8, 12
Business Overview


                             Seller            Consumer




                                      Agency




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
Test Quadrants
                    Automat                     Business Facing
                    ed
                                                             Manual
                    & Manual

                                Functional Tests
             Exploratory Testing
                                   Examples
                      Scenarios
                                  Story Tests
                 Usability Testing
                                  Prototypes
            UAT(User Acceptance Testing)
                                  Simulations
                   Alpha / Beta
                                       ...
                            ...
                                                    Q2
 Q3
                              Critique
 Supporting
 Team                                               Q1
 Q4
                              Product

                                   Unit Tests
            Performance & Load Testing
                                Component Tests
                Security Testing
                                       ...
                            ...

                    Automat
                                                                                    Tools
                    ed
                                              Technology Facing
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
Test Pyramid

              Efficiency                              Scope
                Cost             End-to-End Test   End-User
                                                   Simulation
                                  System Test
                    Scope
             End-User               Unit Test      Efficiency
             Simulation                              Cost


Wednesday, August 8, 12
Capybara
                          Functional Test Samples
                                             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
Vision & High-
                          Level Stories



                                                     $


                            Iteration                         $

                                           Release                      $



                                                                                   $




                                                         Test Plan
                                                                  Release Test
                                                                  Plan
                                                                  Iteration Test
                                                                  Plan
                                                                  Daily Test
                                                                  Plan




Wednesday, August 8, 12
Iterations
                                                                                                   Stabilize (opt)

             I0               I1                  I2             I3                 I4 … In        Pre-production    Production

                          Acceptance          Exploratory,                                               UAT            PVT
        Test Analysis
                            Testing           Automation
              I1
                              I1                   I1
                                                                                                        iIities
                                                                                                      operations
                                                                                                     &Compliance
                                              Acceptance     Exploratory,
                          Test Analysis
                                                Testing      Automation                                 Data
                                I2
                                                  I2              I2                                  Migration


                                                                                                     Deployment
                                                             Acceptance        Exploratory,
                                             Test Analysis
                                                               Testing         Automation
                                                   I3
                                                                 I3                 I3                   Full
                                                                                                      Regression
                                                                                                         Test

                                                                 Automated Regression Test
                                               Integration   End-To-End        Integration     End-To-End
                                                   Test         Test               Test           Test
                                                                  Performance Profiling Test

                                                             Load/Stress                          Load/Stress




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
Customer Domain Expert                    QA    Developer




                                                      BDD

                          Stories                 Behaviour            Application

                                                            Exercise
                                    Matches to
                                                       expectations against



Wednesday, August 8, 12
Co-Education




Wednesday, August 8, 12
Quality Assurance Activities
                                                           Business
                                                           Analytics

                                                                                 Test
                                        Showcase
                                                                               Strategy




                                                                                             Risk
                          Exploratory
                                                                                          Assessmen
                             Test
                                                                                              t
                                                      Agile Quality
                                                       Assurance




                              Common
                                                                                       Test
                              Vision on
                                                                                     Analytics
                               Quality



                                                                         Process
                                                  Test
                                                                       Improveme
                                               Framework
                                                                            nt




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

Quality assurance in distributed continuous delivery