Parasoft Uses Java for New AI-Powered UI Testing Solution for Open Source

Even for development teams with an agile practice, testing, especially testing of a constantly evolving user interface can be a bottleneck if test scripts have to be manually rewritten to account for even trivial changes like the placement of the log-in button.

To address this issue, Parasoft on Tuesday announced a new product, Parasoft Selenic, an AI powered UI testing solution that is based on the open source Selenium automated testing framework.

In the spirit of open source, the company says its product integrates "seamlessly with Selenium," so development teams can use it with the UI tests they already have without moving to a proprietary platform.

We've created the tests in pure Java code so there's no vendor lock in the Selenium tests that we create," Mark Lambert, vice president of products - automated software testing, told ADT. "So, you can create a test script with our recorder and then you don't have to use our CI (Continuous Integration) technology to execute it. You can execute it stand-alone, on your own."

Parasoft Selenic was developed based on testing needs that emerged from surveys of developers conducted by the Monrovia, CA-based software testing company, Lambert said. The surveys found that 64 percent of development teams are using Selenium as compared to 15 percent using commercial tools, and 14 percent doing manual testing. Parasoft refers to open source Selenium as "the de facto standard."

The Parasoft surveys, based on more than 600 responses, also identified the main problems development team members said they were running into with testing:

  • 48.5 percent: Building tests that are maintainable over time
  • 36.7 percent: Time taken for tests to execute
  • 35.2 percent: Maintenance due to UI changes
  • 26.4 percent: Identifying element locators

Maintaining tests over time is a problem if testers have to throw out old tests to QA a new UI and manually create new test scripts. That is one of the issues the AI technology in Parasoft Selenic can address, Lambert said.

The change to the UI might be that a button has been moved to a different part of a page.

"I know that sounds relatively simple and it is when you're talking about a human," Lambert explained. "When a human looks at a webpage and the submit button moved and now becomes an OK button, it seems very easy for a human to make the determination. But your automation script, if it doesn't have any analytics built into it, it doesn't know. All it knows is the thing it was looking for is not where it was before."

This is the issue 26.4 percent of surveyed developers were talking about when they were having trouble identifying element locators. The old test script can't find the new button.

"The trouble is that different locators use different use cases," Lambert explained. "Often it's very hard to get the right locator to balance stability with accuracy."

That's where AI comes in as he explained in this example.

"What we're able to do is to create smart locators where we can tell the locators need to be changed and then we can tell you how to change it. Then by coupling in the self-healing, we apply the change at runtime and say, here are the 10 different locators that would have found the element this time and we tried the first one and it worked. Here's what we actually ran in production in your safe environment. This looks correct. Here's what we recommend that this is the thing you should change your test to. Then through our IDEs we're able to give you a very quick fix workflow where you import the results from the CI process and with the click of a button refactor the code so it uses the recommended locator strategy."

But it isn't all AI. Lambert said the human element comes with developers checking the AI suggested fix to the test script and deciding if it is the correct solution for the QA of the new UI. They have the option of using another locator strategy. AI provides one way to speed up what could be a time-consuming manual process but it is not the case of turning testing over to a robot.

"The intent here is to remove the bottlenecks that appear when you've got rapidly changing UIs, so you can progress forward but not to blindly fix the code."

More information about the new testing product is available here.