Our founder, Ankur Jain, started this website around 15 years ago in 2006. Owing to his extensive experience with the QTP tool (QTP was originally an automated software testing tool by Mercury. QTP is now known as UFT One), he wanted this website to become a one-stop-shop for QTP learners. It is with your love and motivation, the site is still going strong and visited by several thousands UFT beginners to UFT advanced users every day.

Since the time of launch of this site, several things have changed in the QTP world. HP acquired Mercury – the original company which developed QTP. QTP became UFT when HP decided to merge GUI and API testing in a single tool. Read the complete history of QTP and UFT. HP got divided into two companies HP Inc and HPE. In the mean time, during all these years, HPE introduced several new innovations in the UFT software. In Sep 2017, HPE spin merged into Micro Focus.

The team at LearnQTP realized that – while our older articles were still relevant – there is a need for new set of UFT tutorials for the latest versions of UFT. Thus we launched the new set of UFT tutorials for beginners to advanced users of UFT. We will start from scratch and slowly build towards advanced topics.

uft-tutorial-part1

These UFT tutorials will be structured in such a manner that even an absolute beginner to automated software testing would be able to follow them. The tutorials will be at your own pace, there would be no pressure. You can book mark the link and come back to them whenever you feel like learning. You can even download the free UFT tutorials PDF that will be available at the bottom of each article, so that you can learn even when you are traveling or don’t have a working internet connection.

Before we dive into UFT, let us get go through a primer on software testing and how and when we automate software testing.

What is Software Testing?

A renowned software testing expert Dr Cem Kaner defines software testing as –

A technical investigation of the product under test conducted to provide stakeholders with quality related informationwhat is software testing

To explain it further, Software testing is a process where a software tester/team runs a program or a system to find bugs or defects, to maintain the correctness and reliability of a program.

Software testing also validates and verifies the program to check if the business and technical requirements are met, and is working as expected.

In verification, testers ensure that the system met the organization’s standards and processes, and answers the question “Did we build the right system?” System means one or more software applications that support a business function. Testers ensure that software, hardware, documentation, and personnel comply together through relying on review or non-executable methods.

In validation, testers physically ensure that the system has met all business and user requirements, and that the features and functionalities are working as designed. Validation is done by executing system functions through a series of tests which can be observed and evaluated by testers. Also, validation concentrates on the question “Did we build the system right?”

Why Should We Perform Software Testing?

why-testingIn software testing, the primary purpose is to find defects. We can consider a certain state is a defect if it doesn’t meet what it is expected to do. Finding defects in testing early in Software Development will reduce or avoid the risk of failure, maintenance cost, the cost of defect fixing, and delivering better program for the user.

Example: Docket Number should accept 12 numeric characters. If characters inputted are less than or more than the required characters, prompt “Invalid Entry. Please re-enter the Docket Number”, but the user entered 10 characters for the docket number and the program returned an exception error instead of a prompt to notify the user about the minimum characters required.

Another reason is to produce Quality program. In Software testing, the software tester/team cannot improve quality, they can only measure it. From IT’s view, Quality means the conformance and features of a program’s requirement based on business and technical requirements are met. For User’s view, Quality means software is fit for use. Software quality varies from program to program as they have their own functionality and usability. A software tester needs to ensure that IT’s and User’s views for quality are met.

What is Automated Software Testing?

Automated software testing involves automating manual process through writing test scripts that would do the testing and can be run repeatedly.

Test automation is used to control the execution of tests, compare the actual and expected results, the setting up of preconditions, and other test control and test reporting functions through the use of software.

When to Automate Software Testing?when to automate testing

A common belief we see among testing professionals is that automation, by some magic, will increase the quality of testing.

There is a time and place for everything. If a test CAN be automated it does not mean it SHOULD be automated. Although, this is an automated testing website, one would think we would denounce manual testing. It is not the case, however.

Click To Tweet: If a test CAN be automated, it does not mean it SHOULD be automated http://ctt.ec/bLk49+ via @LearnQTP

Manual and automated testing go hand-in-hand and should be complimenting each other. We ask our trainees and readers to make sure to automate a test only when it is really needed.

Here are some scenarios where automation is considered a great option:

  • Regression testing/Repetitive tests: A rule-of-thumb for manual to automated test is that, if your tests need to be run periodically, they are a good candidate for automation. However it comes with few caveats. You need to weigh the costs of setting up automated tests vis-a-vis manual testing efforts. Here costs include the complexity of automation, time required to build and maintain automation scripts and of course time and money required to train testers on a given tool.
  • Multiple Data Vales: You need to run same set of actions for several data values.
  • Manually infeasible tests: Your application is needed to be stress tested for a million hits in a matter of few hours. It can’t be done manually, you would need a load testing tool.
  • Same tests different browsers or OS: You would want your web application to look good on all commonly used browsers and operating systems. If you have a test suite containing 50 test cases which need to be tested with 20 different sets of values on 3 different sets of browsers and 2 Operating systems. This brings the total test executions to 50*20*3*2= 6000. It makes sense to automate such test cases.
  • Mobile testing: With tons of mobile handsets available in the market, it would be next to impossible to perform manual testing on all devices. Companies like Amazon have come up with innovative approaches to this issue, whereby they put actual devices in the cloud and you can test your application on devices with automated scripts. Again, an ideal candidate for test automation.

We trust you like this primer on software testing and understood how we decide to automated software testing for a given scenario. In the next tutorial we will begin with installing UFT and discussing basics of the tool – Tutorial 2: Introduction to UFT.

You can refer the complete set of UFT tutorials covered till now using the links below:

Enter your name and email below and we will make sure to send you tutorials as soon as they are ready!

Over to you. How do you decide whether to go for automated testing?