SlideShare une entreprise Scribd logo
1  sur  57
Télécharger pour lire hors ligne
0	
  –	
  60:	
  QA	
  AutomaAon	
  @	
  Box	
  




Peter	
  White	
  
Dave	
  Duke	
  
Silicon	
  Valley	
  Code	
  Camp	
  2011	
  
Box	
  Biz	
  

•    Cloud	
  Content	
  Management	
  and	
  Collabora'on	
  
•    7M	
  users	
  
•    100K	
  businesses	
  
•    Adop8on	
  in	
  77%	
  of	
  the	
  Fortune	
  500	
  
•    150M	
  file	
  accesses	
  /	
  month	
  
•    270	
  employees,	
  up	
  from	
  125	
  at	
  previous	
  year-­‐end	
  
•    15-­‐20	
  main-­‐branch	
  commits	
  per	
  day,	
  and	
  steadily	
  
     growing	
  
Box	
  Tech	
  

•    LAMP	
  Stack	
  Web	
  App	
  
•    Na8ve	
  and	
  HTML5	
  (m.box.net)	
  Mobile	
  Apps	
  
•    Sync	
  for	
  Mac	
  and	
  Windows	
  
•    MS	
  Office	
  &	
  Outlook	
  Plugins	
  on	
  Windows	
  
•    Open	
  PlaVorm	
  -­‐	
  REST,	
  SOAP,	
  and	
  XML-­‐RPC	
  APIs	
  
•    Front-­‐end	
  Presenta8on	
  
•    Back-­‐end	
  Services	
  
Agenda	
  
•  Overview	
  
     –  Business	
  Decisions	
  
     –  Technical	
  Decisions	
  
•  Demos	
  
•  Lots	
  of	
  Code	
  
•  Lessons	
  Learned	
  
•  Immediate	
  and	
  Future	
  Plans…	
  
•  Q&A	
  
Not	
  necessarily	
  all	
  in	
  that	
  order	
  of	
  precedence…	
  
Disclaimer	
  
	
  We’ll	
  be	
  focusing	
  primarily	
  on	
  browser-­‐based	
  
    func8onal	
  acceptance	
  tes8ng	
  for	
  this	
  presenta8on.	
  
	
  The	
  test	
  automa8on	
  landscape	
  is	
  rapidly	
  changing.	
  
	
  Please	
  keep	
  this	
  in	
  mind	
  when	
  you	
  decide	
  to	
  
    implement	
  a	
  test	
  automa8on	
  strategy	
  to	
  make	
  sure	
  
    that	
  you	
  make	
  the	
  best	
  decision	
  for	
  your	
  given	
  
    situa8on.	
  
Why	
  automate	
  tesAng?	
  
Because	
  of	
  this	
  guy…	
  




Disclaimer:	
  “The	
  Most	
  Interes8ng	
  Man	
  in	
  the	
  World”	
  DOES	
  NOT	
  work	
  at	
  Box,	
  although	
  I’ve	
  been	
  known	
  to	
  
occasionally	
  drink	
  and	
  code	
  –	
  that’s	
  (par8ally)	
  what	
  tests	
  are	
  for!	
  
	
  
Before	
  Automated	
  TesAng	
  
•  Black	
  box	
  and	
  exploratory	
  manual	
  	
  tes8ng	
  
      –  Separate	
  QA	
  staff	
  
      –  Off-­‐shore	
  commercial	
  tes8ng	
  partner	
  
•    Insufficient	
  coverage	
  
•    Slow	
  turn-­‐around	
  /	
  delayed	
  feedback	
  
•    Lifle	
  engineering	
  involvement	
  
•    Developer	
  code	
  reviews	
  were	
  a	
  huge	
  but	
  imperfect	
  
     safety	
  net	
  
With	
  Automated	
  TesAng	
  
•  Developers	
  “own”	
  the	
  tests	
  
     –  Tests	
  are	
  authored,	
  maintained,	
  and	
  executed	
  on	
  demand	
  on	
  
        developer’s	
  worksta8on	
  and	
  /	
  or	
  VM	
  

•  QA	
  “owns”	
  the	
  test	
  suites	
  
     –  Approves	
  automated	
  test	
  cases	
  
     –  Determines	
  which	
  tests	
  belong	
  in	
  which	
  suites	
  
     –  Executes	
  tests	
  against	
  mul8ple	
  target	
  environments	
  and	
  verifies	
  
        results	
  

•  QA	
  no	
  longer	
  spends	
  8me	
  manually	
  tes8ng	
  func8onal	
  areas	
  
   with	
  approved	
  test	
  coverage	
  
•  Coverage	
  is	
  befer	
  and	
  steadily	
  improving	
  
•  S8ll	
  doing	
  code	
  reviews	
  but	
  now	
  we	
  have	
  a	
  safety	
  net	
  
Our	
  IniAal	
  Goals	
  
•  Prevent	
  crazy	
  late-­‐night	
  deployments	
  by	
  completely	
  
   automa8ng	
  our	
  “acceptance	
  suite”	
  
•  Ease	
  of	
  test	
  authoring,	
  easily	
  maintainable	
  tests	
  
•  Fast	
  scalable	
  plaVorm	
  –	
  provide	
  feedback	
  ASAP	
  
	
  
Humble	
  beginnings	
  
           	
  
(Some	
  think)	
  AutomaAon	
  is	
  Easy…	
  
             Selenium	
  IDE	
  Screencast	
  available	
  aier	
  10/28	
  
	
  
Screencast	
  demonstrates	
  using	
  Selenium	
  IDE	
  to	
  record	
  a	
  test	
  case	
  that	
  creates	
  a	
  folder	
  and	
  
navigates	
  to	
  it	
  through	
  the	
  Box	
  web	
  UI.	
  
Yeah,	
  right…	
  	
  
           Selenium	
  IDE	
  Screencast	
  available	
  aier	
  10/28	
  
	
  
Screencast	
  demonstrates	
  execu8ng	
  the	
  previously	
  recorded	
  test	
  –	
  fail!	
  

	
  
And	
  for	
  the	
  non-­‐believers…	
  
              Selenium	
  IDE	
  Screencast	
  available	
  aier	
  10/28	
  
                                         	
  
Screencast	
  demonstrates	
  execu8ng	
  the	
  previously	
  recorded	
  test.	
  This	
  8me	
  we	
  execute	
  the	
  test	
  at	
  
the	
  slowest	
  possible	
  speed,	
  since	
  it	
  failed	
  due	
  to	
  8ming	
  issues	
  the	
  first	
  8me,	
  but	
  it	
  s8ll	
  fails	
  for	
  
other	
  reasons	
  –	
  record	
  and	
  playback	
  tools	
  tend	
  to	
  struggle	
  with	
  modern	
  Web	
  2.0+	
  websites.	
  

	
  
	
  
AutomaAon	
  is	
  Hard…	
  
•  All	
  marketers	
  are	
  liars	
  –	
  things	
  rarely	
  work	
  100%	
  as	
  
   adver8sed…	
  
•  Easily	
  maintainable	
  high-­‐value	
  automa8on	
  requires	
  
   soiware	
  development	
  skills	
  and	
  a	
  fair	
  amount	
  of	
  
   effort.	
  
But	
  worth	
  it!	
  
       600	
  
                                           QA	
  Engineer	
  minutes	
  to	
  perform	
  test	
  suite	
  

       500	
  


       400	
  


       300	
                                                                                                         Smoke	
  
                                                                                                                     Sanity	
  
       200	
  


       100	
  


           0	
  
                             QA	
  Engineers	
                                                  TAF	
  
We	
  also	
  replaced	
  1	
  year	
  of	
  API	
  tes8ng	
  with	
  2	
  weeks	
  of	
  development	
  effort	
  
	
  
Signup_Lite	
  Selenium	
  Version	
  
Signup_Lite	
  TAF	
  Version	
  
Defining	
  Your	
  High-­‐Level	
  Requirements	
  
                       Build	
                                                     Buy	
  
