how duo started with continuous delivery and changed their way of testing

51
Software Development Done Right How DUO started with Continuous Delivery and changed their way of Testing Kishen Simbhoedatpanday CTO Xebia Test Automation Xebia Test Automation

Upload: xebia-nederland-bv

Post on 14-Apr-2017

280 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic Inverse C

orporate Identity

Software Development Done Right

How DUO started with Continuous Delivery and changed their way of Testing

Kishen Simbhoedatpanday CTO Xebia Test Automation

Xebia Test Automation

Page 2: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

DUO

Page 3: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Technical implementation is easy Selecting testing tools BDD with Serenity

Changing mindset of people is harder Moving away from Quality Assurance BDD & Specification by Example

The consequences of Continuous Delivery @ DUO

Page 4: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Testing is evolving Agile Testing

Page 5: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Testers 1.0 Agile Testing

Page 6: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Testers 1.0 Agile Testing

Technical  Unit  Tes-ng  

System  Tes-ng  

User  Acceptance  Tes-ng  

Performance  &  Security  Tes-ng  

Page 7: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Testers 2.0 Agile Testing

Page 8: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Scrum fall

Todo   In  Progress   In  Test   Done  

Task  15   Task  13  Task  14  

Task  3  Task  4  Task  5  Task  6  Task  7  Task  8  Task  9  Task  10  Task  11  Task  12  

Task  1  Task  2  

Agile Testing

Page 9: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Building features Agile Testing

Page 10: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Agile Testing

Mom  to  her  son:  “Son,  please  go  to  the  market  and  buy  1  boKle  of  milk.    If  they  have  eggs,  bring  6  ”    What  did  he  bring  home?  

Page 11: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

When do you want to know you have a problem?

Agile Testing

Page 12: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Agile Testing Agile Testing

Page 13: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Testing 3.0 Agile Testing

The Ambassadors of Quality

Page 14: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Bridging the gap Agile Testing

Mutual understanding with the whole business towards testing

Page 15: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Knowledge sharing is key to innovation

Coding Dojos (Java) Workshops (BDD & Specification by Example, Cucumber & Serenity)

Selecting test-tools for each challenge in testing

Page 16: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Are testers still relevant? Yes! but…

Agile Testing

Think Quality Assistance not Assurance Developers eating own dog food Team takes responsibility in testing Test Automation to support CD Building Quality into the process

Page 17: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Agile Testing

Page 18: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic Inverse C

orporate Identity

BDD & Specification by Example

Agile Testing

Page 19: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

What is BDD?

BDD & Specification by Example

Process of driving desired behaviour of software

Explore Discover Define

Page 20: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Challenge requirements first

BDD & Specification by Example

Page 21: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Explore and Decide BDD & Specification by Example

Page 22: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Test first with conversations BDD & Specification by Example

Page 23: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

What is it? BDD & Specification by Example

Page 24: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Acceptance Tests Scenario:  Search  for  ar5cles  by  keyword  

Given   I  want  to  buy  a  wool  scarf  When   I  search  for  ‘wool’  Then   I  should  see  ar-cles  related  to  wool  

BDD & Specification by Example

Page 25: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Free Delivery We offer free delivery to the customer when the total price of the Shopping Cart is equal or greater than 20,00 EUR

Acceptance Test with examples

When  products  ordered   Total  Price  in  €   Then  Delivery  costs  

1  Book   19,99   3,95  

2  Books   20,00   0,00  

1  Book   20,01   0,00  

1  Book,  1  Refrigerator     799,99   ?  

BDD & Specification by Example

Page 26: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Specification pitfalls 1. Too many AND 2. Too many columns 3. Getting stuck with Given 4. Too abstract

BDD & Specification by Example

Page 27: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Pitfall 1: Too many AND

Given the admin page is open When the user types John into the 'employee name' and the user types 30000 into the 'salary' and the user clicks 'Add' Then the page reloads And the user types Mike into the 'employee name'

BDD & Specification by Example

Page 28: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Pitfall 1: Too many AND

Focus on what you want to specify

Given employee ‘John’ has salary 300000 When HR opens salary overview of employees Then employee ‘John’ has salary 300000

BDD & Specification by Example

Page 29: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Pitfall 2: Too many columns Scenario Outline: View Salary Given employee has name <FirstName> And employee <FirstName> has last name <LastName> And employee <FirstName> has salary <Salary> And employee <FirstName> has …… When HR opens salary overview of employees Then employee <Name> has salary <Salary> And …. And ….

BDD & Specification by Example

FirstName   LastName   ….   ….   ….?   ….?   Salary?  

John   Doe   ….   ….   ….   ….   300000  

