Automation Testing (task 14)

1.What is the difference between Automated and Manual Testing in Software development ?

The difference between manual and automated testing is that in manual testing , you perform the tests step without the help of tools, whereas in automated testing, tests are executed automatically using Automation tools and frameworks. Automation testing is faster than the manual testing .

Automated Testing:

Automated testing involves using software tools and scripts to perform test cases and compare the actual outcomes with expected results. It is especially useful for repetitive tasks, regression testing, and load testing. Some key advantages of automated testing include:

Faster execution: Automation can quickly execute a large number of test cases.

Reusability: Test scripts can be reused across different projects. Consistency: Automated tests provide consistent results.

Manual Testing:

Manual testing, on the other hand, relies on human testers to execute test cases. While it may be time-consuming and less efficient for repetitive tasks, manual testing has its own merits:

Exploration: Testers can use their intuition to explore the application, finding

unexpected issues. Usability testing: Human testers can evaluate the user interface and overall user experience.

Adaptable: Manual testing can adapt to changing requirements and UI changes.

2.Explore some of the most common automation testing tools available on the market ?

The automation testing is used to change the manual test cases into a test script with the help of some automation tools .

We have various types of automation testing tools available in the market.Some of the most commonly used automation tools .

1.Selenium

2.Watir

3.QTP

4.Telerik Studio

5.Testim

6.Applitools

Selenium :

It is an open-source and most commonly used tool in automation testing. This tool is used to test web-based applications with the help of test scripts, and these scripts can be written in any programming language such as java, python, C#, Php, and so on.

Features Of Selenium :

This tool is most popular because of its various features. Following are standard features of Selenium:

Selenium supports only web-based application, which means that the application can be opened by the browser or the URL like Gmail, Amazon, etc.

Selenium does not support a stand-alone application, which means that the application is not opened in the browser or URL like Notepad, MS-Word, Calculator, etc.

Selenium web driver is the latest tool in the selenium community that removes all the drawbacks of the previous tool (selenium-IDE).

Selenium web-driver is powerful because it supports multiple programming languages, various browsers, and different operating systems and also supports mobile applications like iPhone, Android.

Watir :

Watir stands for web application testing in ruby which is written in the Ruby programming language. testing in ruby. It is a web application testing tool, which is open-source and supports cross-browser testing tool and interacts with a platform like a human that can validate the text, click on the links and fill out the forms.

Features of Watir :

It supports various browsers on different platforms like Google Chrome, Opera, Firefox, Internet Explorer, and Safari.

Watir is a lightweight and powerful tool.

We can easily download the test file for the UI.

We can take the screenshots once we are done with the testing, which helps us to keep track of the intermediate testing.

This tool has some inbuilt libraries, which helps to check the alerts, browser windows, page-performance, etc.

QTP :

QTP tool is used to test functional regression test cases of the web-based application. QTP stands for Quick Test Professional, and now it is known as Micro Focus UFT [Unified Functional Testing]. This is very helpful for the new test engineer because they can understand this tool in a few minutes. QTP is designed on the scripting language like VB script to automate the application.

Features of QTP :

This tool support record and playback feature.

QTP uses the scripting language to deploy the objects, and for analysis purposes, it provides test reporting.

Both technical and non-technical tester can use QTP.

Telerik Studio :

It is modern web application which support functional test automation. With the help of this tool, we can test the load, performance, and functionality of the web and mobile applications and also identify the cross-browser issues.

Features of Telerik Studio :

Telerik test studio allows us to deliver quality products on time.

This tool supports all types of applications, such as desktop, web, and mobile.

This tool supports Asp.Net, AJAX, HTML, JavaScript, WPF, and Silverlight application testing.

Testim :

It is another automation testing tool, which can execute the test case in very little time and run them in various web and mobile applications. This tool will help us to enhance the extensibility and stability of our test suites. It provides the flexibility to cover the functionalities of the platform with the help of JavaScript and HTML.

Features of Testim :

The Test stability is very high in testim tool.

This tool will support parallel execution.

In this tool, we can capture the screenshots.

Applitools :

This tool is used to check the look and feel and user's feedback on the application. It can easily incorporate with the presented test instead of creating a new analysis. Applitools is a monitoring software, which provides visual application management and AI-powered visual UI testing. It is an open-source tool that helps us to deliver a quality product

Features of Applitools :

This tool has active user access management.

For various devices, it allows cross-browser testing.

It will deliver the visual test reports to the users.

It is available on the public and dedicated cloud.

3.What is Cross Browser Testing ?

Cross Browser testing is a type of non-functional testing that lets you check whether your website works as intended when accessed through: Different Browser-OS combinations i.e., on popular browsers like Firefox, Chrome, Edge, Safari—on any of the popular operating systems like Windows, macOS, iOS and Android.

Screenshots, which show how a web application or site displays on a given browser version, but without functionality.

Simulators, which mimic how an end user would see and interact with the app, without actually testing it on a device.

Live tests, which either use virtual machines to create a remote computing environment or real devices to replicate the end user experience.

Headless browsers, which enable cross-browser testing via a command-line interface, which removes the GUI.

It helps ensure that your website delivers an optional user experience independent of the browser used to access it .

4. Write a Blog on TDD and BDD ?

Test-driven development is a software development process relying on software requirements being converted to test cases before software is fully developed, and tracking all software development by repeatedly testing the software against all test cases.

The following sequence of steps is generally followed:

Add a test – Write a test case that describe the function completely. In order to make the test cases the developer must understand the features and requirements using user stories and use cases.

Run all the test cases and make sure that the new test case fails.

Write the code that passes the test case .

Run the test cases .

Refactor code – This is done to remove duplication of code.

Repeat the above mentioned steps again and again .

Behavior-driven development (BDD) is an Agile software development methodology in which an application is documented and designed around the behavior a user expects to experience when interacting with it.

A user should be able to login by entering their credentials and clicking on a button. their homepage. As you can see, there are several keywords here: Feature, Scenario, Given, When, Then, And. The tests are clearly defined and easy to understand.

BDD is a collaborative approach to software development that involves the entire team, including developers, testers, and business stakeholders, to ensure that software is developed to meet the needs of all stakeholders.