Time	
                 I	
  love	
  building	
  tools	
                            I	
  need	
  it	
  yesterday	
  
Money	
                “You	
  can	
  use	
  whatever	
  you	
  want	
  as	
       I’m	
  going	
  to	
  lose	
  my	
  budget	
  if	
  I	
  
                       long	
  as	
  it’s	
  free”	
                               don’t	
  spend	
  it!	
  
Resources	
            We	
  have	
  skilled	
  developers	
  who	
  are	
         I	
  want	
  to	
  automate	
  as	
  much	
  of	
  
                       interested	
  in	
  and	
  capable	
  of	
  building,	
     my	
  QA	
  tasks	
  as	
  possible	
  but	
  I	
  
                       maintaining,	
  and	
  supporAng	
  test	
                  don’t	
  have	
  any	
  development	
  
                       automa8on	
                                                 support	
  


                       Framework	
                                                 Pla_orm	
  
Execu8on	
      I	
  want	
  to	
  develop,	
  execute,	
  and	
                   I	
  want	
  to	
  parallelize	
  my	
  tests	
  as	
  
Environment	
   monitor	
  all	
  of	
  my	
  tests	
  on	
  my	
  local	
         much	
  as	
  possible	
  and	
  don’t	
  
                machine	
                                                          want	
  to	
  8e	
  up	
  my	
  machine	
  
                                                                                   while	
  execu8ng	
  them	
  
Commercial	
  vs.	
  Open	
  Source	
  
Commercial	
            Pros	
                                                     Cons	
  
                        Vendor	
  Support	
                                        High	
  Cost	
  
                        Documenta8on/Training	
  Materials	
   Long-­‐term	
  rigidity	
  
                        Quick	
  Win	
                                             Dependent	
  on	
  vendor	
  for	
  fixes	
  
                        Trained	
  Candidate/Employee	
  Pool	
  
Open	
  Source	
   Pros	
                                                          Cons	
  
                        Low	
  ini8al	
  cost	
                                    Community	
  Support	
  +/-­‐	
  
                        “Use	
  the	
  Source”	
                                   Lack	
  of	
  vendor	
  support/docs	
  

You	
  may	
  also	
  want	
  to	
  consider	
  what	
  kind	
  of	
  3rd-­‐party	
  support	
  exists	
  in	
  terms	
  of	
  books,	
  
blogs,	
  tools,	
  forums,	
  etc…	
  
High-­‐Level	
  Weekly	
  Release	
  Process	
  
“Full	
  Push”	
  
	
                                                     C1	
  …	
  C20	
  


	
  
                                                 Single	
  Test	
  Cycle	
  
	
  
Incremental	
  Pushes	
  aka	
  “Con8nuous	
  Delivery”	
  
       C1	
      C2	
     C3	
     C4	
     C5	
        …	
        C15	
       C16	
     C17	
     C18	
     C19	
      C20	
  



       TC	
      TC	
     TC	
     TC	
     TC	
        TC	
         TC	
       TC	
     TC	
      TC	
       TC	
     TC	
  
Key	
  Design	
  Decisions	
  
•  JVM-­‐compa8ble	
  language	
  
•  Op8mize	
  for	
  throughput	
  
    –  Massive	
  parallelism	
  (all	
  tests	
  are	
  idempotent)	
  

•  Ease	
  of	
  test	
  development	
  
•  Flexibility,	
  Adaptability,	
  Maintainability,	
  Scalability	
  
Choosing	
  a	
  Framework	
  and	
  Pla_orm	
  
