Automation Testing Need

2
Feb

Why to Learn Automation Testing?

This article is all about opting Automation Testing. But every tester who hasn’t yet learnt automation testing or never faced any need of automation might have a question that Why to Learn Automation Testing?. So, here we go:

In today’s rapid and changing day to day life, technology is going so far and challenging human mind to take risks so as to improve the quality and efficiency of software systems development. Considering the time and cost constraints, testing is neglected most of the time in an IT industry. This eventually affects the quality of the product which is further followed by customer disappointment and dissatisfaction. This also affects the overall quality costs of the project. For this reason, it is extremely important that testing should be carried out so as to improve the quality of the project along with customer satisfaction.

Below are few reasons which affects testing quality:

  • Poor testing strategy
  • Delay in Testing
  • Less efforts for creating test cases
  • Subsequent test maintenance

We can do testing of the application manually or by automation. If you are preferring manual testing then you have to do the monotonous work of writing test cases daily and maintain it as per the changing requirements. It is really a tedious work and requires lot of efforts to sit in front of computer continuously while getting bored at the same process. If the project is big and requires more test cases then manual tester’s life is hell as he fails at maintaining proper test cases. Here comes the role of Automation testing where you can actually automate your testing process hence increasing the efficiency of the complete testing process.

With Test Automation, you can improve the testing process of any software application. Initially, you may need to pay attention to the automation process but later you can thoroughly enjoy its results. Main benefit of automation testing is you can execute your test cases during night so that till morning you are done with the testing process.

Optimization of speed, efficiency, and quality along with decrease of costs:

Automated tests re-use modules within different tests and aids in fast running of the tests with great performance. If requirements are frequently changing in the project then you need to do the testing again and again to ensure the quality of the software product. Automation testing plays key role in this and provides great results on automation of regression tests. This saves time and benefits the company while quickly out-gaining the initial costs. This is the main reason that automation testing has overcome manual testing over past few years.

Increase of Test Coverage:

Another benefit with automation testing is that it increases the test coverage in wide scale. Manually covering the test case is very laborious and time consuming. With automation tests, you can achieve sufficient test coverage of your software projects.

Some examples of it include:

  • On different platforms, software testing with different configurations.
  • Data-Driven Testing (where there is a creation of tests using the same test steps but with different inputs)

With Test automation, you can actually perform different kinds of testing effectively and efficiently.

If you want long maintenance of your software products then you should automate your tests as it is very fast and frequent. It also decreases cost while enhancing quality of your software product. Most of the companies now work in agile environment where requirements change frequently and automation testing is better option to react with these ever changing requirements. The best part is new test cases are continuously generated which can be further added to existing automation in parallel to the development of the software.

Your test cases need to be extended for longer periods of time whether in manual or automation testing environments. This is indeed essential because software project continuously progresses and maintaining test cases is extremely important. You can achieve complete coverage of your test cases with automation as it is very reliable and realistic. Value of the test case vs the effort to create them should be considered while deciding which tests to automate first. Test cases which have low effort and high value should be considered first for automating. Moreover, frequently used test cases, regression test cases; along with test cases having low to moderate effort in setting up the development and test environment of the automation project are best matched for automation.

Latest Posts

24
Jan

Automation Testing: Process, Planning, Tool Selection – 1

Manual testing is very convenient as compared to Automation testing as it is performed by human who sits in front of computer, while executing the test steps very carefully. Automation Testing refers to usage of automation tools that can execute your test suite. Automation software enters test data into the system under test. It is also responsible for comparing the expected and actual results so as to generate detailed test reports.

If you are planning to choose Automation testing for your product then you need to be prepared for the investments on resources and tools. The development of your product will need execution of same test suite until the final product is made. With the use of test automation tool, it becomes quite easy to record this suite while re-playing it as required by your product. There is no need of human intervention, once test suite is automated. This will eventually help in improving the ROI of Test Automation.

The main objective of Automation tool is to lessen number of test cases when compared with manual testing, hence not eliminating the manual testing all of a sudden.

Why Automated Testing, instead of Manual testing?

