---
title: Functional engine | Qventis One
description: Write functional tests once in plain English and run them on web, API, desktop and mobile, on one shared model with one view of results.
---

[Skip to content](https://qventis.ai/engines/functional#main)

[![qventis](https://qventis.ai/hubfs/raw_assets/public/qventis-one/images/qventis-logo.svg)![qventis](https://qventis.ai/hubfs/raw_assets/public/qventis-one/images/qventis-logo-reverse.svg)](https://qventis.ai/?hsLang=en)

- Platform
  
  [**Qventis One**The autonomous quality platform. Learn your app once, assure every kind of quality, decide in one view.](https://qventis.ai/one?hsLang=en)
  
  [**Qventis Engine**Plain English in, zero AI tokens at run time](https://qventis.ai/engine?hsLang=en) [**App Model**Learn your app once, reuse it everywhere](https://qventis.ai/one/app-model?hsLang=en) [**Quality View**One pane of glass for every release](https://qventis.ai/one/quality-view?hsLang=en) [**Studio**Anyone can automate in plain English](https://qventis.ai/platform/studio?hsLang=en)
  
  [**Trust & security**AI on your terms, people approve](https://qventis.ai/platform/trust?hsLang=en) [**Agent gateway**Coding agents run tests under policy](https://qventis.ai/platform/agent-gateway?hsLang=en) [**Integrations**Fits your CI, ALM and chat tools](https://qventis.ai/platform/integrations?hsLang=en) [**Editions**Start small, grow into One](https://qventis.ai/editions?hsLang=en)
  
  How it works[1Learn your app](https://qventis.ai/one/app-model?hsLang=en)[2Write plain English](https://qventis.ai/platform/studio?hsLang=en)[3Run every engine](https://qventis.ai/engine?hsLang=en)[4Decide in one view](https://qventis.ai/one/quality-view?hsLang=en)
- Engines
  
  [**Every kind of quality, one flow**Eight engines share one model of your app and report into one view.](https://qventis.ai/one?hsLang=en)
  
  [**Functional**Web, API, desktop and mobile](https://qventis.ai/engines/functional?hsLang=en) [**Performance**Speed budgets on real journeys](https://qventis.ai/engines/performance?hsLang=en) [**Security**Roles, sessions and exposure](https://qventis.ai/engines/security?hsLang=en) [**Service virtualization**Test before every API is ready](https://qventis.ai/engines/virtualization?hsLang=en)
  
  [**Test data**Safe, ready data for every run](https://qventis.ai/engines/test-data?hsLang=en) [**Data & ETL**Numbers that match end to end](https://qventis.ai/engines/data-etl?hsLang=en) [**Visual**Catch what users would see](https://qventis.ai/engines/visual?hsLang=en) [**Accessibility**WCAG checks with an audit trail](https://qventis.ai/engines/accessibility?hsLang=en)
  
  Packaged-app packs[Oracle](https://qventis.ai/engines/packaged-apps?hsLang=en)[SAP](https://qventis.ai/engines/packaged-apps?hsLang=en)[Salesforce](https://qventis.ai/engines/packaged-apps?hsLang=en)[Workday](https://qventis.ai/engines/packaged-apps?hsLang=en)[See all packs](https://qventis.ai/engines/packaged-apps?hsLang=en)
- Solutions
  
  [**Release in confidence**Certify every vendor upgrade and configuration change before your business feels it.](https://qventis.ai/platforms?hsLang=en)
  
  Enterprise platforms
  
  [Salesforce](https://qventis.ai/platforms/salesforce?hsLang=en)[SAP](https://qventis.ai/platforms/sap?hsLang=en)[Oracle](https://qventis.ai/platforms/oracle?hsLang=en)[Workday](https://qventis.ai/platforms/workday?hsLang=en)[ServiceNow](https://qventis.ai/platforms/servicenow?hsLang=en)[Dynamics 365](https://qventis.ai/platforms/dynamics-365?hsLang=en)[nCino](https://qventis.ai/platforms/ncino?hsLang=en)[Coupa](https://qventis.ai/platforms/coupa?hsLang=en)
  
  [**Industries**Banking, insurance, healthcare and more](https://qventis.ai/industries?hsLang=en)
  
  By need
  
  [**Release testing**Run only what a change affects](https://qventis.ai/solutions/release-testing?hsLang=en) [**Legacy desktop**Apps automation never reached](https://qventis.ai/solutions/legacy-desktop?hsLang=en) [**Quality CoE**One standard across the business](https://qventis.ai/solutions/quality-coe?hsLang=en)
  
  Certify an upgrade[1Release notes in](https://qventis.ai/platforms?hsLang=en)[2Impact on your app](https://qventis.ai/one/app-model?hsLang=en)[3Run in sandbox](https://qventis.ai/engine?hsLang=en)[4Sign off](https://qventis.ai/one/quality-view?hsLang=en)
- [Customers](https://qventis.ai/customers?hsLang=en)
- Company
  
  [**About qventis**Why we built one platform](https://qventis.ai/about?hsLang=en) [**Blog**Field notes on quality, AI and agents](https://qventis.ai/blog?hsLang=en) [**Trust center**How we protect your data](https://qventis.ai/platform/trust?hsLang=en) [**Contact**Talk to a person, not a bot](https://qventis.ai/contact?hsLang=en)
  
  Prefer email?[contact@qventis.ai](mailto:contact@qventis.ai)

[Book a demo](https://qventis.ai/contact#demo)

[Qventis One](https://qventis.ai/one?hsLang=en)/Engines/Functional

Functional engine

# Stop rewriting tests for every channel

Write each step once in plain English and run it on web, API, desktop and mobile. When a screen changes, you approve one fix.

[Book a demo](https://qventis.ai/contact#demo)[See desktop testing](https://qventis.ai/solutions/legacy-desktop?hsLang=en)

- One test, four channels
- No AI cost at run time
- Every fix human-approved

**Approve a purchase order**Desktop, 5 steps

1. Open the 'Procurement' app
2. Type '{{po.number}}' into the 'PO number' field
3. Set cell 'Qty' to '5' on that row
4. Click the 'Approve' button
5. Check that 'Status' shows 'Approved' within 3 seconds

## Write it once, run it anywhere

### One sentence, four channels

Each step compiles for the channel you run on. No CSS, no XPath and no rewrite per channel.

### No AI at run time

Steps compile once into deterministic code. Cost stays predictable and every run leaves the same audit trail.

### Fixes you approve

Each target is stored once by label and role. When a control moves, you approve a proposed fix with evidence.

## How the functional engine works

ChannelsWeb, API, desktop and mobile

VerbsSame meaning on every channel

RolesWhat each team member gets

One model, one paneShared map, one results view

### Four channels, one language

The same sentence runs wherever your users work, including Windows apps other tools can't see.

- Desktop: Windows apps, with vision recognition for custom-drawn controls
- Web: browser apps with a recorder and the Studio editor, run on Playwright
- API: REST calls, payload checks and values passed between steps
- Mobile: native and hybrid iOS and Android apps, run on Appium or Maestro

[Legacy desktop testing](https://qventis.ai/solutions/legacy-desktop?hsLang=en)

### Shared verbs everywhere

Open, Click, Type, Select, Tick, Choose, Press, Wait for, Remember, Check, Use and Repeat mean the same thing on every channel. A sentence that doesn't parse is not a step.

- Targets are a quoted label and a role noun, never a locator
- Check captures what was expected, what was found and a screenshot
- Channel packs add only the verbs a channel needs, such as a swipe on mobile

[See the packaged app packs](https://qventis.ai/engines/packaged-apps?hsLang=en)

### One suite for every role

The people who know the business and the people who ship work from the same steps.

- Business testers record a flow and read it back as sentences
- QA leads fix a target once and every test that uses it follows
- Release managers open the evidence behind each check
- SDETs run headless from CI/CD and export web tests to Playwright

[Explore Studio](https://qventis.ai/platform/studio?hsLang=en)

### Where the App Model starts

The screens, controls and flows you record here become the shared map in the [App Model](https://qventis.ai/one/app-model?hsLang=en) that every engine uses.

- Performance replays your functional journeys
- Security reuses your roles and screens
- Accessibility and visual checks attach to the same screens
- Every result lands in [Quality View](https://qventis.ai/one/quality-view?hsLang=en) with its evidence

[Explore the App Model](https://qventis.ai/one/app-model?hsLang=en)

## Questions

Do I rewrite tests for each channel?

No. The core verbs work on every channel. You add pack verbs only where a channel has an action the others don't.

Is AI used while tests run?

No. AI can help you write steps and propose fixes, and a person approves each one. Runs are compiled code.

Can I take my tests with me?

Yes. Web tests export to Playwright, assets are Git-friendly, and every component works through the CLI and SDK.

## Bring your hardest app Watch it automated

Bring a desktop or web flow and leave with plain-English steps running against it.

[Book a demo](https://qventis.ai/contact#demo)

![qventis](https://qventis.ai/hubfs/raw_assets/public/qventis-one/images/qventis-logo-reverse.svg)

Qventis One is the autonomous quality platform from qventis.ai. Learn your app once. See every kind of quality in one place. Change nothing without your approval.

[contact@qventis.ai](mailto:contact@qventis.ai)

## Platform

- [Qventis One](https://qventis.ai/one?hsLang=en)
- [Qventis Engine](https://qventis.ai/engine?hsLang=en)
- [App Model](https://qventis.ai/one/app-model?hsLang=en)
- [Quality View](https://qventis.ai/one/quality-view?hsLang=en)
- [Studio](https://qventis.ai/platform/studio?hsLang=en)
- [Agent gateway](https://qventis.ai/platform/agent-gateway?hsLang=en)
- [Editions](https://qventis.ai/editions?hsLang=en)

## Engines

- [Functional](https://qventis.ai/engines/functional?hsLang=en)
- [Performance](https://qventis.ai/engines/performance?hsLang=en)
- [Security](https://qventis.ai/engines/security?hsLang=en)
- [Service virtualization](https://qventis.ai/engines/virtualization?hsLang=en)
- [Test data](https://qventis.ai/engines/test-data?hsLang=en)
- [Data & ETL](https://qventis.ai/engines/data-etl?hsLang=en)
- [Visual](https://qventis.ai/engines/visual?hsLang=en)
- [Accessibility](https://qventis.ai/engines/accessibility?hsLang=en)

## Solutions

- [Enterprise platforms](https://qventis.ai/platforms?hsLang=en)
- [Industries](https://qventis.ai/industries?hsLang=en)
- [Legacy desktop](https://qventis.ai/solutions/legacy-desktop?hsLang=en)
- [Release testing](https://qventis.ai/solutions/release-testing?hsLang=en)
- [Quality CoE](https://qventis.ai/solutions/quality-coe?hsLang=en)

## Company

- [About](https://qventis.ai/about?hsLang=en)
- [Customers](https://qventis.ai/customers?hsLang=en)
- [Blog](https://qventis.ai/blog?hsLang=en)
- [Trust center](https://qventis.ai/platform/trust?hsLang=en)
- [Contact](https://qventis.ai/contact?hsLang=en)
- [Legal](https://qventis.ai/legal?hsLang=en)

© 2026 qventis.ai. All rights reserved.Product names of third-party platforms are trademarks of their owners.