20
Developing and Delivering Quality Code, Frequently Neil Manvar Solutions Architect, Sauce Labs

SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar

  • Upload
    sencha

  • View
    66

  • Download
    0

Embed Size (px)

Citation preview

Developing and Delivering Quality Code, Frequently

Neil Manvar

Solutions Architect, Sauce Labs

AGENDA

Agile In

• Small Iterative Changes

• Rapid response to change

• Agile = Automation

• Focus on business logic

Continuous Integration

• “merging all developer working copies with a shared mainline…”

• CI Tools

• Pipelines

CD

• Continuous Delivery

• Continuous Deployment

• Code is like “inventory”

Automated Testing

Selenium WebDriver

• Controls browser

• Open source

• Language-specific bindings

• Grid

Appium – Functional/UI Testing for Mobile Applications

Pipeline

Running Nightlys or when master changes

11

QA Build(UT and Func Tests)

PR / Commit(s)

PR / Commit(s)

Problems - Running when master changes

• Rollbacks

• Debug build

• Need to pinpoint offending commit

• Late developer feedback

• “Act and React”

• Blocked Pipeline

12

Role of QA

• Fix and debug build - “Act and React”

• Write automated tests for new features and existing functionality

• Manual testing

• Certifying and signing off on build

13

Testing in Isolation – Pull Request Build

14

PR Build(UT and Func Tests)

QA Build(UT and Func Tests)

PR

PR

PR Build

Kick of build against branch

Safe to merge?Only review and merge if masked as safe

Benefits of PR Build

• Developer feedback + enforcement mechanism

• Clean and deployable master

• Enable Continuous Delivery -> Leverage Agile

• Leverage Agile

• New features and bug fixes released regularly, with quality and confidence

15

CD Pipeline

16

PR Build(UT and Func Tests)

QA Build

PR

PR

PR Build

Staging Prod

Kick off build against PR branch

Safe to review / merge?Merge if A/C satisfied

Role of QA (after)

• QA playing “enablement” role- Focused on scaling testing and improving quality

• Developers developing (both source and test code)

• Focus on improving coverage (untested flows, browsers + devices)

• Accountability – New standard of quality

17

Enforce, not police

Questions?