!"#$%&'"()!                                                                                    *+, *#-#, ./, 0123'4, 5671, 080, 0%"9, :#";%2,
	
                          !                  !       !       !           !               !
                                                                                                                                      <)%"!

 "#$#%&'(!)!                                                                                   !                                                           *#+!
	
                      !              !           !       !           !           !                         !       !       !         !       !       !

 "#$#%&'(!,!                                                                                   !                                           !       !       *#+!
	
  -.#/*0&+#01!        !              !           !       !           !           !                         !       !       !         !
 .23&04!                                                                                       !                 !       !                 !       !       56!

	
  .&%7(&$$!       !
                            !              !           !
                                                           !
                                                                           !           !




                                                                                                         !
                                                                                                             !
                                                                                                                 !
                                                                                                                                       !
                                                                                                                                           !       !       *#+856!

	
  "29&!:"4!
                                       !           !       !           !           !

                                                                                                   !                         !         !
                                                                   !           !               !                 !       !         !       !       !       56!
                                                                                                             !
	
  !
                                       !           !       !
                            !




 !

	
  !!
Pla_orms	
                      Pros	
                                                                 Cons	
  
Selenium	
  Grid	
              It’s	
  your	
  grid	
                                                 It’s	
  your	
  grid…	
  
Sauce	
  Labs	
                 Grid	
  is	
  set	
  up	
  and	
  maintained	
                         Ability	
  to	
  customize	
  solu8on	
  may	
  
                                for	
  you	
                                                           be	
  limited	
  or	
  	
  non-­‐existent	
  
The	
  path	
  we	
  chose	
  @	
  Box	
  
•  Func8onal	
  Acceptance	
  Tes8ng	
  
      –  Scala	
  

      –  Started	
  with	
  Selenium	
  1,	
  recently	
  migrated	
  to	
  Selenium	
  2*	
  

      –  ScalaTest/TestNG	
  

•  API	
  Tes8ng	
  
      –  Jump-­‐started	
  full	
  API	
  coverage	
  with	
  home-­‐grown	
  Ruby	
  framework	
  

•  Unit	
  tes8ng	
  (adopted	
  MUCH	
  later…)	
  
      –  PHPUnit	
  

      –  specs	
  2	
  

      –  PyUnit	
  

•  Sta8c	
  analysis	
  tools	
  (JSLint)	
  
Developer	
  ConfiguraAon	
  
ConAnuous	
  Test/Grid	
  ConfiguraAon	
  

                                 EC2




  Box VPN
High-­‐level	
  Architecture	
  


BaseTestCase	
          Driver	
             Shared	
  API	
         PageObject	
      Ac8ons	
  




BoxTestCase	
      SeleniumDriver	
       Component	
  API	
       BoxPageObject	
  




   MyTest	
        WebDriverDriver	
     Element	
  Locators	
     MyPageObject	
  
High-­‐level	
  ExecuAon	
  Flow	
  




Execute	
                        Execute	
      Handle	
  
                 Ini8alize	
  
Test	
  or	
                       test	
      Failures/
                   Test	
  
 Suite	
                          Body	
       Cleanup	
  
Two	
  demos	
  
•  HelloName	
  test	
  
    –  Illustrates	
  the	
  typical	
  workflow	
  
    –  Simple	
  and	
  ar8ficial	
  


•  Sample	
  Box.net	
  test	
  
    –  Includes	
  more	
  advanced	
  func8onality	
  
    –  Tests	
  the	
  real	
  site	
  
HelloName	
  test	
  –	
  Basic	
  structure	
  

HelloSuite	
  
•  Lists	
  and	
  describes	
  tests	
  


      TestGree8ng	
  
      •  High-­‐level	
  test	
  defini8on	
  


             WelcomePageObject	
  
             •  Reusable	
  page-­‐specific	
  func8ons	
  
CompilaAon	
  and	
  ExecuAon	
  
                                •  Compiles	
  Scala	
  code	
  
       sbt	
  build	
           •  Copies	
  resources	
  



                                •  Scans	
  for	
  test	
  annota8ons	
  
  sbt	
  build-­‐suites	
       •  Produces	
  TestNG	
  epr/xml	
  files	
  



                                •  Runs	
  TestNG	
  on	
  a	
  suite	
  
    runsuite	
  /	
             •  Invokes	
  @BeforeSuite	
  
runtest	
  /	
  runfailed	
     •  Records	
  results	
  
CompilaAon	
  and	
  ExecuAon	
  

                •  Instan8ate	
  testcase	
  
Ini8alize	
     •  Instan8ate	
  driver	
  
                •  Invoke	
  executeAndCapture()	
  

   test	
       •  Setup	
  execu8on	
  trace	
  
                •  Invoke	
  testcase’s	
  execute()	
  



                •  Take	
  screenshot	
  or	
  save	
  HTML	
  
                   on	
  failure	
  (if	
  configured	
  to	
  do	
  so)	
  

Cleanup	
       •  Close	
  browser	
  on	
  failure	
  (if	
  
                   configured	
  to	
  do	
  so)	
  
Two	
  demos	
  
•  HelloName	
  test	
  
    –  Illustrates	
  the	
  typical	
  workflow	
  
    –  Simple	
  and	
  ar8ficial	
  


•  Sample	
  Box.net	
  test	
  
    –  Includes	
  more	
  advanced	
  func8onality	
  
    –  Tests	
  the	
  real	
  site	
  
Logging	
  Tools	
  
    “describes”	
  func8on	
  




Groups	
  and	
  categorizes	
  test	
  steps	
  
            Can	
  be	
  nested	
  
Logging	
  Tools	
  
                  Execu8on	
  trace	
  




	
  
	
  
          Prints	
  a	
  tree	
  of	
  described	
  steps	
  
       Expands	
  nodes	
  based	
  on	
  user’s	
  config	
  	
  
Framework	
  –	
  Tests	
  and	
  SupporAng	
  Classes	
  


BaseTestCase	
         PageObject	
              Ac8ons	
  


    BoxTestCase	
        BoxPageObject	
  




      MyTest	
           MyPageObject	
  
Selenium	
  2:	
  A	
  Variety	
  of	
  Modes	
  
Compa8bility	
  Mode	
  

•  Supports	
  Selenium	
  1	
  features	
  
•  Does	
  not	
  provide	
  advanced	
  WebDriver	
  func8onality	
  

Webdriver	
  –	
  Na8ve	
  Events	
  

•  Simulates	
  a	
  mouse	
  cursor	
  moving	
  and	
  clicking	
  
•  Windows	
  only,	
  CPU	
  intensive,	
  slow,	
  unreliable	
  

Webdriver	
  –	
  Default	
  Mode	
  

•  Not	
  available	
  for	
  IE	
  
•  Produces	
  most	
  reliable	
  results	
  
Cross-­‐browser	
  and	
  cross-­‐pla_orm	
  tesAng	
  
•  How	
  do	
  we	
  get	
  the	
  same	
  tests	
  to	
  work	
  on	
  different	
  
   browsers/plaVorms	
  when	
  mixing	
  Selenium	
  modes?	
  



•  How	
  do	
  we	
  provide	
  a	
  consistent	
  API	
  for	
  test	
  writers	
  
   while	
  allowing	
  for	
  flexibility	
  in	
  how	
  the	
  Selenium	
  
   calls	
  are	
  made?	
  
    –  Major	
  changes	
  to	
  Selenium	
  are	
  not	
  unheard	
  of	
  
Driver	
  Structure	
  (During	
  MigraAon)	
  

                       Driver	
  




                  SeleniumDriver	
  




                  WebDriverDriver	
  
Driver	
  Structure	
  (MigraAon	
  Complete)	
  



                               Driver	
  




          SeleniumDriver	
              WebDriverDriver	
  
Driver	
  Structure	
  w/App-­‐Specific	
  Support	
  

                                        Driver	
  




                                 SeleniumDriver	
  




                WebDriverDriver	
                    BoxSeleniumDriver	
  




               BoxWebDriverDriver	
  
ImplementaAon	
  of	
  “click”	
  
•  Driver	
  



•  SeleniumDriver	
  



•  WebDriverDriver	
  
ModificaAons	
  and	
  Extensions	
  
•  Sizzle	
  (jQuery)	
  selectors	
  
    –  Efficient	
  and	
  powerful	
  
    –  We	
  recommend	
  test-­‐writers	
  find	
  elements	
  by	
  ID	
  or	
  
       through	
  a	
  Sizzle	
  selector	
  




•  Flex	
  extensions	
  
    –  Interact	
  with	
  flash/flex	
  elements	
  in	
  the	
  page	
  
    –  Necessary	
  for	
  tes8ng	
  Box’s	
  file	
  preview	
  func8onality	
  
Good	
  pracAces	
  
•  Perform	
  setup	
  ac8ons	
  through	
  your	
  app’s	
  API	
  
    –  Bypasses	
  the	
  web	
  UI	
  
    –  Improves	
  test	
  speed	
  
    –  Reduces	
  spurious	
  failures	
  


•  Parameterize	
  tests	
  
    –  Many	
  tests	
  will	
  share	
  iden8cal	
  or	
  similar	
  steps	
  
    –  Reuse	
  code	
  by	
  parameterizing	
  tests	
  
    –  Add	
  descrip8ons	
  to	
  each	
  test	
  call	
  to	
  differen8ate	
  them	
  
Bad	
  PracAces	
  
•  Avoid	
  using	
  XPath	
  
    –  Incredibly	
  slow	
  in	
  IE	
  version	
  <	
  9	
  
    –  Extremely	
  brifle	
  


•  Avoid	
  Thread.sleep()	
  or	
  equivalent	
  –	
  poll	
  instead	
  
    –  Timing	
  issues	
  are	
  the	
  main	
  cause	
  of	
  spurious	
  test	
  failures	
  
    –  Pausing	
  test	
  execu8on	
  is	
  rarely	
  the	
  correct	
  solu8on	
  
    –  Try	
  wai8ng	
  for	
  a	
  specific	
  element	
  to	
  be	
  visible	
  
AdopAon	
  
•  Know	
  your	
  target	
  end-­‐user	
  
    –  Framework	
  design	
  
    –  Diagnos8c/Analysis	
  tools	
  
    –  Docs,	
  Training,	
  Mentoring,	
  Support	
  
•  Eliminate	
  FUD	
  
    –  Automa8on	
  is	
  NOT	
  going	
  to	
  replace	
  your	
  QA	
  organiza8on.	
  
       Instead,	
  it’	
  going	
  to	
  transform	
  their	
  work	
  in	
  a	
  more	
  rewarding	
  
       and	
  highly	
  leveraged	
  manner.	
  
    –  Expect	
  a	
  learning	
  curve	
  and	
  a	
  bit	
  of	
  a	
  rough	
  start	
  
    –  Progressive	
  adop8on	
  policies	
  
•  Provide	
  con8nuous	
  feedback…	
  
    –  Metrics	
  
    –  Apply	
  social	
  pressure	
  if/when	
  necessary	
  
Git	
  Hash	
     Author	
     Firefox	
  tests	
     Passed!	
  
Status	
  Matrix	
  Screenshot	
  
Lessons	
  Learned	
  
•  Automa8on	
  is	
  Rewarding!	
  
•  But	
  some8mes	
  frustra8ng…	
  
•  The	
  cultural	
  challenges	
  are	
  much	
  greater	
  than	
  the	
  
   technical	
  challenges	
  –	
  we’re	
  having	
  some	
  difficul8es	
  with	
  
   establishing	
  a	
  “stop	
  the	
  line”	
  mentality	
  
•  Broken	
  tests	
  or	
  tests	
  that	
  don’t	
  run	
  don’t	
  count	
  –	
  we’ve	
  
   recently	
  begun	
  to	
  file	
  “Blocker”	
  bugs	
  for	
  all	
  broken	
  tests	
  
•  Func8onal	
  tes8ng	
  can	
  be	
  flakey,	
  especially	
  when	
  external	
  
   dependencies	
  are	
  involved	
  
•  Few	
  companies	
  do	
  this	
  well	
  (because	
  it’s	
  hard	
  work,	
  real	
  
   engineering,	
  and	
  oien	
  underes8mated)	
  
Our	
  Current	
  Goals	
  
•  Con8nually	
  and	
  rapidly	
  expand	
  the	
  coverage	
  of	
  our	
  full-­‐
   regression	
  suite	
  
    –  Iden8fy	
  gaps	
  in	
  test	
  coverage	
  
    –  Make	
  test	
  authoring	
  easier	
  and	
  less	
  intrusive	
  
    –  Make	
  test	
  execu8on	
  faster	
  
    –  Expand	
  browser	
  support	
  
•  Provide	
  befer	
  feedback	
  mechanisms	
  
    –  No8fica8on	
  mechanisms	
  and	
  dashboards	
  	
  
•  Con8nuous	
  Delivery	
  
    –  Improve	
  test	
  throughput	
  by	
  scaling	
  the	
  test	
  environment	
  
Outstanding	
  QuesAons	
  
•  Granularity	
  of	
  8meout	
  values	
  
•  When	
  will	
  “Na8ve	
  Mode”	
  work	
  acceptably	
  with	
  IE?	
  
•  Ajax	
  8ming	
  issues	
  for	
  extremely	
  dynamic	
  content	
  
If	
  we	
  had	
  to	
  start	
  all	
  over…	
  
•  Unit	
  tes8ng	
  before	
  func8onal	
  acceptance	
  
•  Wa8r	
  vs.	
  Selenium	
  if	
  you	
  only	
  care	
  about	
  IE	
  and	
  
   don’t	
  need	
  grid*	
  
•  Iron	
  out	
  the	
  kinks	
  before	
  rolling	
  it	
  out	
  –	
  we	
  got	
  
   buried	
  in	
  training/support	
  and	
  weren’t	
  able	
  to	
  
   resolve	
  issues	
  quickly	
  enough	
  as	
  a	
  result	
  
•  Dedicated	
  hardware	
  for	
  complete	
  AUT	
  and	
  plaVorm	
  
   (RC’s	
  being	
  an	
  acceptable	
  excep8on)	
  
•  Ac8onable	
  test	
  failure	
  no8fica8ons	
  –	
  don’t	
  spam	
  
   everyone	
  
Box	
  is	
  Hiring!	
  
•  Roughly	
  25	
  open	
  engineering	
  &	
  opera8ons	
  posi8ons	
  
•  Quality	
  Engineering	
  Posi8ons	
  
    –  Soiware	
  Engineer	
  –	
  Tools	
  and	
  Frameworks	
  
    –  QA	
  Engineer	
  

•  Visit	
  www.box.net/jobs/	
  for	
  more	
  info	
  
•  Send	
  resumes	
  to	
  referrals@box.net	
  and	
  men8on	
  you	
  
   saw	
  us	
  at	
  Code	
  Camp!	
  
Box	
  SVCC	
  2011	
  PresentaAons	
  
0	
  –	
  60:	
  QA	
  Automa8on	
  at	
  Box	
  (Sat	
  11:15	
  AM	
  -­‐	
  Room	
  5501)	
  
Speakers:	
  Peter	
  White,	
  Dave	
  Duke	
  
	
  
Where	
  is	
  my	
  data?	
  Consistency,	
  availability,	
  security	
  of	
  cloud	
  file	
  storage	
  
at	
  Box	
  (Sat	
  1:45	
  PM	
  –	
  Rm	
  1401)	
  
Speaker:	
  Antoine	
  Boulanger	
  
	
  
Achieving	
  Cloud-­‐Scale	
  Test	
  Automa8on	
  at	
  Box	
  (Sat	
  3:30	
  PM	
  –	
  Room	
  5501)	
  
Speakers:	
  Randall	
  Schulz	
  ,	
  	
  Jordan	
  Sterling	
  ,	
  	
  David	
  Wake	
  
	
  
DRY	
  CSS	
  &	
  Images	
  (Sat	
  5:00	
  PM	
  –	
  Room	
  1500)	
  
Speaker:	
  Kimber	
  Lockhart	
  
	
  
HTML5	
  Uploading	
  and	
  Beyond	
  (Sun	
  10:45	
  AM	
  –	
  Room	
  8403)	
  
Speaker:	
  Ben	
  Trombley	
  
	
  
	
  
Thank	
  you!	
  
Resources	
  
 •  hfps://www.box.net/developers	
  
 •  hfp://seleniumhq.org	
  
 •  hfp://wa8r.com	
  
 •  hfp://sahi.co.in	
  
 •  hfp://www.getwindmill.com	
  
 •  hfp://testng.org	
  
 •  hfp://code.google.com/p/flash-­‐selenium/	
  

Contact	
  Info	
  
 •  Peter	
  White	
  (peter@box.net),	
  Director	
  of	
  Quality	
  Engineering	
  
 •  Dave	
  Duke	
  (dduke@box.net),	
  Soiware	
  Engineer	
  
Ques8ons?	
  

Contenu connexe

Tendances

Codeception Testing Framework -- English #phpkansai
Codeception Testing Framework -- English #phpkansaiCodeception Testing Framework -- English #phpkansai
Codeception Testing Framework -- English #phpkansaiFlorent Batard
 
Web Test Automation Framework - IndicThreads Conference
Web Test Automation Framework  - IndicThreads ConferenceWeb Test Automation Framework  - IndicThreads Conference
Web Test Automation Framework - IndicThreads ConferenceIndicThreads
 
Don't hate, automate. lessons learned from implementing continuous delivery
Don't hate, automate. lessons learned from implementing continuous deliveryDon't hate, automate. lessons learned from implementing continuous delivery
Don't hate, automate. lessons learned from implementing continuous deliverySolano Labs
 
How we Test at eBay Europe
How we Test at eBay EuropeHow we Test at eBay Europe
How we Test at eBay EuropeMichael Palotas
 
James Christie CAST 2014 Standards – promoting quality or restricting competi...
James Christie CAST 2014 Standards – promoting quality or restricting competi...James Christie CAST 2014 Standards – promoting quality or restricting competi...
James Christie CAST 2014 Standards – promoting quality or restricting competi...James Christie Christie
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAdam Stephensen
 
Automation Open Source tools
Automation Open Source toolsAutomation Open Source tools
Automation Open Source toolsQA Club Kiev
 
Exercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseExercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseBitbar
 
Windmill Testing certification
Windmill Testing certificationWindmill Testing certification
Windmill Testing certificationVskills
 
Keynote: Next Generation Testing
Keynote: Next Generation TestingKeynote: Next Generation Testing
Keynote: Next Generation TestingLoh Chuan Ho Ervin
 
Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBayDominik Dary
 
Turbocharge Your Automation Framework to Shorten Regression Execution Time
Turbocharge Your Automation Framework to Shorten Regression Execution TimeTurbocharge Your Automation Framework to Shorten Regression Execution Time
Turbocharge Your Automation Framework to Shorten Regression Execution TimeJosiah Renaudin
 
Selenium - The Way Of Success
Selenium - The Way Of SuccessSelenium - The Way Of Success
Selenium - The Way Of SuccessZbyszek Mockun
 
Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsDominik Dary
 
Building Maintainable Android Apps (DroidCon NYC 2014)
Building Maintainable Android Apps (DroidCon NYC 2014)Building Maintainable Android Apps (DroidCon NYC 2014)
Building Maintainable Android Apps (DroidCon NYC 2014)Kevin Schultz
 
Efficient JavaScript Unit Testing, JavaOne China 2013
Efficient JavaScript Unit Testing, JavaOne China 2013Efficient JavaScript Unit Testing, JavaOne China 2013
Efficient JavaScript Unit Testing, JavaOne China 2013Hazem Saleh
 
Nonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the CoinNonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the CoinTechWell
 
Uber Mobility Meetup: Mobile Testing
Uber Mobility Meetup:  Mobile TestingUber Mobility Meetup:  Mobile Testing
Uber Mobility Meetup: Mobile TestingApple Chow
 

Tendances (20)

Codeception Testing Framework -- English #phpkansai
Codeception Testing Framework -- English #phpkansaiCodeception Testing Framework -- English #phpkansai
Codeception Testing Framework -- English #phpkansai
 
Web Test Automation Framework - IndicThreads Conference
Web Test Automation Framework  - IndicThreads ConferenceWeb Test Automation Framework  - IndicThreads Conference
Web Test Automation Framework - IndicThreads Conference
 
Don't hate, automate. lessons learned from implementing continuous delivery
Don't hate, automate. lessons learned from implementing continuous deliveryDon't hate, automate. lessons learned from implementing continuous delivery
Don't hate, automate. lessons learned from implementing continuous delivery
 
How we Test at eBay Europe
How we Test at eBay EuropeHow we Test at eBay Europe
How we Test at eBay Europe
 
James Christie CAST 2014 Standards – promoting quality or restricting competi...
James Christie CAST 2014 Standards – promoting quality or restricting competi...James Christie CAST 2014 Standards – promoting quality or restricting competi...
James Christie CAST 2014 Standards – promoting quality or restricting competi...
 
Agile & DevOps - It's all about project success
Agile & DevOps - It's all about project successAgile & DevOps - It's all about project success
Agile & DevOps - It's all about project success
 
Automation Open Source tools
Automation Open Source toolsAutomation Open Source tools
Automation Open Source tools
 
Exercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseExercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the Enterprise
 
Windmill Testing certification
Windmill Testing certificationWindmill Testing certification
Windmill Testing certification
 
Automate you Appium test like a pro!
Automate you Appium test like a pro!Automate you Appium test like a pro!
Automate you Appium test like a pro!
 
Keynote: Next Generation Testing
Keynote: Next Generation TestingKeynote: Next Generation Testing
Keynote: Next Generation Testing
 
Agile Testing at eBay
Agile Testing at eBayAgile Testing at eBay
Agile Testing at eBay
 
Turbocharge Your Automation Framework to Shorten Regression Execution Time
Turbocharge Your Automation Framework to Shorten Regression Execution TimeTurbocharge Your Automation Framework to Shorten Regression Execution Time
Turbocharge Your Automation Framework to Shorten Regression Execution Time
 
Selenium - The Way Of Success
Selenium - The Way Of SuccessSelenium - The Way Of Success
Selenium - The Way Of Success
 
Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile Projects
 
Building Maintainable Android Apps (DroidCon NYC 2014)
Building Maintainable Android Apps (DroidCon NYC 2014)Building Maintainable Android Apps (DroidCon NYC 2014)
Building Maintainable Android Apps (DroidCon NYC 2014)
 
Efficient JavaScript Unit Testing, JavaOne China 2013
Efficient JavaScript Unit Testing, JavaOne China 2013Efficient JavaScript Unit Testing, JavaOne China 2013
Efficient JavaScript Unit Testing, JavaOne China 2013
 
Nonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the CoinNonfunctional Testing: Examine the Other Side of the Coin
Nonfunctional Testing: Examine the Other Side of the Coin
 
React a11y-csun
React a11y-csunReact a11y-csun
React a11y-csun
 
Uber Mobility Meetup: Mobile Testing
Uber Mobility Meetup:  Mobile TestingUber Mobility Meetup:  Mobile Testing
Uber Mobility Meetup: Mobile Testing
 

En vedette

World Cup Strategy
World Cup StrategyWorld Cup Strategy
World Cup StrategyGlobaHue
 
A Step To The Future
A Step To The FutureA Step To The Future
A Step To The Futureguest56e386
 
Documentos de Identidade (Parte II) - Tomaz Tadeu da Silva
Documentos de Identidade (Parte II) - Tomaz Tadeu da SilvaDocumentos de Identidade (Parte II) - Tomaz Tadeu da Silva
Documentos de Identidade (Parte II) - Tomaz Tadeu da Silvadrycaaa
 
A Face Oculta da Escola - Mariano Fernández Enguita
A Face Oculta da Escola - Mariano Fernández EnguitaA Face Oculta da Escola - Mariano Fernández Enguita
A Face Oculta da Escola - Mariano Fernández Enguitadrycaaa
 
Interview casebookfrom at kearney
Interview casebookfrom at kearneyInterview casebookfrom at kearney
Interview casebookfrom at kearneyCipto Wibowo
 
O Papel do Professor na Sociedade Digital - Vani Moreira Kenski
O Papel do Professor na Sociedade Digital - Vani Moreira KenskiO Papel do Professor na Sociedade Digital - Vani Moreira Kenski
O Papel do Professor na Sociedade Digital - Vani Moreira Kenskidrycaaa
 
So tay duong sinh osawa
So tay duong sinh osawaSo tay duong sinh osawa
So tay duong sinh osawaVõ Vân Lam
 
Kareena Kapoor
Kareena KapoorKareena Kapoor
Kareena KapoorPradeep555
 
Report - Light Sensing Robot
Report - Light Sensing RobotReport - Light Sensing Robot
Report - Light Sensing RobotDivay Khatri
 
Report - Line Following Robot
Report - Line Following RobotReport - Line Following Robot
Report - Line Following RobotDivay Khatri
 
A hands-on introduction to the ELF Object file format
A hands-on introduction to the ELF Object file formatA hands-on introduction to the ELF Object file format
A hands-on introduction to the ELF Object file formatrety61
 
Dabur India Ltd
Dabur India LtdDabur India Ltd
Dabur India LtdPradeep555
 
Porter’S Five Force Model In Pharma Industries
Porter’S Five Force Model In Pharma IndustriesPorter’S Five Force Model In Pharma Industries
Porter’S Five Force Model In Pharma IndustriesPradeep555
 
LEITE, L. “As dimensões interacionista e construtivista de Vygotsky e Piaget”...
LEITE, L. “As dimensões interacionista e construtivista de Vygotsky e Piaget”...LEITE, L. “As dimensões interacionista e construtivista de Vygotsky e Piaget”...
LEITE, L. “As dimensões interacionista e construtivista de Vygotsky e Piaget”...drycaaa
 

En vedette (16)

World Cup Strategy
World Cup StrategyWorld Cup Strategy
World Cup Strategy
 
A Step To The Future
A Step To The FutureA Step To The Future
A Step To The Future
 
Documentos de Identidade (Parte II) - Tomaz Tadeu da Silva
Documentos de Identidade (Parte II) - Tomaz Tadeu da SilvaDocumentos de Identidade (Parte II) - Tomaz Tadeu da Silva
Documentos de Identidade (Parte II) - Tomaz Tadeu da Silva
 
A Face Oculta da Escola - Mariano Fernández Enguita
A Face Oculta da Escola - Mariano Fernández EnguitaA Face Oculta da Escola - Mariano Fernández Enguita
A Face Oculta da Escola - Mariano Fernández Enguita
 
Interview casebookfrom at kearney
Interview casebookfrom at kearneyInterview casebookfrom at kearney
Interview casebookfrom at kearney
 
O Papel do Professor na Sociedade Digital - Vani Moreira Kenski
O Papel do Professor na Sociedade Digital - Vani Moreira KenskiO Papel do Professor na Sociedade Digital - Vani Moreira Kenski
O Papel do Professor na Sociedade Digital - Vani Moreira Kenski
 
Farm to table Days
Farm to table DaysFarm to table Days
Farm to table Days
 
So tay duong sinh osawa
So tay duong sinh osawaSo tay duong sinh osawa
So tay duong sinh osawa
 
Vertual learning
Vertual learningVertual learning
Vertual learning
 
Kareena Kapoor
Kareena KapoorKareena Kapoor
Kareena Kapoor
 
Report - Light Sensing Robot
Report - Light Sensing RobotReport - Light Sensing Robot
Report - Light Sensing Robot
 
Report - Line Following Robot
Report - Line Following RobotReport - Line Following Robot
Report - Line Following Robot
 
A hands-on introduction to the ELF Object file format
A hands-on introduction to the ELF Object file formatA hands-on introduction to the ELF Object file format
A hands-on introduction to the ELF Object file format
 
Dabur India Ltd
Dabur India LtdDabur India Ltd
Dabur India Ltd
 
Porter’S Five Force Model In Pharma Industries
Porter’S Five Force Model In Pharma IndustriesPorter’S Five Force Model In Pharma Industries
Porter’S Five Force Model In Pharma Industries
 
LEITE, L. “As dimensões interacionista e construtivista de Vygotsky e Piaget”...
LEITE, L. “As dimensões interacionista e construtivista de Vygotsky e Piaget”...LEITE, L. “As dimensões interacionista e construtivista de Vygotsky e Piaget”...
LEITE, L. “As dimensões interacionista e construtivista de Vygotsky e Piaget”...
 

Similaire à SVCC 2011 - 0 - 60: QA Automation @ Box

Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1CIVEL Benoit
 
Встреча "QA: в каких направлениях может найти себя тестировщик?"
Встреча "QA: в каких направлениях может найти себя тестировщик?"Встреча "QA: в каких направлениях может найти себя тестировщик?"
Встреча "QA: в каких направлениях может найти себя тестировщик?"GoIT
 
AWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAmazon Web Services
 
Real world selenium resume which gets more job interviews
Real world selenium resume which gets more job interviewsReal world selenium resume which gets more job interviews
Real world selenium resume which gets more job interviewsABSoft Trainings
 
#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...
#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...
#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...Agile Testing Alliance
 
Harman deepak v - agile on steriod - dev ops led transformation
Harman  deepak v - agile on steriod - dev ops led transformationHarman  deepak v - agile on steriod - dev ops led transformation
Harman deepak v - agile on steriod - dev ops led transformationXebia India
 
Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Amazon Web Services
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]Dynatrace
 
