๐ท Tosca Automation
Master Tricentis Tosca — the enterprise-grade, model-based, codeless test automation platform used by Fortune 500 companies for end-to-end continuous testing.
What is Tosca?
Tricentis Tosca is an enterprise-grade, continuous testing platform that uses a model-based test automation (MBTA) approach. Unlike script-based tools like Selenium or Playwright where you write code to automate tests, Tosca allows you to create automated tests without writing a single line of code.
Tosca was developed by Tricentis, an Austrian software company that is now one of the leaders in the continuous testing space. It is widely adopted across industries like banking, insurance, healthcare, retail, and telecommunications — wherever complex enterprise applications (SAP, Salesforce, Oracle, mainframes) need rigorous end-to-end testing.
Tosca supports automation across a wide range of technologies:
- Web applications (HTML5, Angular, React, etc.)
- Desktop applications (Windows/.NET, Java Swing/FX)
- Mobile applications (iOS, Android)
- SAP (GUI, Fiori, S/4HANA)
- APIs / Web Services (REST, SOAP, GraphQL)
- Mainframe / Terminal emulators
- Database testing (Oracle, SQL Server, PostgreSQL)
- Salesforce, ServiceNow, Oracle EBS and other packaged applications
What Are the Advantages of Tosca?
Tosca stands out from other automation tools due to several enterprise-focused advantages:
| Advantage | Explanation |
|---|---|
| No Coding Required | Tosca uses a model-based approach where test cases are built by configuring modules and values — no programming skills needed. This makes it accessible to manual testers, business analysts, and domain experts who understand the application but may not know Java or Python. |
| Model-Based Maintenance | When the application UI changes, you update the Module (model) once, and every test case that uses that module is automatically updated. This dramatically reduces maintenance effort compared to script-based tools where you might need to fix hundreds of individual scripts. |
| Risk-Based Test Optimization | Tosca’s built-in risk coverage engine helps prioritize which tests to run based on business risk, ensuring the most critical functionality is tested first. This is especially valuable when time is limited before a release. |
| End-to-End Testing | A single Tosca test case can span multiple technologies — start on a web UI, call an API, validate a database record, check an SAP transaction, and verify a mobile screen — all in one seamless flow. |
| Built-in Test Data Management | Tosca provides Test Data Service (TDS) for centralized test data provisioning, synthetic data generation, and data-driven testing without external tools. |
| CI/CD Integration | Tosca integrates with Jenkins, Azure DevOps, GitLab, Bamboo, and other CI/CD tools via its Tosca CI component, enabling continuous testing in DevOps pipelines. |
| Reusability | Modules, test steps, and test data can be reused across multiple test cases and projects, reducing duplication and accelerating test creation. |
| Comprehensive Reporting | Built-in execution logs with screenshots, detailed pass/fail results, and integration with dashboards for real-time test analytics. |
Tosca Architecture
Understanding Tosca’s architecture is essential for working effectively with the platform. Tosca follows a multi-tier architecture consisting of the following layers:
1. Workspace Layer (Repository)
The Workspace is the central repository where all Tosca artifacts are stored — modules, test cases, test data, execution lists, and results. It can be backed by:
- SQLite — for single-user, local development and learning.
- SQL Server / Oracle — for multi-user, enterprise environments with concurrent access.
2. Tosca Commander (Client Layer)
The Tosca Commander is the main desktop application (Windows-based) where testers design, manage, and execute tests. It provides the graphical interface for all test automation activities.
3. Tosca Server (Execution Layer)
For distributed and remote execution, Tosca Server (also called DEX — Distributed Execution) manages test execution across multiple machines. It coordinates which tests run where, handles parallel execution, and collects results.
4. Engine Layer
Tosca uses specialized engines to interact with different technologies:
| Engine | Purpose |
|---|---|
| TBox (Tosca XScan) | Scans application UIs to create Modules automatically |
| Web Engine | Automates web applications (HTML, Angular, React) |
| Desktop Engine | Automates Windows desktop applications (.NET, Java) |
| SAP Engine | Automates SAP GUI and Fiori applications |
| API Engine | Tests REST/SOAP APIs and web services |
| Mobile Engine | Automates iOS and Android mobile apps |
Main Components of Tosca
Tosca Commander organizes all test automation activities into several key sections (visible as tabs/panels in the Commander UI):
| Component | Purpose | What You Do Here |
|---|---|---|
| Modules | Technical representation of application UI elements | Scan your application to create reusable modules containing controls (buttons, text fields, dropdowns, etc.) |
| TestCases | Logical test scenarios built from modules | Drag modules into test cases, define input values, set verification points, and organize into folders |
| TestCase Design (TCD) | Data-driven test design | Define test data variations using a spreadsheet-like interface; Tosca generates test case instances automatically |
| Execution | Test execution management | Create ExecutionLists, assign test cases, run them locally or on remote agents, and view real-time progress |
| Requirements | Traceability to business requirements | Import requirements from Jira, ALM, or Azure DevOps and link them to test cases for coverage tracking |
| Reporting | Test results and analytics | View execution logs with screenshots, pass/fail status, duration, and export reports |
Tosca Commander โ Deep Dive
Tosca Commander is the heart of the Tosca platform — the desktop application where you spend most of your time designing, building, and managing automated tests. It runs on Windows and connects to a Workspace (local SQLite or shared SQL Server database).
Commander Interface Layout
When you open Tosca Commander, you see several key panels:
- Left Panel — Workspace Tree: A hierarchical tree view showing all your Modules, TestCases, ExecutionLists, and other artifacts organized in folders. This is your primary navigation.
- Center Panel — Details View: Shows the contents of whatever item you select in the tree — module controls, test case steps, execution results, etc.
- Right Panel — Properties: Displays properties and metadata for the selected item (name, description, technical attributes, etc.).
- Bottom Panel — Search & Messages: Search across all workspace artifacts and view system messages/warnings.
Key Workspace Sections in Commander
- Modules: Where you store all scanned/created modules (your application’s technical model).
- TestCases: Where you build and organize your test scenarios.
- Execution: Where you create execution lists, run tests, and view results.
- Requirements: Where you manage requirement traceability.
- TestCase Design: Where you define data-driven test variations.
Installation of Tosca
Installing Tosca involves downloading the installer from Tricentis and following a guided setup process. Here is the step-by-step procedure:
Prerequisites
- Operating System: Windows 10/11 or Windows Server 2016+
- RAM: Minimum 8 GB (16 GB recommended for enterprise workspaces)
- Disk Space: At least 10 GB free for installation
- .NET Framework: Version 4.7.2 or higher must be installed
- License: A valid Tosca license key from Tricentis (trial or enterprise)
Installation Steps
- Download the Installer: Log in to the Tricentis Support Portal (support.tricentis.com) and download the latest Tosca Commander installer package (.exe or .msi).
- Run the Installer: Double-click the installer and follow the setup wizard. Accept the license agreement and choose the installation directory (default:
C:\Program Files (x86)\TRICENTIS\Tosca Testsuite). - Select Components: Choose which components to install:
- Tosca Commander (required — the main application)
- Tosca XScan (recommended — for scanning application UIs)
- Tosca CI (optional — for CI/CD pipeline integration)
- DEX Agent (optional — for distributed remote execution)
- Configure the Workspace: After installation, launch Tosca Commander. On first launch, you will be prompted to create a new workspace:
- Choose SQLite for local/learning purposes (single-user, file-based).
- Choose SQL Server for team environments (multi-user, shared database).
- Activate the License: Enter your Tricentis license key when prompted. For trial versions, you can request a time-limited key from the Tricentis website.
- Verify Installation: Open Tosca Commander. If the workspace tree loads with the default folder structure (Modules, TestCases, Execution, Requirements), the installation is successful.
How Are Modules Created in Tosca?
Modules are the foundation of Tosca automation. A Module represents a screen, page, or section of your application and contains the controls (UI elements) that Tosca will interact with during test execution.
Module Creation via XScan (Recommended Method)
Tosca XScan is the built-in scanning tool that automatically identifies UI elements in your application and creates modules from them. This is the fastest and most reliable way to create modules:
- Open XScan: In Tosca Commander, right-click on the Modules folder and select “Scan Application” or press the XScan button in the toolbar.
- Select the Technology: Choose the appropriate engine:
- HTML for web applications
- .NET for Windows desktop apps
- SAP for SAP GUI
- Java for Java Swing/FX applications
- Point to Your Application: XScan will display your running application. Click on the page or screen you want to scan.
- Select Controls: XScan highlights all identifiable elements (text fields, buttons, dropdowns, tables, labels). Select the ones you need for your test by checking them.
- Save the Module: Click “Save”. Tosca creates a Module in the Modules folder containing all selected controls with their technical properties (ID, name, class, XPath, etc.).
What a Module Contains
| Element | Description | Example |
|---|---|---|
| Module Name | Descriptive name for the screen/page | “Login Page”, “Order Summary” |
| Module Attributes | Controls (UI elements) with their technical properties | Username field, Password field, Login button |
| Steering Parameters | Settings that control how Tosca interacts with each control | ActionMode: Input, Verify, Select, Click |
Creating a Custom Module in Tosca Commander
While XScan handles most module creation, there are situations where you need to create or customize modules manually — for example, when dealing with complex dynamic elements, custom controls, or when you want to add calculated/derived attributes.
Steps to Create a Custom Module
- Navigate to Modules Folder: In the Tosca Commander workspace tree, expand the Modules section.
- Create a New Module: Right-click on the Modules folder (or a subfolder) and select “Create Module”. Give it a meaningful name (e.g., “Custom — Payment Gateway”).
- Add Module Attributes (Controls): Right-click on the newly created module and select “Create Module Attribute”. For each attribute:
- Set the Name (e.g., “CardNumber”, “ExpiryDate”, “PayButton”).
- Set the XPath / ID / CSS Selector that identifies the element in the application.
- Set the ActionMode (Input, Verify, Click, Select, WaitFor).
- Configure Steering Parameters: For each attribute, configure how Tosca interacts with the control:
- Input: Type a value into the field.
- Verify: Check that the field contains an expected value.
- Click: Click a button or link.
- Select: Choose an option from a dropdown.
- WaitFor: Wait until the element appears/disappears.
- Save and Test: Save the module, then use it in a TestCase to verify it works correctly with your application.
Modules > MyApp > Login, Modules > MyApp > Dashboard, Modules > MyApp > Checkout. This keeps your workspace clean as the number of modules grows.
Create a TestCase
A TestCase in Tosca represents a complete test scenario. It is built by combining one or more Modules (as TestSteps) and defining the data values for each step. No coding is required — you build test cases by drag-and-drop.
Step-by-Step: Creating a TestCase
- Navigate to TestCases: In the Tosca Commander workspace tree, go to the TestCases section.
- Create a New TestCase: Right-click and select “Create TestCase”. Give it a descriptive name, e.g., “TC_001 — Valid Login”.
- Add TestSteps (Modules): Drag a Module from the Modules section into the TestCase. Each module becomes a TestStep. For a login test, you might add:
- Step 1: “Open Browser” module — navigates to the login URL.
- Step 2: “Login Page” module — enters username and password, clicks Login.
- Step 3: “Dashboard Page” module — verifies the welcome message appears.
- Step 4: “Close Browser” module — closes the browser session.
- Define Input Values: For each TestStep, fill in the values for each module attribute:
- Username field →
admin@company.com - Password field →
SecurePass123 - Login button →
{CLICK} - Welcome message →
{VERIFY: Welcome, Admin!}
- Username field →
- Save the TestCase: Save and review the test case structure in the detail panel.
TestCase Structure Example
| TestStep | Module | Control | Action | Value |
|---|---|---|---|---|
| Step 1 | Open Browser | URL | Input | https://app.example.com/login |
| Step 2 | Login Page | Username | Input | admin@company.com |
| Step 2 | Login Page | Password | Input | SecurePass123 |
| Step 2 | Login Page | Login Button | Click | — |
| Step 3 | Dashboard | Welcome Text | Verify | Welcome, Admin! |
| Step 4 | Close Browser | — | Close | — |
Executing TestCases
Once your test cases are built, it’s time to run them. Tosca provides multiple execution options depending on your needs:
1. Local Execution (ScratchBook)
The quickest way to run a test case during development and debugging:
- In the TestCases section, right-click your test case.
- Select “Run in ScratchBook”.
- Tosca opens a browser (or your target application), executes each step, and shows results in real time.
- After execution, the ScratchBook shows a pass/fail status with screenshots for each step.
2. ExecutionList (Structured Execution)
For formal test runs — regression suites, sprint testing, or release validation:
- Navigate to the Execution section in the workspace tree.
- Right-click and select “Create ExecutionList”. Name it (e.g., “Regression Suite — Sprint 12”).
- Drag test cases from the TestCases section into the ExecutionList.
- Configure execution settings:
- Execution Environment: Local machine or remote DEX agent.
- Browser/Platform: Chrome, Firefox, Edge, or mobile emulator.
- Parallel vs Sequential: Run tests one after another or in parallel.
- Click “Run” to start execution.
3. Distributed Execution (DEX)
For large-scale enterprise execution across multiple machines:
- Install DEX Agents on remote machines.
- Register agents with the Tosca Server.
- In the ExecutionList, assign test cases to specific agents or let Tosca auto-distribute.
- Monitor execution progress in real time from the Commander dashboard.
Understanding Execution Results
| Result Status | Meaning | Icon Color |
|---|---|---|
| Passed | All steps executed successfully, all verifications matched | ๐ข Green |
| Failed | One or more verification points did not match expected values | ๐ด Red |
| Error | A technical error occurred (element not found, timeout, application crash) | ๐ก Yellow |
| Not Executed | Test was skipped or aborted before completion | โช Grey |