Automated Testing for Mobile Applications, Websites, and APIs

Written By Brad Hunt

30,000 hours. That is how many hours the Quality Assurance (QA) team at Smooth Fusion has logged over the last 18 years. 30,000 hours of checking requirements, executing test cases, logging bugs, verifying bug fixes, and overall trying to improve quality on the sites and software we build for our clients. A good QA team is essential to any web site or enterprise application build. Our QA team helps us achieve our mission of building functional, usable, secure and elegant software.

Over the last 18 years, the web has changed drastically. Although we still build marketing web sites, a core competency of Smooth Fusion is building enterprise applications that run on the web-applications with various users, groups, and roles; applications with integrations into backend CRM and ERP solutions; applications that require PCI and HIPAA compliance; and applications that create and consume APIs. In short, applications that power business.

These applications require a different level of quality assurance than a standard brochure web site. They require ongoing testing as new features are added. Additionally, to make sure that new features did not break previously functional features, we perform regression testing in-house. And when we push out a new version of software, we perform build verification tests to make sure nothing in the deployment process introduced an error.

To empower our team to perform all these various tests, we have been using Telerik Test Studio from Progress Software. Telerik Test Studio allows us to automate test execution, which gives our QA team more time to focus on creating solid tests. Telerik Test Studio allows us to test mobile applications, web sites, and APIs. Additionally, the test cases we setup can be run as performance tests too. Another thing we like about Test Studio is that helps the QA team and development teams work together. A QA lead can create a test case through a simple point-and-click process, and that test case can be saved to source control where a developer can open it up in Visual Studio. And if a test case does uncover a problem, we can simply click a button inside Test Studio and it will log an issue in Jira. Let’s take a closer look at Test Studio in action.

Recording Tests

Test Studio organizes its tests inside a project. When creating a new project, you can select from Web & Desktop, Mobile, or API.

Once the main Test Studio interface loads, select “Record à Web Test” as shown below.

Next, you will enter the URL where the test will be performed, select the browser in which to record the test and then click Record.

The selected browser will launch, and then you just point and click to perform the test case inside the browser. In the example below, I am completing the contact form.

When you have completed your test steps, close the browser and you can see the test that was created in Test Studio. Notice in the image below you can see each step of the test including where I hit <tab> on the keyboard to move between form elements.

After the test has been recorded, you can “playback” that same test in various other browsers. Additionally, you can save a collection of tests and run them on-demand or on a regular schedule.

The example above barely scratches the surface of what Test Studio can do. Check out the Test Studio YouTube Channel for some good how-to videos.

Adding a Bug to Jira

So, what happens when a test fails? If any step in the test fails, you will see a red X next to the step as shown below:

If you then double-click on the red X you will get additional details for the error:

You can see from the details above, that the HTML element was not found on the page, so the test failed. Using the “Submit Bug” button at the bottom, I could send this error to Jira, so that our development team can check out the problem.

The first time you try to submit the bug, you will see this screen:

Just click on the “Set this up now” button and you will be able to configure TeamPulse server, Team Foundation Server, or Jira Server. In our case, we use Jira, so I complete the form fields below:

Once the configuration has been completed, then you can submit bugs straight to Jira:

The bug is automatically logged for the team to see. The logs include the state of the DOM on failure, the execution logs and a screenshot of the site at the time of failure, which is all useful information when trying to address a bug.

Summary

Progress Telerik Test Studio is a powerful testing application that allows us to create better enterprise applications and web sites. It also allows us to collaborate better as a team, and spend more time creating thoughtful tests. In a future article, we will discuss more about how Test Studio is changing our testing culture to one of automation over manual testing. We’d encourage you to check it out at https://www.telerik.com/teststudio.

Smooth Fusion is a custom web and mobile development company and leading Progress Sitefinity CMS Partner. We create functional, usable, secure, and elegant software while striving to make the process painless for our customers. We offer a set of core services that we’ve adapted and refined for more than 250 clients over our 18 years in business. We’ve completed more than 1800 projects across dozens of industries. To talk to us about your project or review our portfolio, send us a message and one of our project managers will reach out to you quickly.