Automated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choiceAutomated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choicetoddbr
 
Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster Curiosity Software Ireland
 
Sunil sharanappa senior automation test engineer profile
Sunil sharanappa senior automation test engineer profileSunil sharanappa senior automation test engineer profile
Sunil sharanappa senior automation test engineer profileSunil Sharanappa
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test AutomationSauce Labs
 
Neev Independent Testing Services
Neev Independent Testing ServicesNeev Independent Testing Services
Neev Independent Testing ServicesNeev Technologies
 
Automated Testing Using Selenium
Automated Testing Using SeleniumAutomated Testing Using Selenium
Automated Testing Using SeleniumTechWell
 
Mastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumMastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumPerfecto by Perforce
 
Test Automation using UiPath Test Suite - Developer Circle Part-4.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-4.pdfTest Automation using UiPath Test Suite - Developer Circle Part-4.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-4.pdfDiana Gray, MBA
 
Automate across Platform, OS, Technologies with TaaS
Automate across Platform, OS, Technologies with TaaSAutomate across Platform, OS, Technologies with TaaS
Automate across Platform, OS, Technologies with TaaSAnand Bagmar
 

Similaire à SVCC 2011 - 0 - 60: QA Automation @ Box (20)

Cerberus_Presentation1
Cerberus_Presentation1Cerberus_Presentation1
Cerberus_Presentation1
 
