You are on page 1of 4

Experiment # 3

Date of Performance: - 27/07/2021


Class: - MBA Tech CS-G Batch: - B2
Student SAP Id: - 70471118018
Student Roll No: - N216
Student Name: - Natasha Doshi

A.1 Aim:

Downloading and understanding the working of any Testing tool which is used
for testing the software

A.2 Prerequisite: Testing in structured approach

A.3 Outcome: How to test the software module/System using a automated


tool.

A.4 Theory:

Software testing is an investigation conducted to provide stakeholders with information about


the quality of the product or service under test.[1] Software testing can also provide an
objective, independent view of the software to allow the business to appreciate and
understand the risks of software implementation. Test techniques include, but are not limited
to, the process of executing a program or application with the intent of finding software bugs
(errors or other defects).

It involves the execution of a software component or system component to evaluate one or


more properties of interest. In general, these properties indicate the extent to which the
component or system under test:

 meets the requirements that guided its design and development,


 responds correctly to all kinds of inputs,
 performs its functions within an acceptable time,
 is sufficiently usable,
 can be installed and run in its intended environments, and
 Achieves the general result its stakeholders desire.

As the number of possible tests for even simple software components is practically infinite,
all software testing uses some strategy to select tests that are feasible for the available time
and resources. As a result, software testing typically (but not exclusively) attempts to execute
a program or application with the intent of finding software bugs (errors or other defects).

Software testing can provide objective, independent information about the quality of software
and risk of its failure to users and/or sponsors.
Selenium is a portable framework for testing web applications. Selenium provides a playback
tool for authoring functional tests without the need to learn a test scripting language
(Selenium IDE). It also provides a test domain-specific language (Selenese) to write tests in a
number of popular programming languages, including C#, Groovy, Java, Perl, PHP, Python,
Ruby and Scala. The tests can then run against most modern web browsers. Selenium runs on
Windows, Linux, and macOS. It is open-source software released under the Apache License
2.0.
Selenium WebDriver is the successor to Selenium RC. Selenium WebDriver accepts
commands (sent in Selenese, or via a Client API) and sends them to a browser. This is
implemented through a browser-specific browser driver, which sends commands to a browser
and retrieves results. Most browser drivers actually launch and access a browser application
(such as Firefox, Google Chrome, Internet Explorer, Safari, or Microsoft Edge); there is also
an HtmlUnit browser driver, which simulates a browser using the headless browser HtmlUnit.
Unlike in Selenium 1, where the Selenium server was necessary to run tests, Selenium
WebDriver does not need a special server to execute tests. Instead, the WebDriver directly
starts a browser instance and controls it. However, Selenium Grid can be used with
WebDriver to execute tests on remote systems (see below). Where possible, WebDriver uses
native operating system level functionality rather than browser-based JavaScript commands
to drive the browser. This bypasses problems with subtle differences between native and
JavaScript commands, including security restrictions.
In practice, this means that the Selenium 2.0 API has significantly fewer calls than does the
Selenium 1.0 API. Where Selenium 1.0 attempted to provide a rich interface for many
different browser operations, Selenium 2.0 aims to provide a basic set of building blocks
from which developers can create their own domain-specific language (DSL). One such DSL
already exists: the Watir project in the Ruby language has a rich history of good design.
Watir-webdriver implements the Watir API as a wrapper for Selenium WebDriver in Ruby.
Watir-webdriver is created entirely automatically, based on the WebDriver specification and
the HTML specification. As of early 2012, Simon Stewart (inventor of WebDriver), who was
then with Google, and David Burns of Mozilla were negotiating with the W3C to make
WebDriver an Internet standard. In July 2012, the working draft was released and the
recommendation followed in June 2018. Selenium WebDriver (Selenium 2.0) is fully
implemented and supported in Python, Ruby, Java, and C#.
Some key benefits of Test Automation are:
 Manual intervention is less, so the possibility of errors diminishes.
 It ensures higher ROI on the huge investments required initially.
 Automated tests make the process more reliable and the tests more dependable.
 Automation helps you find bugs at an early stage.
 You can test 24*7 from a remotely–held device as well.
 It makes the test scripts reusable – need new scripts every time even with changes in
the version of the OS on the device and the tests can recur without any errors.
 Most importantly, it enables testing in volumes. For instance, it allows you to run tests
on thousands of mobile devices. Now, this is impossible with Manual Testing.
Selenium is the most popularly used freeware and open source automation tool. The benefits
of Selenium for Test Automation are immense. Importantly, it enables record and playback
for testing web applications and can run multiple scripts across various browsers. The
benefits of Selenium Test Automation hold relevance across diverse business segments.
1. Open-Source:
As mentioned earlier, the biggest strength of Selenium is that it is a freeware and a portable
tool. It has no upfront direct costs involved. The tool can be freely downloaded and the
community-based support for it is freely available.
2. Language support:
Selenium supports a range of languages, including Java, Perl, Python, C#, Ruby, Groovy,
JavaScript, and more. It has its own script, but it is not limited by that language.
3. Supports Operating Systems:
Selenium can operate and support across multiple Operating Systems (OS) like Windows,
Mac, Linux, and UNIX. With Selenium suite of solutions, a tailored testing suite can be
created over any platform and then executed on another one. For instance, you can create test
cases using Windows OS and run it with ease on a Linux–based system.
4. Support across browsers:
Selenium provides support across multiple browsers, namely, Internet Explorer, Chrome,
Firefox, Opera, and Safari. This becomes highly resourceful while executing tests and testing
it across various browsers simultaneously.
5. Support for programming languages and framework
Selenium integrates with programming languages and various frameworks. For instance, it
can integrate with ANT or Maven type of framework for source code compilation. Further, it
can integrate with the TestNG framework for testing applications and reporting purposes. It
can integrate with Jenkins or Hudson for Continuous Integration (CI) and can even integrate
with other open-source tools to support other features.
6. Tests across devices
Selenium Test Automation can be implemented for mobile web application automation on
Android, iPhone, and Blackberry. This can help in generating necessary results and address
issues on a continuous basis.
7. Constant updates
Selenium support is community–based, which enable constant updates and upgrades. These
upgrades are readily available and do not require specific training. This makes Selenium
resourceful and cost-effective as well.
8. Loaded Selenium suites
Selenium is not just a singular tool or utility, it a loaded package of various testing tools and
so, is referred to as a Suite. Each tool is designed to cater to different testing needs and
requirements of test environments.
Additionally, Selenium comes with capabilities to support Selenium IDE, Selenium Grid, and
Selenium Remote Control (RC).
9. Ease of implementation
Selenium offers a user-friendly interface that helps create and execute tests easily and
effectively. Its open-source features help users to script their own extensions that make them
easy to develop, customized actions and even manipulate at an advanced level.
Tests run directly across browsers and the users can watch while the tests are being executed.
Additionally, Selenium’s reporting capabilities are one of the reasons for choosing it, as it
allows testers to extract the results and take follow-up actions.
10. Reusability and Add-ons
Selenium Test Automation framework uses scripts that can be tested directly across multiple
browsers. Concurrently, it is possible to execute multiple tests with Selenium, as it covers
almost all aspects of functional testing by implementing add-on tools that broaden the scope
of testing.

You might also like