Ge#ng Started with Selenium Automa4on Greg Buckner Dir of Quality Assurance Shu=erstock Images LLC
What I’ll be talking about • This talk is geared toward ge#ng started with automa4on using Selenium organiza4onally rather than a hard core technical implementa4on. L • Its not hard to get started, but some4mes its not obvious either • Perhaps our experience is helpful to others
Considera4ons when star4ng out • Should you build or buy an automa4on solu4on? • Use Commercial Solu4ons or Open Source? • Which of your resources should you use? • Develop In-‐house or partner with an automa4on partner?
Our goal Our goal at Shu=erstock is to build an enterprise strength automa4on plaPorm rapidly, that catches bugs earlier in our development cycle.
Our choice • Shu=erstock loves open source, so Selenium is a natural choice for us. • Shu=erstock is growing rapidly so choosing an automa4on partner was the best choice for Shu=erstock to meet our goal at this 4me.
Work closely with you partner • Try to arrange a collabora4on rather than a dictatorship. • Agree on your common goals. • Deﬁne a common way to communicate. • Set targets, goals and expecta4ons. • If 2 teams are involved make them one team (single expecta4on). • Empower your partner to make decisions. • Constantly remove as many barriers as possible. • Celebrate successes together.
Just get started • Download and install Selenium IDE. • Download and install Selenium Builder. • These tools are very valuable in gaining an understanding of how Selenium views the universe for beginners. • Have your test team build test cases with IDE or Builder, store them centrally and have them run each other’s tests. -‐ make it less scary. • Build your knowledge about Selenium – These tools are great for non-‐developers.
Prepare a strategy • Start smart not fast. Plan your approach and what you need to achieve -‐ Think about what you want to achieve in 1 week, 1 month, 3 months, 6 months, 1 year, and 5 years • Get support from your management. • Treat your Selenium automa4on project as a so^ware development project. • Set phases for your start up with Selenium, call it a beta, call it a pilot -‐ Do it in stages. • Give frequent demos. • Envision End-‐to-‐End (E2E) test scenarios you want to achieve for your applica4on -‐ This will become the backbone of your test suite architecture. • Plan testability with Selenium into your normal so^ware development projects.
Use some tac4cs • Involve your development team. Get their input. Understand their experiences and expecta4ons for automa4on -‐ Its likely they’ll want to use it for integra4on tes4ng also. • Start with smoke tests. • Use the automa4on reports to oﬃcially describe bugs in your organiza4on – legi4mize your automa4on plaPorm. • Take a data driven approach • Go Atomic -‐ Dont meander. Write compact test cases that test the target func4onality and string them together to create required test scenarios. • Use CSS Selectors over Xpath Locators everywhere possible. • Tell IT your goals and what you want to accomplish – make them part of it.
Things look encouraging so far • We’ve developed 600 test cases that take 27.5 hours single threaded. • We’ve added a 16 node grid and 600 cases take slightly more than 2hrs. • Average 100 new test cases per month. • Organiza4onal awareness is good. • Organiza4onal support is excellent. • We’re building trust.
Where are we today? • 5 member func4onal test team. • 5 member automa4on test team. • 5.5 months in so far. • Teams working cross func4onally. • 600 automated tests developed, trending towards 1000 by EOY. • Test cases are virtually layout agnos4c. • Built our own 16 node test grid diﬀerent Browser/OS combina4ons. • Selenium is helping to drive iden4ﬁca4on and resolu4on of our tech debt issues in QA. • En4re regression a li=le over 2+ hrs. • Sharing results with our development teams
The Future • Implement Test Management. • 400-‐600 more test cases by EOY. • 2500-‐3200 test cases by end of next year. • Op4mize the Grid (get even faster). • Improve Con4nuous Integra4on tests. • Mobile Automa4on. • Integrate other test frameworks. • Learn more, try more.