Maxwell's Blog

Monday, December 08, 2025

How to Create Dynamic Data Using TOSCA Expressions

In today’s fast-paced software development environment, automation testing is no longer optional. Businesses rely on fast, accurate, and repeatable testing to ensure software quality. Tricentis TOSCA, a leading test automation tool, has transformed the way organizations handle testing. One of its most powerful features is the ability to create dynamic data using TOSCA expressions.

Dynamic data ensures that test scripts remain flexible and can adapt to varying input values without manual intervention. For testers preparing for Tricentis TOSCA AS1 Certification, mastering dynamic data creation is essential. It not only simplifies test case design but also reduces maintenance effort and enhances testing efficiency.

In this guide, we will explore in detail how to create dynamic data in TOSCA using expressions, with step-by-step instructions, practical examples, and tips for real-world applications.

Create Dynamic Data Using TOSCA Expressions

Introduction to TOSCA and Dynamic Data

Tricentis TOSCA is an enterprise-level test automation tool widely used for functional and regression testing. Its model-based testing approach allows testers to create reusable modules, which makes automation efficient and scalable.

Dynamic data in TOSCA refers to the generation of variable test data during runtime. Instead of hardcoding values, testers can define expressions that produce data automatically. This approach is particularly useful for scenarios that require random, sequential, or context-specific values, such as:

  • Generating unique email addresses for user registration tests

  • Creating random numeric or alphanumeric codes

  • Populating date fields with dynamic or calculated values

By leveraging dynamic data, testers can reduce manual effort, improve coverage, and avoid test failures due to repetitive data conflicts.

What Are TOSCA Expressions?

TOSCA expressions are formulas or instructions that define how a value should be generated dynamically at runtime. Expressions can use functions, arithmetic operations, and built-in TOSCA modules to produce test data that meets specific requirements.

Key points about TOSCA expressions:

  • They are defined in the TOSCA Commander using the Buffer or Test Case Design features.

  • Expressions can be simple, such as a random number, or complex, combining multiple functions.

  • They can reference other buffers or external sources, making them highly flexible.

Some commonly used TOSCA expression functions include:

  • RandomString(n): Generates a random string of n characters

  • RandomNumber(min,max): Generates a random number between min and max

  • CurrentDate(): Returns today’s date

  • AddDays(bufferName, n): Adds n days to a date stored in a buffer

By using these expressions strategically, testers can simulate real-world scenarios effectively.

Types of Dynamic Data in TOSCA

Understanding the types of dynamic data in TOSCA helps testers choose the right approach for their test cases. The main types include:

1. Random Data

Random data is generated to prevent duplicate entries and ensure uniqueness in testing. Examples include random email addresses, usernames, and codes.

2. Sequential Data

Sequential data follows a predefined order or pattern. It is commonly used for IDs, invoice numbers, or account numbers. TOSCA expressions can increment numbers automatically, reducing the risk of conflicts.

3. Conditional Data

Conditional data changes based on certain conditions within the test case. For example, if a user selects a particular country, the expression may generate a region-specific phone number.

4. Calculated Data

Calculated data is derived from mathematical or logical operations. For example, a discount amount can be calculated as 10% of a total order value using a TOSCA expression.

How to Create Dynamic Data Using TOSCA Expressions

Creating dynamic data in TOSCA requires understanding buffers, modules, and expressions. Let’s go step by step.

Step 1: Open TOSCA Commander

Launch TOSCA Commander and open your project or create a new one. Navigate to the TestCases section where you want to add dynamic data.

Step 2: Identify Fields for Dynamic Data

Determine which fields require dynamic values. Examples include:

  • Email

  • Username

  • Phone Number

  • Invoice Number

Step 3: Use Buffers to Store Dynamic Values

Buffers are temporary storage variables in TOSCA. They can store values generated by expressions and be reused across multiple test steps.

How to create a buffer:

  1. Right-click on Buffers in TOSCA Commander.

  2. Select Create Buffer.

  3. Name the buffer (e.g., RandomEmail).

  4. Enter the expression in the Value field.

Step 4: Define TOSCA Expressions

Here are some practical examples:

Example 1: Generating a Random Email

Buffer Name: RandomEmail  

Value: "user_" + RandomString(5) + "@example.com"  


This expression creates a unique email like user_X7G4P@example.com.

Example 2: Generating a Random Number

Buffer Name: RandomAge  

Value: RandomNumber(18,65)  


