5. … and test data 06/05/09 Sauce Labs Confidential Lots of test data Correct data, Incorrect data, Missing data, Data overflow Dozens of test platforms 6, 7 (and soon 8) 9.5 (and soon 9.6) 1.0 3.0, 3.1 (and soon 4) 2, 3 (and soon 3.1) Add-ons Browser configs Languages/locales
6. … run on minimal test hardware. 06/05/09 Sauce Labs Confidential Test jobs In-house test lab Minutes 10 20 30 40 50 60 70 80 90 Test results Can’t run all scripts + browsers Test lab rathole Too long to find and fix bugs
7.
8. Concurrent Test Execution 06/05/09 Sauce Labs Confidential Minutes 0 5 Test jobs 2000 nodes Test results Run all scripts + browsers Find and fix bugs fast No configuration needed
9.
10. User Experience 06/05/09 Sauce Labs Confidential Agile developer / tester Source control 1 Check in code & test scripts 5 Run scripts HTTP(s) 7 View results Web, RSS REST 8 Delete scripts & results 6 Download results REST 4 Upload scripts Sauce Labs FTP App Under Test 3 Promote new build to cloud-accessible location (Your infrastructure) Start new build Polling or trigger Build System 2 cron rake
11.
12. What’s in our cloud? 06/05/09 Sauce Labs Confidential Sauce Labs Scripts Selenium test scripts Written in Python, Ruby (now) Selenese, PHP, Java, C#, Perl (future) Configs Which browser, addons, & OS that a job should run on Jobs Similar to a print job waiting, running, done… Results Output of Script Stdout, stderr, and more… Users Can access certain Scripts, Configs, Jobs, and Results
13. What’s in our cloud? 06/05/09 Sauce Labs Confidential Sauce Labs Waiters (small number) Listen to API requests Dispatch Job execution to Chefs Handle other requests directly Chefs (many, up to 2000) Selenium RC + browser Run Job and return Results
23. Where do we go from here? xUnit, TestNG Fit(nesse), RSpec Hudson Continuum CruiseControl TeamCity Bamboo Git(hub) Subversion Cron Eclipse Internet Explorer Firefox Safari Chrome Opera Flash/Flex iPhone Android Selenium output Screencasts Screenshots DOMshots JavaScript state Yslow HTML errors Accessibility HTTP traffic Dtrace … all tracked over time Python Ruby Java Perl Selenese C# PHP Selenium on Rails 06/05/09 Sauce Labs Confidential Platforms Languages Build Systems Telemetry Frameworks
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37. Agile is now mainstream Source: Dr. Dobb’s Journal. 5/7/08. http://bit.ly/4EjcDH 06/05/09 Sauce Labs Confidential
38. Continuous Integration is now mainstream 06/05/09 Sauce Labs Confidential Source:VersionOne. 8/22/08. http://www.versionone.com/pdf/3rdAnnualStateOfAgile_FullDataReport.pdf
39. Functional tests tend to run at end of day 06/05/09 Sauce Labs Confidential Source: Viewtier Systems. http://bit.ly/2qQ5LX
40. Our current thinking about pricing (Subject to change) 06/05/09 Sauce Labs Confidential $ per test minute Tests queued no later than… Five minutes Express : Relatively high per test minute 8 hours Economy : Low amount per test minute