TASK - 14
Published: 2024-05-23 13:58:11

**Q-1-> What is the difference between automation and manual testing in software development?**

**<u>Answer</u>**
**Automation Testing**
- In automation testing, the test cases are executed by automated tools.
- Automation testing is much faster than manual testing.
- It requires automation tools and trained employees those have knowledge about coding.
- It is more reliable than manual testing bcoz this testing is done by tools.
- In sometimes, automation testing needs more investment than manual testing bcoz of automation tools.
- Automation testing uses framework like data driven, testng, cucumber etc.
- It is suitable for regression testing, load testing and performance testing.

**Manual Testing**
- In manual testing, the test cases are executed by human resources.
- Manual testing is consume more time.
- It requires only human resources to execute the test cases.
- It is not more reliable than automation testing bcoz human might make mistake in continuous work.
- It is also needs investment to do testing.
- Manual testing doesn't need frameworks.
- It is suitable for exploratory testing, usability testing and adhoc testing.

================================================

**Q-2-> Explore some of the most common automation testing tool available on the market?**

**<u>Answer</u>**
There are many automation tools are running in the market. They are 

- Selenium
- Appium
- TestComplete
- Katalon Studio
- Cypress
- Ranorex Studio
- Perfecto
- LambdaTest
- Postman
- SoapUI
- Tricentis Tosca
- Apache JMeter
- Robot Framework
- Applitools

<u>**Selenium**</u>
Selenium is still number one choice among the automation tester for web application. It is an open source and consists of selenium webdriver, selenium grid and selenium IDE.
**Important Features:**

- It supports all programming languages like java, javascript, python, c, c++ etc.
- It supports all browser as well so we can perform cross-browser testing.
- Integration with other frameworks like Testng, Cucumber, Junit etc.

<u>**Katalon Studio**</u>
Katalon Studio is low code and scalable automation testing tool for web, mobile, API and desktop. It is available in both free and paid version.
**Important Features:**

- Automatic retry failed tests, smart wait, and self-healing mechanisms.
- Flexible methods for test design: record & playback, manual, and scripting mode.
- Smart debugging UI and test reporting to troubleshoot failures quickly.

**<u>Postman</u>**
Postman is one of the most widely used automation testing tools for API. It allows users to write different kinds of tests, from functional and integration to regression tests, and execute them automatically in CI/CD pipelines via the command line.
**Important Features:**

- Friendly and easy-to-use interface equipped with code snippets.
- Support for multiple HTML methods, Swagger, and RAML formats.
- Test suite creation, executions with parameterization, and debugging.

==================================================

**Q-3-> What is the Cross Browser Testing?**

**<u>Answer</u>**
Cross Browser Testing is a type of compatibility testing which comes under the non-functional testing. The aim of this testing is to ensure the application or software is working as intended when accessed through all browsers.
**Different Browser:**
Using different browsers like google chrome, firefox, microsoft edge etc. we should ensure the software is working properly through most of the browser.
**Different OS Combination:**
In desktop, there are different OS are available. So we have to test the software in most of the OS in desktop.
**Different Device:**
In Current world there are so much of mobiles devices came to competition. So that the software should work in most of the device. For that we are doing the cross browser testing.

================================================

**Q-4-> Write a Blog on TDD and BDD?**

**<u>Answer</u>**
<u>**Test Driven Development**</u> 
Test Driven Development is a testing methodology or a programming practice implemented from developer's perspective. A developer writes an automated test case based on the requirements specified in the documents.
These tests are executed, and in some cases, they fail as they are developed before the development of an actual feature. The development team then re-factors the code for the test to pass successfully. TDD can be done by a single developer while writing both tests and application code side by side to complete a feature.

**Benefits of TDD:** 

- Reduces the amount of time required for rework.
- Explores the bugs or errors very quickly.
- Encourages the development of cleaner and better design.
- Results in the creation of extensive code that is flexible and easy to maintain.

**<u>Behavioral Driven Development</u>**
Behavioral Driven Development is a testing approach derived from the Test-Driven Development (TDD) methodology. In BDD, tests are mainly based on systems behavior. This approach defines various ways to develop a feature based on its behavior.

**Benefits of BDD:**

- Helps to reach a wider audience through the non-technical language.
- Focuses on how the system should behave from the customer's and the developer's perspective.
- It is cost effective technique.
- Reduces the effort needed to verify the any post-development defects.