This generates a random age between 18 and 65 for testing age-related validations.

Example 3: Generating a Date

Buffer Name: FutureDate  

Value: AddDays(CurrentDate(), 10)  


This sets a date 10 days in the future, useful for testing subscription expiration or appointment scheduling.

Step 5: Link Buffers to Test Steps

After creating buffers, you can use them in your test cases:

  1. Select the input field in the test step.

  2. Click on Buffer Input.

  3. Choose the buffer (e.g., RandomEmail).

At runtime, TOSCA will populate the field with the dynamic value generated by the buffer.

Step 6: Validate and Execute

Run the test case to verify that dynamic values are generated correctly. Check logs or reports to ensure that each iteration uses unique and correct data.

Examples of Common Dynamic Data Expressions

Here are some more advanced expressions to expand your TOSCA skills:

Use Case

Expression

Description

Random Username

"user_" + RandomString(8)

Generates a unique username

Random Phone

RandomNumber(9000000000,9999999999)

Simulates Indian mobile numbers

Incremental ID

Buffer("PreviousID") + 1

Creates sequential IDs

Random Password

RandomString(10) + RandomNumber(100,999)

Combines letters and numbers for a secure password

Custom Date

AddDays(CurrentDate(), RandomNumber(1,30))

Picks a random date within the next month

These expressions are commonly tested during Tricentis TOSCA AS1 Certification exams, so understanding them thoroughly is crucial.

Advanced Dynamic Data Techniques

For large-scale or complex testing, consider these advanced methods:

1. Combining Buffers

You can combine multiple buffers to create more complex data structures:

Buffer Name: FullName  

Value: Buffer("FirstName") + " " + Buffer("LastName")  


This ensures that test cases use realistic and coherent names.

2. Using Excel or Database Inputs

TOSCA can integrate with external data sources. Dynamic values can be read from Excel sheets or databases using TOSCA's TestCase Design feature. This is useful for scenarios requiring multiple test datasets.

3. Conditional Expressions

You can define expressions that change values based on specific conditions:

Buffer Name: Discount  

Value: If(Buffer("UserType")="Premium", 20, 10)  


This calculates discounts dynamically depending on the user type.

Real-World Use Cases

Dynamic data is widely used in real-world scenarios, including:

  • E-commerce Testing: Generating unique order IDs and customer information for checkout flows.

  • Banking Applications: Creating dynamic account numbers, transaction IDs, and interest calculations.

  • Healthcare Systems: Populating patient data dynamically for scheduling appointments or testing EMR systems.

  • Subscription Platforms: Setting future dates for trial subscriptions or membership renewals.

These use cases illustrate why mastering TOSCA expressions is critical for testers and professionals aiming for Tricentis TOSCA AS1 Certification.

Tips for Effective Dynamic Data Management

  1. Plan Buffers Carefully: Avoid redundant buffers and maintain a clear naming convention.

  2. Reuse Buffers: Leverage buffers across multiple test cases to reduce maintenance.

  3. Validate Outputs: Always validate generated data for correctness before executing critical tests.

  4. Document Expressions: Maintain a TOSCA Training Manual or internal documentation for team knowledge sharing.

  5. Monitor Performance: Complex expressions can slightly slow test execution; optimize where possible.

Frequently Asked Questions

Q1: Can TOSCA generate data in multiple formats simultaneously?
Yes, you can combine expressions and buffers to produce strings, numbers, and dates dynamically in the same test case.

Q2: How does dynamic data affect test case maintenance?
Dynamic data reduces maintenance since it eliminates hardcoded values, making tests more robust and adaptable.

Q3: Is dynamic data useful for performance testing?
Absolutely. Generating large volumes of unique data ensures realistic load and stress testing scenarios.

Q4: Does TOSCA support integration with external tools for dynamic data?
Yes, TOSCA can read from Excel, CSV, and databases to fetch dynamic values during execution.

Conclusion 

Creating dynamic data using TOSCA expressions is a fundamental skill for modern automation testing. It improves test efficiency, reduces manual effort, and enhances real-world scenario coverage. By mastering buffers, expressions, and integration with external data sources, testers can handle complex applications confidently.

For professionals preparing for Tricentis TOSCA AS1 Certification, understanding dynamic data and expressions is critical. It ensures readiness for both exam scenarios and practical industry applications.

Start practicing TOSCA expressions today and elevate your automation testing skills. Master dynamic data to make your tests smarter and more efficient.

 



Comments