Automation Testing

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

25
Jan

Automation Testing: Process, Planning, Tool Selection – 2

Automation Tools:

Following are the most standard test automation tool used in most of the companies:

QTP/UFT: HP Functional Test, earlier known as HP’s Quick Test Professional is the Automation testing tool that supports number of environments such as Java, SAP, Delphi and many more. QTP can be collaborated with Quality centre which is actually a Test Management tool used for client/server applications.

Rational Robot: It is basically an IBM tool that is used to automate functional, regression and configuration tests for e-commerce, client server as well as ERP applications. This tool can be used with Rational Test Manager that helps in Test Management Activities

Selenium: This is an open source web Automation Tool which supports all kinds of web browsers and the most demanding tool in today’s market. Many companies are using this tool for sake of its performance and price. It can be integrated with multiple Test Management tools, Continuous Integration Tools etc.

How an Automation Tool should be chosen? 

It is really a tricky task to choose an Automation tool. Following criteria will assist you in choosing the best automation tool for your test automation.

  • There should be an Environment Support.
  • It’s easy to use.
  • Database Testing Feature should be present.
  • Object identification should be there.
  • Image Testing.
  • Error Recovery Testing.
  • Object Mapping availability.
  • Scripting Language should be used.
  • It should support various kinds of test such as- functional, mobile, etc
  • Multiple testing frameworks should be supported.
  • Debugging of automation software scripts is easy.
  • Should recognize objects in any environment.
  • Widespread test reports and results.
  • Lessen training cost of selected tools.

Automation Tool selection is one of major trials to be undertaken prior opting for automation. Initially requirements should be identified, various tools and its capabilities should be explored. You should set the expectation from the tool further going for a Proof of concept.

Framework in Automation 

A framework is actually a set of automation guidelines. It increases code re-usability, portability, reduce script maintenance cost etc. These are not rules and are not mandatory. You can script without following the guidelines. But you may miss some advantages of having a Framework. Guidelines are like:

  • Maintains consistency of Testing
  • Improved test structuring
  • Usage of code is minimum
  • Less Maintenance of code
  • Re-usability is Improved
  • Non-Technical testers can collaborate in code
  • Training period of using the tool can be lessen
  • Involves Data wherever suitable

Four types of framework are generally used in software automation testing:

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

What are Automation Best Practices? 

Observe the following to get maximum ROI of automation

  • Scope of Automation needs to be firm in much detail prior to start of the project. This will set expectations from Automation right.
  • Select the right automation tool: A tool should not be selected grounded on its status instead, it’s acceptance to the automation requirements.
  • Select suitable framework
  • Scripting Standards– Standards have to be followed during writing the scripts for Automation. Some of them include-
    • Generate constant scripts, comments and indentation of the code
    • Adequate Exception handling include – How bug is handled on system failure or unexpected behaviour of the application.
    • User defined messages should be standardized or coded for Error Logging for testers to recognize.
  • Measure metrics– Success of automation is determined by capturing the following metrics and not by comparing the manual effort with the automation effort.
    • Time requisite for automation testing for each and every release cycle
    • Percent of defects to be found
    • Customer satisfaction Index
    • Minimum Time taken for release
    • Productivity improvement

The above guidelines are indeed helpful while making selection of your automation tool.

What are the benefits of Automated Testing?

Following are advantages of automated testing:

  • Much more faster than the manual testing say 70%
  • Broader test coverage of application features
  • Consistent in results
  • Confirm Consistency
  • Saves Cost and Time
  • Increases accuracy
  • Human Intervention is not needed during execution
  • Rises Efficiency
  • Excellent speed in executing tests
  • Test scripts can be re-used
  • Test thoroughly and Frequently
  • Through automation, More  cycle of execution can be achieved
  • Primary time to market

Conclusion:

You should have three essential things for Automation to be successful. They are Right selection of automation tool, testing process and team. For successful testing, Manual and automation methods go hand-in hand.

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. 

25
Sep

Website/AngularJS Modules for Automation Practice

Website/AngularJS Modules for Automation Practice

Today, everyone is inclined towards learning automation. Therefore, tester looks for website modules and visits multiple websites for automation practice. To encounter this problem, we have come up with different website modules under one roof. We developed multiple web pages and include all website components which you may get by visiting N number of websites.

You can practice Selenium, QTP, Ranorex etc scripts on this site. Try automating all simple and complex elements mentioned in this page. And if you are able to automate them then I can guarantee that you can automate any type of website.

Below is the table for the same:

websitecomponents_automationtesting

Demo Site for Practice :

http://www.globalsqa.com/demo-site/

Readers might feel that there are many similar websites in the market and we totally agree with that. There is one thing which makes this testing website different from other automation practice websites that is we have covered different type of components for each category. Example : if anyone clicks on AlertBox, you will find multiple type of Alert Boxes for automation practice.

Not only this, we have seen a trend of AngularJS Website these days (It’s a complete JavaScript-based open-source front-end web application framework mainly maintained by Google). Tester started learning Protractor (Protractor is an end-to-end test framework for AngularJS applications) to automate AngularJS Application. It seems difficult to find AngulasJS website because it can’t differentiated by looking at the site. We need to see website source code or need to install some plugin to identify whether a website is developed using AngularJS or not.

Also, it’s difficult to find AngularJS Protractor automation practice website and all modules. We have come up with different AngularJS components and projects so that no one needs to search for these modules or sites. So, learn protractor to automate AngularJS website. Below is the table showing all the AngularJS modules.

AngularJS Projects

AngularJS Protractor Practice Site :

http://www.globalsqa.com/angularjs-protractor-practice-site/

Before starting, please go through the links mentioned above and feel free to use these components.
If you find any bug or face any issue in the website, please send us an email at [email protected]. We will certainly take it on priority. In case, you want to us to add more things or want to share feedback, do write us.



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.