Google+

Test Automation Basics for Beginners

Before we start learning any Test Automation tools like UFT, Selenium etc., we have to first learn and understand the Test Automation Basics.

In this article, I am going to explain all the Test Automation Basics that you need to learn as a beginner in a step by step and easier manner.

I have chosen the explanation to be in a questions and answers format.

Read the questions and answers in a sequence order without skipping to understand them completely




1.What is Manual Testing ?

Manual Testing is the process of verifying verifying and validating whether the software program works as expected without using any automation tool (i.e. A Tester have to manually test each and every functionality of the software program without using any automation tool)

Verification is the process of checking whether the software given for testing correctly implements the specified functionality.
Validation is the process of checking whether the software given for test is according to the Client needs. i.e. to check whether the software meets the needs of the customer.

2. What is Regression Testing ?

Regression testing is the repetition of the earlier successful tests in order to make sure that changes to the one portion of software has not introduced side effects in other areas of the software.

3. What is Automation Testing ?

It is the process of validating and verifying whether the software program works as expected using any automation tool. (Automation tool performs the testing instead of a tester).

4. How can an Automation Tool perform testing without a tester ?

Creating Automation Scripts - Tester develops automation scripts using any language supported by the automation tool. ( For example Using Selenium Automation Tool the tester develops automation scripts using Java language)
Running the Automation Scripts -  Tester runs the above created automation scripts using Automation Tool's Run commands. ( For example Using Selenium Automation Tool's run commands the tester runs the above created Java automation scripts)
Viewing the Test Results generated by the Automation Tool - For each and every Run of the automation scripts, the Automation tool will generate results in a detailed report. Result report will show us whether the tests performed are functioning correctly or not.

5. What is the main purpose for Automating the Testing Process ?

Automation Testing main purpose is to automate the Regression tests. Automation testing is mostly helpful in large scale projects. That is when a small change is made to the source code of the software, the tester has to manually test each and every functionality of the large scale software, which takes lot of time for the testers to test the complete functionality from scratch.



If instead the tester automates the complete software using any automation tool, he can just run the automation tests using the automation tool every time when a change is made to the source code of the project or when a new build is given for testing frequently. Ultimately it saves the testing time of testers and relives the testers from the stress.

6. What are the other advantages of Automation Testing ?

Less burden for testers - The amount of  time needed for testing repeated test scenarios on every new build is reduced to zero. As a result the burden for testers reduces.
Less Cost for the Business Clients - The Business Clients have to pay the testers for the number of hours they work. As the automation saves time, the client gets cost benefits.
Increase Test Coverage - As testing time gets reduced, the tester can cover testing other test scenarios within the provided time for testing.
Improves Testing Accuracy - In Manually Testing process, a tester may forget or wrongly test any test scenario. But while running automated test scripts, the computer wont forget or wrongly test the test scenarios.

7. What kind of applications are suitable for Automation Testing ?

If we know in advance that much of the functionality in our application will  be stable over time without needing any changes. We can definitely perform automation testing for this kind of Applications. But if any applications functionality keeps on changing, it means that the application is not stable, and this kind of applications wont be suitable for Automation.

8. Which tests can be automated ?

We're not going to automate the complete functionality of the Application. If the application is stable enough to automate, then as a tester we have to make a decision on filtering the test scenarios to find out the test scenarios that can be automated. We've to filter out the following types of test scenarios for automation:

Stable Tests - The tests that are not going to change in the upcoming builds
Smoke Tests - The tests that give a quick high level assessment on the quality of the build
Data Driven Tests - The tests which test the same functionality with different inputs and large data sets
Highest Priority Tests - The tests that you want to test often because of their priority over the other tests.

And also, it sometimes depends on the business and size of the project to decide on the number of scenarios to be automated. Sometime we automate 70 to 80% of the scenarios when the business needs them to be automated.  

9. Is Automation Testing advantageous for Short Term Projects and the applications having very tight deadlines ?

In short term projects, there wont be enough time to build test automation. So manual testing will be more effective for Short Term. If an application is having a very tight deadlines, and its imperative that the testing get done with in that time frame, then manual testing is the best solution.

10. What is the goal of the Automation Testing ?

The goal of the automation testing is to reduce the number of tests to be run manually and not eliminate manual testing all together. Most of the testers who are new to Automation Testing thinks that - In order to automate their application they have to automate all the test cases of the Application. Assuming that all the test cases of the application to be automated is a wrong decision. We have to think of Automating the selected test cases of the application such that they reduce our burden and make our testing process more effective.

Happy Learning :)

Arun Motoori
Founder at QAFox.com

On a mission to contribute to the Software Testing Community in all possible ways.

2 comments:

Unknown said...

Thank you very much Arun sir ,I have just read out basics things about automation and manual testing.
Thank you sir.

Arun Motoori said...

Thank you Manish for your lovely comments :)