Following reasons makes Automation testing significant:

  • Manual Testing of all work flows, all negative scenarios, all fieldsis very much costly and time consuming
  • It is hard to test multi lingual sites manually.
  • Automation tests do not need Human intervention. Automated test can be executed unattended (overnight).
  • Automation rises test execution speed.
  • Automation aids in Test Coverage increase.
  • Manual Testing is quite boring, further leads to many errors

With Automation Testing, Which Test Cases need to Automate?

Following criterion can be used to select the Test cases that need to be automated, to increase the ROI of automation.

  • Business Acute test cases which are at High Risk.
  • Test cases which are executed repeatedly.
  • Test Cases that difficult to perform manually and tedious.
  • Test Cases which are very much time consuming.

Following criteria can’t be considered for test Automation:

  • Test Cases whom requirements change frequently
  • Test cases which are performed on ad-hoc basis
  • Newly designed test cases which are not executed manually at once.

 

What is Automation Process?

Test tool selection:

Selection of the automation tool depends on the technology which the Application under test is built on. To explain with QTP, it does not support Informatica hence cannot be used for testing the Informatica applications. It is always better idea to conduct proof of concept of Tool on AUT.

Scope of Automation:

Scope of automation is defined as the extent of your Application under Test that will be automated. Following points aid in determining scope:

  • Feature that are significant for the business.
  • Scenarios having large amount of data.
  • Common functionalities throughout applications.
  • Technical possibility.
  • Amount to which business components are reused.
  • Complexity amongst test cases.
  • Capability to use the same test cases for cross browser testing.

How are the Planning, Design and Development done?

This is the phase where you create Automation strategy & plan, that has following details-

  • Selection of Automation tools.
  • Design of Framework and its features.
  • In-Scope and Out-of-scope items of automation.
  • Prepared Automation test bed.
  • Timeline and Schedule of execution and scripting.
  • Deliverables of automation testing.

How Test Execution is done?

During this phase, Automation Scripts are executed. The scripts here require input test data; prior they are set to run. Once on complete execution, they provide detailed report.

There are multiple ways of carrying out the execution i.e. through Automation tool, build tool (Maven, Ant, Gradle etc), CI Tool (Teamcity, Jenkins etc) or through Test Management tool, which eventually invokes the automation tool.

For instance take example of QC which is generally referred as Quality Centre. It is basically a test management tool which eventually invokes QTP so as to execute automation scripts. You can execute the scripts on single machine or a group of machines. If you are short of time, then you may execute the scripts during night so that your time will be saved.

Maintenance

Automation Scripts need to be reviewed, added and maintained for each release cycle on addition of new functionalities of System under Test. Maintenance is indeed essential to increase efficiency of Automation Scripts. 

24
Jul

When to Start Automation Testing

Before the launch of a new product in the market, testing needs to be done with the intend to launch a quality product.

Initially the product should be tested for its functional aspects which should be in line with the requirements mentioned. This testing can be achieved using the Manual Technique also known as ‘Manual Testing’.

With new enhancements’ in the product, the user has to confirm the existing functionality is working correctly. To achieve this user can perform regression which can be automated using various tools & scripts as well as it can be done manually. The technique of executing the flows using some tools or script is called as ‘Automation Testing’. This is the time when product has reached its maturity level & is stable. We can then identify and automate the flows of the product. Need of an automation is required when you want to:

– avoid repetitive tasks.
– save time.
– achieve accuracy.
– reduce cost to company.
– improve coverage

Below is the brief on Manual vs Automation testing:

Manual vs. Automation Testing

Manual Testing Automation Testing
Testing which is performed manual without the help of any tool is called as Manual Testing Testing which is performed with support of tools is called Automation Testing.
It’s the starting phase of testing. Unless Manual testing is performed Automation testing cannot be started.
It’s time consuming. It’s faster since most of the time, tools are used.
Manual Testing can be used for new features to find bugs. Automation Testing can be used for regression or checking the accuracy/stability of the existing systems.
No sequencing is needed. Scripts needs to be executed sequentially mostly.
Can be performed only on a single machine or application at a time. Can be performed on multiple applications or machines at a time.
Can be achieved by mere knowledge of application. Knowledge of application as well as tool is necessary.

This topic is very briefly explained and I think that we can add many points on top of this. I would like to know about reader’s view on this, as I feel this topic can be discussed and some excellent points can come up. These points can even help testers to pitch for automation tool in their own organization if you are going to introduce automation in your company.