2. Safe harbor statement under the Private Securities Litigation Reform Act of 1995:
This presentation may contain forward-looking statements that involve risks, uncertainties, and assumptions. If any such uncertainties
materialize or if any of the assumptions proves incorrect, the results of salesforce.com, inc. could differ materially from the results expressed or
implied by the forward-looking statements we make. All statements other than statements of historical fact could be deemed forward-looking,
including any projections of product or service availability, subscriber growth, earnings, revenues, or other financial items and any statements
regarding strategies or plans of management for future operations, statements of belief, any statements concerning new, planned, or upgraded
services or technology developments and customer contracts or use of our services.
The risks and uncertainties referred to above include – but are not limited to – risks associated with developing and delivering new functionality
for our service, new products and services, our new business model, our past operating losses, possible fluctuations in our operating results
and rate of growth, interruptions or delays in our Web hosting, breach of our security measures, the outcome of any litigation, risks associated
with completed and any possible mergers and acquisitions, the immature market in which we operate, our relatively limited operating history,
our ability to expand, retain, and motivate our employees and manage our growth, new releases of our service and successful customer
deployment, our limited history reselling non-salesforce.com products, and utilization and selling to larger enterprise customers. Further
information on potential factors that could affect the financial results of salesforce.com, inc. is included in our annual report on Form 10-K for
the most recent fiscal year and in our quarterly report on Form 10-Q for the most recent fiscal quarter. These documents and others containing
important disclosures are available on the SEC Filings section of the Investor Information section of our Web site.
Any unreleased services or features referenced in this or other presentations, press releases or public statements are not currently available
and may not be delivered on time or at all. Customers who purchase our services should make the purchase decisions based upon features
that are currently available. Salesforce.com, inc. assumes no obligation and does not intend to update these forward-looking statements.
Safe Harbor
3. Agenda
1. Why Cross Browser Testing?
2. Testing Methodologies
3. Make it Testable
4. Browser Stats and challenges
5. Q&A
4. Why Cross Browser Testing?
Cross Browser Testing is the process of
reviewing and comparing the website
functionality and styles across multiple
browsers and different operation
systems and mobile
• UI test automation should not be optimized for
single flow of testing
• It should be testing integrated use cases focusing
on exercising features that cross vertical
functionality
• One of main aspects of cross browser testing is to
keep in mind that CSS styles rendered differently
across browsers/ browser versions, in terms of
what is supported and what not.
5. Testing process
1. For automation, we take the approach of having UI - functional testing and UI -
browser compatibility testing.
2. Write the tests in coffee script, essentially that gets run as a complied JavaScript on the
native browsers and we leverage Sauce lab for UI Automation to test different browsers.
3. We also run our end to end automation by spinning up an Org in Ftest selenium as
continuous Integration.
4. We usually begin by running a thorough test of all styles and functionality in our
preferred browser (Google Chrome) to develop of a base idea of how the site looks and
functions. It also helps to get a list of issues started so they can be referenced when the
same issues are spotted in other browsers
5. For various different browsers , we run them in different Jenkins builds/jobs that have
dedicated resources assigned to them. This way our UI - functional testing running
against Firefox/Google Chrome does not get affected by "slowness" in IE builds/jobs.
6. For manual testing we leverage : https://www.modern.ie/en-us/virtualization-tools
6. Modularize the code
Style Guides:
- A style guide is not a brand guideline but a living document (preferably hooked up to
site/app code)
- Style guides provide a reference for the whole team; documents intents; documents
variables (minimizes duplicates);
- It facilitates cross-browser testing; facilitate building modular code; increases
productivity and ramp up
- FiftyThree blog post on type style guide: http://blog.typekit.com/2014/10/22/creating-a-
type-style-guide/
- Tools that can help: KSS (GitHub uses this tool) or Hologram
- Style Guide Reference Site http://styleguides.io/
- KSS (http://warpspire.com/kss/)
- Hologram (http://trulia.github.io/hologram/)
7. CSS Selectors
Element Locator to locate elements on page
Cross browser compatible
Older versions of IE partially supports few CSS attributes
CSS Locator- Examples
8. DOM Selectors
DOM - Document Object Model
DOM is use to traverse through an HTML tree
DOM gets executed thru’ selenium as – getEval(JavaScript);
DOM Selector- Examples