Jane   Doe   ….   ….   ….   ….   400000  

Page 30: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Pitfall 2: Too many columns

Focus on relevant input and output

Scenario Outline: View Salary Given employee has name <FirstName> And employee <FirstName> has salary <Salary> When HR opens salary overview of employees Then employee <Name> has salary <Salary>

BDD & Specification by Example

FirstName   LastName   Salary  

John   Doe   300000  

Jane   Doe   400000  

Page 31: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Pitfall 3: Getting stuck with Given

Scenario: Search phone book Given ... eeeh … I am on the online phone book I click … eeeh ... Pffff…. This is hard!

BDD & Specification by Example

Page 32: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Pitfall 3: Getting stuck with Given

Focus on the business value (Then) first Given I see a search result for florist “Floral Designs” When I click “View map” of the search result Then I find the location “Floriststreet 123”

Blog: http://blog.xebia.com/2014/10/17/when-then-given/

BDD & Specification by Example

Page 33: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Pitfall 4: Too abstract

Scenario: Pay the rent Given I have enough money to pay the rent When I land on a spot to pay rent Then I pay the rent of the spot

BDD & Specification by Example

Page 34: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Pitfall 4: Too abstract

Focus on the essence of the spec Given my account has 500 dollars When I land on a spot to pay rent of 50 dollars Then my account has 450 dollars

BDD & Specification by Example

Page 35: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Specification pitfalls 1. Too many AND 2. Too many columns 3. Getting stuck with Given 4. Too abstract

BDD & Specification by Example

Page 36: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic Inverse C

orporate Identity

Selecting test-tools for each challenge in testing

Agile Testing

Page 37: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Test Automation Selecting test-tools for each challenge in testing

Test Automation is coding!

Page 38: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Selecting test-tools Selecting test-tools for each challenge in testing

Don’t hire QA army Do small POC’s Pick tools that fit the development team Advice a tool, but leave room for innovation Make sure it fits into the CD pipeline

Page 39: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Return on investment of Test Automation

Lowest ROI Highest ROI

Chain  

Applica-on  

Unit  /  Components  

Selecting test-tools for each challenge in testing

Page 40: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

What do you want to check? Selecting test-tools for each challenge in testing

Chain  

Applica-on  

Unit  /  Components  

Cucumber, Serenity, WebDriver JUnit, Mocking, etc.

Page 41: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Security and Performance Testing Selecting test-tools for each challenge in testing

Putting security & performance specialist in CD teams Avoid separation Involved / Support in selecting tools Remove privileges Try to prevent security and performance issues

Page 42: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Security and Performance Testing Selecting test-tools for each challenge in testing

Dynamic Application Security Testing HP Webinspect, Zap Proxy Static Application Security Testing HP Fortify Performance Testing

JMeter, Silk Performer

Page 43: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Whole Team Approach Selecting test-tools for each challenge in testing

Achieving same goal

Page 44: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic Inverse C

orporate Identity

BDD with Serenity & Cucumber

Agile Testing

Page 45: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Separating What from How BDD with Serenity & Cucumber

What

How

Page 46: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Separating What from How BDD with Serenity & Cucumber

Capabilities, Features & Cucumber steps Given Customer has Bol.com account When Customer orders products with total price > EUR 20 Then Customer gets free shipping

Serenity steps & Page objects Open productpage productpage.clickOrder() Open shoppingcartpage Verify shoppingcartpage.getFreeDelivery() is …

What

How

Page 47: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Test Automation

BDD with Serenity & Cucumber

Serenity Capability Description of the problem

Cucumber Feature File Description of the solution with examples

Cucumber Step Definitions Glue Code to make scenarios executable

Serenity Steps Library Support code for: -  Page Objects – Interaction with browser/pages -  Automatic Screenshot after every Serenity Step

Scenario: … Given … When … Then …

Scenario: … Given … When … Then …

Scenario: … Given … When … Then … What

How

Page 48: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Serenity Reporting BDD with Serenity & Cucumber

Page 49: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

BDD with Serenity & Cucumber

Serenity Reporting

Page 50: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic C

orporate Identity

Technical implementation is easy Small POC’s, focus on CD pipeline and fast feedback

Changing mindset of people is harder Quality is a team effort. BDD breaks barriers between development, testing and requirements

The consequences of Continuous Delivery @ DUO

Page 51: How DUO started with Continuous Delivery and changed their way of Testing

Xebia Basic Inverse C

orporate Identity

Software Development Done Right

Thank you! Xebia Test Automation

Kishen Simbhoedatpanday CTO Xebia Test Automation @KishenPanday [email protected]