Parasoft has been at the cutting edge of innovation in automated software testing for over 30 years, and over the last few years, we’ve been adding artificial intelligence and machine learning to our software testing tools, to make automated software testing easier to adopt and scale across organizations. Starting at the bottom of the test pyramid with unit testing, we added smart unit test creation technology to Parasoft Jtest that makes it easier to create meaningful JUnit tests, along with test impact analysis technology that optimizes the execution of those tests.
For API testing (the biggest gap for most organizations), we added a Chrome plugin to Parasoft SOAtest that monitors manual interactions with the UI, and leverages artificial intelligence to create complete automated API test scenarios:
The technology lowers the technical skills required to adopt API testing and helps testers build a comprehensive API testing strategy that scales across the team and organization
So we’ve been on a mission to help people turn their ice cream cones (or martini glasses) into pyramids, and the final layer was UI testing. It’s clear that Selenium has become the de-facto UI testing framework, but people are still having challenges with their UI test automation. From a Parasoft survey of over 600+ respondents, we found the following self-reported challenges with UI testing
As we looked at this data, we realized that the biggest challenges were all about maintenance and time. And so we thought, how could we help organizations keep using Selenium, their favorite open-source framework, while solving those key challenges (and maybe a few others along the way)?
Our answer was simple: to leverage our expertise in artificial intelligence + software test automation and make Selenium smarter. And Parasoft Selenic was born.
Parasoft Selenic integrates effortlessly into your existing Selenium testing practice. Activated within your IDE, or, for CI/CD, with a one-line code change to your command-line execution, Selenic performs runtime analysis of the test execution. When a test fails, it applies its AI heuristics to determine how that failure could have been avoided (e.g. by updating locators or wait conditions), and then attempts to self-heal the test at runtime so that the pipeline can continue. You avoid wasting cycles debugging build failures due to unstable tests, and it learns more about your tests at the same time.
Selenic then reports the AI analysis back to the team, with failure details, diagnostic screenshots, and actionable recommendations on how to fix the test. Recommendations can be imported directly into the tester’s IDE for review, and quick-fixes are applied to update the test scripts (it’s as easy as simply clicking “update”).
All of this reduces the time you spend maintaining, repairing, and fixing broken tests, from hours to minutes.
So now that you’re using self-healing at runtime, and you’ve boosted your productivity by applying automated recommendations after testing is complete, your tests are stable and easily maintained. But there’s still a problem – how are you supposed to know which of the 10,000 tests to run to validate recent changes and make sure no regressions have been introduced into the application?
The answer is test impact analysis, of course. By correlating test execution with the underlying code, and looking to see what changed in the application’s binary (i.e. war file), Selenic cross-correlates the changes with the tests, optimizing test execution for quicker feedback from your CI/CD pipeline.
And finally, the last way to make Selenium smarter, was actually to go back to the beginning and make it easier for users to get started with Selenium in the first place. Parasoft’s Chrome plug-in can now record UI interactions with any application, translating those actions into Selenium Java code directly in the IDE. These Selenium tests use the page object model, an industry best practice for creating Selenium tests, so they are more maintainable over time, helping the team build a scalable testing practice from the very start.
Parasoft Selenic fits seamlessly into your existing Selenium testing practice, from creation to self-healing of CI execution, and recommendations to help you quick-fix your broken Selenium tests.
An added benefit? We’re also now using automated UI testing to further close the API testing gap. Combining Parasoft Selenic with Parasoft SOAtest’s AI engine, you can also capture the API calls as the UI tests run, and effortlessly create dynamic and meaningful API test scenarios that complement the end-to-end UI tests, but are quicker to execute and easier to diagnose.
Finally! A way to stop UI testing from bottlenecking your DevOps process and slowing down your delivery schedule!! All without changing your current Selenium testing practice or test environment.
A Product Manager at Parasoft, Chris strategizes product development of Parasoft’s functional testing solutions. His expertise in SDLC acceleration through automation has taken him to major enterprise deployments, such as Capital One and CareFirst.