Introduction To Automation Testing

Filed Under: Selenium

Testing is a major part of any application development life cycle. There are different types of testing based on the application stage – Unit testing, integration testing, system testing etc. Then there are different types of testing process – Manual testing and Automation Testing.

Manual Testing vs Automation Testing

As the name suggests, manual testing requires human effort in running test cases without the use of any tools. Whereas, automation testing is performed by using some tools and test scripts.

What is Automation Testing?

When testing tools like Selenium, QTP, Load Runner etc. are used to write and execute test cases, it’s called Automation Testing.

What is Functional Automation Testing?

Functional Automation Testing is the process of identifying various functionalities in the project which need to be repetitively tested and then developing and executing Automation Scripts (Programs) to validate the functionalities.

Advantages of Automation Testing

  1. Automation vastly increases the test coverage
  2. Automation optimize the testing speed
  3. Automation improves the testing quality
  4. Automation reduces the cost of testing
  5. Automation reduces the test execution time
  6. Automation does not require Human intervention. We can schedule tests to run overnight without human intervention.
  7. Automation scripts can run at any time and any number of times.
  8. Reusability of scripts on other applications.
  9. Easy to test Stress, Performance and Load
  10. Saves manual efforts.

Disadvantages of Automation Testing

  1. Debugging the test script is a major issue. It may lead to consequences if any error is present in the test script
  2. Proficiency is required to write automation test scripts
  3. Test maintenance is costly
  4. Maintenance of test data is difficult.

Which Test Cases can be Automated?

Test Cases should be automated if the following conditions are met.

  1. Tests that are used repeatedly
  2. High-Risk test cases
  3. Tests that tend to cause human error
  4. Test Cases that are impossible to perform manually
  5. Tests that take lot of time to do manual testing
  6. Time consuming test scenarios
  7. Regression test suites
  8. GUI items
  9. Database connections.

Which Test Cases should Not be Automated?

  1. Test Cases for which requires frequent changes
  2. Test Cases related to UI
  3. Exploratory tests

When to Automate?

  1. When projects are large and critical
  2. Once application becomes stable
  3. When enough time is available for testing
  4. When frequent regression testing needed
  5. When manual works are high.

When not to Automate?

  1. When application not even tested manually atleast once
  2. When requirements changing frequently
  3. When there is no much regression
  4. When there is no time and resource constraint.

Note: Automation Testing is additional support to speed up the testing activity but not for replacement of Manual Testing because everything cannot be automated.

How to decide what to Automate and what not to Automate

Feature Programmable Testing Frequency Cost Automation
F1 High High
F2 Low High
F3 High Low
F4 Low Low
F5

Automation Testing Tools

  1. Selenium
  2. QTP(UFT)
  3. RFT
  4. Test Partner
  5. Silk Test

QTP, RFT, Silk test are Licensed tools and whereas Selenium is an open source tool.

Automation Testing Process

Following steps are followed in an Automation Process:

  1. Automation Test Planning
  2. Test Environment Setup
  3. Analyze test cases
  4. Developing test scripts
  5. Enhance test scripts
  6. Scripts debugging
  7. Scripts execution
  8. Analyze test results
  9. Defect reporting
Automation Testing Process

Automation Testing Process

Automation Testing Tool Selection Criteria

Selecting an automation tool largely depends on application technology. However, some other points to consider while selecting an automation tool are:

  1. Cost(License Price)
  2. Features
  3. Technology support
  4. Performance
  5. Maintenance

Planning, Design and Development

During this phase, Tester creates an automation test strategy and plan, with the following details:

  1. Automation tool selection
  2. Automation Framework design and its features
  3. In-Scope features to be tested of automation
  4. Out-of-Scope features to be tested of automation
  5. Automation testbed preparation
  6. Schedule and Timeline for scripts generation and execution
  7. Deliverables of Test Automation

Test Execution

In this phase, automation scripts are executed written by testers. To execute the scripts we need input test data before testers run the tests. Once scripts execution completes testers provide detailed test reports.

Maintenance

As new functionalities added each time to the System Under Test with successive cycles, Automation Scripts need to be added, reviewed and maintained for each test cycle release. Maintenance becomes necessary in order to improve the effectiveness of Automation Scripts.

Framework for Automation

A framework is a set of guidelines which helps us in

  1. Less Maintenance of code
  2. Maintaining consistency in overall testing
  3. Improves test structure
  4. Minimum code utilization

Types of frameworks used in automation testing:

  1. Keyword Driven Framework
  2. Data Driven Framework
  3. Modular Framework
  4. Hybrid Framework

Types of testing that can be automated

  1. Unit Testing
  2. Integration Testing
  3. Functional Testing
  4. Smoke Testing
  5. Regression Testing

Conclusion

If testing is one time needed then we should go for manual testing. If testing is frequently needed then we should go for automation testing. The right automation tool selection, testing process and right selection of the testing team are the key players for automation testing to be successful.

Comments

  1. Puas, Gold Coast IT Solutions says:

    There are benefits of automated software testing, at the same time, it has its demands and drawbacks in it. Just like other methods in software development, there is no perfect one. Automated software testing requires a higher skill level of team members, increase tooling needs and requires more initial developer time and I think these are some of the disadvantages of automated software testing.

  2. Yeremia Maroutian says:

    Date: February 26, 2019. Time:: 3:35
    From: Yeremia Maroutian.

    Hi, Pankaj.
    I received two of your recent mailings, on Authomation Testings and Intro to Selenium. I am going to take look on them for the following days, because currently I keep busy with learning java based on those tutorials that you have already mailed to me. There is no doubt that you make a great and very, very useful job by preparing these online materials. I confident, that everyone appreciates you for your hard work. So thanks as well for staying in touch with me. You know, I a self learner and prefer to learn programming based on materials that I get online, included those that you have e-mailed to me. For someone, who studies by himself, just being motivated may not be enough. It may often required to take advise from a professional.
    On that I have a question to you related to my java leanings. Will the java learnings be effective by filling the gap on Core java parallel to learnings of other staff, included those that you have sent to me.
    Thank you very much. My best regards to you..

  3. Vikram says:

    Dear Pankaj,

    First of all, all the best and thanks to you. I was really waiting for the selenium automation testing resources. Please do continue the same and thank you for providing great platform to learn new things.

  4. Smita says:

    Thank you so much sir. It’s really helpful

  5. Mugundhan says:

    It was nice article.

    Thanks a lot for keeping such kind of information.

  6. Bensil varghese says:

    Need the as doc file

  7. Pratibha Singh says:

    Thanks for providing information on software testing

  8. Raghavan alias Saravanan Muthu says:

    A good article. Glad to hear that the UI test is not under the tests that can be automated. Do you have a specific set of reasons as to why that is not in?

Leave a Reply

Your email address will not be published. Required fields are marked *

close
Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages