Getting Started With Selenium at Shutterstock

12

Click here to load reader

description

View the slides from Greg Buckner's lightning talk at the NYC Selenium Meetup on 9/22.

Transcript of Getting Started With Selenium at Shutterstock

Page 1: Getting Started With Selenium at Shutterstock

Ge#ng  Started  with  Selenium  Automa4on  

Greg  Buckner  Dir  of  Quality  Assurance    Shu=erstock  Images  LLC  

Page 2: Getting Started With Selenium at Shutterstock

•  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  

What  I’ll  be  talking  about  

Page 3: Getting Started With Selenium at Shutterstock

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?  

Page 4: Getting Started With Selenium at Shutterstock

Our  goal  

Our  goal  at  Shu=erstock  is  to  build  an  enterprise  strength  automa4on  plaPorm  rapidly,  that  catches  bugs  earlier  in  our  development  cycle.  

Page 5: Getting Started With Selenium at Shutterstock

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.  

Page 6: Getting Started With Selenium at Shutterstock

Work  closely  with  you  partner  

•  Try  to  arrange  a  collabora4on  rather  than  a  dictatorship.  •  Agree  on  your  common  goals.  •  Define  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.  

Page 7: Getting Started With Selenium at Shutterstock

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.  

Page 8: Getting Started With Selenium at Shutterstock

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.    

Page 9: Getting Started With Selenium at Shutterstock

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  officially  describe  bugs  in  your  organiza4on  –  

legi4mize  your  automa4on  plaPorm.  •  Take  a  data  driven  approach  •  Go  Atomic  -­‐  Don't  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.  

Page 10: Getting Started With Selenium at Shutterstock

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.      

Page 11: Getting Started With Selenium at Shutterstock

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  different  Browser/OS  combina4ons.  •  Selenium  is  helping  to  drive  iden4fica4on  and  resolu4on  of  our  tech  debt  

issues  in  QA.  •  En4re  regression  a  li=le  over  2+  hrs.  •  Sharing  results  with  our  development  teams    

Page 12: Getting Started With Selenium at Shutterstock

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.