Automation Testing
Tags: beginners, testing, java, writing
Published: 2023-10-09 18:23:29

## _Difference Between Automation and Manual Testing :_

## **Automation Testing**:-

   1. Automation Testing uses automation tools to execute test cases.
   2. Automated Testing is Processing Time faster than a manual testing.
   3. Installing Automation Tool(Some Tools are paid)Investment in the automated testing is higher.
   4. Automated Testing does not involve Human consideration.
   5. Automation Testing can be executed on different operating Platforms in parallel time and reduce test execution time.
   6. Programming knowledge is a must in Automation Testing.
   7. It is Accurate because of Automation Tools scripts and Error risks are zero.
   8. Automation testing is useful when executing the same set of test cases continuously.
   9. In Automation Testing different types of Frameworks methods like POM, Cucumber, TestNG and Data-Driven to faster the Automation process. 




## **Manual Testing**:-

   1. In Manual testing, Test cases are executed by a human tester.
   2. Manual Testing is Time-consuming one.
   3. The initial investment in the Manual testing is lower than Automation Testing because of No installation of Software Tools. 
   4. In Manual Testing method it allows Human observation.
   5. In Manual Testing can be executed in parallel but would need to increase your Human Resource which is expensive for maintain.
   6. Programming Knowledge is not Necessary in Manual Testing.
   7. Due to Manual Execution Error May occurs in chance.
   8. Manual Testing is useful when the Test cases only needs to Run once or twice.
   9. Manual testing doesn’t use Framework Methods.

##_Automation Testing Tools_ :-

##**Selenium**:-

   1. Selenium is an Open-Source Web Automation Tool, currently in High demand and widely Used Tool in Worldwide. 
   2. It is one of the Best QA automation Tools that can Automate Multiple OS Like Windows, Mac, and Linux and Web Browsers like Firefox, Chrome, IE etc..,
   3. Selenium Web-driver is powerful Because it Supports Multiple Programming Languages, Various Browsers & Different OS.
   4. Also Selenium supports Mobile Applications like iPhone, Android etc..,
   5. Unavailability of Technical support because of Selenium is Open-Source Tool.
   6. Selenium Doesn't support to Automate the Desktop applications.

##**QTP**:-

   1. QTP Tool is used to Test functional Regression Test Cases of the Web-Based Application.
   2. HP-QTP stands for Quick Test Professional. HP Quick Test Professional was originally owned by Mercury Interactive and it was acquired by Now HP.
   3. This is Very Helpful for the New Test Engineer because they can Understand this tool easily. HP-QTP is designed on the scripting language like VB Script(Visual Basic)language to automate the application.
   4. This Tool support Record and Playback feature.
   5. Both Technical and Non-Technical Tester can use QTP.
   6. In HP-QTP We can Test Both Desktop and Web-Based Applications.

##**Selenium IDE**:-

   1. Selenium IDE (Integrated Development Environment) it is a Record and Run tool that a test case developer uses to develop Selenium Test cases.
   2. Selenium IDE is a Open Source Automation Tools.
   3. No Coding knowledge required. Easy to install and just install any other browser extension.
   4. Test scripts recorded in Selenium IDE can be exported to different programming languages like Java, Python etc..,
   5. Selenium IDE is not as powerful as other Selenium tools (WebDriver) because of it not support complex testing scenarios.
   6. Selenium IDE is a useful tool for simple and quick web testing but may not be the best choice for complex or large-scale projects.

##**Katalon Studio**:-

   1. The Katalon Studio is a Low-code Automation Testing Tool for Web, API, Desktop(Windows) and Mobile Applications.
   2. This Tool support Record and Playback feature.
   3. This Tool support Manual and Scripting mode.
   4. Katalon Studio Subscribers will be Provided with Tech Product support.
   5. The Katalon Studio is Free with Basic Testing features.
   6. Katalon Studio support Java and Groovy Programming Languages only.
   7. Katalon Studio can work on macOS, Windows and Linux.


##_Cross Browser Testing_ :-
 
> Cross-browser testing is a type of Non-Functional software Testing where Web Applications are to Check the support Different Browsers and Devices.

> The QA Testing Team is Most Responsible for Cross-Browser Testing Activities. The QA Testers Execute the Same Test cases on Different Platforms and Browser to Comparing and Analyzing the Behavior of the Website in Different browser.

> Using Selenium Grid we can achieve Cross Browser Testing.
Selenium Grid is a smart proxy server that makes it easy to run Tests in parallel on Multiple Machines.

> In Selenium Grid will allow you to Run Test cases in Different Browsers and Versions simultaneously.

> Selenium support Different type of Cross-Browser Testing tool for automation. Using TestNG framework we can do Cross Browser Testing also.


##_TDD_ :-

> Test Driven Development (TDD) is Software Development approach in which Test cases are Developed to specify and validate what the code will do.
> Test cases for each functionality are Created and Tested first and if the Test fails then the New Code is Re-Written and making the Code Simple & Bug-free.

- **Write a Test**: In Beginning the Test case are created and it expected behavior of the test case should fail Initially, and next phase the Code has to be update.
- **Write the Code**: The Aim is to make the Test cases to be Pass. So, In this phase Code has to be Update and this time it has to Fulfill the Expected Requirements in the Test case. 
- **Run the Test**: Execute the Test cases to check if it Passes or Not. If it is Pass then Move on to Next Functionality. If it fails, Then Continue With the Code Until the Test Passes.
- **Refactor**: If The Test passes, then Refactor the code to make it more efficient to ensure the Test Still Passes.

> Using TDD Identify the Bugs early stage of development process and It provides Confidence that code Works as its expected.

##_BDD_ :-

> BDD stands for Behavior-Driven Development. It is one kind of Framework that enables the Software testers to complete test scripting in plain English, So a Non-Programmers can read and understand the requirements of software.

> Cucumber is one of the Best tools used to Develop in the BDD Framework.

- User Story: It Explains the functionality of the software were it written by the End-user perspective.
- Scenario: Scenario Describes the product's behavior from the user's perspective
- Given: Given (What all are the given conditions), 
- when:  When (A particular action to be taken)
- Then:  Then (The result of that action)

> BDD is written in Gherkin Language easy to understand by Stakeholders and Non-Technical users also.
> By using Gherkin Language Stakeholders and Humans can read and Better communications.