ethan huang 全民qa

30
全民QA Ethan Huang An Integrated Development and Testing Lifecycle

Upload: agiletourchina

Post on 05-Dec-2014

1.014 views

Category:

Technology


0 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Ethan huang   全民qa

全民QA

Ethan Huang

An Integrated Development and Testing Lifecycle

Page 2: Ethan huang   全民qa

黄方 (Ethan Huang)

Page 3: Ethan huang   全民qa

博克软件(杭州)有限公司

Page 4: Ethan huang   全民qa

It’s about DEVELOPMENT

Page 5: Ethan huang   全民qa

Tester A:

• Look at that bug; it’s pretty straightforward that the functionality doesn’t match our test case. Why can’t somebody do a quick smoke test before checking in the code?

Developer A:

• Well, yes I agree that’s a bug. But we didn’t have enough time, you know, the schedule is tough, we did as much verifications as we could before we checked the code in; but we didn’t have enough time to cover that functionality. It’s great that the testing team found that bug, we can fix it later.

A real conversation

Page 6: Ethan huang   全民qa

Tester B (Test Lead) :

• But that costs a lot, we spent a whole day to manually execute all the functional test cases and found at least 5 obvious bugs. They could be identified even without looking at the test cases. Now we need another day for regression test after your team gets them fixed.

Developer B (Develop Lead) :

• But that’s the reality, isn’t it? It’s normal to have bugs. We cannot avoid delivering bugs together with the code. That’s why we have a testing team.

A real conversation

Page 7: Ethan huang   全民qa

Find A BUG

1 h 2 h 4 h 2 h

1 d

1 h2 d1 d0.5 d

AT LEAST 1 week

Fix This Bug

SmokeTesting

GenerateA Dev Build

Push To Test

Bug Verification

RegressionTesting

Push To Staging

UATPush To Production

Rework/Cost

Page 8: Ethan huang   全民qa

Bad quality

Page 9: Ethan huang   全民qa

Team silos

Page 10: Ethan huang   全民qa

And this conversations is happening everywhere on this planet…

Page 11: Ethan huang   全民qa

Why can’t we do things right the first time?

Page 12: Ethan huang   全民qa

What does

Do?

Page 13: Ethan huang   全民qa

The REALITY

• 6 Developers : 1 Tester

• Non-structured narrative requirements

• Huge amount of legacy functionalities

• Few tests automated

• 13 weeks to deliver

Page 14: Ethan huang   全民qa

The PROBLEM

After the planning the whole team was feeling upset because of the predictable BAD QUALITY

Page 15: Ethan huang   全民qa

Team did root cause analysis

Page 16: Ethan huang   全民qa

Team did root cause analysis

• 1 Tester cannot complete all testing work

• We might have to shrink testing phase

• Big, complicated features - long Dev cycle needed to deliver one feature

• Huge Regression Testing effort needed to cover legacy features as well

• Has no Requirements details , only mockups

• Don’t know what details to implement/write test cases

• Lots of dependencies – hard to test

Page 17: Ethan huang   全民qa

80%

20%

• 1 Tester cannot complete all testing work

• We might have to shrink testing phase

• Big, complicated features - long Dev cycle needed to deliver one feature

• Huge Regression Testing effort needed to cover legacy features as well

• Has no Requirements details , only mockups

• Don’t know what details to implement/write test cases

• Lots of dependencies – hard to test

Team did root cause analysis - voted

Page 18: Ethan huang   全民qa

Team decisions before kicking off

• Break the team silos – Team Wide Testing

• Do things right the first time – Create fewer bugs

Page 19: Ethan huang   全民qa

Team

• Developers to be involved into all QA activities

• Let the only Tester organize the whole team

Page 20: Ethan huang   全民qa

Process

• We don’t do waterfall

• We don’t do small waterfalls iteratively either

Page 21: Ethan huang   全民qa

A new V Model

Page 22: Ethan huang   全民qa

Activities

• Represent Requirement using UAT Cases

• Write Automation Tests before development

• Test Driven Development

• CCR + Local Verification

• Check-In, CI + Continuous Automated Testing

• Daily Verification/Daily Demo

• Do UAT every Iteration

Page 23: Ethan huang   全民qa

Break feature down to small stories

Page 24: Ethan huang   全民qa

Every single story is a development cycle

Page 25: Ethan huang   全民qa

Every Sprint delivers some stories

Page 26: Ethan huang   全民qa

Two Quality Gates

• Represent Requirement using UAT Cases

• Write Automation Tests before development

• Test Driven Development

• CCR + Local Verification - Quality Gate 1

• Check-In, CI + Continuous Automation Testing

• Daily Verification/Daily Demo - Quality Gate 2

• Do UAT every Iteration

Page 27: Ethan huang   全民qa

What we achieved

12 Sprints for Development,

1 Sprint for Testing

Page 28: Ethan huang   全民qa

What we achieved

We didn’t complete all the User Stories

Page 29: Ethan huang   全民qa

But for those stories we delivered,the client couldn't find even ONE BUG

Page 30: Ethan huang   全民qa

Summary

A new Team Model integrates Developers and Testers

A new Lifecycle Model integrates Development and Testing

New Development activities driven by Tests