23
Can we have it all ! Selenium- Soup for all Approaching scalable test automation framework SeConf UK Nov, 2016 Pooja Shah

SeConf_Nov2016_London

Embed Size (px)

Citation preview

Page 1: SeConf_Nov2016_London

Can we have it all ! Selenium- Soup for all Approaching scalable test automation framework SeConf UK Nov, 2016

Pooja Shah

Page 2: SeConf_Nov2016_London

iPod iPhone iPad

iPaid

Page 3: SeConf_Nov2016_London

3

Page 4: SeConf_Nov2016_London

We shall not pass

Page 5: SeConf_Nov2016_London
Page 6: SeConf_Nov2016_London

6

Page 7: SeConf_Nov2016_London

•Choice of Tech Stack•Pain Points•Work Around•Sell your bugs

Page 8: SeConf_Nov2016_London

Ideal World ~ way towards Agility

Page 9: SeConf_Nov2016_London

Are Unit Test & Integration test Enough?

Frequent UI changes

Backend Releases affects mobile apps ?

API parameters changed

Unreachable code in production mode

HTML templates being passed

Page 10: SeConf_Nov2016_London

a Omni-channel product?

10

Page 11: SeConf_Nov2016_London

Pain Points: 1. browser die/server crash/inspector crash/simulator crash/stuck 2. locating strategy 3. time consuming to test the test 4. Simulating gestures 5. same works 1st time but doesn’t work next time

Page 12: SeConf_Nov2016_London
Page 13: SeConf_Nov2016_London

13

Sample XML<root> <popup> <node1 name=“Cancel”/> <node2 name=“Sign Up”/> <popup> …………………. …………………………. <popup> <node1 name=“Cancel”/> <node2 name=“Sign Up”/> <popup> <root>

Page 14: SeConf_Nov2016_London

14

Page 15: SeConf_Nov2016_London

Trigger & publish test results ?Sell your bugs with CI !

Accessibility

Transparency

Every possible feedback data at one point

Page 16: SeConf_Nov2016_London

From local script to remote jenkinsIssue Flaky tests on remote

To do’s to debug logs screenshots understand processes

Solution Xvfb 1400x1200x16 Dimension dimension = new Dimension(1224,800); Monit

Page 17: SeConf_Nov2016_London

Release Status AnalyserTests list Tests status (Pass/Fail) Developers responsible Release Go/NoGo call quickly Release version to Revert Back to avoid the Fix bugs in

production

Page 18: SeConf_Nov2016_London

Fixing bugs

in Production

Page 19: SeConf_Nov2016_London

http://p00j4.github.io/

Page 20: SeConf_Nov2016_London

RSA - http://p00j4.github.io/

Page 21: SeConf_Nov2016_London

DDD (Debug Driven Development) ~ Oren Rubin

Test Code be of production quality

Appropriate Design pattern

Units (Say no to Large Tests)

Say no to “static” unless intended

Proper logging

Take screenshots as much as possible

Automated everything? way to start -> publish results in RSA

Page 22: SeConf_Nov2016_London

\

Demo Project: https://github.com/p00j4/scalable-framework

Selenium: http://www.seleniumhq.org/

Appium: http://appium.io/

Jenkins: https://wiki.jenkins-ci.org/display/JENKINS/Plugin+tutorial

IRC: #selenium #jenkins #appium

References & Credits

Page 23: SeConf_Nov2016_London

\

Thank You!

http://meettheqagirl.blogspot.in

@p00j4shah

http://p00j4.github.io