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

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

Jan 12, 2017

Download

Technology

Sencha
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: SenchaCon 2016: Developing and Delivering Quality Code, Frequently - Neil Manvar

Developing and Delivering Quality Code, Frequently

Neil Manvar

Solutions Architect, Sauce Labs

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

AGENDA

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

Agile In

• Small Iterative Changes

• Rapid response to change

• Agile = Automation

• Focus on business logic

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

Continuous Integration

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

• CI Tools

• Pipelines

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

CD

• Continuous Delivery

• Continuous Deployment

• Code is like “inventory”

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

Automated Testing

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

Selenium WebDriver

• Controls browser

• Open source

• Language-specific bindings

• Grid

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

Appium – Functional/UI Testing for Mobile Applications

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

Pipeline

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

Running Nightlys or when master changes

11

QA Build(UT and Func Tests)

PR / Commit(s)

PR / Commit(s)

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

Problems - Running when master changes

• Rollbacks

• Debug build

• Need to pinpoint offending commit

• Late developer feedback

• “Act and React”

• Blocked Pipeline

12

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

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

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

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

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

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

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

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

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

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

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

Enforce, not police

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

Questions?

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