Recent Release Highlights - August 2022

Here’s a recap of release highlights including expressions, role based access control, audit log, learning mode, and input encryption.

August 25, 2022
Judy Bossi

Elevate Your Testing Career to a New Level with a Free, Self-Paced Functionize Intelligent Certification

Learn more
Here’s a recap of release highlights including expressions, role based access control, audit log, learning mode, and input encryption.

We are well into the second half of 2022, and have exciting product updates to share with you. Here’s a recap of features and enhancements from recent releases. For more details, check out our release notes.

Recent highlights include:

  • Variables and Expressions let you build powerful tests with dynamic data
  • Role Based Access Control helps enterprise administrators manage teams, projects, and permissions
  • Audit Log shows test history and allows you to restore a test and page object to previous versions
  • Learning Mode is enabled once your test is ready to begin collecting data into the machine learning engine
  • Input Action Encryption allows you to mask text to hide values for security reasons

Variables and Expressions

Use Variables and Expressions to insert and verify data. When combined together, these features allow you to test complex functionality by generating data on the fly and allowing it to be reused in multiple places. Tests that use Variables and Expressions are easier to maintain since you only need to update values in a single place if you need to make changes and you can ensure consistency in your tests.

A Variable is something that stands in to represent other data, such as site credentials, order numbers, cookies, etc. Functionize allows you to designItate whether the Variable should be a local variable, which is limited to that specific test, or a project variable, which can be reused in other tests in the same project. 

Once you create the Variable, you can use Expressions to input the Variable into other steps of the test. Functionize defines Expressions as an executable bit of Javascript code encased in double curly brackets so they can easily be used anywhere custom input is allowed within the test. Expressions can be entered as value for an input action, the pre- or post-hook code for a test, and even selector or verification overrides. 

To make Expressions even more useful, we provide pre-built Functions, which are fundamental building blocks of Javascript that return specific output based on your input. Functions allow you to access certain types of data using predefined methods such as attributes from previous actions in the same test, cookie values, clipboard contents, network traffic, HTML5 storage, and page variables.

Here are some common use cases for Variables and Expressions:

  • Update your total order count in your shopping cart by adding 1 to an existing variable
  • Combine existing variables like the first name and email domain to create specific user email addresses
  • Set a variable to carry an attribute from a previous action to enter it into the URL in a future step
  • Store the entire value or use the substring operator to select a string of specific characters from a cookie in order to get the session ID

The best part of Variables and Expressions is the user experience. We provide live javascript evaluation so you can test the functions on your application within the expressions that you build using the Expression Build. This allows you to see the variables for yourself while you’re creating the test so you can see how your test will behave at execution time.

Role Based Access Control 

Administrators can better manage their account with new Role Based Access Control capabilities. Functionize now allows you to create Teams within a site. Once a team is created, Site Admins, Team Admins, and Project Admins can designate projects and users that belong to their teams. They can also specify system variables, orchestrations that can be used across projects within that team. 

The main benefit of using separate teams is that you can allocate separate resources that can be used by each team. This is especially useful for enterprise customers who want a single account but want to maintain separate budgets for different business units. For example, your company purchased 50 concurrent sessions and want to split them separately across two business units, CRM and Billing. You can allocate 10 dedicated VMs for CRM and 10 dedicated VMs for Billing. This means that both business units can always run a minimum of 10 parallel tests at once. Either business unit can then utilize the additional remaining 30 concurrent sessions from the open pool depending on availability. 

Role Based Access Control capabilities | Functionize
Role Based Access Control capabilities

To take advantage of the new Role Based Access Control features, contact so we can help with the migration and activation process.

Audit Log

The Audit Log shows change history for each test and page object. So, you can see how it was edited and executed over time. The Audit Log is found in the Actions menu of your test or page object. It shows which users interacted with your test asset along with a timestamp of each activity. If you want to restore your test to a previous iteration, you can select an old version in the Audit Log. This is a great way to keep track of your testing activities for audit purposes.

Audit Log shows change history
Audit Log shows change history

Learning Mode

Optimize the efficiency of your machine learning model by designating tests to be included in data collection. Once your test is executed successfully for the first time, you will be prompted to approve the test for learning. If you feel that your test is ready, you can approve the test. This will ensure that our neural net only collects data from tests with clean data. 

Optimize the efficiency of your machine learning model by designating tests to be included in data collection
Optimize the efficiency of your machine learning model by designating tests to be included in data collection

Once approved, we can then start to build models to learn from your application and adapt to changes intelligently. Previously, we modeled and learned from every test. This meant that broken and failing tests were also included in the modeling, which led to longer learning times. With Learning Mode, you can initially fine tune your test without it affecting the model, minimizing the occurrence of false positive results.

Input Action Encryption

For additional security benefits, you can encrypt specific text values of input actions for test execution. By encrypting this information, the values will be hidden in your test execution screenshots and won’t be saved as plain text in execution logs. These values will be masked during Live Execution and Live Debug runs, as well, so the value is obscured with asterisks when they are entered during the execution experience. You can encrypt input actions from multiple places including: from Architect, from the Test Detail page, and also from the Slider View page. 

Add Encryption to hide values in test screenshots and block them from being saved as plain text in logs
Add Encryption to hide values in test screenshots and block them from being saved as plain text in logs

Keep in mind that this encryption will only apply to future executions of the test. So, if your test was already executed, the input values will remain unchanged for historical executions. Also, you can choose to decrypt values by deselecting the Encrypt checkbox from the Action Settings in the Test Detail value. 

You can change the encryption settings

As a helpful tip - If you’d like to share your execution results with the data obscured, you have the option to share a read-only view of the test. This shareable link will show the test with masked input values and prevent the action settings from being altered.

How to get started?

Anyone can try out these new features plus many more improvements in the Functionize intelligent testing platform. Sign up for a Free 14-day Trial today.