For enterprises that need turnkey CI, Heroku provides an end-to-end automated solution that integrates the wide variety of tools needed to build, test, and deploy applications, eliminating the usual provisioning, configuration, and management of pipelines involving development, test, staging, and production environments.
Today, Heroku is announcing general availability (GA) of Heroku CI Parallel Test Runs and the Heroku CI API, and private beta support for cross-browser UAT via integration with third-party providers.
An important part of the CI pipeline is User Acceptance Testing (UAT). Traditionally, user acceptance testing was done by actual users, but modern tools allow this process to be significantly automated. For example, Selenium is commonly used to automate tests of web applications, enabling a majority of UAT to be done automatically.
To support this requirement, during the execution of a CI pipeline, Heroku creates disposable UAT environments – temporary instances of the application being tested – that can be used by testing tools like Functionize.
Functionize takes automated UAT a major step further, by adding the following features:
- Automated test creation based on natural language test definitions
- Flexible management and automated execution of test suites
- Automation of test maintenance via advanced machine learning features
- Use of computer vision to detect errors that ordinary browser automation tools can’t handle
- Eliminates the need to write and maintain complex test scripts for browser testing
- Eliminates the need to deploy, script, and manage tools like web browsers or Selenium in the Heroku environment
- Provides coverage across all major desktop and mobile browsers and operating systems: Chrome, Firefox, Safari, Windows, MacOS, iOS, Android, Linux
With Functionize’s Heroku integration, all you need to do is call a single Functionize API to kick off an entire suite of automated tests. These tests run against a temporary UAT instance of your application and integrate with the Heroku CI pipeline to determine whether a build is ready to be deployed.
Simpler Test Creation
Functionize allows you to create tests in two ways:
- Define tests using natural language definitions: Simply type what to test. Submit a user journey and it will automatically be converted into a functional test case using our NLP technology.
- Fully autonomous test creation: Automatically create test cases based on live user data.
This eliminates the need to write and maintain complex test scripts for browser testing
Flexible Test Suite Management
Functionize provides powerful features for managing tests, including organization into projects, classification with tags, and combination into orchestrations for automated execution in environments like Heroku.
Advanced Autonomous Behavior
Functionize Root Cause Analysis and Self-Heal helps reduce one of the biggest costs of testing,
by automating the maintenance of tests that fail due to changes in the application being tested. This is achieved via three features that work together to identify and help resolve test failures: Root Cause Identification based on machine learning, a Smart Suggestions expert system, and Self-Heal which allows the user to fix a test just by accepting a proposed fix.
Functionize also makes use of computer vision to detect errors that ordinary browser automation tools can’t handle.
CI/CD Pipeline Integration
Functionize provides integrations with best-of-breed service providers such as Heroku. Using the Functionize API, testing can be seamlessly and easily integrated into CI/CD pipelines.
This latest integration with Heroku demonstrates this capability, providing the autonomous power of Functionize testing for applications being tested in Heroku UAT environments.
Comprehensive Browser and OS Coverage
Functionize tests with all major desktop and mobile browsers, as well as across operating systems: Chrome, Firefox, Safari, Windows, MacOS, iOS, Android, Linux.
This is achieved without any effort on the user’s part – just check the boxes for the browsers you want to test with. No management and configuration of browser testing tools, or dealing with clusters or grids of test servers.
This especially simplifies setup and configuration in the Heroku environment, where all you need to do is invoke a Functionize API, with no need to install browser buildpacks and write test scripts to run in Heroku.