User:Sagararunpatil/BrowserStack

= BrowserStack = BrowserStack is a cross-browser testing tool for public websites and protected servers, available on a cloud infrastructure of desktop and mobile browsers. Websites can be tested interactively, or through the use of Selenium or JavaScript automated test suites. The features include real browsers, developer tools, and APIs for integration among others.

BrowserStack was created by Ritesh Arora and Nakul Aggarwal in February 2011, and launched fully in September 2011. It has gained widespread acceptance in the web development community, due to early adoption by jQuery. BrowserStack sponsors conferences in an effort to support open source development and innovation in technology.

Conception/Idea
BrowserStack was conceptualized by Ritesh Arora and Nakul Aggarwal in 2011, when they were creating a website for their consultancy services. The website took two days to build, however testing it on different browsers and OSes was tedious and time-consuming. When they looked for other alternatives, there was nothing which provided a comprehensive testing experience, and thus the idea of BrowserStack was born.

Starting up
The company was set up in Mumbai, India. Starting with 5 employees, BrowserStack moved from private beta and opened up its public registrations in September 2011. In 6 months time, there were 20,000 registrations, and 1000 paying customers.

Growth
BrowserStack started gaining traction with companies, partnering with Microsoft and modern.IE in December 2012. Users from modern.IE get 3 months of free interactive testing on browsers on Windows OSes. By the end of the year, there were 5,500 customers.

In April 2013, Screenshots + Responsive was launched. Screenshots checks website layouts and designs across a wide selection of browsers at once, and Responsive displays websites in devices at actual screen sizes, resolutions and viewports.

Subsequently, in October 2013, Automate was launched for automated browser testing with Selenium and JavaScript. BrowserStack hit a new milestone of 17,000 customers.

Present
BrowserStack has grown to 50 employees in 2 years time, and in June 2014, reached 23,000 customers.

Live
Live is a cross-browser testing tool for websites. The user’s website opens on a remote machine, with a selected browser and OS combination. The remote browsers are preloaded with developer tools, and the user can interact with their website in the same way as they would on their local machine.

Live can be used to test public websites, or private and protected servers via the Local Testing feature.

Automate
BrowserStack Automate provides a platform for users to run automated browser tests using either the Selenium or JavaScript testing framework. Tests are customized using capabilities, which are a series of key-value pairs used to pass values to the tests. Selenium has a set of default capabilities, whereas BrowserStack has created specific capabilities to increase the customization available to users.

In addition, there is support for Continuous Integration tools, like Jenkins, Travis and CI. BrowserStack also supports the use of REST API to access information about automated tests, such as status, builds, projects, sessions and browsers.

Users can run their tests in parallel on BrowserStack infrastructure to cut down on testing time. Like Live, Automate can be used to test public or private and protected servers, using Local Testing.

Automate integrations assist in creating Selenium or JavaScript automated tests, and running them on BrowserStack. There are currently three: XML2Selenium, Automation Samurai and Siesta.

Features
BrowserStack has several features which increase the range of testing functionality of websites.

Screenshots
Users can instantly generate screenshots of their website across a range of multiple browsers. The screenshots are referenced using a unique job ID, and can be downloaded for comparison and future reference. BrowserStack also provides API access for headless creation of screenshots over a selection of OSes and browsers.

Screenshots have two third party tools as well, ScreenShooter and python API wrapper.

Responsive
The feature is used to test the responsiveness of website layouts and designs. Responsive is similar to Screenshots, in that it is used to generate screenshots over a range of screen sizes. The screen sizes are true to the devices, and have the actual resolutions and viewports set.

Local Testing
Local Testing is a BrowserStack used to test private servers or web design folders on the cloud infrastructure. Local Testing sets up a connection between the user’s local machine and the remote machine, and transfers the data through that connection. There are two ways to set up the connection: browser extensions for Chrome and Firefox, or using command-line binaries.

Local Testing is also used to test from user machines that are behind firewalls or use VPNs.

Security
The BrowserStack infrastructure is made of virtual machines on remote computers, and therefore information security is a consideration for clients. Each combination assigned to a customer is a fresh instance, which has undergone a thorough teardown process.

Integrations
BrowserStack Live integrates with a few web development products for easy testing:
 * CodePen: Pens, the units of the editor, can be opened up in a combination on BrowserStack through integration.
 * Visual Studio: Available as an extension, the Visual Studio integration appears in the browser list within the application. Clicking on the link opens the selected combination on BrowserStack. The BrowserStack Visual Studio extension is available for download directly through Visual Studio.
 * Test IE for Chrome: A Google Chrome extension for testing any website across all versions of IE directly from the browser.
 * Test IE for Firefox: Test IE is a Mozilla Firefox add-on for testing any website across all versions of IE directly from the browser.
 * BrowserStackButton: BrowserStackButton is a button available on a user’s page, which allows one to view the page in BrowserStack. It is currently set up to work on a Rails project.
 * Microsoft WebMatrix: BrowserStack is integrated an extension with Microsoft WebMatrix, in order to test code that is developed within the tool.
 * Bookmarklets: A collection of bookmarklets for in-context browser testing developed.

Technology
The cloud infrastructure is set up using service providers, and spans 12 locations globally. There are a total of 20 programming languages that gone into making BrowserStack, some of which are.

BrowserStack supports open source development, through discounts on subscriptions and sponsorships of conferences. Some of the recently sponsored conferences: jQuery 2013, rootconf, SeConf 2014, and jQuery 2014. In July 2014, the Selenium project rolled out new sponsorship packages and BrowserStack became their biggest sponsor.