Встреча "QA: в каких направлениях может найти себя тестировщик?"
Встреча "QA: в каких направлениях может найти себя тестировщик?"Встреча "QA: в каких направлениях может найти себя тестировщик?"
Встреча "QA: в каких направлениях может найти себя тестировщик?"
 
AWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for DevelopersAWS Summit Auckland - Application Delivery Patterns for Developers
AWS Summit Auckland - Application Delivery Patterns for Developers
 
Real world selenium resume which gets more job interviews
Real world selenium resume which gets more job interviewsReal world selenium resume which gets more job interviews
Real world selenium resume which gets more job interviews
 
#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...
#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...
#ATAGTR2019 Presentation "Top 10 quality engineering best practices to achiev...
 
Harman deepak v - agile on steriod - dev ops led transformation
Harman  deepak v - agile on steriod - dev ops led transformationHarman  deepak v - agile on steriod - dev ops led transformation
Harman deepak v - agile on steriod - dev ops led transformation
 
Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401Application Delivery Patterns for Developers - Technical 401
Application Delivery Patterns for Developers - Technical 401
 
From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]From 0 to DevOps in 80 Days [Webinar Replay]
From 0 to DevOps in 80 Days [Webinar Replay]
 
Automated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choiceAutomated Acceptance Tests & Tool choice
Automated Acceptance Tests & Tool choice
 
Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster
 
Resume 2 year
Resume  2 yearResume  2 year
Resume 2 year
 
Agile testing
Agile testingAgile testing
Agile testing
 
Sunil sharanappa senior automation test engineer profile
Sunil sharanappa senior automation test engineer profileSunil sharanappa senior automation test engineer profile
Sunil sharanappa senior automation test engineer profile
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
 
Neev Independent Testing Services
Neev Independent Testing ServicesNeev Independent Testing Services
Neev Independent Testing Services
 
Automated Testing Using Selenium
Automated Testing Using SeleniumAutomated Testing Using Selenium
Automated Testing Using Selenium
 
Ashish Baraiya
Ashish BaraiyaAshish Baraiya
Ashish Baraiya
 
Mastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with AppiumMastering Mobile Test Automation with Appium
Mastering Mobile Test Automation with Appium
 
Test Automation using UiPath Test Suite - Developer Circle Part-4.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-4.pdfTest Automation using UiPath Test Suite - Developer Circle Part-4.pdf
Test Automation using UiPath Test Suite - Developer Circle Part-4.pdf
 
Automate across Platform, OS, Technologies with TaaS
Automate across Platform, OS, Technologies with TaaSAutomate across Platform, OS, Technologies with TaaS
Automate across Platform, OS, Technologies with TaaS
 

Dernier

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 

Dernier (20)

Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 

SVCC 2011 - 0 - 60: QA Automation @ Box

  • 1. 0  –  60:  QA  AutomaAon  @  Box   Peter  White   Dave  Duke   Silicon  Valley  Code  Camp  2011  
  • 2. Box  Biz   •  Cloud  Content  Management  and  Collabora'on   •  7M  users   •  100K  businesses   •  Adop8on  in  77%  of  the  Fortune  500   •  150M  file  accesses  /  month   •  270  employees,  up  from  125  at  previous  year-­‐end   •  15-­‐20  main-­‐branch  commits  per  day,  and  steadily   growing  
  • 3. Box  Tech   •  LAMP  Stack  Web  App   •  Na8ve  and  HTML5  (m.box.net)  Mobile  Apps   •  Sync  for  Mac  and  Windows   •  MS  Office  &  Outlook  Plugins  on  Windows   •  Open  PlaVorm  -­‐  REST,  SOAP,  and  XML-­‐RPC  APIs   •  Front-­‐end  Presenta8on   •  Back-­‐end  Services  
  • 4. Agenda   •  Overview   –  Business  Decisions   –  Technical  Decisions   •  Demos   •  Lots  of  Code   •  Lessons  Learned   •  Immediate  and  Future  Plans…   •  Q&A   Not  necessarily  all  in  that  order  of  precedence…  
  • 5. Disclaimer    We’ll  be  focusing  primarily  on  browser-­‐based   func8onal  acceptance  tes8ng  for  this  presenta8on.    The  test  automa8on  landscape  is  rapidly  changing.    Please  keep  this  in  mind  when  you  decide  to   implement  a  test  automa8on  strategy  to  make  sure   that  you  make  the  best  decision  for  your  given   situa8on.  
  • 7. Because  of  this  guy…   Disclaimer:  “The  Most  Interes8ng  Man  in  the  World”  DOES  NOT  work  at  Box,  although  I’ve  been  known  to   occasionally  drink  and  code  –  that’s  (par8ally)  what  tests  are  for!    
  • 8. Before  Automated  TesAng   •  Black  box  and  exploratory  manual    tes8ng   –  Separate  QA  staff   –  Off-­‐shore  commercial  tes8ng  partner   •  Insufficient  coverage   •  Slow  turn-­‐around  /  delayed  feedback   •  Lifle  engineering  involvement   •  Developer  code  reviews  were  a  huge  but  imperfect   safety  net  
  • 9. With  Automated  TesAng   •  Developers  “own”  the  tests   –  Tests  are  authored,  maintained,  and  executed  on  demand  on   developer’s  worksta8on  and  /  or  VM   •  QA  “owns”  the  test  suites   –  Approves  automated  test  cases   –  Determines  which  tests  belong  in  which  suites   –  Executes  tests  against  mul8ple  target  environments  and  verifies   results   •  QA  no  longer  spends  8me  manually  tes8ng  func8onal  areas   with  approved  test  coverage   •  Coverage  is  befer  and  steadily  improving   •  S8ll  doing  code  reviews  but  now  we  have  a  safety  net  
  • 10. Our  IniAal  Goals   •  Prevent  crazy  late-­‐night  deployments  by  completely   automa8ng  our  “acceptance  suite”   •  Ease  of  test  authoring,  easily  maintainable  tests   •  Fast  scalable  plaVorm  –  provide  feedback  ASAP    
  • 12. (Some  think)  AutomaAon  is  Easy…   Selenium  IDE  Screencast  available  aier  10/28     Screencast  demonstrates  using  Selenium  IDE  to  record  a  test  case  that  creates  a  folder  and   navigates  to  it  through  the  Box  web  UI.  
  • 13. Yeah,  right…     Selenium  IDE  Screencast  available  aier  10/28     Screencast  demonstrates  execu8ng  the  previously  recorded  test  –  fail!    
  • 14. And  for  the  non-­‐believers…   Selenium  IDE  Screencast  available  aier  10/28     Screencast  demonstrates  execu8ng  the  previously  recorded  test.  This  8me  we  execute  the  test  at   the  slowest  possible  speed,  since  it  failed  due  to  8ming  issues  the  first  8me,  but  it  s8ll  fails  for   other  reasons  –  record  and  playback  tools  tend  to  struggle  with  modern  Web  2.0+  websites.      
  • 15. AutomaAon  is  Hard…   •  All  marketers  are  liars  –  things  rarely  work  100%  as   adver8sed…   •  Easily  maintainable  high-­‐value  automa8on  requires   soiware  development  skills  and  a  fair  amount  of   effort.  
  • 16. But  worth  it!   600   QA  Engineer  minutes  to  perform  test  suite   500   400   300   Smoke   Sanity   200   100   0   QA  Engineers   TAF   We  also  replaced  1  year  of  API  tes8ng  with  2  weeks  of  development  effort    
  • 19. Defining  Your  High-­‐Level  Requirements   Build   Buy   Time   I  love  building  tools   I  need  it  yesterday   Money   “You  can  use  whatever  you  want  as   I’m  going  to  lose  my  budget  if  I   long  as  it’s  free”   don’t  spend  it!   Resources   We  have  skilled  developers  who  are   I  want  to  automate  as  much  of   interested  in  and  capable  of  building,   my  QA  tasks  as  possible  but  I   maintaining,  and  supporAng  test   don’t  have  any  development   automa8on   support   Framework   Pla_orm   Execu8on   I  want  to  develop,  execute,  and   I  want  to  parallelize  my  tests  as   Environment   monitor  all  of  my  tests  on  my  local   much  as  possible  and  don’t   machine   want  to  8e  up  my  machine   while  execu8ng  them  
  • 20. Commercial  vs.  Open  Source   Commercial   Pros   Cons   Vendor  Support   High  Cost   Documenta8on/Training  Materials   Long-­‐term  rigidity   Quick  Win   Dependent  on  vendor  for  fixes   Trained  Candidate/Employee  Pool   Open  Source   Pros   Cons   Low  ini8al  cost   Community  Support  +/-­‐   “Use  the  Source”   Lack  of  vendor  support/docs   You  may  also  want  to  consider  what  kind  of  3rd-­‐party  support  exists  in  terms  of  books,   blogs,  tools,  forums,  etc…  
  • 21. High-­‐Level  Weekly  Release  Process   “Full  Push”     C1  …  C20     Single  Test  Cycle     Incremental  Pushes  aka  “Con8nuous  Delivery”   C1   C2   C3   C4   C5   …   C15   C16   C17   C18   C19   C20   TC   TC   TC   TC   TC   TC   TC   TC   TC   TC   TC   TC  
  • 22. Key  Design  Decisions   •  JVM-­‐compa8ble  language   •  Op8mize  for  throughput   –  Massive  parallelism  (all  tests  are  idempotent)   •  Ease  of  test  development   •  Flexibility,  Adaptability,  Maintainability,  Scalability  
  • 23. Choosing  a  Framework  and  Pla_orm   !"#$%&'"()! *+, *#-#, ./, 0123'4, 5671, 080, 0%"9, :#";%2,   ! ! ! ! ! ! <)%"! "#$#%&'(!)! ! *#+!   ! ! ! ! ! ! ! ! ! ! ! ! "#$#%&'(!,! ! ! ! *#+!  -.#/*0&+#01! ! ! ! ! ! ! ! ! ! ! .23&04! ! ! ! ! ! 56!  .&%7(&$$! ! ! ! ! ! ! ! ! ! ! ! ! ! *#+856!  "29&!:"4! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! 56! !  ! ! ! ! ! !  !! Pla_orms   Pros   Cons   Selenium  Grid   It’s  your  grid   It’s  your  grid…   Sauce  Labs   Grid  is  set  up  and  maintained   Ability  to  customize  solu8on  may   for  you   be  limited  or    non-­‐existent  
  • 24. The  path  we  chose  @  Box   •  Func8onal  Acceptance  Tes8ng   –  Scala   –  Started  with  Selenium  1,  recently  migrated  to  Selenium  2*   –  ScalaTest/TestNG   •  API  Tes8ng   –  Jump-­‐started  full  API  coverage  with  home-­‐grown  Ruby  framework   •  Unit  tes8ng  (adopted  MUCH  later…)   –  PHPUnit   –  specs  2   –  PyUnit   •  Sta8c  analysis  tools  (JSLint)  
  • 27. High-­‐level  Architecture   BaseTestCase   Driver   Shared  API   PageObject   Ac8ons   BoxTestCase   SeleniumDriver   Component  API   BoxPageObject   MyTest   WebDriverDriver   Element  Locators   MyPageObject  
  • 28. High-­‐level  ExecuAon  Flow   Execute   Execute   Handle   Ini8alize   Test  or   test   Failures/ Test   Suite   Body   Cleanup  
  • 29. Two  demos   •  HelloName  test   –  Illustrates  the  typical  workflow   –  Simple  and  ar8ficial   •  Sample  Box.net  test   –  Includes  more  advanced  func8onality   –  Tests  the  real  site  
  • 30. HelloName  test  –  Basic  structure   HelloSuite   •  Lists  and  describes  tests   TestGree8ng   •  High-­‐level  test  defini8on   WelcomePageObject   •  Reusable  page-­‐specific  func8ons  
  • 31. CompilaAon  and  ExecuAon   •  Compiles  Scala  code   sbt  build   •  Copies  resources   •  Scans  for  test  annota8ons   sbt  build-­‐suites   •  Produces  TestNG  epr/xml  files   •  Runs  TestNG  on  a  suite   runsuite  /   •  Invokes  @BeforeSuite   runtest  /  runfailed   •  Records  results  
  • 32. CompilaAon  and  ExecuAon   •  Instan8ate  testcase   Ini8alize   •  Instan8ate  driver   •  Invoke  executeAndCapture()   test   •  Setup  execu8on  trace   •  Invoke  testcase’s  execute()   •  Take  screenshot  or  save  HTML   on  failure  (if  configured  to  do  so)   Cleanup   •  Close  browser  on  failure  (if   configured  to  do  so)  
  • 33. Two  demos   •  HelloName  test   –  Illustrates  the  typical  workflow   –  Simple  and  ar8ficial   •  Sample  Box.net  test   –  Includes  more  advanced  func8onality   –  Tests  the  real  site  
  • 34. Logging  Tools   “describes”  func8on   Groups  and  categorizes  test  steps   Can  be  nested  
  • 35. Logging  Tools   Execu8on  trace       Prints  a  tree  of  described  steps   Expands  nodes  based  on  user’s  config    
  • 36. Framework  –  Tests  and  SupporAng  Classes   BaseTestCase   PageObject   Ac8ons   BoxTestCase   BoxPageObject   MyTest   MyPageObject  
  • 37. Selenium  2:  A  Variety  of  Modes   Compa8bility  Mode   •  Supports  Selenium  1  features   •  Does  not  provide  advanced  WebDriver  func8onality   Webdriver  –  Na8ve  Events   •  Simulates  a  mouse  cursor  moving  and  clicking   •  Windows  only,  CPU  intensive,  slow,  unreliable   Webdriver  –  Default  Mode   •  Not  available  for  IE   •  Produces  most  reliable  results  
  • 38. Cross-­‐browser  and  cross-­‐pla_orm  tesAng   •  How  do  we  get  the  same  tests  to  work  on  different   browsers/plaVorms  when  mixing  Selenium  modes?   •  How  do  we  provide  a  consistent  API  for  test  writers   while  allowing  for  flexibility  in  how  the  Selenium   calls  are  made?   –  Major  changes  to  Selenium  are  not  unheard  of  
  • 39. Driver  Structure  (During  MigraAon)   Driver   SeleniumDriver   WebDriverDriver  
  • 40. Driver  Structure  (MigraAon  Complete)   Driver   SeleniumDriver   WebDriverDriver  
  • 41. Driver  Structure  w/App-­‐Specific  Support   Driver   SeleniumDriver   WebDriverDriver   BoxSeleniumDriver   BoxWebDriverDriver  
  • 42. ImplementaAon  of  “click”   •  Driver   •  SeleniumDriver   •  WebDriverDriver  
  • 43. ModificaAons  and  Extensions   •  Sizzle  (jQuery)  selectors   –  Efficient  and  powerful   –  We  recommend  test-­‐writers  find  elements  by  ID  or   through  a  Sizzle  selector   •  Flex  extensions   –  Interact  with  flash/flex  elements  in  the  page   –  Necessary  for  tes8ng  Box’s  file  preview  func8onality  
  • 44. Good  pracAces   •  Perform  setup  ac8ons  through  your  app’s  API   –  Bypasses  the  web  UI   –  Improves  test  speed   –  Reduces  spurious  failures   •  Parameterize  tests   –  Many  tests  will  share  iden8cal  or  similar  steps   –  Reuse  code  by  parameterizing  tests   –  Add  descrip8ons  to  each  test  call  to  differen8ate  them  
  • 45. Bad  PracAces   •  Avoid  using  XPath   –  Incredibly  slow  in  IE  version  <  9   –  Extremely  brifle   •  Avoid  Thread.sleep()  or  equivalent  –  poll  instead   –  Timing  issues  are  the  main  cause  of  spurious  test  failures   –  Pausing  test  execu8on  is  rarely  the  correct  solu8on   –  Try  wai8ng  for  a  specific  element  to  be  visible  
  • 46. AdopAon   •  Know  your  target  end-­‐user   –  Framework  design   –  Diagnos8c/Analysis  tools   –  Docs,  Training,  Mentoring,  Support   •  Eliminate  FUD   –  Automa8on  is  NOT  going  to  replace  your  QA  organiza8on.   Instead,  it’  going  to  transform  their  work  in  a  more  rewarding   and  highly  leveraged  manner.   –  Expect  a  learning  curve  and  a  bit  of  a  rough  start   –  Progressive  adop8on  policies   •  Provide  con8nuous  feedback…   –  Metrics   –  Apply  social  pressure  if/when  necessary  
  • 47.
  • 48. Git  Hash   Author   Firefox  tests   Passed!  
  • 49.
  • 51. Lessons  Learned   •  Automa8on  is  Rewarding!   •  But  some8mes  frustra8ng…   •  The  cultural  challenges  are  much  greater  than  the   technical  challenges  –  we’re  having  some  difficul8es  with   establishing  a  “stop  the  line”  mentality   •  Broken  tests  or  tests  that  don’t  run  don’t  count  –  we’ve   recently  begun  to  file  “Blocker”  bugs  for  all  broken  tests   •  Func8onal  tes8ng  can  be  flakey,  especially  when  external   dependencies  are  involved   •  Few  companies  do  this  well  (because  it’s  hard  work,  real   engineering,  and  oien  underes8mated)  
  • 52. Our  Current  Goals   •  Con8nually  and  rapidly  expand  the  coverage  of  our  full-­‐ regression  suite   –  Iden8fy  gaps  in  test  coverage   –  Make  test  authoring  easier  and  less  intrusive   –  Make  test  execu8on  faster   –  Expand  browser  support   •  Provide  befer  feedback  mechanisms   –  No8fica8on  mechanisms  and  dashboards     •  Con8nuous  Delivery   –  Improve  test  throughput  by  scaling  the  test  environment  
  • 53. Outstanding  QuesAons   •  Granularity  of  8meout  values   •  When  will  “Na8ve  Mode”  work  acceptably  with  IE?   •  Ajax  8ming  issues  for  extremely  dynamic  content  
  • 54. If  we  had  to  start  all  over…   •  Unit  tes8ng  before  func8onal  acceptance   •  Wa8r  vs.  Selenium  if  you  only  care  about  IE  and   don’t  need  grid*   •  Iron  out  the  kinks  before  rolling  it  out  –  we  got   buried  in  training/support  and  weren’t  able  to   resolve  issues  quickly  enough  as  a  result   •  Dedicated  hardware  for  complete  AUT  and  plaVorm   (RC’s  being  an  acceptable  excep8on)   •  Ac8onable  test  failure  no8fica8ons  –  don’t  spam   everyone  
  • 55. Box  is  Hiring!   •  Roughly  25  open  engineering  &  opera8ons  posi8ons   •  Quality  Engineering  Posi8ons   –  Soiware  Engineer  –  Tools  and  Frameworks   –  QA  Engineer   •  Visit  www.box.net/jobs/  for  more  info   •  Send  resumes  to  referrals@box.net  and  men8on  you   saw  us  at  Code  Camp!  
  • 56. Box  SVCC  2011  PresentaAons   0  –  60:  QA  Automa8on  at  Box  (Sat  11:15  AM  -­‐  Room  5501)   Speakers:  Peter  White,  Dave  Duke     Where  is  my  data?  Consistency,  availability,  security  of  cloud  file  storage   at  Box  (Sat  1:45  PM  –  Rm  1401)   Speaker:  Antoine  Boulanger     Achieving  Cloud-­‐Scale  Test  Automa8on  at  Box  (Sat  3:30  PM  –  Room  5501)   Speakers:  Randall  Schulz  ,    Jordan  Sterling  ,    David  Wake     DRY  CSS  &  Images  (Sat  5:00  PM  –  Room  1500)   Speaker:  Kimber  Lockhart     HTML5  Uploading  and  Beyond  (Sun  10:45  AM  –  Room  8403)   Speaker:  Ben  Trombley      
  • 57. Thank  you!   Resources   •  hfps://www.box.net/developers   •  hfp://seleniumhq.org   •  hfp://wa8r.com   •  hfp://sahi.co.in   •  hfp://www.getwindmill.com   •  hfp://testng.org   •  hfp://code.google.com/p/flash-­‐selenium/   Contact  Info   •  Peter  White  (peter@box.net),  Director  of  Quality  Engineering   •  Dave  Duke  (dduke@box.net),  Soiware  Engineer   Ques8ons?