<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom"><title>QF-Test</title><link href="https://www.qftest.com/en/" rel="alternate"/><link href="https://www.qftest.com/all.atom.xml" rel="self"/><id>https://www.qftest.com/en/</id><updated>2026-10-15T00:00:00+02:00</updated><entry><title>From AI exploration to stable test cases: Best practices for test generation in QF-Test 11</title><link href="https://www.qftest.com/en/blog/article/ai-assisted-test-recording.html" rel="alternate"/><published>2026-10-15T00:00:00+02:00</published><updated>2026-10-15T00:00:00+02:00</updated><author><name>Max Melzer</name></author><id>tag:www.qftest.com,2026-10-15:/en/blog/article/ai-assisted-test-recording.html</id><summary type="html">&lt;p&gt;AI-generated test drafts are a great start, but &amp;#8220;AI Instructions&amp;#8221; alone aren&amp;#8217;t robust enough for long-term testing. Here&amp;#8217;s how to turn them into stable, native QF-Test suites by recording them, and what&amp;#8217;s coming in QF-Test 11.1.&lt;/p&gt;</summary><content type="html">&lt;p&gt;QF-Test 11 lets AI agents explore your application and &lt;a href="https://www.qftest.com/doc/manual/en/user_ai_generate_suites.html"&gt;generate a first draft of a test suite&lt;/a&gt;. A question we hear a lot from customers evaluating these features is: how do you turn that AI-driven exploration into stable, maintainable test cases, rather than ending up with a skeleton suite full of &amp;#8220;AI Instructions&amp;#8221;?&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/doc/manual/en/miscnodes.html#step_AIInstructionStep"&gt;AI Instruction nodes&lt;/a&gt; are a great prototyping tool, and they can help you get unstuck in a pinch, but they&amp;#8217;re not a good foundation for long-term, robust UI testing &amp;#8212; you should migrate them to native QF-Test test steps wherever possible.&lt;/p&gt;
&lt;p&gt;This post walks through the workflow that works well today, what&amp;#8217;s changing with QF-Test 11.1 later this year, and where the current limits are when it comes to AI reading or editing existing suites.&lt;/p&gt;
&lt;h2&gt;The recommended workflow today (QF-Test 11.0)&lt;/h2&gt;
&lt;p&gt;The current recommended approach combines the AI-based test planning and generation dialog with QF-Test&amp;#8217;s classic recording mechanism:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Use the &amp;#8220;Plan and generate tests with AI&amp;#8221; dialog&lt;/strong&gt; to generate an initial suite of test cases with &amp;#8220;AI Instructions&amp;#8221; from a prompt and a connected application.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Clean up the generated suite&lt;/strong&gt;: Remove unnecessary steps, clarify instructions and add missing information where needed.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Convert the individual &amp;#8220;Test Step&amp;#8221; nodes into recorded sequencces via record &amp;amp; replay&lt;/strong&gt;: Press the &amp;#8220;Start recording&amp;#8221; button, run a test step, then stop and save the recording. Repeat for every test step. You can use the option &lt;a href="https://www.qftest.com/doc/manual/en/opt_record.html#opt_insertatselection"&gt;&amp;#8220;Insert recording at current selection&amp;#8221;&lt;/a&gt; to streamline the process.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Review and refine the results&lt;/strong&gt;: You may want to refactor repeating actions into &lt;a href="https://www.qftest.com/doc/manual/en/procedures.html#sec_procedures"&gt;Procedures&lt;/a&gt;, put repeating values into variables using &lt;a href="https://www.qftest.com/doc/manual/en/miscnodes.html#step_SetGlobalStep"&gt;&lt;code&gt;Set variable&lt;/code&gt;&lt;/a&gt;, or insert &lt;a href="https://www.qftest.com/doc/manual/en/control.html#sec_control"&gt;conditional logic&lt;/a&gt; using &lt;code&gt;if&lt;/code&gt; and &lt;code&gt;else&lt;/code&gt; nodes, or error handling using &lt;code&gt;try&lt;/code&gt;/&lt;code&gt;catch&lt;/code&gt;. QF-Test offers &lt;a href="https://www.qftest.com/doc/manual/en/nodes.html"&gt;all kinds of different nodes&lt;/a&gt; for structuring and enhancing your test suite.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="container card scroll-animated width-thin darkblue    "&gt;&lt;div class="container-content"&gt;&lt;div class="container-title"&gt;&lt;img class="container-icon scroll-animated" src="/images/icons/information-circle.svg" alt=""&gt;&lt;/div&gt;&lt;p&gt;This &amp;#8220;rerecording&amp;#8221; approach can be quite powerful when combined with the &lt;a href="https://www.qftest.com/doc/manual/en/user_prec.html"&gt;Procedure call recording mode&lt;/a&gt; introduced in QF-Test 11. With it, you can turn AI instructions directly into matching procedures from your existing library:&lt;/p&gt;
&lt;div class="video-card-horizontal flex-row-dynamic flex-wrap"&gt;
    &lt;a  href="https://www.qftest.com/en/support/videos/special-webinar-prec.html" rel="bookmark" title="Who ya gonna call? Auto-generate procedure calls for clean and maintainable tests"&gt;
        &lt;img src="/videos/resources/special-webinar-procedure-call-record-en.jpg" class="scroll-animated" width="640" height="480" alt=""&gt;
    &lt;/a&gt;
    &lt;div class="entry-content"&gt;
      &lt;h3 class="entry-title"&gt;
        &lt;a class="title" href="https://www.qftest.com/en/support/videos/special-webinar-prec.html" rel="bookmark" title="Who ya gonna call? Auto-generate procedure calls for clean and maintainable tests"&gt;
            Who ya gonna call? Auto-generate procedure calls for clean and maintainable tests
        &lt;/a&gt;
      &lt;/h3&gt;
    &lt;p&gt;In this webinar, we’ll show you how QF-Test 11 can recognize matching procedures from your library while recording sequences and automatically insert the corresponding calls.&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;    &lt;/div&gt;&lt;/div&gt;
&lt;div class="image-gallery"&gt;&lt;div class="container width-wide image-gallery-item row    " &gt;&lt;div class="container-content" &gt;&lt;button class="plain" onclick="document.getElementById('6454').showModal()" title="Enlarge"&gt;
&lt;figure&gt;
    &lt;img src="/blog/resources/ai-test-suite-generator.png"
        class=" scroll-animated"
        alt=""
        style=" "&gt;&lt;/figure&gt;
&lt;/button&gt;&lt;dialog popover id="6454" anchor="trigger-6454"&gt;
&lt;div class="container card scroll-animated width-full accent    "&gt;&lt;div class="container-content"&gt;        &lt;button onclick="document.getElementById('6454').close()"
                class="button blue tertiary"
                id="trigger-6454"
                style="margin: -15px -15px 10px auto; position: relative"&gt;Close&lt;/button&gt;
            &lt;figure&gt;
        &lt;img class="plain" src="/blog/resources/ai-test-suite-generator.png" alt=""&gt;&lt;figcaption&gt;&lt;p&gt;The dialog for planning and generating tests with AI.&lt;/p&gt;&lt;/figcaption&gt;&lt;/figure&gt;
    &lt;/div&gt;&lt;/div&gt;&lt;/dialog&gt;
&lt;div class="image-gallery-item-description"&gt;&lt;p&gt;The dialog for planning and generating tests with AI.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;&lt;div class="container width-wide image-gallery-item row    " &gt;&lt;div class="container-content" &gt;&lt;button class="plain" onclick="document.getElementById('5377').showModal()" title="Enlarge"&gt;
&lt;figure&gt;
    &lt;img src="/blog/resources/ai-generated-suite.png"
        class=" scroll-animated"
        alt=""
        style=" "&gt;&lt;/figure&gt;
&lt;/button&gt;&lt;dialog popover id="5377" anchor="trigger-5377"&gt;
&lt;div class="container card scroll-animated width-full accent    "&gt;&lt;div class="container-content"&gt;        &lt;button onclick="document.getElementById('5377').close()"
                class="button blue tertiary"
                id="trigger-5377"
                style="margin: -15px -15px 10px auto; position: relative"&gt;Close&lt;/button&gt;
            &lt;figure&gt;
        &lt;img class="plain" src="/blog/resources/ai-generated-suite.png" alt=""&gt;&lt;figcaption&gt;&lt;p&gt;A freshly generated suite, made up of &amp;#8220;AI Instruction&amp;#8221; nodes.&lt;/p&gt;&lt;/figcaption&gt;&lt;/figure&gt;
    &lt;/div&gt;&lt;/div&gt;&lt;/dialog&gt;
&lt;div class="image-gallery-item-description"&gt;&lt;p&gt;A freshly generated suite, made up of &amp;#8220;AI Instruction&amp;#8221; nodes.&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;One limitation to keep in mind: UI actions performed by the AI agent like clicks, navigation events, keyboard inputs, are picked up automatically by a running recording, but performed checks can not yet be captured this way in QF-Test 11.0.&lt;/p&gt;
&lt;p&gt;You don&amp;#8217;t have to treat exploration and recording as separate phases. If you keep a recording running during the exploration phase of test generation, every interaction the agent performs is captured as it happens. They are not automaically organized into individual tests, but you can copy and paste them into your generated test where they apply.&lt;/p&gt;
&lt;h2&gt;What&amp;#8217;s coming in QF-Test 11.1 (later this year)&lt;/h2&gt;
&lt;p&gt;This workflow will become much nicer and more automated starting with QF-Test 11.1:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The suite generator will directly produce recorded nodes where possible, and only fall back to AI Instructions if the required interaction is too complex.&lt;/li&gt;
&lt;li&gt;You will be able to convert AI instructions into recordings in bulk, instead of requiring the manual record-and-replay dance for each test step.&lt;/li&gt;
&lt;li&gt;Most assertions performed by the AI agent will also be converted into native checks.&lt;/li&gt;
&lt;li&gt;New MCP tools (and matching internal tools) will let the AI start and stop recordings, and organize the results into simple procedures and test cases automatically.&lt;/li&gt;
&lt;li&gt;A new script API will let you start or unpause recordings programmatically, in case you need more control.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;If you&amp;#8217;re interested in trying these features early, a pre-release preview build may become available before the general release &amp;#8212; &lt;a href="https://services.qftest.com/en/support/contact"&gt;reach out to us&lt;/a&gt; if you&amp;#8217;d like to get involved.&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;Reading and editing existing test suites&lt;/h2&gt;
&lt;p&gt;Recording covers &lt;em&gt;adding&lt;/em&gt; new content to a suite, but our customers also want the AI to read, explore, and edit &lt;em&gt;existing&lt;/em&gt; suites &amp;#8212; for example to understand what a suite already tests before extending it, or to refactor it. We&amp;#8217;re investigating dedicated solutions for this (MCP tools and internal APIs for structured suite access), but do not have anything available yet.&lt;/p&gt;
&lt;p&gt;In the meantime, suites can be explored by external AI agents via their underlying XML file. This works reasonably well for suites that aren&amp;#8217;t too large, but it doesn&amp;#8217;t scale to big or complex suites.&lt;/p&gt;
&lt;p&gt;When experimenting with editing suite XML keep in mind: a suite that has been modified externally &amp;#8212; for instance by an AI agent editing the XML outside of QF-Test &amp;#8212; can no longer be opened with a free QF-Test evaluation license. Opening an externally modified suite requires a commercial license.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Today, the best path from AI exploration to a stable test suite is: generate a draft with AI, then record alongside it (or convert it afterwards) to get native, replayable steps (excluding checks). QF-Test 11.1 removes several of these manual steps: bulk conversion of AI instructions into recordings, AI-controlled recording via MCP, and checks captured during recording. Broader support for AI reading and editing existing suites is still being investigated; until then, the underlying XML is your best option for small suites.&lt;/p&gt;
&lt;p&gt;Interested in an early look at QF-Test 11.1? &lt;a href="https://services.qftest.com/en/support/contact"&gt;Contact us&lt;/a&gt; and let us know you&amp;#8217;re interested!&lt;/p&gt;
&lt;div class="anchor-wrapper"&gt;
    &lt;a href="https://www.qftest.com/en/blog/article/mcp-tool-design-best-practices.html" class="container card scroll-animated width-normal clear imgfill   image-right"&gt;&lt;img class="container-image" src="/blog/resources/ai-standard-library.png" alt=""&gt;&lt;div class="container-content"&gt;&lt;div class="container-title"&gt;&lt;div class="container-title-text"&gt;Best practices for designing your own MCP toolkit with QF-Test&lt;/div&gt;&lt;/div&gt;

&lt;div class="entry-content"&gt;  &lt;p&gt;How to turn your own QF-Test procedures into a custom, self-documenting MCP toolkit for AI agents.&lt;/p&gt;
&lt;/div&gt;

&lt;div class="container width-normal align-start justify-center row    " &gt;&lt;div class="container-content" &gt;&lt;address class="vcard author"&gt;
&lt;strong class="flex-row-dynamic gap-small"&gt;
                &lt;img src="/images/staff/max.jpg" height="60" width="60" class="author-profile-pic" alt="Max Melzer"&gt;
            Max Melzer
            &lt;/strong&gt;&lt;/address&gt;
&lt;div class="flex-column"&gt;&lt;div&gt;&lt;time class="published" datetime="2026-09-25T00:00:00+02:00"&gt;
        25/09/2026
&lt;/time&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;    &lt;/div&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="anchor-wrapper"&gt;
    &lt;a href="https://www.qftest.com/en/solutions/test-automation-basics/ai-testautomation.html" class="container card scroll-animated width-normal   image-left  "&gt;&lt;img class="container-image" src="/images/illustrations/ai-qf-test-illustration.png" alt=""&gt;&lt;div class="container-content"&gt;&lt;div class="container-title"&gt;&lt;img class="container-icon scroll-animated" src="/images/icons/streamline-icon-hierarchy-9@48x48-blau.svg" alt=""&gt;&lt;div class="container-title-text"&gt;AI-driven test automation with QF-Test&lt;/div&gt;&lt;/div&gt;&lt;div class="element-text"&gt;With QF-Test 11, you can integrate your own AI models into agentic workflows and have them create and execute tests autonomously. Additionally, the integrated MCP-Server allows you to make the powerful QF-Test tools available to external agentic AI systems as well.&lt;/div&gt;    &lt;/div&gt;&lt;/a&gt;&lt;/div&gt;</content><category term="blog"/><category term="ai"/></entry><entry><title>Best practices for designing your own MCP toolkit with QF-Test</title><link href="https://www.qftest.com/en/blog/article/mcp-tool-design-best-practices.html" rel="alternate"/><published>2026-09-25T00:00:00+02:00</published><updated>2026-09-25T00:00:00+02:00</updated><author><name>Max Melzer</name></author><id>tag:www.qftest.com,2026-09-25:/en/blog/article/mcp-tool-design-best-practices.html</id><summary type="html">&lt;p&gt;How to turn your own QF-Test procedures into a custom, self-documenting MCP toolkit for AI agents.&lt;/p&gt;</summary><content type="html">&lt;p&gt;The &lt;a href="https://www.qftest.com/doc/manual/en/user_mcp.html"&gt;new MCP server&lt;/a&gt; in QF-Test doesn&amp;#8217;t just hand AI agents a generic, one-size-fits-all set of tools. You can also build your own procedures in QF-Test and &lt;a href="https://www.qftest.com/doc/manual/en/user_mcp.html#usec_mcp_custom"&gt;expose them as purpose-built MCP tools&lt;/a&gt;, tailored to your application. We call this the &lt;strong&gt;MCP toolkit&lt;/strong&gt;: your own QF-Test procedure library, turned into a bespoke, self-documenting, low-code toolset that any AI agent like Claude Code or Copilot can call directly.&lt;/p&gt;
&lt;p&gt;This is a big innovation in QF-Test 11, and its usefulness goes well beyond test automation: Since QF-Test can drive almost any application (web, desktop, mobile, even PDF documents) your MCP toolkit can act as a bridge that makes a legacy application MCP-aware, letting an AI agent control it even though the application was never built with AI or MCP in mind.&lt;/p&gt;
&lt;p&gt;In this post we&amp;#8217;ve collected the best practices we discovered so far &amp;#8212; for when a procedure deserves to become a tool, how to name and describe it, and how to fit it into QF-Test&amp;#8217;s security model.&lt;/p&gt;
&lt;h2&gt;When to turn a procedure into an MCP tool&lt;/h2&gt;
&lt;p&gt;You can expose any QF-Test procedure as an MCP tool by adding the &lt;a href="https://www.qftest.com/doc/manual/en/user_mcp.html#table_26.2"&gt;&lt;code&gt;@mcp/tool&lt;/code&gt; doctag&lt;/a&gt; to its description field (or &lt;code&gt;@mcp/tools&lt;/code&gt; to the enclosing package).&lt;/p&gt;
&lt;p&gt;A custom MCP tool has one big advantage over the generic &lt;code&gt;call_procedure&lt;/code&gt; tool: it&amp;#8217;s self-documenting. The AI gets a dedicated name, parameter list, and description without ever needing to know the exact suite, procedure name or its arguments in advance.&lt;/p&gt;
&lt;p&gt;That convenience has a cost, though: every registered tool takes up space in the AI&amp;#8217;s context window. Register too many, and the AI has a harder time picking the right one. The actual limit depends on the AI model in use, but you should keep the set of enabled tools as small as you can.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s why building your MCP toolkit works best when you encapsulate large, multi-step business-logic actions (&amp;#8220;Log in&amp;#8221;, &amp;#8220;Create new user&amp;#8221;, &amp;#8220;Place an order&amp;#8221;) rather than exposing procedures that just wrap individual steps. Especially, you should not put &amp;#8220;AI Instruction&amp;#8221; nodes into your tools. This only introduces an extra layer of indirection and doesn&amp;#8217;t give the AI anything it couldn&amp;#8217;t already do itself.&lt;/p&gt;
&lt;p&gt;You should also resist the temptation to expose your entire procedure library 1:1. Instead, create a dedicated suite of tool procedures that call into your library, or explicitly mark only the procedures that make good tools.&lt;/p&gt;
&lt;h2&gt;Granularity: higher-level beats low-level&lt;/h2&gt;
&lt;p&gt;In general, the higher-level your MCP tools are, the better. Every manual click, keystroke, or navigation step performed by an AI agent costs a comparatively large number of tokens, and the AI reasons through each one individually. QF-Test, on the other hand, executes sequences of clicks, keyboard input, and checks natively &amp;#8212; much quicker and more reliably than even the best AI agent driving the UI step by step. A tool that wraps such a sequence lets the AI delegate the entire thing to QF-Test in a single call. This is is both dramatically faster and far more token-efficient.&lt;/p&gt;
&lt;h2&gt;What not to expose&lt;/h2&gt;
&lt;p&gt;Not every procedure makes a good tool. A few anti-patterns to watch out for when building your MCP toolkit:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Context-dependent procedures.&lt;/strong&gt; If a tool only makes sense in a specific application state, the AI needs a way to detect that. Ideally an MCP tool always does something useful; at worst, it should fail with a helpful message that explains &lt;em&gt;why&lt;/em&gt; it didn&amp;#8217;t apply right now.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Long-running, stateful, or environment-dependent procedures&lt;/strong&gt; need extra care in how they&amp;#8217;re wrapped, since their behavior can be harder for the AI to predict and recover from. &lt;code&gt;@mcp/timeout&lt;/code&gt; lets you adjust the timeout for tools. When the timeout ends, the underlying task will continue in the background until completion.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;High-impact actions.&lt;/strong&gt; AI models can make mistakes or be manipulated. Don&amp;#8217;t expose tools that could cause unacceptable damage if misused. Keep destructive actions out of the toolkit, or gate them behind additional safeguards.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Writing tool descriptions the AI can actually use&lt;/h2&gt;
&lt;p&gt;When an LLM decides which tool to call, all it has to go on is the tool name, the parameter names (and any descriptions you provide), and the description drawn from the procedure&amp;#8217;s comment. Put yourself in the AI&amp;#8217;s shoes: it knows nothing about your application&amp;#8217;s domain or terminology by default.&lt;/p&gt;
&lt;p&gt;Here are some concrete suggestions to keep in mind:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Explain what the tool does, when to use it and what goals can be achieved by using it.&lt;/li&gt;
&lt;li&gt;List valid or possible values for each parameter explicitly in its &lt;code&gt;@param&lt;/code&gt; description. Also explain where to get possible input values from, if applicable.&lt;/li&gt;
&lt;li&gt;Design the tool so it&amp;#8217;s hard to use wrong in the first place. The less you have to explain, the fewer failure modes you have to guard against.&lt;/li&gt;
&lt;li&gt;Keep descriptions short and to the point. Every word counts to the AI&amp;#8217;s context budget.&lt;/li&gt;
&lt;li&gt;End each tool procedure with a &lt;code&gt;Return&lt;/code&gt; node which gives the AI feedback on the performed actions and the new state of the application.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The procedures shipped in our standard library &lt;code&gt;qfs-ai.qft&lt;/code&gt; are a good reference for the level of detail that works well.&lt;/p&gt;
&lt;p&gt;&lt;img alt="The AI standard library qfs-ai.qft in QF-Test" src="/blog/resources/ai-standard-library.png" /&gt;&lt;/p&gt;
&lt;h2&gt;Naming tools: the &lt;code&gt;@mcp/name&lt;/code&gt; doctag&lt;/h2&gt;
&lt;p&gt;MCP tool names have a hard limit of 64 characters. QF-Test derives a tool&amp;#8217;s name from its package and procedure name and truncates automatically when needed.&lt;/p&gt;
&lt;p&gt;If you&amp;#8217;d rather not rely on automatic truncation, use the &lt;code&gt;@mcp/name&lt;/code&gt; doctag to give a procedure or a package a short alias for MCP use, independent of how it&amp;#8217;s named and organized internally.&lt;/p&gt;
&lt;h2&gt;Overriding the built-in AI tools&lt;/h2&gt;
&lt;p&gt;The general-purpose procedures shipped in &lt;code&gt;qfs-ai.qft&lt;/code&gt; (under &lt;code&gt;qfs.tools.ui&lt;/code&gt;) are meant to work reasonably well out of the box, but they can also serve as a blueprint for your own, more specific variants, for example if you want your &amp;#8220;Open Browser&amp;#8221; tool to launch with specific browser settings or your own &lt;code&gt;CustomWebResolver&lt;/code&gt; instead of the defaults.&lt;/p&gt;
&lt;p&gt;To override a built-in tool, provide a procedure with the same name in &lt;code&gt;user-ai.qft&lt;/code&gt;; it will be used instead of the general-purpose one. (You can open the &lt;code&gt;user-ai.qft&lt;/code&gt; suite in QF-Test via &amp;#8220;File &amp;rarr; Bookmarks &amp;rarr; AI: User library&amp;#8221;.) If you still want access to the original helper procedures from within your override, include &lt;code&gt;${qftest:version.dir}/include/qfs-ai.qft&lt;/code&gt; in your suite.&lt;/p&gt;
&lt;p&gt;&lt;button class="plain" onclick="document.getElementById('8965').showModal()" title="Enlarge"&gt;&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="/blog/resources/opt-agent-skills.png"
        class=" scroll-animated"
        alt=""
        style=" "&gt;&lt;figcaption&gt;&lt;p&gt;Configuring your own AI tool library suite in the QF-Test settings.&lt;/p&gt;&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;&lt;/button&gt;&lt;dialog popover id="8965" anchor="trigger-8965"&gt;&lt;/p&gt;
&lt;div class="container card scroll-animated width-full accent    "&gt;&lt;div class="container-content"&gt;        &lt;button onclick="document.getElementById('8965').close()"
                class="button blue tertiary"
                id="trigger-8965"
                style="margin: -15px -15px 10px auto; position: relative"&gt;Close&lt;/button&gt;
            &lt;figure&gt;
        &lt;img class="plain" src="/blog/resources/opt-agent-skills.png" alt=""&gt;&lt;figcaption&gt;&lt;p&gt;Configuring your own AI tool library suite in the QF-Test settings.&lt;/p&gt;&lt;/figcaption&gt;&lt;/figure&gt;
    &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/dialog&gt;&lt;/p&gt;
&lt;h2&gt;Internal vs. external tools, and permissions&lt;/h2&gt;
&lt;p&gt;QF-Test distinguishes between two ways a tool can be used:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;External&lt;/strong&gt; tools are called by external MCP clients connecting to the QF-Test MCP server.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Internal&lt;/strong&gt; tools are used from within QF-Test itself &amp;#8212; currently the &amp;#8220;AI Instruction&amp;#8221; node, the test generation wizard, and &lt;code&gt;ai.askWithTools()&lt;/code&gt; in scripts.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the QF-Test options dalog you can define for each tool individually whether it should be available for internal and/or external AI agents. The permission model differs between the two: QF-Test currently never asks for confirmation before running an internal tool, while external MCP clients generally ask for permission the first time a tool is used. Keep that in mind and be careful about which tools you enable internally.&lt;/p&gt;
&lt;p&gt;You can use &lt;code&gt;@mcp/exposedByDefault false&lt;/code&gt; so users need to explicitly enable the tool in the QF-Test settings, instead of automatically cluttering every users default context window.&lt;/p&gt;
&lt;p&gt;&lt;button class="plain" onclick="document.getElementById('6430').showModal()" title="Enlarge"&gt;&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="/blog/resources/opt-ai-security.png"
        class=" scroll-animated"
        alt=""
        style=" "&gt;&lt;figcaption&gt;&lt;p&gt;Enabling and disabling individual internal and external tools in the AI security settings.&lt;/p&gt;&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;&lt;/button&gt;&lt;dialog popover id="6430" anchor="trigger-6430"&gt;&lt;/p&gt;
&lt;div class="container card scroll-animated width-full accent    "&gt;&lt;div class="container-content"&gt;        &lt;button onclick="document.getElementById('6430').close()"
                class="button blue tertiary"
                id="trigger-6430"
                style="margin: -15px -15px 10px auto; position: relative"&gt;Close&lt;/button&gt;
            &lt;figure&gt;
        &lt;img class="plain" src="/blog/resources/opt-ai-security.png" alt=""&gt;&lt;figcaption&gt;&lt;p&gt;Enabling and disabling individual internal and external tools in the AI security settings.&lt;/p&gt;&lt;/figcaption&gt;&lt;/figure&gt;
    &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/dialog&gt;&lt;/p&gt;
&lt;h2&gt;Building your own MCP toolkit&lt;/h2&gt;
&lt;p&gt;The core idea behind all of these practices is the same: a well-curated MCP toolkit will make your AI agent both faster and more reliable than only handing it a large, generic set of low-level actions. Start small, apply &lt;code&gt;@mcp/name&lt;/code&gt; and clear descriptions from the outset, and grow your toolkit as concrete use cases show you what&amp;#8217;s worth wrapping.&lt;/p&gt;
&lt;p&gt;For the full reference on the available doctags, see &lt;a href="https://www.qftest.com/doc/manual/en/user_mcp.html#usec_mcp"&gt;the &amp;#8220;MCP Server&amp;#8221; chapter of the QF-Test manual&lt;/a&gt;.&lt;/p&gt;
&lt;div class="anchor-wrapper"&gt;
    &lt;a href="https://www.qftest.com/en/solutions/test-automation-basics/ai-testautomation.html" class="container card scroll-animated width-normal   image-left  "&gt;&lt;img class="container-image" src="/images/illustrations/ai-qf-test-illustration.png" alt=""&gt;&lt;div class="container-content"&gt;&lt;div class="container-title"&gt;&lt;img class="container-icon scroll-animated" src="/images/icons/streamline-icon-hierarchy-9@48x48-blau.svg" alt=""&gt;&lt;div class="container-title-text"&gt;AI-driven test automation with QF-Test&lt;/div&gt;&lt;/div&gt;&lt;div class="element-text"&gt;With QF-Test 11, you can integrate your own AI models into agentic workflows and have them create and execute tests autonomously. Additionally, the integrated MCP-Server allows you to make the powerful QF-Test tools available to external agentic AI systems as well.&lt;/div&gt;    &lt;/div&gt;&lt;/a&gt;&lt;/div&gt;</content><category term="blog"/><category term="ai"/></entry><entry><title>A weekend together in Lichtenfels</title><link href="https://www.qftest.com/en/company/news/company-events/summer-excursion.html" rel="alternate"/><published>2026-09-22T00:00:00+02:00</published><updated>2026-09-22T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-09-22:/en/company/news/company-events/summer-excursion.html</id><summary type="html">&lt;p&gt;Last weekend, the QF-Test team and their families spent a weekend together in Lichtenfels.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="Korbmarkt 2026" src="/companynews/resources/2026-09-19_korbmarkt.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Last weekend, the QF-Test team and their families spent a weekend together in Lichtenfels.&lt;/p&gt;
&lt;p&gt;At the traditional Korbmarkt, we strolled through colorful market stalls, sampled regional specialties, and soaked up the unique atmosphere of this historic basket-weaving town. Things got sporty at footgolf — with plenty of laughter and friendly competition, we enjoyed a wonderful afternoon against the stunning backdrop of the Obermain Valley&amp;#8217;s iconic trio: the Basilica of Vierzehnheiligen, Banz Castle, and the Staffelberg.&lt;/p&gt;</content><category term="companynews"/></entry><entry><title>Can I completely disable all AI features?</title><link href="https://www.qftest.com/en/product/faq/test-generation-without-ai.html" rel="alternate"/><published>2026-09-21T00:00:00+02:00</published><updated>2026-09-21T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-09-21:/en/product/faq/test-generation-without-ai.html</id><summary type="html">&lt;p&gt;Yes, completely possible. There are three independent ways to disable AI features in QF-Test.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;em&gt;Option 1 - Configuration&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Don&amp;#8217;t add an LLM, don&amp;#8217;t enable the MCP server&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Don&amp;#8217;t create any entry in the &amp;#8220;LLM Configurations&amp;#8221; table and don&amp;#8217;t check the &amp;#8220;Enable embedded MCP server&amp;#8221; option. Without a configured language model, QF-Test won&amp;#8217;t make any AI requests.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Option 2 - System option&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Enable the &amp;#8220;Block AI features&amp;#8221; option&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The system option OPT_BLOCK_AI disables all functions that make LLM calls or provide AI interfaces in one go — regardless of any other settings.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Option 3 - Installation&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Remove AI libraries&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On Windows, AI features can be deselected during installation. On Linux and macOS, simply delete the files lib/langchain4j.jar and lib/mcp.jar from the installation directory.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;All three options take permanent effect and can be combined&lt;/strong&gt; — for example, in environments where a company policy prohibits the use of AI features entirely.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="/en/solutions/test-automation-basics/ai-testautomation.html"  class="button scroll-animated green chevron green"&gt;AI Test Automation with QF-Test&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;</content><category term="faqs"/><category term="faqai"/></entry><entry><title>Who ya gonna call? Auto-generate procedure calls for clean and maintainable tests</title><link href="https://www.qftest.com/en/support/videos/special-webinar-prec.html" rel="alternate"/><published>2026-09-16T00:00:00+02:00</published><updated>2026-09-16T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-09-16:/en/support/videos/special-webinar-prec.html</id><summary type="html">&lt;p&gt;In this webinar, we’ll show you how QF-Test 11 can recognize matching procedures from your library while recording sequences and automatically insert the corresponding calls.&lt;/p&gt;</summary><content type="html">&lt;p&gt;In this webinar, we’ll show you how QF-Test 11 can recognize matching procedures from your library while recording sequences and automatically insert the corresponding calls.&lt;/p&gt;
&lt;p&gt;You can also use the same mechanism to clean up existing test cases automatically and replace individual nodes with structured procedure calls. The result is cleaner tests and consistent reuse.&lt;/p&gt;
&lt;h2&gt;Transcript&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Daniel Rieth&lt;/strong&gt;, QF-Test Software Developer&lt;br /&gt;
&lt;strong&gt;Ute Erler&lt;/strong&gt;, QF-Test Software Developer and the person primarily responsible for the Procedure Recording feature&lt;/p&gt;
&lt;h3&gt;The Problem&lt;/h3&gt;
&lt;p&gt;When creating new tests, long sequences of mouse clicks, inputs, checks, and other QF-Test nodes are often created. At the same time, carefully designed procedures often already exist that take edge cases into account, ensure reliable test execution, and improve maintainability.&lt;/p&gt;
&lt;p&gt;In a distributed team, however, there is no guarantee that test authors know about and use these existing procedures. Without support, this therefore results in test cases that reproduce the same logic again as individual nodes.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Procedure Call Recording&lt;/strong&gt; solves this problem by automatically converting sequences of nodes into calls to existing procedures. This can be done both during recording and afterward through a conversion.&lt;/p&gt;
&lt;p&gt;The key advantage is that the existing procedures are actually used. As a result, changes to the underlying functionality only need to be made in the procedure rather than in every individual test.&lt;/p&gt;
&lt;h3&gt;How It Works&lt;/h3&gt;
&lt;p&gt;The feature essentially consists of three components:&lt;/p&gt;
&lt;h4&gt;Procedure Call Definition&lt;/h4&gt;
&lt;p&gt;The &lt;strong&gt;Procedure Call Definition&lt;/strong&gt; describes the characteristic actions of a procedure. It specifies which sequence of nodes should be recognized as a call to that procedure.&lt;/p&gt;
&lt;p&gt;The definition is described using YAML notation and can be configured in detail. This makes it possible to specify which nodes are expected, the order in which they must occur, which of them are optional, and under what conditions a node is considered a match.&lt;/p&gt;
&lt;h4&gt;Conversion Function&lt;/h4&gt;
&lt;p&gt;The &lt;strong&gt;Conversion Function&lt;/strong&gt; compares recorded or already existing sequences of nodes with the Procedure Call Definitions.&lt;/p&gt;
&lt;p&gt;When a matching definition is found, QF-Test replaces the corresponding individual nodes with a call to the defined procedure. For example, a sequence of mouse clicks and inputs becomes a single procedure call with the corresponding parameters.&lt;/p&gt;
&lt;h4&gt;Recording Log&lt;/h4&gt;
&lt;p&gt;The &lt;strong&gt;Recording Log&lt;/strong&gt; is particularly useful when creating and debugging Procedure Call Definitions. It shows which expected nodes were recognized and at which point a definition no longer matches the actual recording.&lt;/p&gt;
&lt;p&gt;This makes it possible to understand why a definition did not match and what adjustment is required.&lt;/p&gt;
&lt;h3&gt;Automatically Recognizing Simple Procedures&lt;/h3&gt;
&lt;p&gt;As an initial demonstration, an application for calculating property tax is used. It already contains procedures for opening and canceling the dialog for creating a business.&lt;/p&gt;
&lt;p&gt;A normal recording would only contain the corresponding mouse clicks. However, using &lt;strong&gt;More Node Operations → Record Nodes Again as Procedure Calls&lt;/strong&gt;, these nodes can subsequently be converted into calls to the existing procedures.&lt;/p&gt;
&lt;p&gt;The corresponding Procedure Call Definitions can be generated directly from the existing procedures. For short and unambiguous procedures, this automatic generation often works without any further adjustments.&lt;/p&gt;
&lt;p&gt;The demonstration also shows that procedure calls can already be created during recording. To do this, Procedure Call Recording is enabled. The recorded actions are then immediately checked against the existing Procedure Call Definitions.&lt;/p&gt;
&lt;h3&gt;Procedure Call Definitions and the Recording Log&lt;/h3&gt;
&lt;p&gt;An automatically generated definition describes, among other things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the associated procedure,&lt;/li&gt;
&lt;li&gt;its priority,&lt;/li&gt;
&lt;li&gt;the expected order of the nodes,&lt;/li&gt;
&lt;li&gt;the expected components and events,&lt;/li&gt;
&lt;li&gt;optional nodes, and&lt;/li&gt;
&lt;li&gt;procedure parameters, where applicable.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A simple definition can, for example, expect a mouse click on a specific button.&lt;/p&gt;
&lt;p&gt;More complex procedures can also be described. For example, if a button for discarding changes is optionally displayed after clicking a Cancel button, this second step can be defined as &lt;strong&gt;optional&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The Recording Log makes it visible how this definition is processed: first, the expected Cancel button must be found; afterward, the optional click on the button for discarding the changes can follow.&lt;/p&gt;
&lt;h3&gt;More Complex Definitions with Conditions and Placeholders&lt;/h3&gt;
&lt;p&gt;Not every automatically generated definition is immediately robust enough. A procedure for changing the language serves as an example.&lt;/p&gt;
&lt;p&gt;The UI contains two possible toggle buttons, one for German and one for English. The automatic generation initially recognizes these as possible alternatives and represents them as a &lt;strong&gt;Choice Group&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The demo shows, however, that the components actually used do not exactly match the automatically generated definitions. One reason is that the component&amp;#8217;s ID changes depending on the current state.&lt;/p&gt;
&lt;p&gt;The definition can therefore be refined. Instead of using only the ID, for example, the &lt;strong&gt;Class&lt;/strong&gt; of the component can be used. This allows the definition to initially recognize a Toggle Button in a more general way.&lt;/p&gt;
&lt;p&gt;For an even more precise distinction, &lt;strong&gt;Conditions&lt;/strong&gt; can be used. A Condition can, for example, check whether the ID of a component begins with specific text.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Placeholders&lt;/strong&gt; are used for this purpose. During recording, they provide concrete properties of the node currently being processed, such as the ID of a component. These values can be compared within a Condition or output as procedure parameters.&lt;/p&gt;
&lt;p&gt;This allows a definition to distinguish, for example, whether the German or English Toggle Button was used and accordingly generate &lt;code&gt;de&lt;/code&gt; or &lt;code&gt;en&lt;/code&gt; as the procedure parameter.&lt;/p&gt;
&lt;h3&gt;Automatically Recording Procedure Parameters&lt;/h3&gt;
&lt;p&gt;Procedure Call Definitions can not only recognize that a procedure was used; they can also take over the parameters used during recording.&lt;/p&gt;
&lt;p&gt;For this purpose, the &lt;strong&gt;Set Procedure Call Parameter&lt;/strong&gt; node is used. Recorded values can thus be automatically extracted from text or selection actions and passed on as parameters of the procedure call.&lt;/p&gt;
&lt;p&gt;This makes it possible, for example, to derive a language parameter from the component that was actually clicked.&lt;/p&gt;
&lt;h3&gt;The Different Groups&lt;/h3&gt;
&lt;p&gt;Expected nodes are organized into groups. Three groups are particularly relevant.&lt;/p&gt;
&lt;h4&gt;Sequential Group&lt;/h4&gt;
&lt;p&gt;A &lt;strong&gt;Sequential Group&lt;/strong&gt; expects its nodes in a specific order.&lt;/p&gt;
&lt;p&gt;For example, a definition can expect:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;a mouse click,&lt;/li&gt;
&lt;li&gt;a text input, and&lt;/li&gt;
&lt;li&gt;a check afterward.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The order is relevant. Repetitions can be defined for individual nodes. A node can also be marked as optional.&lt;/p&gt;
&lt;p&gt;An optional node essentially corresponds to a Repeat section that also permits zero occurrences.&lt;/p&gt;
&lt;h4&gt;Choice Group&lt;/h4&gt;
&lt;p&gt;A &lt;strong&gt;Choice Group&lt;/strong&gt; describes several possible alternatives. It is expected that one of the contained nodes or branches will occur.&lt;/p&gt;
&lt;p&gt;This is suitable, for example, for &lt;code&gt;if/else&lt;/code&gt; behavior. In the language-changing procedure, either the German or the English Toggle Button can be selected.&lt;/p&gt;
&lt;p&gt;Choice Groups can also contain repetitions and optional content.&lt;/p&gt;
&lt;h4&gt;Unsorted Group&lt;/h4&gt;
&lt;p&gt;An &lt;strong&gt;Unsorted Group&lt;/strong&gt; is suitable for multiple nodes whose order does not matter.&lt;/p&gt;
&lt;p&gt;A typical example is a form in which several text fields are filled in. For matching, it may be relevant that certain inputs occurred, while the order of those inputs should not be fixed.&lt;/p&gt;
&lt;p&gt;For individual nodes within a Sequential Group, a &lt;strong&gt;Repeat&lt;/strong&gt; can alternatively be used. An Unsorted Group is particularly useful when several different nodes should be recognized independently of their order.&lt;/p&gt;
&lt;h3&gt;Complex Procedure: “New Winery”&lt;/h3&gt;
&lt;p&gt;A more extensive demonstration uses the &lt;strong&gt;New Winery&lt;/strong&gt; procedure. It performs several actions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;entering data into various text fields,&lt;/li&gt;
&lt;li&gt;selecting a federal state,&lt;/li&gt;
&lt;li&gt;selecting a viticultural use,&lt;/li&gt;
&lt;li&gt;interacting with a table,&lt;/li&gt;
&lt;li&gt;entering a property-tax assessment rate,&lt;/li&gt;
&lt;li&gt;optionally opening the calculation scheme, and&lt;/li&gt;
&lt;li&gt;saving the new entry.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The automatically generated Procedure Call Definition does not initially work completely. The example shows how such a definition can be made more robust step by step.&lt;/p&gt;
&lt;h3&gt;Excluding Mouse Events from the Recording&lt;/h3&gt;
&lt;p&gt;A problem arises because a user may first click into a text field before entering text. However, the actual procedure does not require this mouse click.&lt;/p&gt;
&lt;p&gt;Instead of adding an optional mouse click to the definition for every individual text field, an &lt;strong&gt;Ignore Definition&lt;/strong&gt; can be used.&lt;/p&gt;
&lt;p&gt;Since QF-Test 11.0.2, the following option can be used directly:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Ignore the following nodes for procedure call recording&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This can be used, for example, to exclude Mouse Events on text fields from Procedure Call Recording. Specific clicks on a table can also be ignored in this way.&lt;/p&gt;
&lt;p&gt;As a result, the definition is independent of whether the user initially clicks into a field or navigates there using the keyboard, for example.&lt;/p&gt;
&lt;h3&gt;Ignoring Keyboard Events&lt;/h3&gt;
&lt;p&gt;The same principle can be applied to keyboard events. During manual input, for example, Tab, Enter, Backspace, or other keys may occur between the actual relevant actions.&lt;/p&gt;
&lt;p&gt;Such events can be excluded using an Ignore Definition. A &lt;strong&gt;Condition&lt;/strong&gt; can check the &lt;code&gt;&amp;lt;Keycode&amp;gt;&lt;/code&gt; of the event and ignore specific keycodes.&lt;/p&gt;
&lt;p&gt;This keeps the Procedure Call Definition focused on the actions that are relevant from a functional perspective, rather than making it dependent on the specific interactions of the test author.&lt;/p&gt;
&lt;h3&gt;Combining Multiple Text Inputs&lt;/h3&gt;
&lt;p&gt;A single logical text input can also consist of multiple Text Input Events during recording. This can happen, for example, when a user enters part of a text, deletes it, and then corrects it.&lt;/p&gt;
&lt;p&gt;One option is to define a &lt;strong&gt;Repeat&lt;/strong&gt; for the corresponding node. If several different nodes can occur independently of one another, an Unsorted Group is more suitable.&lt;/p&gt;
&lt;p&gt;When generating procedure parameters, multiple consecutive inputs can also be combined. If, for example, the values are concatenated without a separator, multiple recorded Text Inputs can once again produce the original parameter value.&lt;/p&gt;
&lt;h3&gt;Describing Nodes in Detail&lt;/h3&gt;
&lt;p&gt;The expected nodes can be described more precisely using numerous properties.&lt;/p&gt;
&lt;p&gt;For a mouse click, for example, properties of the event can be taken into account. Components can be identified using, among other things, the following characteristics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ID,&lt;/li&gt;
&lt;li&gt;Class,&lt;/li&gt;
&lt;li&gt;other component attributes, and&lt;/li&gt;
&lt;li&gt;Conditions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Key Events can also be described using their keycode.&lt;/p&gt;
&lt;p&gt;In addition, repetitions, optional nodes, and procedure parameters can be specified for individual definition elements.&lt;/p&gt;
&lt;p&gt;The YAML definition can be edited directly. The corresponding editing function helps ensure that the required structure and indentation are maintained correctly.&lt;/p&gt;
&lt;h3&gt;Using the Recording Log for Debugging&lt;/h3&gt;
&lt;p&gt;The Recording Log is not only relevant for actual recordings. It can also be used when subsequently converting existing sequences of nodes.&lt;/p&gt;
&lt;p&gt;If a Procedure Call Definition does not match, the log can be used to trace step by step which expected node was not recognized.&lt;/p&gt;
&lt;p&gt;The basic approach is to follow the definition in the log until reaching the point where the actual recording deviates from the expected structure. The definition can then be adjusted, for example, by using a different component description, a Condition, a Repeat, or an optional node.&lt;/p&gt;
&lt;h3&gt;Automatic Procedure Parameters for Complex Recordings&lt;/h3&gt;
&lt;p&gt;Parameters can also be automatically taken from the recording for longer procedures.&lt;/p&gt;
&lt;p&gt;In the &lt;strong&gt;New Winery&lt;/strong&gt; example, the business name, ownership area, and assessment rate, among other values, are taken from the corresponding inputs. Procedure Call Recording automatically creates these as parameters of the subsequent procedure call.&lt;/p&gt;
&lt;p&gt;This means that the test author does not have to manually enter the parameters into the generated procedure call afterward.&lt;/p&gt;
&lt;h3&gt;Outlook&lt;/h3&gt;
&lt;p&gt;The Procedure Call feature is intended to be expanded further. Two planned or currently developing integrations are particularly highlighted.&lt;/p&gt;
&lt;h4&gt;Integration with Keyword Driven Testing&lt;/h4&gt;
&lt;p&gt;Procedure Call Recording is intended to be integrated with &lt;strong&gt;Keyword Driven Testing&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;This will allow procedure calls to be displayed in a form that is easier for business departments to understand. Instead of displaying merely a procedure path with parameters, the test can, for example, be represented as freely formulated text or as a keyword-based action.&lt;/p&gt;
&lt;p&gt;The feature is particularly interesting for users who want to formulate tests more strongly at the business level. A beta version is already being used by customers.&lt;/p&gt;
&lt;h4&gt;Integration with AI&lt;/h4&gt;
&lt;p&gt;QF-Test&amp;#8217;s &lt;strong&gt;AI functions&lt;/strong&gt; are also intended to be connected with Procedure Call Recording.&lt;/p&gt;
&lt;p&gt;QF-Test can already generate tests using AI and use an &lt;strong&gt;AI Instruction Node&lt;/strong&gt; to execute actions with the UI. The goal is for such automatically generated actions to be mapped directly to existing procedures.&lt;/p&gt;
&lt;p&gt;This is intended to apply both to AI-generated test sets and to the recording of actions executed within an AI Instruction Node.&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Well-designed and robust Procedure Call Definitions help ensure that existing procedures are actually used in tests.&lt;/p&gt;
&lt;p&gt;Procedure Call Recording can be used both &lt;strong&gt;during recording&lt;/strong&gt; and &lt;strong&gt;subsequently during conversion&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Procedure Call Definitions can be generated automatically from existing procedures and then refined as needed. For more complex cases, the following mechanisms are available, among others:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sequential Groups,&lt;/li&gt;
&lt;li&gt;Choice Groups,&lt;/li&gt;
&lt;li&gt;Unsorted Groups,&lt;/li&gt;
&lt;li&gt;Conditions,&lt;/li&gt;
&lt;li&gt;Placeholders,&lt;/li&gt;
&lt;li&gt;optional nodes,&lt;/li&gt;
&lt;li&gt;Repeat sections,&lt;/li&gt;
&lt;li&gt;Ignore Definitions, and&lt;/li&gt;
&lt;li&gt;automatic procedure parameters.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more complex procedures, a certain amount of familiarity with the definition language is required. However, the available mechanisms make it possible to specify very precisely which recordings should be recognized as calls to a particular procedure.&lt;/p&gt;</content><category term="videos"/><category term="specialwebinars"/></entry><entry><title>How to run the QF-Test license server as a Windows service</title><link href="https://www.qftest.com/en/blog/article/qf-test-windows-license-server-service.html" rel="alternate"/><published>2026-09-14T00:00:00+02:00</published><updated>2026-09-14T00:00:00+02:00</updated><author><name>Mike Schmidt</name></author><id>tag:www.qftest.com,2026-09-14:/en/blog/article/qf-test-windows-license-server-service.html</id><summary type="html">&lt;p&gt;Running the QF-Test license server as a Windows service ensures predictable startup, resilience after reboots, and simple operations for both technical and non-technical stakeholders.&lt;/p&gt;</summary><content type="html">&lt;p&gt;QF-Test offers floating licenses to give you maximum flexibility at a low cost, but these are limited to sub-networks. That is why we provide the &lt;strong&gt;QF-Test license server&lt;/strong&gt;: it enables centralized license management across subnet boundaries &amp;ndash; even across different time zones &amp;ndash; so your teams can work seamlessly wherever they are.&lt;/p&gt;
&lt;p&gt;We strongly recommend &lt;strong&gt;running the QF-Test license server as a Windows service&lt;/strong&gt;. This ensures predictable startup, resilience after reboots, and simple operations for both technical and non-technical stakeholders.&lt;/p&gt;
&lt;h2&gt;What is a license server and why does it matter for test automation?&lt;/h2&gt;
&lt;p&gt;A license server manages shared licenses for software like QF-Test, enabling multiple users and systems to use the product without installing separate licenses on every machine. For test automation teams, this central control ensures:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Efficient use of concurrent licenses across QA engineers and CI systems&lt;/li&gt;
&lt;li&gt;Visibility and control for administrators&lt;/li&gt;
&lt;li&gt;Reduced friction for testers and developers who just need to run their tests&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Why run the QF-Test license server as a Windows service?&lt;/h2&gt;
&lt;p&gt;Running the QF-Test license server as a Windows service helps your Windows administration team ensure that the service starts automatically with the operating system, recovers after reboots, and can be monitored and controlled via standard Microsoft Windows tools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Automatic start and restart&lt;/strong&gt;: Ensures the service is always available after a reboot or patch cycle.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Standardized operations&lt;/strong&gt;: Start, stop, and monitor via the Windows Services console (&lt;code&gt;services.msc&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Centralized logging&lt;/strong&gt;: Find logs in one place for troubleshooting and auditing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Consistent behavior for CI/CD and distributed test automation&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Before you start: Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Administrator (elevated) rights on the Windows machine that will host the QF-Test license server&lt;/li&gt;
&lt;li&gt;Network access for clients to reach the license server&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Prepare the QF-Test license server&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Install QF-Test using the &lt;a href="https://services.qftest.com/en/download"&gt;official installer&lt;/a&gt;. Beyond the files in &lt;code&gt;C:\Program Files\QFS&lt;/code&gt;, the installer creates the folder &lt;code&gt;%PROGRAMDATA%\QFS\QF-Test&lt;/code&gt; and configures the required access rights for license server administration.&lt;/li&gt;
&lt;li&gt;Open the folder &lt;code&gt;%PROGRAMDATA%\QFS\QF-Test&lt;/code&gt; in Windows Explorer. Because &lt;code&gt;%PROGRAMDATA%&lt;/code&gt; is typically hidden, paste &lt;code&gt;%PROGRAMDATA%\QFS\QF-Test&lt;/code&gt; into the Explorer address bar. &lt;img alt="Windows Explorer showing the QFS folder path" src="/blog/resources/windows-license-server-explorer.png" /&gt;&lt;/li&gt;
&lt;li&gt;Copy the following license files into that folder:&lt;ul&gt;
&lt;li&gt;&lt;code&gt;license&lt;/code&gt; (client license file, no extension like .dat or .txt)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;license.server&lt;/code&gt; (server license file)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Verify access rights: The files and folder must grant read/write permissions to users who will administer the QF-Test license server. If you used the installer, these rights should already be inherited. If not, set them manually.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Set a secure password for the QF-Test license server&lt;/h2&gt;
&lt;p&gt;Setting a password is essential for two reasons:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Security&lt;/strong&gt;: Do not rely on the default password (&amp;#8220;secret&amp;#8221;).&lt;br /&gt;
&lt;strong&gt;Initialization&lt;/strong&gt;: Explicitly setting the password creates the &lt;code&gt;passwd&lt;/code&gt; file used by the license server.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;In &lt;code&gt;%PROGRAMDATA%\QFS\QF-Test&lt;/code&gt;, open the Windows Terminal (PowerShell) by right-clicking in the Explorer window&amp;#8217;s white area and selecting the terminal option. &lt;img alt="Windows Explorer context menu showing terminal option" src="/blog/resources/windows-license-server-terminal.png" /&gt;&lt;/li&gt;
&lt;li&gt;After opening the Terminal, a PowerShell prompt appears.&lt;/li&gt;
&lt;li&gt;Run the following command (PowerShell syntax), replacing &lt;code&gt;your_password&lt;/code&gt; with a strong password:&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;qftestc --userdir=&amp;quot;$env:ProgramData\QFS\QF-Test&amp;quot; -batch -licenseserver -licenseserverSetpwd admin=your_password
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;After a few seconds, you should see a confirmation and the &lt;code&gt;passwd&lt;/code&gt; file should appear in the folder. If the command fails, it is most likely due to insufficient permissions for &lt;code&gt;%PROGRAMDATA%\QFS\QF-Test&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;Install the QF-Test license server as a Windows service (&lt;code&gt;winsw&lt;/code&gt;)&lt;/h2&gt;
&lt;p&gt;The QF-Test license server is not a native Windows service. To run it as one, you use a &lt;em&gt;service wrapper&lt;/em&gt;. The approach described here uses &lt;code&gt;winsw&lt;/code&gt; (a third-party Windows service wrapper). If your organization prefers a different wrapper, you can adapt the configuration accordingly. Capabilities vary by wrapper tool.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We are not the authors of &lt;code&gt;winsw&lt;/code&gt;. If there are any issues with this tool, we cannot provide support beyond this documentation. For details about &lt;code&gt;winsw&lt;/code&gt;, visit its &lt;a href="https://github.com/kohsuke/winsw"&gt;GitHub page&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="/blog/resources/qftest-license-service.zip"&gt;Download the prepared Service wrapper package &lt;code&gt;qftest-license-service.zip&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Copy &lt;code&gt;qftest-license-service.zip&lt;/code&gt; to &lt;code&gt;%PROGRAMDATA%\QFS\QF-Test&lt;/code&gt; and extract it. This creates a &lt;code&gt;service&lt;/code&gt; subfolder: &lt;code&gt;%PROGRAMDATA%\QFS\QF-Test\service&lt;/code&gt;.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Open PowerShell and change into the &amp;#8220;service&amp;#8221; folder:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Set-Location service&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;or: &lt;code&gt;cd service&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The folder contains a preconfigured &lt;code&gt;winsw&lt;/code&gt; setup:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;QF-TestLicenseServer.NET4.xml&lt;/code&gt; (&lt;code&gt;winsw&lt;/code&gt; configuration)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;QF-TestLicenseServer.NET4.exe&lt;/code&gt; (&lt;code&gt;winsw.exe&lt;/code&gt; renamed for clarity)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;installService.ps1&lt;/code&gt; (PowerShell script to install the service)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run the script:
   &lt;code&gt;.\installService.ps1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;If you see an error that script execution is disabled, bypass it for this command only:
 &lt;code&gt;PowerShell -ExecutionPolicy Bypass .\installService.ps1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;If your company policy blocks execution policy overrides, ask your administrator to enable third-party PowerShell scripts for your user or machine.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;During installation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A Windows UAC prompt should request admin approval. Click &amp;#8220;Yes&amp;#8221;.&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;cmd.exe&lt;/code&gt; window may appear during the process.&lt;/li&gt;
&lt;li&gt;After completion: You should see a confirmation that the QF-Test license server is installed as a Windows service.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="Command output showing successful service installation" src="/blog/resources/windows-license-server-install.png" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Verify, operate, and maintain the service&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Verify&lt;/strong&gt;: Open the Windows Services console (&lt;code&gt;services.msc&lt;/code&gt;) and look for &amp;#8220;QF-Test License Server&amp;#8221;. Use the context menu to start, stop, or restart the service. &lt;img alt="Windows Services console showing QF-Test License Server" src="/blog/resources/windows-license-server-services.png" /&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logs&lt;/strong&gt;: &lt;code&gt;%PROGRAMDATA%\QFS\QF-Test\log&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Additional scripts&lt;/strong&gt;: &lt;code&gt;%PROGRAMDATA%\QFS\QF-Test&lt;/code&gt; includes PowerShell scripts to start, stop, or uninstall the service.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Firewall&lt;/strong&gt;: On first use of QF-Test, you may see a Windows Firewall dialog asking to allow the Java runtime (installed with QF-Test) to access your network. Allow this so clients can connect to your QF-Test license server.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Documentation&lt;/strong&gt;: For advanced administration, consult the &lt;a href="https://www.qftest.com/doc/lsmanual/en/lsmanual.html"&gt;QF-Test license server manual&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;Troubleshooting tips for Microsoft Windows environments&lt;/h2&gt;
&lt;h3&gt;No UAC prompt appears&lt;/h3&gt;
&lt;p&gt;Your system may enforce stricter User Account Control settings. Contact your administrator to proceed with service installation.&lt;/p&gt;
&lt;h3&gt;&amp;#8220;Script execution is disabled&amp;#8221;&lt;/h3&gt;
&lt;p&gt;Use &lt;code&gt;PowerShell -ExecutionPolicy Bypass .\installService.ps1&lt;/code&gt; for a one-off run. If this is blocked by policy, ask your administrator to enable third-party PowerShell scripts for your user or machine.&lt;/p&gt;
&lt;h3&gt;Cannot set or change the password&lt;/h3&gt;
&lt;p&gt;Check permissions on &lt;code&gt;%PROGRAMDATA%\QFS\QF-Test&lt;/code&gt; and ensure your account has read/write access.&lt;/p&gt;
&lt;h3&gt;Service starts before networking is available&lt;/h3&gt;
&lt;p&gt;The &lt;code&gt;winsw&lt;/code&gt; configuration includes basic dependency handling so the service only starts when a network is attached. If using another wrapper, ensure equivalent behavior.&lt;/p&gt;
&lt;h3&gt;I prefer a different service wrapper&lt;/h3&gt;
&lt;p&gt;You can replace &lt;code&gt;winsw&lt;/code&gt; with a wrapper of your choice. Adapt the configuration accordingly and ensure start/restart/stop and network dependency handling are covered.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Practical checklist for QF-Test in Windows-based test automation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Install QF-Test via &lt;a href="(https://services.qftest.com/en/download)"&gt;the official installer&lt;/a&gt; to preconfigure &lt;code&gt;%PROGRAMDATA%\QFS\QF-Test&lt;/code&gt; with correct permissions.&lt;/li&gt;
&lt;li&gt;Place &lt;code&gt;license&lt;/code&gt; and &lt;code&gt;license.server&lt;/code&gt; into &lt;code&gt;%PROGRAMDATA%\QFS\QF-Test&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Set the admin password using qftestc and confirm the &lt;code&gt;passwd&lt;/code&gt; file is created.&lt;/li&gt;
&lt;li&gt;Download and extract &lt;code&gt;qftest-license-service.zip&lt;/code&gt; to create the &amp;#8220;service&amp;#8221; subfolder and run &lt;code&gt;installService.ps1&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Approve the UAC prompt, then verify the &amp;#8220;QF-Test License Server&amp;#8221; in services.msc.&lt;/li&gt;
&lt;li&gt;Allow the Windows Firewall prompt for the Java runtime bundled with QF-Test.&lt;/li&gt;
&lt;li&gt;Use &lt;code&gt;%PROGRAMDATA%\QFS\QF-Test\log&lt;/code&gt; for diagnostics and the included PowerShell scripts for service lifecycle tasks.&lt;/li&gt;
&lt;/ul&gt;</content><category term="blog"/><category term="license"/><category term="how-to"/></entry><entry><title>QF-Test 11.0.2 available</title><link href="https://www.qftest.com/en/company/news/qf-test-11-0-2-available.html" rel="alternate"/><published>2026-09-09T00:00:00+02:00</published><updated>2026-09-09T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-09-09:/en/company/news/qf-test-11-0-2-available.html</id><summary type="html">&lt;p&gt;QF-Test 11.0.2 is primarily a security release, lifting the integrated JRE to Temurin OpenJDK 25.0.4.1 along with updates of Groovy, langchain4j, mcp, cdp4j, undertow and others. It also adds support for Eclipse/SWT 4.41 alias &amp;#8220;2026-09&amp;#8221; and improves MCP integration with a new tools …&lt;/p&gt;</summary><content type="html">&lt;p&gt;QF-Test 11.0.2 is primarily a security release, lifting the integrated JRE to Temurin OpenJDK 25.0.4.1 along with updates of Groovy, langchain4j, mcp, cdp4j, undertow and others. It also adds support for Eclipse/SWT 4.41 alias &amp;#8220;2026-09&amp;#8221; and improves MCP integration with a new tools overview page accessible from the options dialog. Procedure call recording has been enhanced in several ways.&lt;/p&gt;</content><category term="news"/></entry><entry><title>QF-Test special webinar on September 14, 2026 &amp; security release QF-Test 11.0.2</title><link href="https://www.qftest.com/en/company/news/newsletters/qf-test-special-webinar-on-september-14-2026-security-release-qf-test-1102.html" rel="alternate"/><published>2026-09-09T00:00:00+02:00</published><updated>2026-09-09T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-09-09:/en/company/news/newsletters/qf-test-special-webinar-on-september-14-2026-security-release-qf-test-1102.html</id><summary type="html">&lt;p&gt;Who ya gonna call? Banish the ghosts from your tests with auto-generated procedure calls – register now for free.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hello dear QF-Test users!&lt;/p&gt;
&lt;p&gt;Our next QF-Test Special Webinar is just around the corner – September 14, 2026:&lt;/p&gt;
&lt;p&gt;👻 &lt;strong&gt;Who ya gonna call? Auto-generate procedure calls for clean and maintainable tests&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Messy test cases haunting your code? Duplicate nodes lurking around every corner? QF-Test 11 is on the case. 🔦 No proton pack required. Just the brand new QF-Test 11.0.2 release. &lt;a href="https://register.gotowebinar.com/register/1990040636970334813"&gt;Register for free&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Good tests need a solid foundation: &lt;strong&gt;QF-Test 11.0.2&lt;/strong&gt; is primarily a &lt;strong&gt;security release&lt;/strong&gt;, lifting the integrated JRE to Temurin OpenJDK 25.0.4.1. It also adds support for Eclipse/SWT 4.41 alias &amp;#8220;2026-09&amp;#8221; and enhances procedure call recording in several ways. Update recommended! &lt;/p&gt;
&lt;p&gt;Best regards,  &lt;/p&gt;
&lt;p&gt;your QFS team&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;Next QF-Test special webinar&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://register.gotowebinar.com/register/8554195423537254230"&gt;&lt;img alt="" src="/newsletters/resources/special-webinar-procedure-call-record-de.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;September 14, 2026, 3:30 PM (CEST) Who ya gonna call? Auto-generate procedure calls for clean and maintainable tests&lt;/h3&gt;
&lt;p&gt;In this webinar, we’ll show you how QF-Test 11 can recognize matching procedures from your library while recording sequences and automatically insert the corresponding calls. You can also use the same mechanism to clean up existing test cases automatically and replace individual nodes with structured procedure calls. The result is cleaner tests and consistent reuse.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/support/schulung-beratung/webinare.html"&gt;Alternative date&lt;/a&gt;: Webinar in German on September 14, 2026, at 10:30 AM&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://register.gotowebinar.com/register/8554195423537254230"  class="button scroll-animated green chevron"&gt;Sign up for free to webinar&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;h2&gt;Download QF-Test&lt;/h2&gt;
&lt;h3&gt;Are you already using the latest version of QF-Test?&lt;/h3&gt;
&lt;p&gt;QF-Test 11.0.2 is primarily a security release, lifting the integrated JRE to Temurin OpenJDK 25.0.4.1 along with updates of Groovy, langchain4j, mcp, cdp4j, undertow and others. It also adds support for Eclipse/SWT 4.41 alias &amp;#8220;2026-09&amp;#8221; and improves MCP integration with a new tools overview page accessible from the options dialog. Procedure call recording has been enhanced in several ways.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://services.qftest.com/en/download/"&gt;&lt;img alt="Download QF-Test" src="/newsletters/resources/2025-09-25_Download-Thick-Bottom--Streamline-Streamline-3.0.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/download/"  class="button scroll-animated green chevron"&gt;Download QF-Test 11.0.2&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;To the &lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Watch the &lt;a href="https://www.qftest.com/en/support/videos/qftest-version-11-highlights.html"&gt;Release video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Available since 2026-09-09&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;Events in 2026&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://events.summit-community.de/event/tacon-2026/test+connect/"&gt;&lt;img alt="Tacon Meetup" src="/newsletters/resources/tacon-test-connect-meetup-en.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Quality is NOW – Networking Around Quality Engineering, Leipzig, September 15, 2026&lt;/h3&gt;
&lt;p&gt;QF-Test is sponsoring the German Testing Board meetup on the eve of Tacon in Leipzig – featuring a keynote by Lilia Gargouri (Head of QA | mgm technology partners), a World Café session, and discussions on AI and test automation. Admission is free, but space is limited – register now!  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://events.summit-community.de/event/tacon-2026/test+connect/"&gt;To the meetup&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;QF-Test Basics: training courses via webinar&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/support/training-consulting/training.html"&gt;&lt;img alt="Basic Training QF-Test" src="/newsletters/resources/QF-Test_OnlineSchulung.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;➡️ September 21–24, 2026 in German&lt;/h3&gt;
&lt;h3&gt;📆 October 5-8, 2026 in English&lt;/h3&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://www.qftest.com/en/support/training-consulting/training.html"  class="button scroll-animated green chevron"&gt;More about the training courses&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;4 days, 2 × 2.5 hours each&lt;/li&gt;
&lt;li&gt;Effective and rapid knowledge transfer&lt;/li&gt;
&lt;li&gt;Small groups up to 8 participants&lt;/li&gt;
&lt;li&gt;You can interact with the trainers and ask questions at any time.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;Individual QF-Test company trainings&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/support/training-consulting/training.html#consulting"&gt;&lt;img alt="Individual QF-Test Training" src="/newsletters/resources/2025-10_OnlineSchulung-Ort.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Would you like a training course which is individually tailored to your company? Just send us an email to &lt;a href="mailto:service@qftest.com"&gt;service@qftest.com&lt;/a&gt;.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/support/contact/?comment=Request%20individual%20training"  class="button scroll-animated green chevron"&gt;Ask our service team for a quote&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;p&gt;&lt;a href="https://www.qs-tag.de/en/abstracts/no-api-no-problem-ki-testautomatisierung-fuer-die-gesamte-softwarelandschaft"&gt;&lt;img alt="QS-Tag Logo" src="/newsletters/resources/qs-tag-logo.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;QS-Tag November 11-12, 2026&lt;/h3&gt;
&lt;p&gt;QF-Test will be represented at the QS-Tag in Frankfurt am Main with both a booth and a talk. Thomas Max, Senior Software Engineer and Advanced Trainer at QF-Test, will demonstrate how AI agents use MCP to autonomously explore even legacy systems and generate reusable test cases from them – including an honest look at security issues such as prompt injection. Feel free to stop by.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://www.qs-tag.de/en/abstracts/no-api-no-problem-ki-testautomatisierung-fuer-die-gesamte-softwarelandschaft"&gt;To QS-Tag&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;From our YouTube Channel&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/support/videos/special-webinar-mcp.html"&gt;&lt;img alt="QF-Test video" src="/newsletters/resources/special-webinar-agentic-ai-en.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;AI agents in action: autonomous test generation and MCP with QF-Test 11&lt;/h3&gt;
&lt;p&gt;In the recording of our webinar, we’ll show how QF-Test 11 integrates AI directly into your everyday testing workflow. From AI instructions in individual test steps to automatically generating comprehensive test cases.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://www.qftest.com/en/support/videos/special-webinar-mcp.html"&gt;Watch the video now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visit our &lt;a href="https://www.youtube.com/@qftest"&gt;YouTube channel&lt;/a&gt; to subscribe and follow us on &lt;a href="https://www.linkedin.com/company/quality-first-software-gmbh-qfs"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;</content><category term="newsletters"/></entry><entry><title>AI agents in action: autonomous test generation and MCP with QF-Test 11</title><link href="https://www.qftest.com/en/support/videos/special-webinar-mcp.html" rel="alternate"/><published>2026-08-17T00:00:00+02:00</published><updated>2026-08-17T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-08-17:/en/support/videos/special-webinar-mcp.html</id><summary type="html">&lt;p&gt;In this webinar, we&amp;#8217;ll show you how QF-Test 11 integrates AI directly into your everyday testing workflow. From AI instructions in individual test steps to automatically generating comprehensive test cases.&lt;/p&gt;</summary><content type="html">&lt;p&gt;In this webinar, we&amp;#8217;ll show you how QF-Test 11 integrates AI directly into your everyday testing workflow. From AI instructions in individual test steps to automatically generating comprehensive test cases.&lt;/p&gt;
&lt;p&gt;We&amp;#8217;ll also demonstrate how to connect QF-Test to external AI agents like Claude Code or GitHub Copilot via the new MCP server, making any application ready for agentic workflows.&lt;/p&gt;
&lt;h2&gt;Materialien&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/videos/resources/2026-08-special-webinar-mcp-presentation-en.pdf"&gt;Presentation (&lt;code&gt;.pdf&lt;/code&gt;)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/videos/resources/2026-08-special-webinar-mcp-demos.zip"&gt;Demo suites (&lt;code&gt;.zip&lt;/code&gt;)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;h3&gt;AI in QF-Test&lt;/h3&gt;
&lt;p&gt;QF-Test supports &lt;strong&gt;test data generation&lt;/strong&gt;, &lt;strong&gt;test suite generation&lt;/strong&gt;, and &lt;strong&gt;AI instructions&lt;/strong&gt;, among other things. The approach follows the &lt;em&gt;Bring Your Own Model&lt;/em&gt; principle: companies can choose which AI model they want to use. This allows them, for example, to retain control over their data by using internal or self-hosted models. Costs can also be adjusted by choosing the appropriate model.&lt;/p&gt;
&lt;h4&gt;Connecting AI models&lt;/h4&gt;
&lt;p&gt;The talk begins by setting up AI support in QF-Test. CLI tools can also be integrated, with many configuration values being determined automatically.&lt;/p&gt;
&lt;h4&gt;AI test data generation&lt;/h4&gt;
&lt;p&gt;AI data generation provides a first simple way to verify that the AI configuration is working. QF-Test generates test data, such as a table, based on both a user prompt and a predefined system prompt.&lt;/p&gt;
&lt;p&gt;The prompts used for generation can be inspected and customized. For example, the user can specify that generated data should be French wherever possible.&lt;/p&gt;
&lt;h4&gt;AI suite generation&lt;/h4&gt;
&lt;p&gt;AI suite generation creates a test design from a natural-language description. The user&amp;#8217;s prompt is combined with a predefined system prompt.&lt;/p&gt;
&lt;p&gt;As an example, the AI is asked to generate tests for a Swing application:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Generate tests to test the functionality of the 5% discount button. Stay in the &amp;#8220;Vehicles&amp;#8221; tab and don&amp;#8217;t open any dialogs via the menu.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;QF-Test generates, among other things, a test description and a test plan. Wherever possible, generated steps should be converted into regular QF-Test nodes, with AI optionally serving as a fallback.&lt;/p&gt;
&lt;h4&gt;AI instructions&lt;/h4&gt;
&lt;p&gt;AI instructions allow QF-Test to perform tasks during test execution using natural language, for example:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Open the application&amp;#8217;s Info dialog.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;These instructions make use of &lt;strong&gt;internal MCP tools&lt;/strong&gt;. The execution and the tools used can be inspected in the QF-Test log.&lt;/p&gt;
&lt;h3&gt;QF-Test as a tool for AI: MCP&lt;/h3&gt;
&lt;p&gt;The second major topic is the reverse direction: not only can QF-Test use AI, &lt;strong&gt;AI applications can also access QF-Test functionality&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;QF-Test exposes capabilities such as component recognition and UI control through &lt;strong&gt;MCP (Model Context Protocol)&lt;/strong&gt;. QF-Test effectively provides a toolkit for defining custom MCP tools for virtually any application and making those tools available to an AI.&lt;/p&gt;
&lt;h4&gt;Example: Chess&lt;/h4&gt;
&lt;p&gt;A simple chess application demonstrates how QF-Test and AI can be combined. The chessboard itself has no game logic, but QF-Test can move the pieces.&lt;/p&gt;
&lt;p&gt;First, the AI is allowed to play several moves. The current position can then be sent to an external API, which calculates the next move. QF-Test receives the result and executes the move. While this works, directly controlling the game through AI can be relatively token-intensive.&lt;/p&gt;
&lt;p&gt;The next step is to expose existing QF-Test procedures as MCP tools. Functions for moving a piece, calculating the next move, starting the chess application, and resetting the board are turned into explicitly described tools.&lt;/p&gt;
&lt;p&gt;This allows an external AI to call these functions directly and decide, for example, when to calculate a new move or move a piece.&lt;/p&gt;
&lt;h4&gt;Defining custom MCP tools&lt;/h4&gt;
&lt;p&gt;Custom tools can be defined directly in QF-Test. Procedures are annotated with MCP-specific metadata and documented with descriptions, parameters, and return values.&lt;/p&gt;
&lt;p&gt;The resulting MCP suite can then be integrated into QF-Test. An AI application such as Claude can access the tools through the MCP server and use them during a conversation.&lt;/p&gt;
&lt;h3&gt;Example: Windows Calculator&lt;/h3&gt;
&lt;p&gt;Finally, the concept is applied to a different application. A normal QF-Test sequence is first recorded for the Windows Calculator:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Enter a number&lt;/li&gt;
&lt;li&gt;Press plus&lt;/li&gt;
&lt;li&gt;Enter a second number&lt;/li&gt;
&lt;li&gt;Press equals&lt;/li&gt;
&lt;li&gt;Read the result&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This functionality is then exposed as an MCP tool. An AI can use the QF-Test calculator tool, for example, to add two single-digit numbers and return the result.&lt;/p&gt;
&lt;p&gt;An intentionally incorrect expected result can then be used to demonstrate how QF-Test detects and logs the resulting error.&lt;/p&gt;
&lt;p&gt;The MCP server can be operated not only interactively, but also in &lt;strong&gt;batch mode&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;QF-Test 11 connects AI and automated testing in both directions: AI can assist within QF-Test with generating test data, test suites, and test steps. At the same time, QF-Test can expose its capabilities through MCP as a set of tools for external AI applications.&lt;/p&gt;
&lt;p&gt;This makes it possible to use existing QF-Test functionality to enable AI-driven interaction with virtually any application.&lt;/p&gt;</content><category term="videos"/><category term="specialwebinars"/></entry><entry><title>QF-Test 11.0.1 available</title><link href="https://www.qftest.com/en/company/news/qf-test-11-0-1-available.html" rel="alternate"/><published>2026-08-13T00:00:00+02:00</published><updated>2026-08-13T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-08-13:/en/company/news/qf-test-11-0-1-available.html</id><content type="html">&lt;p&gt;QF-Test 11.0.1 improves on the AI and recording features introduced in QF-Test 11.0. It includes security updates, lifts the integrated JRE to Temurin OpenJDK 25.0.4, and adds support for Electron 43. Checks on list items are now also supported on Android and iOS.&lt;/p&gt;</content><category term="news"/></entry><entry><title>QF-Test 11.0.1 and special webinar on August 17, 2026, regarding AI agents and MCP</title><link href="https://www.qftest.com/en/company/news/newsletters/qf-test-1101-and-special-webinar-on-august-17-2026-regarding-ai-agents-and-mcp.html" rel="alternate"/><published>2026-08-13T00:00:00+02:00</published><updated>2026-08-13T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-08-13:/en/company/news/newsletters/qf-test-1101-and-special-webinar-on-august-17-2026-regarding-ai-agents-and-mcp.html</id><summary type="html">&lt;p&gt;How AI and MCP servers take your tests to the next level. Sign up for free now.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hello dear QF-Test users!&lt;/p&gt;
&lt;p&gt;Test automation is going through a real transformation – and QF-Test is right at the heart of it. With Version 11, we&amp;#8217;ve woven AI directly into your everyday testing workflow: from smart AI instructions in individual test steps to the automatic generation of entire test cases. And with the new MCP server, we&amp;#8217;re opening QF-Test up to the world of AI agents – whether that&amp;#8217;s Claude Code, GitHub Copilot, or other tools.&lt;/p&gt;
&lt;p&gt;Want to see it in action? Join us live at our &lt;strong&gt;special webinar on August 17, 2026&lt;/strong&gt; – free to attend and hands-on from the start.&lt;/p&gt;
&lt;p&gt;We&amp;#8217;ve also just released &lt;strong&gt;QF-Test 11.0.1&lt;/strong&gt;, a maintenance release packed with a handful of helpful improvements.&lt;/p&gt;
&lt;p&gt;By the way, our next &lt;strong&gt;QF-Test basic training&lt;/strong&gt; is taking place in September – and there are still spots available!Best regards,&lt;br /&gt;
your QF-Test team&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;Next QF-Test special webinar&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://register.gotowebinar.com/register/1584065759535593557"&gt;&lt;img alt="Anmeldung QF-Test Spezialwebinar" src="/newsletters/resources/special-webinar-agentic-ai-en.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;August 17, 2026, 3:30 PM (CEST) AI Agents in action: autonomous test generation and MCP with QF-Test 11&lt;/h3&gt;
&lt;p&gt;In this webinar, we&amp;#8217;ll show you how QF-Test 11 integrates AI directly into your everyday testing workflow: from AI instructions in individual test steps to automatically generating comprehensive test cases. We&amp;#8217;ll also demonstrate how to connect QF-Test to external AI agents like Claude Code or GitHub Copilot via the new MCP server, making any application ready for agentic workflows.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/support/schulung-beratung/webinare.html"&gt;Alternative date&lt;/a&gt;: Webinar in German on August 17, 2026, at 10:30 AM&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://register.gotowebinar.com/register/1584065759535593557"  class="button scroll-animated green chevron"&gt;Sign up for free webinar&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;h2&gt;Download QF-Test&lt;/h2&gt;
&lt;h3&gt;Are you already using the latest version of QF-Test?&lt;/h3&gt;
&lt;p&gt;QF-Test 11.0.1 improves on the AI and recording features introduced in QF-Test 11.0. It includes security updates, lifts the integrated JRE to Temurin OpenJDK 25.0.4, and adds support for Electron 43. Checks on list items are now also supported on Android and iOS.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://services.qftest.com/en/download/"&gt;&lt;img alt="Download QF-Test" src="/newsletters/resources/2025-09-25_Download-Thick-Bottom--Streamline-Streamline-3.0.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/download/"  class="button scroll-animated green chevron"&gt;Download QF-Test 11.0.1&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;To the &lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Watch the &lt;a href="https://www.qftest.com/en/support/videos/qftest-version-11-highlights.html"&gt;Release Video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Available from 2026-08-12&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;Events in 2026&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://events.summit-community.de/event/tacon-2026/test+connect/"&gt;&lt;img alt="" src="/newsletters/resources/tacon-test-connect-meetup-en.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Quality is NOW – Networking Around Quality Engineering, Leipzig, September 15, 2026&lt;/h3&gt;
&lt;p&gt;QF-Test is sponsoring the German Testing Board meetup on the eve of Tacon in Leipzig – featuring a keynote by Lilia Gargouri (Head of QA | mgm technology partners), a World Café session, and discussions on AI and test automation. Admission is free, but space is limited – register now!&lt;br /&gt;
➜ &lt;a href="https://events.summit-community.de/event/tacon-2026/test+connect/"&gt;To the meetup&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;QF-Test Basics: training courses via webinar&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/support/training-consulting/training.html"&gt;&lt;img alt="Basic Training QF-Test" src="/newsletters/resources/QF-Test_OnlineSchulung.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;📆 September 21–24, 2026 in German&lt;/h3&gt;
&lt;h3&gt;📆 October 5–8, 2026 in English&lt;/h3&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://www.qftest.com/en/support/training-consulting/training.html"  class="button scroll-animated green chevron"&gt;More about the training courses&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;4 days, 2 × 2.5 hours each&lt;/li&gt;
&lt;li&gt;Effective and rapid knowledge transfer&lt;/li&gt;
&lt;li&gt;Small groups up to 8 participants&lt;/li&gt;
&lt;li&gt;You can interact with the trainers and ask questions at any time.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;Individual QF-Test company trainings&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/support/training-consulting/training.html#consulting"&gt;&lt;img alt="Individual QF-Test Training" src="/newsletters/resources/2025-10_OnlineSchulung-Ort.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Would you like a training course that is individually tailored to your company? Just send us an email to &lt;a href="mailto:service@qftest.com"&gt;service@qftest.com&lt;/a&gt;.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/support/contact/?comment=Request+individual+training&amp;type=consulting"  class="button scroll-animated green chevron"&gt;Ask our service team for a quote&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;p&gt;&lt;a href="https://www.qs-tag.de/en/abstracts/no-api-no-problem-ki-testautomatisierung-fuer-die-gesamte-softwarelandschaft"&gt;&lt;img alt="Software QS-Tag" src="/newsletters/resources/qs-tag-logo.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;QS-Tag November 11-12, 2026&lt;/h3&gt;
&lt;p&gt;QF-Test will be represented at the QS-Tag in Frankfurt am Main with both a booth and a talk. Thomas Max, Senior Software Engineer and Advanced Trainer at QF-Test, will demonstrate how AI agents use MCP to autonomously explore even legacy systems and generate reusable test cases from them – including an honest look at security issues such as prompt injection. Feel free to stop by.&lt;br /&gt;
➜ &lt;a href="https://www.qs-tag.de/en/abstracts/no-api-no-problem-ki-testautomatisierung-fuer-die-gesamte-softwarelandschaft"&gt;To QS-Tag&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;From our YouTube channel&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/support/videos/qftest-version-11-highlights.html"&gt;&lt;img alt="Release video QF-Test 11" src="/newsletters/resources/qf-test-version-11-en.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Release video QF-Test 11&lt;/h3&gt;
&lt;p&gt;In this video, we&amp;#8217;ll show you how QF-Test 11 takes your test automation to the next level with powerful AI features.&lt;br /&gt;
➜ &lt;a href="https://www.qftest.com/en/support/videos/qftest-version-11-highlights.html"&gt;Watch the video now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visit our &lt;a href="https://www.youtube.com/@qftest"&gt;YouTube channel&lt;/a&gt; to subscribe and follow us on &lt;a href="https://www.linkedin.com/company/quality-first-software-gmbh-qfs"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;</content><category term="newsletters"/></entry><entry><title>AI agents in action – autonomous test generation and MCP with QF-Test 11</title><link href="https://www.qftest.com/en/company/news/special-webinar-ki-features-august-17.html" rel="alternate"/><published>2026-08-12T00:00:00+02:00</published><updated>2026-08-12T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-08-12:/en/company/news/special-webinar-ki-features-august-17.html</id><summary type="html">&lt;p&gt;We are pleased to invite you to our next free special webinar&lt;/p&gt;</summary><content type="html">&lt;p&gt;We are pleased to invite you to our next free special webinar:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;#8220;AI agents in action &amp;ndash; autonomous test generation and MCP with QF-Test 11&amp;#8221;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Monday, August 17, 2026, 3:30 PM – 4:30 PM CEST&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;In this webinar, we’ll show you how QF-Test 11 integrates AI directly into your everyday testing workflow. From AI instructions in individual test steps to automatically generating comprehensive test cases. We’ll also demonstrate how to connect QF-Test to external AI agents like Claude Code or GitHub Copilot via the new MCP server, making any application ready for agentic workflows.&lt;/p&gt;
&lt;p&gt;Sign up now!&lt;/p&gt;</content><category term="news"/></entry><entry><title>QF-Test 11 available</title><link href="https://www.qftest.com/en/company/news/qf-test-11-available.html" rel="alternate"/><published>2026-07-29T00:00:00+02:00</published><updated>2026-07-29T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-07-29:/en/company/news/qf-test-11-available.html</id><summary type="html">&lt;p&gt;With QF-Test 11, you can generate test cases using AI assistance, embed AI instructions directly into test runs, and make your applications MCP-ready&lt;/p&gt;</summary><content type="html">&lt;p&gt;AI can fundamentally speed up and streamline test automation workflows. That&amp;#8217;s why QF-Test 11 focuses on AI –  with full control over which models have access to your data.&lt;/p&gt;
&lt;p&gt;With this version, you can generate test cases using AI assistance, embed AI instructions directly into test runs, and make your applications MCP-ready.&lt;/p&gt;
&lt;p&gt;This release also introduces powerful new features, such as the new function for recording procedure calls, for more robust, efficient, and enjoyable software quality assurance with QF-Test. You can find more details in this newsletter.  &lt;/p&gt;</content><category term="news"/></entry><entry><title>QF-Test 11 now available: Generate test cases with AI – securely and efficiently</title><link href="https://www.qftest.com/en/company/news/newsletters/2026-07-qf-test-11-available.html" rel="alternate"/><published>2026-07-29T00:00:00+02:00</published><updated>2026-07-29T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-07-29:/en/company/news/newsletters/2026-07-qf-test-11-available.html</id><summary type="html">&lt;p&gt;Create test cases with QF-Test and AI, MCP integration, and new procedure call recording – explore now.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hello dear QF-Test users!&lt;/p&gt;
&lt;p&gt;AI can fundamentally speed up and streamline test automation workflows. That&amp;#8217;s why &lt;strong&gt;QF-Test 11 focuses on AI&lt;/strong&gt; –  with full control over which models have access to your data.&lt;/p&gt;
&lt;p&gt;With this version, you can &lt;strong&gt;generate test cases using AI assistance, embed AI instructions directly into test runs, and make your applications MCP-ready&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;This release also introduces powerful new features, such as the new function for recording procedure calls, for more robust, efficient, and enjoyable software quality assurance with QF-Test.  &lt;/p&gt;
&lt;p&gt;We hope you enjoy exploring everything that&amp;#8217;s new!&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;
your QF-Test team&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Download QF-Test&lt;/h2&gt;
&lt;h3&gt;Are you already using the latest version of QF-Test?&lt;/h3&gt;
&lt;p&gt;QF-Test 11.0 is a major release with many new features. QF-Test now acts as an MCP server, giving AI agents access to all applications QF-Test can control.  &lt;/p&gt;
&lt;p&gt;A new AI assistant generates test cases from live application analysis.  &lt;/p&gt;
&lt;p&gt;OpenAPI specifications can be imported to automatically create comprehensive test suites with CRUD tests and procedure libraries, for REST APIs.  &lt;/p&gt;
&lt;p&gt;With a new recording feature, interactions can now automatically be replaced with matching procedure calls, and a command palette provides instant keyboard access to all QF-Test functions.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://services.qftest.com/en/download/"&gt;&lt;img alt="Download QF-Test" src="/newsletters/resources/2025-09-25_Download-Thick-Bottom--Streamline-Streamline-3.0.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/download/"  class="button scroll-animated green chevron"&gt;Download QF-Test 11&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;To the &lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Available from 2026-07-29&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/support/videos/qftest-version-11-highlights.html"&gt;&lt;img alt="Video QF-Test 11" src="/newsletters/resources/qf-test-version-11-en.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;In the release video&lt;/strong&gt;, we&amp;#8217;ll show you how to bring your test automation into the AI era with QF-Test 11, and walk you through new features for more stable, efficient, and enjoyable software quality assurance with QF-Test.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://www.qftest.com/en/support/videos/qftest-version-11-highlights.html"&gt;Watch the video now&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Highlights QF-Test 11&lt;/h2&gt;
&lt;h3&gt;AI features&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;&lt;img alt="" src="/newsletters/resources/testsuite-gen.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Test case generation with AI at the click of a button&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Simply describe what you want to test – the built-in AI agent inspects your application live and delivers a ready-to-run test case draft within minutes, which you can then refine and build on directly in QF-Test.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;&lt;img alt="QF-Test &amp;amp; Agentic Testing" src="/newsletters/resources/ai-instructions_.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;AI instruction nodes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tell the AI in plain language what it should do or verify – it executes your instruction dynamically and reliably via the QF-Test connection.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;&lt;img alt="" src="/newsletters/resources/datatable.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Test data generation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Tailored test data at the click of a button: QF-Test generates matching data tables directly in your test project – so you can hit the ground running with your own tests.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;&lt;img alt="" src="/newsletters/resources/claude-github.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Claude Code &amp;amp; GitHub Copilot&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The popular command-line tools are now officially compatible – QF-Test stays true to its open “bring your own model” approach and continues to grow.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;&lt;img alt="" src="/newsletters/resources/mcp.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;MCP server &amp;amp; MCP toolkit&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Control QF-Test directly from your terminal or IDE – and make previously non-AI-ready applications MCP-ready. This allows robust UI tests for websites, applications, and apps to be seamlessly integrated into agentic development environments.&lt;/p&gt;
&lt;h3&gt;More highlights from QF-Test 11&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;&lt;img alt="" src="/newsletters/resources/procedure-recording.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Recording procedure calls or converting them after the fact&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When recording sequences, QF-Test automatically detects matching procedures from your library and inserts the corresponding calls. You can also use the same mechanism to clean up existing test cases automatically, replacing individual nodes with structured procedure calls. This keeps your tests clean and ensures consistent reuse.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;&lt;img alt="" src="/newsletters/resources/openapi.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Web API: OpenAPI import&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Import an OpenAPI specification (formerly “Swagger”) and get a complete test suite in seconds that automatically covers every endpoint including CRUD sequences and parameters – ensuring at all times that your API behaves exactly as specified.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;&lt;img alt="" src="/newsletters/resources/command-palette-en.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Fast navigation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With the new command palette, a keyboard shortcut in QF-Test 11 gives you instant access to every feature as well as all elements in your test suites and projects. The smart search algorithm handles fuzzy search terms with ease.&lt;/p&gt;
&lt;p&gt;There are many more features to explore in QF-Test 11, such as the &lt;strong&gt;Android recording window with live preview&lt;/strong&gt; and the &lt;strong&gt;group variables in the debugger&lt;/strong&gt;. You can find all the details in the &lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;Release Notes&lt;/a&gt; on our website.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Events in 2026&lt;/h2&gt;
&lt;h3&gt;Next QF-Test special webinars&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://register.gotowebinar.com/register/1584065759535593557"&gt;&lt;img alt="Registration QF-Test Special webinar" src="/newsletters/resources/special-webinar-agentic-ai-en.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;August 17, 2026, 3:30 PM (CEST) AI Agents in action: autonomous test generation and MCP with QF-Test 11&lt;/h3&gt;
&lt;p&gt;In this webinar, we&amp;#8217;ll show you how QF-Test 11 integrates AI directly into your everyday testing workflow: from AI instructions in individual test steps to automatically generating comprehensive test cases. We&amp;#8217;ll also demonstrate how to connect QF-Test to external AI agents like Claude Code or GitHub Copilot via the new MCP server, making any application ready for agentic workflows.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/support/schulung-beratung/webinare.html"&gt;Alternative date&lt;/a&gt;: Webinar in German on August 17, 2026, at 10:30 AM&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://register.gotowebinar.com/register/1584065759535593557"  class="button scroll-animated green chevron"&gt;Sign up for free webinar&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;p&gt;&lt;a href="https://attendee.gotowebinar.com/register/8554195423537254230"&gt;&lt;img alt="Registration QF-Test Special webinar" src="/videos/resources/special-webinar-procedure-call-record-en.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;September 14, 2026, 3:30 PM (CEST) Who ya gonna call? Auto-generate procedure calls for clean and maintainable tests&lt;/h3&gt;
&lt;p&gt;In this webinar, we&amp;#8217;ll show you how QF-Test 11 can recognize matching procedures from your library while recording sequences and automatically insert the corresponding calls. You can also use the same mechanism to clean up existing test cases automatically and replace individual nodes with structured procedure calls. The result: cleaner tests and consistent reuse.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/support/schulung-beratung/webinare.html"&gt;Alternative date&lt;/a&gt;: Webinar in German on September 14, 2026, at 10:30 AM&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://attendee.gotowebinar.com/register/8554195423537254230"  class="button scroll-animated green chevron"&gt;Sign up for free webinar&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;h3&gt;QF-Test Basics: training courses via webinar&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/support/training-consulting/training.html"&gt;&lt;img alt="Basic Training QF-Test" src="/newsletters/resources/QF-Test_OnlineSchulung.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;📆September 21–24, 2026 in German&lt;/h3&gt;
&lt;h3&gt;📆October 5–8, 2026 in English&lt;/h3&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://www.qftest.com/en/support/training-consulting/training.html"  class="button scroll-animated green chevron"&gt;More about the training courses&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;4 days, 2 × 2.5 hours each&lt;/li&gt;
&lt;li&gt;Effective and rapid knowledge transfer&lt;/li&gt;
&lt;li&gt;Small groups up to 8 participants&lt;/li&gt;
&lt;li&gt;You can interact with the trainers and ask questions at any time.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;Individual QF-Test company trainings&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/support/training-consulting/training.html#consulting"&gt;&lt;img alt="Individual QF-Test Training" src="/newsletters/resources/2025-10_OnlineSchulung-Ort.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Would you like a training course which is individually tailored to your company? Just send us an email to &lt;a href="mailto:service@qftest.com"&gt;service@qftest.com&lt;/a&gt;.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/support/contact/?comment=Request+individual+training&amp;type=consulting"  class="button scroll-animated green chevron"&gt;Ask our service team for a quote&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;h2&gt;From our YouTube Channel&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/support/videos/special-webinar-testmanagementtools.html"&gt;&lt;img alt="Video special webinar" src="https://www.qftest.com/videos/resources/special-webinar-xray-tmt-en.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Get X-Ray vision: integrate QF-Test results with Q12-TMT and Xray&lt;/h3&gt;
&lt;p&gt;Q12-TMT and Xray Test Management are popular test management tools. In this special webinar, we&amp;#8217;ll show you how to use the latest features in QF-Test to sync your test results with Q12-TMT and Xray – combining QF-Test&amp;#8217;s detailed reports with the strengths of these tools.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://www.qftest.com/en/support/videos/special-webinar-testmanagementtools.html"&gt;Watch the video now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visit our &lt;a href="https://www.youtube.com/@qftest"&gt;YouTube channel&lt;/a&gt; to subscribe and follow us on &lt;a href="https://www.linkedin.com/company/quality-first-software-gmbh-qfs"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;</content><category term="newsletters"/></entry><entry><title>QF-Test Version 11</title><link href="https://www.qftest.com/en/product/release-notes-roadmap/qf-test-version-11.html" rel="alternate"/><published>2026-07-29T00:00:00+02:00</published><updated>2026-07-29T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-07-29:/en/product/release-notes-roadmap/qf-test-version-11.html</id><summary type="html">&lt;p&gt;AI can fundamentally speed up and streamline test automation workflows. That&amp;#8217;s why QF-Test 11 puts AI on focus –  with full control over which models have access to your data&amp;#8230;&lt;/p&gt;</summary><content type="html">&lt;div class="qf-video-embed"&gt;
    &lt;div class="iframe-container inactive"
        style="background-image: url(/videos/resources/qf-test-version-11-en.jpg);"&gt;
            &lt;p class="flex-column nogap"&gt;
                &lt;button class="play-button"
                        onclick="document.querySelector('.iframe-container').classList.remove('inactive'); document.querySelector('iframe').setAttribute('src', document.querySelector('iframe').dataset.src);"&gt;
                    &lt;img height="100" width="100" src="/images/icons/video-play.png" alt="Play"&gt;
                &lt;/button&gt;
                &lt;span&gt;
Pressing the play button will load a video from our external provider YouTube.                    &lt;a href="https://www.mgm-tp.com/privacy-policy.html"&gt;Privacy Policy&lt;/a&gt;
                &lt;/span&gt;
            &lt;/p&gt;
    &lt;/div&gt;
    &lt;iframe style="background-image: url(/videos/resources/qf-test-version-11-en.jpg); width: 100%"
            data-src="//www.youtube-nocookie.com/embed/CrDU1p8w65o?badge=0&amp;amp;html5=1&amp;amp;autoplay=1"
            referrerpolicy="strict-origin-when-cross-origin"
            src="about:blank" frameborder="0" allowfullscreen=""&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;h2&gt;KI-Features&lt;/h2&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/testsuite-gen.png" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;&lt;strong&gt;Test case generation with AI at the click of a button&lt;/strong&gt;
Simply describe what you want to test – the built-in AI agent inspects your application live and delivers a ready-to-run test case draft within minutes, which you can then refine and build on directly in QF-Test.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/ai-instructions.jpg" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;&lt;strong&gt;AI instruction nodes&lt;/strong&gt;
Tell the AI in plain language what it should do or verify – it executes your instruction dynamically and reliably via the QF-Test connection.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/datatable.png" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;&lt;strong&gt;Test data generation&lt;/strong&gt;
Tailored test data at the click of a button: QF-Test generates matching data tables directly in your test project – so you can hit the ground running with your own tests.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/claude-github.png" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;&lt;strong&gt;Claude Code &amp;amp; GitHub Copilot&lt;/strong&gt;
The popular command-line tools are now officially compatible – QF-Test stays true to its open &amp;#8220;bring your own model&amp;#8221; approach and continues to grow.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/mcp.png" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;&lt;strong&gt;MCP server &amp;amp; MCP toolkit&lt;/strong&gt;
Control QF-Test directly from your terminal or IDE – and make previously non-AI-ready applications MCP-ready. This allows robust UI tests for websites, applications, and apps to be seamlessly integrated into agentic development environments.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;More highlights from QF-Test 11&lt;/h2&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/procedure-call-recording.jpg" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;&lt;strong&gt;Recording procedure calls or converting them after the fact&lt;/strong&gt;
When recording sequences, QF-Test automatically detects matching procedures from your library and inserts the corresponding calls. You can also use the same mechanism to clean up existing test cases automatically, replacing individual nodes with structured procedure calls. This keeps your tests clean and ensures consistent reuse.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/openapi.png" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;&lt;strong&gt;Web API: OpenAPI import&lt;/strong&gt;
Import an OpenAPI specification (formerly Swagger) and get a complete test suite in seconds that automatically covers every endpoint including CRUD sequences and parameters – ensuring at all times that your API behaves exactly as specified.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/command-palette-en.png" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;&lt;strong&gt;Fast navigation&lt;/strong&gt;
With the new command palette, a keyboard shortcut in QF-Test 11 gives you instant access to every feature as well as all elements in your test suites and projects. The smart search algorithm handles fuzzy search terms with ease.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;There are many more features to explore in QF-Test 11, such as the &lt;strong&gt;Android recording window with live preview&lt;/strong&gt; and the &lt;strong&gt;group variables in the debugger&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/doc/manual/en/history.html#features_11"&gt;Detailed Release Notes QF-Test Version 11&lt;/a&gt;&lt;/p&gt;
&lt;h4 class=""&gt;&lt;p&gt;QF-Test Version 11.0.1&lt;/p&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;2026-08-13&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;QF-Test 11.0.1 improves on the AI and recording features introduced in QF-Test 11.0. It includes security updates, lifts the integrated JRE to Temurin OpenJDK 25.0.4, and adds support for Electron 43. Checks on list items are now also supported on Android and iOS.&lt;/p&gt;
&lt;h4 class=""&gt;&lt;p&gt;QF-Test Version 11.0.2&lt;/p&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;2026-09-09&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;QF-Test 11.0.2 is primarily a security release, lifting the integrated JRE to Temurin OpenJDK 25.0.4.1 along with updates of Groovy, langchain4j, mcp, cdp4j, undertow and others. It also adds support for Eclipse/SWT 4.41 alias &amp;#8220;2026-09&amp;#8221; and improves MCP integration with a new tools overview page accessible from the options dialog. Procedure call recording has been enhanced in several ways.&lt;/p&gt;</content><category term="releasenotes"/></entry><entry><title>QF-Test 11 – Agentic AI features and more</title><link href="https://www.qftest.com/en/support/videos/qftest-version-11-highlights.html" rel="alternate"/><published>2026-07-28T00:00:00+02:00</published><updated>2026-07-28T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-07-28:/en/support/videos/qftest-version-11-highlights.html</id><summary type="html">&lt;p&gt;With QF-Test 11 and the integrated MCP, QF-Test is ready for agentic AI workflows. In addition to several useful UI improvements, it is now possible to automatically create complex procedure calls directly during recording. In this video, we show you what’s new.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hello! My name is Daniel and today I&amp;#8217;ll show you how to bring your test automation into the AI era with QF-Test 11.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;ll also walk you through additional features of our new version of QF-Test.&lt;/p&gt;
&lt;h2&gt;1. AI&lt;/h2&gt;
&lt;p&gt;QF-Test is our extremely powerful tool for professional UI test automation. It supports testing of many different software platforms, offers a sophisticated visual UI for editing and debugging tests, and countless other useful features.&lt;/p&gt;
&lt;p&gt;Yet for months, conversations have been dominated by one topic: How do you handle Artificial Intelligence?
And rightly so: AI is very capable of accelerating and streamlining processes in test automation.&lt;/p&gt;
&lt;p&gt;That is why the focus of QF-Test 11 is on our AI capabilities.&lt;/p&gt;
&lt;h3&gt;QF-Test 11 integrates AI in two dimensions:&lt;/h3&gt;
&lt;h4&gt;AI features IN QF-Test:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Generate tests exploratively or from documentation&lt;/li&gt;
&lt;li&gt;Integrate AI instructions and decisions into tests&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;AI features WITH QF-Test:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Control QF-Test (and third-party applications) with AI agents&lt;/li&gt;
&lt;li&gt;MCP toolkit: Make any application AI-ready&lt;/li&gt;
&lt;li&gt;I&amp;#8217;ll now give you a brief overview of these new functions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;1.1 Test case generation&lt;/strong&gt;
When you launch QF-Test, a brand-new icon greets you in the toolbar: our test suite generation assistant. Simply tell it what you want to test, and QF-Test works with an integrated AI agent to turn your plan into a well-structured, functional test suite draft. The QF-Test agent can examine your application live and independently identify the most important functions and paths for a thorough test &amp;ndash; within just a few minutes you receive a detailed test case draft that you can continue working on in QF-Test.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.2 AI Instructions&lt;/strong&gt;
At the heart of these generated test steps is the new &amp;#8220;AI Instruction&amp;#8221; node, which makes the extensive capabilities of an AI available during your test run. Tell the AI what it should do or verify, and the selected AI model will use the robust connection between QF-Test and your application to execute your instructions efficiently and dynamically.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.3 Data Table Generation&lt;/strong&gt;
AI also supports you in other areas of QF-Test. For example, you can now generate tailored test data in data tables with just a few clicks to speed up the testing process.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.4 Native Support for Claude Code and GitHub Copilot&lt;/strong&gt;
As before, QF-Test follows an open &amp;#8220;bring your own model&amp;#8221; approach for AI: you can simply configure your own AI models via the options and then use them flexibly within QF-Test.&lt;/p&gt;
&lt;p&gt;With QF-Test, you always remain in control and can decide for yourself which AI provider and which model is granted access to your test data. We also ensure that smaller models can work well with QF-Test&amp;#8217;s tools. The list of compatible providers is constantly growing and now includes the popular command-line tools Claude Code and GitHub Copilot.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.5 MCP and MCP Toolkit&lt;/strong&gt;
But we also know that power users have long been working with agentic AI, in their own terminal or IDE. QF-Test can be used there too, thanks to the new built-in MCP server. Our MCP server provides efficient and powerful tools to enable your AI agent to control and test websites, applications, and apps. This lets you integrate robust UI tests directly into your existing agentic development environment.&lt;/p&gt;
&lt;p&gt;But QF-Test 11 goes one step further: thanks to our MCP toolkit, you can extend the list of tools as you see fit. Simply record a sequence of steps with QF-Test, convert it into a procedure, and activate it as an MCP tool. This lets you use QF-Test as a kind of proxy to make applications MCP-capable that were previously not controllable by AI.&lt;/p&gt;
&lt;p&gt;We&amp;#8217;re excited to see what new process automation possibilities our users will unlock with the MCP toolkit.&lt;/p&gt;
&lt;p&gt;But enough about AI &amp;ndash; the core mission of QF-Test remains robust, stable, and reproducible UI test automation. QF-Test 11 also delivers great new features in this area.&lt;/p&gt;
&lt;h2&gt;2. Automatic Procedure Recording&lt;/h2&gt;
&lt;p&gt;The new procedure recording feature makes it possible to identify suitable procedures from your own procedure library during the interactive recording of actions and automatically insert them into your test. This makes it easier for you and your team to find and consistently use your own procedures. You can also use the same mechanism to automatically clean up existing test cases and replace individual nodes with structured procedure calls.&lt;/p&gt;
&lt;p&gt;The configuration of this automatic procedure detection is extremely flexible and well documented, making it suitable for complex procedures and libraries as well.&lt;/p&gt;
&lt;h2&gt;3. OpenAPI Import&lt;/h2&gt;
&lt;p&gt;Also new in QF-Test is the OpenAPI import. OpenAPI is an industry standard for specifying web API interfaces. With QF-Test 11, you can import such specifications into QF-Test &amp;ndash; QF-Test then creates a comprehensive test suite in seconds that can test every single endpoint and parameter for correct behavior. This ensures at any point in time that your API actually behaves in accordance with its specification.&lt;/p&gt;
&lt;p&gt;When the importer can detect a Create/Read/Update/Delete operation group for a resource, it generates a self-contained test case that:&lt;/p&gt;
&lt;p&gt;Declares all necessary variables within the test case &amp;ndash; the path parameter, all required header parameters, and body fields with representative test values.&lt;/p&gt;
&lt;p&gt;Links the complete CRUD sequence: CREATE (captures the primary key), READ (verifies the created values), UPDATE (modifies values), VERIFY UPDATE (fetches again and verifies), DELETE (removes the resource).&lt;/p&gt;
&lt;p&gt;Each phase is introduced by a comment node for better readability.&lt;/p&gt;
&lt;h2&gt;4. Command Palette&lt;/h2&gt;
&lt;p&gt;Using QF-Test is made enormously easier in QF-Test 11 by the new command palette. You can call it up at any time using a simple keyboard shortcut and search through your suites and projects. (Show shortcut) You can also find and use almost any function of QF-Test through the palette. The underlying search algorithm is intelligent and handles fuzzy search terms without any difficulty.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;In summary:&lt;/h2&gt;
&lt;p&gt;QF-Test 11 brings powerful AI tools for test generation and execution, as well as an MCP server.&lt;/p&gt;
&lt;p&gt;The innovative MCP toolkit also makes it possible to integrate previously non-AI-capable applications into agentic workflows.&lt;/p&gt;
&lt;p&gt;And on top of that, QF-Test 11 offers, as always, excellent cross-platform software quality assurance and numerous small and large quality-of-life improvements.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;As always, everything new in QF-Test 11 can be found in the detailed &lt;a href="/en/product/release-notes-roadmap.html"&gt;release notes&lt;/a&gt; on our website qftest.com. There you will of course also find the &lt;a href="https://services.qftest.com/en/download/"&gt;download link&lt;/a&gt; for a free trial version, so you can get started with QF-Test 11 right away.&lt;/p&gt;</content><category term="videos"/><category term="releasevideos"/></entry><entry><title>How does the AI agent interact with the SUT? Can I track which actions the AI performs?</title><link href="https://www.qftest.com/en/product/faq/ai-interaction.html" rel="alternate"/><published>2026-07-15T00:00:00+02:00</published><updated>2026-07-15T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-07-15:/en/product/faq/ai-interaction.html</id><summary type="html">&lt;p&gt;The AI agent uses QF-Test&amp;#8217;s established component recognition and simulated user actions. All actions performed by the AI are logged by QF-Test.&lt;/p&gt;</summary><content type="html">&lt;p&gt;The AI can interact with the SUT using MCP tools provided by QF-Test. It uses the same component recognition and simulates user interactions in the same way.&lt;/p&gt;
&lt;p&gt;When using AI in QF-Test, all actions, MCP tool uses, and responses from the AI agent are documented in the log. This enables full traceability of what the agent did and how it arrived at its results.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="/en/solutions/test-automation-basics/ai-testautomation.html"  class="button scroll-animated green chevron green"&gt;AI Test Automation with QF-Test&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;</content><category term="faqs"/><category term="faqai"/></entry><entry><title>Depth limits, accidental data deletion, irreversible actions: How do I restrict AI during autonomous exploration of an SUT for test generation?</title><link href="https://www.qftest.com/en/product/faq/ai-test-autonomous-exploration.html" rel="alternate"/><published>2026-07-15T00:00:00+02:00</published><updated>2026-07-15T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-07-15:/en/product/faq/ai-test-autonomous-exploration.html</id><summary type="html">&lt;p&gt;AI test generation in QF-Test is designed as a starting point for QA teams — not as a validation tool. This distinction is crucial for proper use.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Autonomous exploration is designed for test environments. Irreversible actions, accidental deletions, or access to systems outside the test environment must be controlled by the test environment itself — not by the AI agent. This applies equally to any AI agent.&lt;/p&gt;
&lt;p&gt;Depth limits can be specified in the test description and are generally respected in practice. However, there is currently no mechanism to technically enforce them. The agent can be stopped at any time if undesired behavior is observed during exploration.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="/en/solutions/test-automation-basics/ai-testautomation.html"  class="button scroll-animated green chevron green"&gt;AI Test Automation with QF-Test&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;</content><category term="faqs"/><category term="faqai"/></entry><entry><title>How do we prevent the AI from accepting the current application behavior as correct?</title><link href="https://www.qftest.com/en/product/faq/ai-test-generation.html" rel="alternate"/><published>2026-07-15T00:00:00+02:00</published><updated>2026-07-15T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-07-15:/en/product/faq/ai-test-generation.html</id><summary type="html">&lt;p&gt;AI test generation in QF-Test is designed as a starting point for QA teams — not as a validation tool. This distinction is crucial for proper use.&lt;/p&gt;</summary><content type="html">&lt;p&gt;There is currently no reliable way to prevent the AI from treating the current application state as expected behavior. However, this is not the primary purpose of the feature — it is meant to give QA teams a structured starting point for the test structure, which they then review and refine.&lt;/p&gt;
&lt;p&gt;For stable tests, it is recommended to replace the generated AI nodes with traditional QF-Test nodes wherever possible.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="/en/solutions/test-automation-basics/ai-testautomation.html"  class="button scroll-animated green chevron green"&gt;AI Test Automation with QF-Test&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;</content><category term="faqs"/><category term="faqai"/></entry><entry><title>What options do I have when prompting for AI test generation?</title><link href="https://www.qftest.com/en/product/faq/ai-test-generation-prompting.html" rel="alternate"/><published>2026-07-15T00:00:00+02:00</published><updated>2026-07-15T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-07-15:/en/product/faq/ai-test-generation-prompting.html</id><summary type="html">&lt;p&gt;AI test generation in QF-Test is entirely based on the test description you provide — the more context you supply, the better the results.&lt;/p&gt;</summary><content type="html">&lt;p&gt;The prompt sent to the AI agent consists of two parts: a base prompt (defined in the library test suite &lt;code&gt;qfs-ai.qft&lt;/code&gt;, overridable in your own test suite such as &lt;code&gt;user-ai.qft&lt;/code&gt;) and your test description. This description can be as detailed as you like.&lt;/p&gt;
&lt;p&gt;You can include tickets and test plans, acceptance criteria, business rules, or references to existing tests in the prompt. As with any AI application, there is no guarantee that all details will be fully taken into account — the more precise and complete your description, the better the result.&lt;/p&gt;
&lt;p&gt;Note that overloading the model&amp;#8217;s context window can lead to worse results. Keep your descriptions detailed, but focused.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="/en/solutions/test-automation-basics/ai-testautomation.html"  class="button scroll-animated green chevron green"&gt;AI Test Automation with QF-Test&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;</content><category term="faqs"/><category term="faqai"/></entry><entry><title>Are AI-generated test suites in QF-Test reproducible?</title><link href="https://www.qftest.com/en/product/faq/ai-test-generation-reproducibility.html" rel="alternate"/><published>2026-07-15T00:00:00+02:00</published><updated>2026-07-15T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-07-15:/en/product/faq/ai-test-generation-reproducibility.html</id><summary type="html">&lt;p&gt;AI-generated tests vary between runs — that is the nature of non-deterministic AI. However, if the prompt remains constant, the overall structure of the generated tests tends to be similar.&lt;/p&gt;</summary><content type="html">&lt;p&gt;AI test generation in QF-Test is inherently non-deterministic: multiple runs of the same generation process produce different results. This is a fundamental characteristic of large language models.&lt;/p&gt;
&lt;p&gt;If the test generation prompt remains the same across all runs, the structure and approach of the generated test suites will generally be similar — even if specific steps or wording differ. Treat each run as a draft to be reviewed and refined by your QA team — not as a finished test package.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="/en/solutions/test-automation-basics/ai-testautomation.html"  class="button scroll-animated green chevron green"&gt;AI Test Automation with QF-Test&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;</content><category term="faqs"/><category term="faqai"/></entry><entry><title>QF-Test 10.1.3 available</title><link href="https://www.qftest.com/en/company/news/qf-test-10-1-3-available.html" rel="alternate"/><published>2026-07-07T00:00:00+02:00</published><updated>2026-07-07T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-07-07:/en/company/news/qf-test-10-1-3-available.html</id><content type="html">&lt;p&gt;This release updates the bundled Jackson library to version 2.22.0 and fixes additional edge cases in the workaround for the UNC mapped drive issue with Java 25 on Windows.&lt;/p&gt;</content><category term="news"/></entry><entry><title>QF-Test 10.1.3 available, new free accessibility check for your website</title><link href="https://www.qftest.com/en/company/news/newsletters/qf-test-1013-available-free-accessibility-check.html" rel="alternate"/><published>2026-07-07T00:00:00+02:00</published><updated>2026-07-07T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-07-07:/en/company/news/newsletters/qf-test-1013-available-free-accessibility-check.html</id><summary type="html">&lt;p&gt;Receive a professional accessibility check with concrete recommendations for action – completely free, no strings attached.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hello dear QF-Test users!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;QF-Test 10.1.3&lt;/strong&gt; is now available – a new maintenance release that updates important libraries and more reliably compensates for a Java 25 bug on Windows when accessing UNC drives.  &lt;/p&gt;
&lt;p&gt;Also in this newsletter:  &lt;/p&gt;
&lt;p&gt;Is your website truly accessible to everyone – or are there hidden barriers you&amp;#8217;re not yet aware of? We&amp;#8217;ll find out for you: with a &lt;strong&gt;free accessibility check&lt;/strong&gt; for your website.&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;
your QF-Test team&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Download QF-Test&lt;/h2&gt;
&lt;h3&gt;Are you already using the latest version of QF-Test?&lt;/h3&gt;
&lt;p&gt;This release updates the bundled Jackson library to version 2.22.0 and fixes additional edge cases in the workaround for the UNC mapped drive issue with Java 25 on Windows.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://services.qftest.com/en/download/"&gt;&lt;img alt="Download QF-Test" src="/newsletters/resources/2025-09-25_Download-Thick-Bottom--Streamline-Streamline-3.0.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/download/"  class="button scroll-animated green chevron"&gt;Download QF-Test 10.1.3&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;To the &lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Available from 2026-07-07&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;Events in 2026&lt;/h2&gt;
&lt;h3&gt;QF-Test Basics: training courses via webinar&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/support/training-consulting/training.html"&gt;&lt;img alt="Basic Training QF-Test" src="/newsletters/resources/QF-Test_OnlineSchulung.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;📆September 21–24, 2026 conducted in German&lt;/h3&gt;
&lt;h3&gt;📆October 5–8, 2026 in English&lt;/h3&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://www.qftest.com/en/support/training-consulting/training.html"  class="button scroll-animated green chevron"&gt;More about the training courses&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;4 days, 2 × 2.5 hours each&lt;/li&gt;
&lt;li&gt;Effective and rapid knowledge transfer&lt;/li&gt;
&lt;li&gt;Small groups up to 8 participants&lt;/li&gt;
&lt;li&gt;You can interact with the trainers and ask questions at any time.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;Individual QF-Test company trainings&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/support/training-consulting/training.html#consulting"&gt;&lt;img alt="Individual QF-Test Training" src="/newsletters/resources/2025-10_OnlineSchulung-Ort.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Would you like a training course which is individually tailored to your company? Just send us an email to &lt;a href="mailto:service@qftest.com"&gt;service@qftest.com&lt;/a&gt;.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/support/contact/?comment=Request+individual+training&amp;type=consulting"  class="button scroll-animated green chevron"&gt;Ask our service team for a quote&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;h2&gt;News&lt;/h2&gt;
&lt;h3&gt;New: Accessibility Check&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://services.qftest.com/en/support/accessibility-check"&gt;&lt;img alt="" src="/newsletters/resources/accessibility+check-banner.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Accessibility has been a legal requirement since June 2025 (European Accessibility Act). Our accessibility experts will analyze your website free of charge using QF-Test, based on &lt;strong&gt;WCAG&lt;/strong&gt; criteria – including an interactive report and concrete recommendations for action.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://services.qftest.com/en/support/accessibility-check"&gt;Request a free consultation&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/blog/article/agentic-testing-with-ai-and-mcp-server.html"&gt;&lt;img alt="QF-Test &amp;amp; Agentic Testing" src="https://www.qftest.com/blog/resources/ai-qf-test.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Agentic testing with AI agents and an MCP server&lt;/h3&gt;
&lt;p&gt;In an interview, Max Melzer explains how QF-Test integrates agentic testing step by step — and why it&amp;#8217;s more than just a buzzword.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://www.qftest.com/en/blog/article/agentic-testing-with-ai-and-mcp-server.html"&gt;Read the blog article now&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;From our YouTube Channel&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/support/videos/quick-run-through-qf-test.html"&gt;&lt;img alt="Video QF-Test Walkthrough" src="https://www.qftest.com/videos/resources/quick-run-through-qf-test-en.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;A quick run through QF-Test&lt;/h3&gt;
&lt;p&gt;In just a few minutes, this video gives you a compact overview of all the key features of QF-Test — from Capture &amp;amp; Replay to scripting and component recognition, all the way to reports and Jenkins integration. Perfect for anyone who wants to get up to speed with QF-Test quickly or introduce it to a colleague.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://www.qftest.com/en/support/videos/quick-run-through-qf-test.html"&gt;Watch the video now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visit our &lt;a href="https://www.youtube.com/@qftest"&gt;YouTube channel&lt;/a&gt; to subscribe and follow us on &lt;a href="https://www.linkedin.com/company/quality-first-software-gmbh-qfs"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;</content><category term="newsletters"/></entry><entry><title>QF-Test: Agentic testing with AI agents and an MCP server</title><link href="https://www.qftest.com/en/blog/article/agentic-testing-with-ai-and-mcp-server.html" rel="alternate"/><published>2026-06-30T00:00:00+02:00</published><updated>2026-06-30T00:00:00+02:00</updated><author><name>Monika Dühring</name></author><id>tag:www.qftest.com,2026-06-30:/en/blog/article/agentic-testing-with-ai-and-mcp-server.html</id><summary type="html">&lt;p&gt;How QF-Test enables agentic testing: AI as a semantic validator, automatic test suite generation, and an MCP server for Claude Code and others.&lt;/p&gt;</summary><content type="html">&lt;p&gt;AI agents such as Claude Code, Cursor, or GitHub Copilot have long been part of everyday work for many development teams – they write code, refactor it, and suggest solutions, often without a human having to initiate every single line. The obvious question that follows: why shouldn&amp;#8217;t the same agents take over testing as well?&lt;/p&gt;
&lt;p&gt;This is exactly the question QF-Test addresses – our tool for professional UI test automation. In a recent interview &lt;a href="https://insights.mgm-tp.com/en/2026/quality-assurance/qf-test-agentic-testing/"&gt;“How QF-Test Makes Agentic Testing Possible”&lt;/a&gt;, our software developer and trainer Max Melzer explained to mgm technology partners how we are integrating agentic testing into QF-Test step by step – and why this shift is more than just a new buzzword.&lt;/p&gt;
&lt;h2&gt;Why test automation is changing right now&lt;/h2&gt;
&lt;p&gt;With the rise of powerful AI coding agents, expectations are shifting: teams no longer just want to run tests automatically – they want to delegate the entire testing process, from planning to evaluation, more heavily to AI. “Our customers are incredibly interested in figuring out which parts of the testing process they can hand off to AI,” says Max Melzer. This is precisely where our staged approach to agentic testing comes in.&lt;/p&gt;
&lt;h2&gt;Three levels of agentic testing&lt;/h2&gt;
&lt;p&gt;We are deliberately developing agentic testing in QF-Test in several stages that build on one another.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Level 1 – AI as a semantic validator (already available):&lt;/strong&gt; Some test results cannot be verified with a simple target/actual comparison, such as the responses of an integrated chatbot. QF-Test can pass such results to a language model for evaluation, which assesses whether the response is plausible in terms of content. This turns rigid string comparisons into a semantic check.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Level 2 – AI generates test suites (from QF-Test 11):&lt;/strong&gt; Instead of recording tests manually, AI will provide an initial draft in the future – based on existing test plans or tickets, or by exploring the application on its own and identifying testable areas. The expectation here is realistic: “It&amp;#8217;s never the case that you can just take it and say: we&amp;#8217;re done now,” says Max Melzer. “But it takes a lot of work off your plate — especially at the start.” The first draft is the basis that experienced testers refine further – not a finished test package without human oversight.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Level 3 – QF-Test as an MCP server (the real breakthrough):&lt;/strong&gt; With QF-Test 11, the tool gains an integrated MCP server. Via the Model Context Protocol, AI agents such as Claude Code can then access QF-Test&amp;#8217;s capabilities directly – launching applications, running tests, checking results – without anyone having to open QF-Test manually. An experimental preview of this MCP server is already available as a public preview, and the first customers are already integrating it into their CI/CD pipelines.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gitlab.com/qfs/qftest-cmcp"&gt;QF-Test Connected MCP Server (Public Preview)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;What sets QF-Test apart from specialized tools&lt;/h2&gt;
&lt;p&gt;Other tools specializing in web testing now offer MCP support as well. For QF-Test, the decisive difference lies in its platform breadth: we test native Windows applications, Java UIs, Android and iOS apps, and PDF documents using the same approach as web applications. Anyone running a heterogeneous application landscape in their enterprise environment – as is usually the case – gets a single test agent for all areas instead of having to use a separate tool for each platform.&lt;/p&gt;
&lt;h2&gt;Outlook: what&amp;#8217;s coming with QF-Test 11?&lt;/h2&gt;
&lt;p&gt;Test suite generation and the production-ready MCP server will be introduced with QF-Test 11, which is planned for 2026. Interested customers and partners can already get preview versions, so that real feedback from real-world projects can flow into further development.&lt;/p&gt;
&lt;p&gt;One thing remains important: &lt;strong&gt;agentic testing does not replace experienced testers.&lt;/strong&gt; AI-generated test suites provide a structured starting point – the professional validation and further development remain the responsibility of the QA teams.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Learn more:&lt;/strong&gt; Read the full interview with Max Melzer, software developer and trainer at QF-Test, at mgm technology partners: &lt;a href="https://insights.mgm-tp.com/en/2026/quality-assurance/qf-test-agentic-testing/"&gt;“How QF-Test Makes Agentic Testing Possible”&lt;/a&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;strong&gt;More details about the AI integrations in QF-Test&lt;/strong&gt;&lt;/p&gt;
&lt;div class="anchor-wrapper"&gt;
    &lt;a href="https://www.qftest.com/en/solutions/test-automation-basics/ai-testautomation.html" class="container card scroll-animated width-normal   image-left  "&gt;&lt;img class="container-image" src="/images/illustrations/ai-qf-test-illustration.png" alt=""&gt;&lt;div class="container-content"&gt;&lt;div class="container-title"&gt;&lt;img class="container-icon scroll-animated" src="/images/icons/streamline-icon-hierarchy-9@48x48-blau.svg" alt=""&gt;&lt;div class="container-title-text"&gt;AI-driven test automation with QF-Test&lt;/div&gt;&lt;/div&gt;&lt;div class="element-text"&gt;With QF-Test 11, you can integrate your own AI models into agentic workflows and have them create and execute tests autonomously. Additionally, the integrated MCP-Server allows you to make the powerful QF-Test tools available to external agentic AI systems as well.&lt;/div&gt;    &lt;/div&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="video-card-horizontal flex-row-dynamic flex-wrap"&gt;
    &lt;a  href="https://www.qftest.com/en/support/videos/special-webinar-mcp.html" rel="bookmark" title="AI agents in action: autonomous test generation and MCP with QF-Test 11"&gt;
        &lt;img src="/videos/resources/special-webinar-agentic-ai-en.jpg" class="scroll-animated" width="640" height="480" alt=""&gt;
    &lt;/a&gt;
    &lt;div class="entry-content"&gt;
      &lt;h3 class="entry-title"&gt;
        &lt;a class="title" href="https://www.qftest.com/en/support/videos/special-webinar-mcp.html" rel="bookmark" title="AI agents in action: autonomous test generation and MCP with QF-Test 11"&gt;
            AI agents in action: autonomous test generation and MCP with QF-Test 11
        &lt;/a&gt;
      &lt;/h3&gt;
    &lt;p&gt;In this webinar, we&amp;#8217;ll show you how QF-Test 11 integrates AI directly into your everyday testing workflow. From AI instructions in individual test steps to automatically generating comprehensive test cases.&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gitlab.com/qfs/qftest-cmcp"&gt;QF-Test Connected MCP Server (Public Preview)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/videos/resources/2026-03-special-webinar-ai-browser-interaction-demo.qft"&gt;AI browser interaction demo (.qft)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/videos/resources/2026-03-special-webinar-ai-datadriver-demo.qft"&gt;AI data driver demo (.qft)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content><category term="blog"/><category term="ai"/></entry><entry><title>A Quick run through QF-Test</title><link href="https://www.qftest.com/en/support/videos/quick-run-through-qf-test.html" rel="alternate"/><published>2026-06-26T00:00:00+02:00</published><updated>2026-06-26T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-06-26:/en/support/videos/quick-run-through-qf-test.html</id><summary type="html">&lt;p&gt;The most important features of QF-Test summarized.&lt;/p&gt;</summary><content type="html">&lt;p&gt;The most important features of QF-Test summarized.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Introduction: Supported technologies&lt;/li&gt;
&lt;li&gt;Tree structure, variables, capture &amp;amp; replay&lt;/li&gt;
&lt;li&gt;Documentation: Tutorial, manual, (starter)videos&lt;/li&gt;
&lt;li&gt;Test execution and reports, Connection to build tools: Jenkins&lt;/li&gt;
&lt;li&gt;Scripting: Jython, Groovy, JavaScript&lt;/li&gt;
&lt;li&gt;Component recognition&lt;/li&gt;
&lt;li&gt;Further features&lt;/li&gt;
&lt;li&gt;Help from QFS: blog, training and support&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Transcript&lt;/h2&gt;
&lt;p&gt;Welcome! In the next few minutes, we’ll show you how QF-Test helps teams build stable, maintainable UI test automation across web, desktop, and mobile applications.&lt;/p&gt;
&lt;p&gt;QF-Test supports a wide range of technologies – from Java desktop UIs and modern web apps to APIs, mobile apps, PDFs, and hybrid applications.&lt;/p&gt;
&lt;p&gt;Tests in QF-Test are displayed in a user-friendly graphical tree view. This tree contains action nodes such as mouse clicks and so-called check nodes that verify properties of your application’s user interface.&lt;/p&gt;
&lt;p&gt;Control structures like loops or if/else decisions are also supported by this tree. Setting and using variables is likewise straightforward using the QF-Test interface.&lt;/p&gt;
&lt;p&gt;For better modularization – that is, for reusing previously created test steps – QF-Test provides test steps, test cases, test sets, and so-called procedures. All of these can be created and managed directly in the tree view.&lt;/p&gt;
&lt;h3&gt;Test Recording&lt;/h3&gt;
&lt;p&gt;The easiest way to create tests in QF-Test is via capture &amp;amp; replay. You start a test recording using the record button in QF-Test and then perform the desired steps in your application.&lt;/p&gt;
&lt;p&gt;At the heart of QF-Test is a graphical, tree-based view of your tests that makes complex test logic transparent and maintainable – even for large test suites. After stopping the recording, the executed steps appear in the QF-Test tree view as individual nodes. You can then reorder and edit them, for example using drag and drop.&lt;/p&gt;
&lt;p&gt;You can find detailed information about the nodes in the graphical tree and about test creation in the extensive QF-Test documentation.&lt;/p&gt;
&lt;p&gt;The tutorial includes a quick-start guide that shows you how to set up your application with its UI technology in QF-Test.&lt;/p&gt;
&lt;p&gt;QF-Test also comes with an extremely comprehensive and user-friendly manual that describes all features of QF-Test and includes a powerful search function and navigation aids.&lt;/p&gt;
&lt;p&gt;And there’s also the QF-Test blog, where new tips and tricks for using QF-Test are published regularly.&lt;/p&gt;
&lt;p&gt;In addition to this wealth of written information, you’ll find overview videos and QF-Test basics videos on the QF-Test website under “Videos.” These guide you step by step through testing your application with QF-Test, creating test cases, evaluating test results, and much more.&lt;/p&gt;
&lt;h3&gt;Test Execution and Evaluation&lt;/h3&gt;
&lt;p&gt;Once you have recorded your first test cases with QF-Test, you can execute them either directly from within QF-Test using the play button or via the command line using the so-called batch mode.&lt;/p&gt;
&lt;p&gt;At the end of each test run, you receive a detailed QF-Test log showing all executed steps.&lt;/p&gt;
&lt;p&gt;In case of errors, the log contains the error message along with detailed screenshots.&lt;/p&gt;
&lt;p&gt;QF-Test also generates summary reports for you in either HTML or JUnit XML format, which makes it easy to integrate QF-Test into build tools such as Jenkins or TeamCity.&lt;/p&gt;
&lt;p&gt;Here you can see an example of a QF-Test HTML report.&lt;/p&gt;
&lt;p&gt;For execution via Jenkins, QF-Test provides its own Jenkins plugin, which you can install from the Jenkins plugin directory.&lt;/p&gt;
&lt;p&gt;Videos covering test execution, test evaluation, and Jenkins integration are also available on our video page.&lt;/p&gt;
&lt;h3&gt;Scripting&lt;/h3&gt;
&lt;p&gt;In addition to the action nodes provided by QF-Test – such as mouse clicks, checks, text input, and text extraction – QF-Test also allows you to integrate your own code into test runs. This is done using so-called script nodes.&lt;/p&gt;
&lt;p&gt;Scripts can be implemented in the scripting languages Jython (a Python derivative), Groovy (a Java derivative), or JavaScript.&lt;/p&gt;
&lt;p&gt;There are two types of script nodes: SUT script nodes, which allow you to access your test application, and server script nodes, which let you implement and execute arbitrary code during a test run. The possibilities offered by these scripts are virtually unlimited and are, of course, described in the QF-Test manual in the “Scripting” chapter, as well as in several videos on our website.&lt;/p&gt;
&lt;h3&gt;Component Recognition&lt;/h3&gt;
&lt;p&gt;One of QF-Test’s key strengths is its reliable detection and re-detection of individual elements of a graphical user interface. This means your tests don’t break just because a button moves a few pixels or the layout changes. &lt;/p&gt;
&lt;p&gt;QF-Test refers to these tracked elements as “components.” Components are recorded together with their corresponding actions when creating a test suite.&lt;/p&gt;
&lt;p&gt;From a recorded action such as a mouse click, you can easily navigate to the associated recorded component via the context menu. There you’ll see that components are not identified solely by X-Y coordinates, but also by other properties – for example, in this case, by their label.&lt;/p&gt;
&lt;p&gt;If available in the application under test, components can also be recognized using IDs or names defined by the developers. Assigning meaningful names to the most important components of your application results in very stable and robust test cases.&lt;/p&gt;
&lt;p&gt;QF-Test’s component recognition algorithm can also be adapted and extended in many ways using so-called resolver scripts.&lt;/p&gt;
&lt;h4&gt;SmartID&lt;/h4&gt;
&lt;p&gt;For even more flexibility, AQF-Test allows you to dynamically address available components using so-called SmartIDs instead of previously recorded components. To do this, you select the recognition criteria that are most meaningful for your component and specify only those using the compact SmartID syntax.&lt;/p&gt;
&lt;p&gt;For simple use cases, this allows you to avoid maintaining component nodes and even manual component recording altogether.&lt;/p&gt;
&lt;h4&gt;CustomWebResolver&lt;/h4&gt;
&lt;p&gt;Using a so-called CustomWebResolver, you can also make your web application and the UI components of the framework you are using easier to test with QF-Test.&lt;/p&gt;
&lt;p&gt;Here, you define a kind of translation table between the properties of your UI component library and QF-Test’s component concept. Once this is done, QF-Test can record much more stable and intuitive tests and checks for your application’s UI elements.&lt;/p&gt;
&lt;p&gt;For certain JavaScript component libraries such as Vaadin, Angular Material, ZK, and others, QF-Test already provides such integrations. If your application supports accessibility via the ARIA standard, these features can also be used out of the box with QF-Test.&lt;/p&gt;
&lt;h4&gt;Components in the Documentation&lt;/h4&gt;
&lt;p&gt;Details about component recognition and resolver concepts can of course be found in the QF-Test manual.&lt;/p&gt;
&lt;p&gt;In particular, we recommend the “Components” chapter in the user manual, as well as the chapters “Scripting,” “Web,” and “APIs for Extensions,” which contain detailed descriptions of all resolver interfaces.&lt;/p&gt;
&lt;p&gt;Naturally, there are also several videos on this topic available.&lt;/p&gt;
&lt;h3&gt;Additional Features&lt;/h3&gt;
&lt;p&gt;By now, we’ve explored many ways to create UI tests with QF-Test.&lt;/p&gt;
&lt;p&gt;QF-Test offers many additional features for test design and for working efficiently with the tool itself:&lt;/p&gt;
&lt;p&gt;Dependencies in QF-Test are a useful way to execute preconditions and postconditions for test cases efficiently and only when necessary.&lt;/p&gt;
&lt;p&gt;Data drivers enable data-driven testing. This means you create a test case once in QF-Test, and QF-Test automatically repeats it once for each available dataset from an Excel file, SQL database, or other sources.&lt;/p&gt;
&lt;p&gt;There is an integrated debugger that allows you to analyze test cases step by step. Skip nodes, repeat them, or even move the current execution point. QF-Test also lets you to inspect and modify the current variable values.&lt;/p&gt;
&lt;p&gt;In the QF-Test context menu, you’ll find various small helpers – such as the “Convert Node” command and many others – that enable fast refactoring or simple static analysis of your test suites.&lt;/p&gt;
&lt;p&gt;You can organize test suites into projects to represent complex project structures.&lt;/p&gt;
&lt;p&gt;All of these features are, of course, documented in videos and the manual.&lt;/p&gt;
&lt;p&gt;There you’ll also find tips and tricks, for example for “distributed test development” or instructions on how to perform load testing with QF-Test.&lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Whew – that was a lot of interesting features that QF-Test offers for efficient and robust test automation.&lt;/p&gt;
&lt;p&gt;If you’re now interested in trying out QF-Test yourself and using it with your project, visit the QF-Test website at qftest.com, click on “Free Trial,” and get a free trial license today so you can take advantage of the many QF-Test features. This also gives you free access to our well-regarded support team.&lt;/p&gt;
&lt;p&gt;So, if you’re looking for reliable, maintainable UI test automation backed by excellent documentation and support, give QF-Test a try.&lt;/p&gt;</content><category term="videos"/><category term="startervideos"/></entry><entry><title>QF-Test 10.1.2 available</title><link href="https://www.qftest.com/en/company/news/qf-test-10-1-2-available.html" rel="alternate"/><published>2026-06-23T00:00:00+02:00</published><updated>2026-06-23T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-06-23:/en/company/news/qf-test-10-1-2-available.html</id><content type="html">&lt;p&gt;This release adds support for Q12-TMT version 5, improves uploading of test results to Q12-TMT and Xray for larger amounts of data, and allows extending the embedded AI providers via plugins. Several libraries have been updated.&lt;/p&gt;</content><category term="news"/></entry><entry><title>Free accessibility check</title><link href="https://www.qftest.com/en/company/news/qf-test-accessibility-check.html" rel="alternate"/><published>2026-06-17T00:00:00+02:00</published><updated>2026-06-17T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-06-17:/en/company/news/qf-test-accessibility-check.html</id><summary type="html">&lt;p&gt;Many organizations and development teams know they need to act — but aren&amp;#8217;t sure where to start when it comes to building digital products that are truly accessible to everyone.&lt;/p&gt;</summary><content type="html">&lt;h2&gt;New: Our Experts Analyze Your Website with QF-Test Against WCAG Standards&lt;/h2&gt;
&lt;h3&gt;WCAG compliance is now the law in the EU. Is your website truly accessible?&lt;/h3&gt;
&lt;p&gt;Many organizations and development teams know they need to act — but aren&amp;#8217;t sure where to start when it comes to building digital products that are truly accessible to everyone.&lt;/p&gt;
&lt;p&gt;That&amp;#8217;s why we&amp;#8217;re now offering a &lt;strong&gt;free Accessibility Check&lt;/strong&gt;: our experts analyze your website with QF-Test against WCAG standards and deliver an interactive report with actionable recommendations.&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s how it works:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Share your URL&lt;/li&gt;
&lt;li&gt;Our experts analyze your website against WCAG standards&lt;/li&gt;
&lt;li&gt;You receive an interactive report with targeted recommendations within a few business days&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;No installation. No setup. Free and no strings attached.&lt;/p&gt;
&lt;p&gt;Whether you need a one-time assessment or want to integrate accessibility testing permanently into your QA process — we&amp;#8217;re here to help.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/support/accessibility-check"  class="button scroll-animated green chevron"&gt;Request your free Accessibility Check&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;</content><category term="news"/></entry><entry><title>QF-Test 10.1.1 available</title><link href="https://www.qftest.com/en/company/news/qf-test-10-1-1-available.html" rel="alternate"/><published>2026-06-02T00:00:00+02:00</published><updated>2026-06-02T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-06-02:/en/company/news/qf-test-10-1-1-available.html</id><content type="html">&lt;p&gt;This release adds support for uploading test results to Xray Data Center. In addition, Eclipse/SWT 4.40 alias &amp;#8220;2026-06&amp;#8221; and Electron 42 are now supported, and several libraries have been updated.&lt;/p&gt;</content><category term="news"/></entry><entry><title>Get X-Ray vision: Integrate QF-Test results with Q12-TMT and Xray</title><link href="https://www.qftest.com/en/support/videos/special-webinar-testmanagementtools.html" rel="alternate"/><published>2026-05-18T00:00:00+02:00</published><updated>2026-05-18T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-05-18:/en/support/videos/special-webinar-testmanagementtools.html</id><summary type="html">&lt;p&gt;Q12-TMT and Xray Test Management are popular test management tools. In this special webinar, we will show you how to use the latest features in QF-Test to synchronize your test results with Q12-TMT and Xray. This way, you can combine QF-Test&amp;#8217;s detailed reports with the strengths of these tools. The webinar will also include a brief introduction to Q12-TMT by our parent company, mgm technology partners.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Q12-TMT and Xray Test Management are popular test management tools. In this special webinar, we will show you how to use the latest features in QF-Test to synchronize your test results with Q12-TMT and Xray. This way, you can combine QF-Test&amp;#8217;s detailed reports with the strengths of these tools. The webinar will also include a brief introduction to Q12-TMT by our parent company, mgm technology partners.&lt;/p&gt;
&lt;h1&gt;Transcript&lt;/h1&gt;
&lt;h2&gt;Chapter 1: Introduction&lt;/h2&gt;
&lt;p&gt;Once again, a very warm welcome to our special webinar. Today, we want to work together to answer the following questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;How do I keep track of all these application tests?&lt;/li&gt;
&lt;li&gt;How do I know what failed, when it failed, and how it failed?&lt;/li&gt;
&lt;li&gt;And is it actually a serious problem or not?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The key term here is, of course, &lt;strong&gt;test management systems&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Today, we will focus especially on two systems with which QF-Test has become closely integrated since the latest version:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the well-known &lt;strong&gt;Xray system&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;and the powerful &lt;strong&gt;Q12-TMT&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Joining us today are two recognized experts on the topic:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gregor Schmid&lt;/strong&gt;, the creator of QF-Test, who even after 25 years is still the driving force behind QF-Test development&lt;/li&gt;
&lt;li&gt;and &lt;strong&gt;Thomas Rätzel&lt;/strong&gt; from Leipzig, who has been a QA team lead at mgm for almost ten years and will introduce us to Q12-TMT&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I myself am &lt;strong&gt;Pascal Bihler&lt;/strong&gt;, also a developer at QF-Test, and I’ll be answering your questions alongside the presentation.&lt;/p&gt;
&lt;p&gt;So let’s get started. Gregor, I’m already looking forward to it.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;Thank you very much, Pascal, for the wonderful introduction.&lt;/p&gt;
&lt;p&gt;The integration of test management tools into QF-Test is not a new topic. On the slide here on the right, you can see some earlier integrations, some of which have existed for a very long time, such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;HP ALM&lt;/li&gt;
&lt;li&gt;imbus TestBench&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Recently, however, there has been increasing demand for a more direct integration with &lt;strong&gt;Xray&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Xray is currently probably the market leader based on Atlassian Jira — with all the advantages and disadvantages that come with it.&lt;/p&gt;
&lt;p&gt;Our first approach was to investigate whether we could rewrite the JUnit reports so they could be uploaded directly into Xray. This is fundamentally possible, but very limited because it only works for this one exact use case.&lt;/p&gt;
&lt;p&gt;At the same time, &lt;strong&gt;Q12-TMT&lt;/strong&gt; was developed over the past few years. The tool is not yet very well known, but it comes from our parent company mgm Technology Partners and is already heavily used in many projects there — naturally also together with QF-Test.&lt;/p&gt;
&lt;p&gt;As a result, there was also strong demand for tighter integration there.&lt;/p&gt;
&lt;h3&gt;Planned Features&lt;/h3&gt;
&lt;p&gt;For both test management tools, we are also working on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Import/export of complete test sets&lt;/li&gt;
&lt;li&gt;Hierarchies of test cases&lt;/li&gt;
&lt;li&gt;Synchronization between systems&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These features are not yet ready for release, but they will come in future versions.&lt;/p&gt;
&lt;p&gt;What we implemented first — because this was where the greatest demand existed — was:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Uploading test results into the respective test management tools.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So this doesn’t remain too abstract, my colleague Thomas will now present Q12-TMT from a user perspective.&lt;/p&gt;
&lt;p&gt;By the way, the concepts are very similar to Xray. Technically, we follow an almost identical approach for both systems — only the actual requests differ.&lt;/p&gt;
&lt;p&gt;Thomas, over to you.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Chapter 2: Q12-TMT Demo&lt;/h2&gt;
&lt;h3&gt;What is Q12-TMT?&lt;/h3&gt;
&lt;p&gt;Q12-TMT stands for: &lt;strong&gt;Test Management Tool&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The tool is based on our in-house low-code platform &lt;strong&gt;A12&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Why did we develop our own testing tool?&lt;/p&gt;
&lt;p&gt;Quite simply:&lt;/p&gt;
&lt;p&gt;In the past, we worked with other tools, but certain features were missing. So we said: we are a software solutions company and capable of developing our own tool that maps our requirements exactly.&lt;/p&gt;
&lt;h3&gt;Basic Structure of TMT&lt;/h3&gt;
&lt;p&gt;TMT is relatively intuitive to use once you understand the basic structure.&lt;/p&gt;
&lt;p&gt;Here we see an opened project. TMT supports multiple projects and different test management areas.&lt;/p&gt;
&lt;p&gt;For this webinar, we are using the well-known &lt;strong&gt;Car Configurator&lt;/strong&gt; as an example.&lt;/p&gt;
&lt;h3&gt;Project Overview&lt;/h3&gt;
&lt;p&gt;In the overview, you can see things such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Number of test cases&lt;/li&gt;
&lt;li&gt;Processing status&lt;/li&gt;
&lt;li&gt;Versions&lt;/li&gt;
&lt;li&gt;Additional project information&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;On the left side are various navigation sections.&lt;/p&gt;
&lt;p&gt;One important area is &lt;strong&gt;test automation&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;For each test case, you can define whether it is:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;already automated&lt;/li&gt;
&lt;li&gt;still to be automated&lt;/li&gt;
&lt;li&gt;intentionally manual&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This effectively creates a small task board for automation engineers.&lt;/p&gt;
&lt;h3&gt;Test Cases and Test Runs&lt;/h3&gt;
&lt;p&gt;The two most important sections are:&lt;/p&gt;
&lt;h4&gt;Test Suites&lt;/h4&gt;
&lt;p&gt;This is where you define:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;which test cases exist&lt;/li&gt;
&lt;li&gt;how they are organized&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Test Runs&lt;/h4&gt;
&lt;p&gt;Here you can see:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;which tests were executed&lt;/li&gt;
&lt;li&gt;results&lt;/li&gt;
&lt;li&gt;statuses&lt;/li&gt;
&lt;li&gt;start times&lt;/li&gt;
&lt;li&gt;unique IDs&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Graphical Analysis&lt;/h3&gt;
&lt;p&gt;Particularly interesting:&lt;/p&gt;
&lt;p&gt;TMT offers graphical evaluations.&lt;/p&gt;
&lt;p&gt;Using the so-called “fireworks diagram,” you can identify:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;error clusters&lt;/li&gt;
&lt;li&gt;concentrations of issues&lt;/li&gt;
&lt;li&gt;open problem areas&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Colors directly indicate:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Green = successful&lt;/li&gt;
&lt;li&gt;Red = failed&lt;/li&gt;
&lt;li&gt;additional status values&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Structuring the Tests&lt;/h3&gt;
&lt;p&gt;The application can be structured however you like, for example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;by UI areas&lt;/li&gt;
&lt;li&gt;functionally&lt;/li&gt;
&lt;li&gt;by components&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Vehicles&lt;/li&gt;
&lt;li&gt;Specials&lt;/li&gt;
&lt;li&gt;Accessories&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The structure is completely flexible and can be adapted to the respective testing strategy.&lt;/p&gt;
&lt;h3&gt;Structure of a Test Case&lt;/h3&gt;
&lt;p&gt;A test case typically contains:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Title&lt;/li&gt;
&lt;li&gt;Status&lt;/li&gt;
&lt;li&gt;Responsible persons&lt;/li&gt;
&lt;li&gt;Automation status&lt;/li&gt;
&lt;li&gt;Description&lt;/li&gt;
&lt;li&gt;Jira links&lt;/li&gt;
&lt;li&gt;Risk assessment&lt;/li&gt;
&lt;li&gt;Preconditions&lt;/li&gt;
&lt;li&gt;Test steps&lt;/li&gt;
&lt;li&gt;Expected results&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additionally, formatting options are available for improved readability.&lt;/p&gt;
&lt;h3&gt;History &amp;amp; Versioning&lt;/h3&gt;
&lt;p&gt;A central feature of TMT is &lt;strong&gt;versioning&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;This means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;new versions can be created from existing ones&lt;/li&gt;
&lt;li&gt;histories are preserved&lt;/li&gt;
&lt;li&gt;test cases continue across versions&lt;/li&gt;
&lt;li&gt;changes are stored in a traceable way&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Version 1.8&lt;/li&gt;
&lt;li&gt;new version 2.0&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Version Delta&lt;/h3&gt;
&lt;p&gt;A particularly important concept is the so-called &lt;strong&gt;version delta&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;This means that new test cases are marked, and modified test cases are marked as well. This allows TMT to automatically recognize which test cases changed in a version. This becomes extremely helpful later during test execution.&lt;/p&gt;
&lt;h3&gt;Creating Test Runs&lt;/h3&gt;
&lt;p&gt;A new test run can be created very easily.&lt;/p&gt;
&lt;p&gt;Afterward, test cases can be added:&lt;/p&gt;
&lt;h4&gt;Options:&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;automatically via version delta&lt;/li&gt;
&lt;li&gt;manually via test suites&lt;/li&gt;
&lt;li&gt;specifically by automation status&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Test Execution&lt;/h3&gt;
&lt;p&gt;During execution, the tester can:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;check off individual steps&lt;/li&gt;
&lt;li&gt;document results&lt;/li&gt;
&lt;li&gt;set statuses&lt;/li&gt;
&lt;li&gt;continue later&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additionally, tasks can be assigned directly to specific people.&lt;/p&gt;
&lt;h3&gt;Previous Workflow&lt;/h3&gt;
&lt;p&gt;Up until now, the workflow looked like this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Manage test cases in TMT&lt;/li&gt;
&lt;li&gt;Link them with QF-Test via IDs&lt;/li&gt;
&lt;li&gt;Transfer results back manually&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Naturally, this was relatively time-consuming.&lt;/p&gt;
&lt;p&gt;That’s why today’s focus is on how this process can be automated in the future.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Chapter 3: The QA Toolchain from a Single Source&lt;/h2&gt;
&lt;p&gt;A major advantage of Q12-TMT: it does not only run in the cloud.&lt;/p&gt;
&lt;p&gt;There are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;a cloud variant&lt;/li&gt;
&lt;li&gt;and an on-premise installation on your own servers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This allows customers to decide flexibly depending on their requirements.&lt;/p&gt;
&lt;p&gt;In addition, support requests can be handled jointly through the familiar QF-Test support team.&lt;/p&gt;
&lt;h3&gt;Target Vision&lt;/h3&gt;
&lt;p&gt;The vision is a seamless workflow:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;QF-Test → TMT/Xray → Risk-based analysis&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This creates a complete QA toolchain.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Chapter 4: Uploading Test Results to TMT/Xray&lt;/h2&gt;
&lt;h3&gt;Requirements&lt;/h3&gt;
&lt;p&gt;For this to work, you need:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;automated tests&lt;/li&gt;
&lt;li&gt;at least one test case with a linking ID&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;@tmtid&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@xrayid&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Linking the Systems&lt;/h3&gt;
&lt;p&gt;The connection is established via so-called &lt;strong&gt;doctags&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Example:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;@tmtid C_2416
@xrayid XRAY-412
@xray-dc-id XRAYTEST-10
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The following applies:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;multiple QF-Test test cases can be assigned to one management test case&lt;/li&gt;
&lt;li&gt;or vice versa&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So this is an &lt;code&gt;m:n&lt;/code&gt; relationship.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Chapter 5: Xray Integration&lt;/h2&gt;
&lt;h3&gt;Configuration&lt;/h3&gt;
&lt;p&gt;For both systems, connection data must be configured:&lt;/p&gt;
&lt;h4&gt;TMT&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Login&lt;/li&gt;
&lt;li&gt;Project&lt;/li&gt;
&lt;li&gt;Subproject&lt;/li&gt;
&lt;li&gt;Version&lt;/li&gt;
&lt;li&gt;Mapping&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Xray&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Jira access&lt;/li&gt;
&lt;li&gt;Cloud/Data Center configuration&lt;/li&gt;
&lt;li&gt;Ticket types&lt;/li&gt;
&lt;li&gt;IDs&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Test Execution&lt;/h3&gt;
&lt;p&gt;During the test run, errors are intentionally generated so that results become visible.&lt;/p&gt;
&lt;p&gt;In the log, you can then see examples such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Exceptions&lt;/li&gt;
&lt;li&gt;Failed checks&lt;/li&gt;
&lt;li&gt;Components not found&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;HTML Reports&lt;/h3&gt;
&lt;p&gt;An HTML report is required for the upload.&lt;/p&gt;
&lt;p&gt;This contains:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Screenshots&lt;/li&gt;
&lt;li&gt;Error messages&lt;/li&gt;
&lt;li&gt;Logs&lt;/li&gt;
&lt;li&gt;Details&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Upload to TMT and Xray&lt;/h3&gt;
&lt;p&gt;After the upload, the following are created automatically:&lt;/p&gt;
&lt;h4&gt;In TMT&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;new test runs&lt;/li&gt;
&lt;li&gt;result overviews&lt;/li&gt;
&lt;li&gt;error statuses&lt;/li&gt;
&lt;li&gt;histories&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;In Xray&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;test executions&lt;/li&gt;
&lt;li&gt;evidences (screenshots)&lt;/li&gt;
&lt;li&gt;comments&lt;/li&gt;
&lt;li&gt;report links&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Differences in Status Values&lt;/h3&gt;
&lt;p&gt;Example in TMT:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Error → “Failed”&lt;/li&gt;
&lt;li&gt;Exception → “Blocked”&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The mapping can be customized individually.&lt;/p&gt;
&lt;h3&gt;History Tracking&lt;/h3&gt;
&lt;p&gt;An important point:&lt;/p&gt;
&lt;p&gt;When tests are executed again:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;history is preserved&lt;/li&gt;
&lt;li&gt;new results overwrite the current status&lt;/li&gt;
&lt;li&gt;old results remain traceable&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Batch Upload&lt;/h2&gt;
&lt;p&gt;In practice, of course, people do not work with individual reports.&lt;/p&gt;
&lt;p&gt;Typical dimensions: 30,000 to 40,000 test cases per nightly run.&lt;/p&gt;
&lt;p&gt;Therefore, QF-Test also supports:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;batch uploads&lt;/li&gt;
&lt;li&gt;command-line calls&lt;/li&gt;
&lt;li&gt;automated processing&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Advantages of Batch Mode&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;multiple reports simultaneously&lt;/li&gt;
&lt;li&gt;flexible configuration&lt;/li&gt;
&lt;li&gt;encrypted secrets&lt;/li&gt;
&lt;li&gt;option files&lt;/li&gt;
&lt;li&gt;full automation&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;Chapter 6: Summary&lt;/h2&gt;
&lt;p&gt;To conclude, here are the key points once again:&lt;/p&gt;
&lt;h3&gt;What was demonstrated?&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Linking QF-Test with TMT and Xray&lt;/li&gt;
&lt;li&gt;Uploading automated test results&lt;/li&gt;
&lt;li&gt;History tracking&lt;/li&gt;
&lt;li&gt;Batch processing&lt;/li&gt;
&lt;li&gt;Screenshots and reports directly in test management&lt;/li&gt;
&lt;li&gt;Integration of manual and automated tests&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Result&lt;/h3&gt;
&lt;p&gt;This creates a central platform for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Test management&lt;/li&gt;
&lt;li&gt;Automation&lt;/li&gt;
&lt;li&gt;Analysis&lt;/li&gt;
&lt;li&gt;Risk assessment&lt;/li&gt;
&lt;li&gt;Histories&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;Many thanks once again to Thomas and Gregor for the detailed presentation — and best of luck with QF-Test and the test management tool of your choice.&lt;/p&gt;</content><category term="videos"/><category term="specialwebinars"/></entry><entry><title>QF-Test 10.1 available</title><link href="https://www.qftest.com/en/company/news/qf-test-10-1-available.html" rel="alternate"/><published>2026-05-07T00:00:00+02:00</published><updated>2026-05-07T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-05-07:/en/company/news/qf-test-10-1-available.html</id><content type="html">&lt;p&gt;This release adds support for uploading test results to Q12-TMT and Xray Test Management, copying steps directly from a run log into a test suite and AI features can now be disabled entirely. The JRE has been pushed to Temurin OpenJDK 25 and numerous further libraries have been updated.&lt;/p&gt;</content><category term="news"/></entry><entry><title>QF-Test 10.1 available: test management tool integrations – special webinar on May 18, 2026</title><link href="https://www.qftest.com/en/company/news/newsletters/qf-test-101-available-test-management-tool-integrations-special-webinar-on-may-18-2026.html" rel="alternate"/><published>2026-05-07T00:00:00+02:00</published><updated>2026-05-07T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-05-07:/en/company/news/newsletters/qf-test-101-available-test-management-tool-integrations-special-webinar-on-may-18-2026.html</id><summary type="html">&lt;p&gt;Special webinar: Integrate QF-Test results with Xray and Q12-TMT on May 18, 2026 – register now for free&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hello dear QF-Test users!&lt;/p&gt;
&lt;p&gt;QF-Test 10.1 is here – a new version that closely integrates your test processes with the test management tools Q12-TMT and Xray, offers greater control over AI features, and comes with a number of practical new additions and useful workflow improvements.&lt;/p&gt;
&lt;p&gt;By the way: our next QF-Test basic training is coming up in September – spots are still available!&lt;/p&gt;
&lt;p&gt;&lt;img alt="Q12-TMT Testmanagementtool by mgm technology partners" src="/newsletters/resources/q12-tmt_logo.png" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img alt="Xray Logo" src="/newsletters/resources/xray-logo.png" /&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;
your QFS team&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Download QF-Test&lt;/h2&gt;
&lt;h3&gt;Are you already using the latest version of QF-Test?&lt;/h3&gt;
&lt;p&gt;This release adds support for uploading test results to Q12-TMT and Xray Test Management, copying steps directly from a run log into a test suite and AI features can now be disabled entirely. The JRE has been pushed to Temurin OpenJDK 25 and numerous further libraries have been updated.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://services.qftest.com/en/download/"&gt;&lt;img alt="Download QF-Test" src="/newsletters/resources/2025-09-25_Download-Thick-Bottom--Streamline-Streamline-3.0.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/download/"  class="button scroll-animated green chevron"&gt;Download QF-Test 10.1&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;To the &lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Available since 2026-05-07&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;Next QF-Test special webinar&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://register.gotowebinar.com/register/7188235841104236630"&gt;&lt;img alt="Release Notes" src="https://www.qftest.com/videos/resources/special-webinar-xray-tmt-en.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;May 18, 2026, 3:30 PM (CEST) Get X-Ray vision: Integrate QF-Test results with Q12-TMT and Xray&lt;/h3&gt;
&lt;p&gt;Q12-TMT and Xray Test Management are popular test management tools. In this special webinar, we will show you how to use the latest features in QF-Test to synchronize your test results with Q12-TMT and Xray. This way, you can combine QF-Test&amp;#8217;s detailed reports with the strengths of these tools. The webinar will also include a brief introduction to Q12-TMT by our parent company, mgm technology partners.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/support/schulung-beratung/webinare.html"&gt;Alternative date&lt;/a&gt;: Webinar in German on May 18, 2026, at 10:30 AM&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://register.gotowebinar.com/register/7188235841104236630"  class="button scroll-animated green chevron"&gt;Sign up for free to webinar&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;h2&gt;More events in 2026&lt;/h2&gt;
&lt;h3&gt;QF-Test Basics: training courses via webinar&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/support/training-consulting/training.html"&gt;&lt;img alt="Basic Training QF-Test" src="/newsletters/resources/QF-Test_OnlineSchulung.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;📆September 21–24, 2026 in German&lt;/h3&gt;
&lt;h3&gt;📆October 5–8, 2026 in English&lt;/h3&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://www.qftest.com/en/support/training-consulting/training.html"  class="button scroll-animated green chevron"&gt;More about the training courses&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;4 days, 2 × 2.5 hours each&lt;/li&gt;
&lt;li&gt;Effective and rapid knowledge transfer&lt;/li&gt;
&lt;li&gt;Small groups up to 8 participants&lt;/li&gt;
&lt;li&gt;You can interact with the trainers and ask questions at any time.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;Individual QF-Test company trainings&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/support/training-consulting/training.html#consulting"&gt;&lt;img alt="Individual QF-Test Training" src="/newsletters/resources/2025-10_OnlineSchulung-Ort.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Would you like a training course which is individually tailored to your company? Just send us an email to &lt;a href="mailto:service@qftest.com"&gt;service@qftest.com&lt;/a&gt;.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/support/contact/?comment=Request+individual+training&amp;type=consulting"  class="button scroll-animated green chevron"&gt;Ask our service team for a quote&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;h2&gt;News&lt;/h2&gt;
&lt;h3&gt;Test Management Tool Integration with QF-Test&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/product/testmanagement-integration.html"&gt;&lt;img alt="" src="/newsletters/resources/testmanagementtools-icon.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;No more data silos: QF-Test automatically transfers test results to your test management system – no manual effort, no information loss. The result is end-to-end quality assurance: from requirement to test case to test result.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://www.qftest.com/en/product/testmanagement-integration.html"&gt;Learn more about Test Management Tool Integrations with QF-Test&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;How to use the QF-Test AI integration with a free local model using Ollama&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/blog/article/llm-local-ollama.html"&gt;&lt;img alt="QF-Test &amp;amp; Ollama" src="https://www.qftest.com/blog/resources/qftest-ai-ollama.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;QF-Test 10 brings AI integration – local, free, and without the cloud: Learn how to connect QF-Test with Ollama and start experimenting with AI-powered testing directly on your own machine.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://www.qftest.com/en/blog/article/llm-local-ollama.html"&gt;Read the blog article now&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;Using GitHub Copilot CLI via Remote SSH from QF-Test&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/blog/article/llm-copilot-ssh-remote.html"&gt;&lt;img alt="Using GitHub Copilot CLI via Remote SSH from QF-Test" src="/newsletters/resources/llm-copilot-ssh-remote.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;QF-Test 10 supports GitHub Copilot integration – this guest post shows you how to set up Copilot on a single central machine and use it across multiple QF-Test instances via SSH.&lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://www.qftest.com/en/blog/article/llm-copilot-ssh-remote.html"&gt;Go to blog article&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;From our YouTube Channel&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/en/support/videos/special-webinar-ai-checks.html"&gt;&lt;img alt="Video QF-Test &amp;amp; AI" src="https://www.qftest.com/videos/resources/special-webinar-qftest-ai-en.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;When tests become intelligent: AI-driven checks with QF-Test&lt;/h3&gt;
&lt;p&gt;In this special webinar, we’ll show you how to get the most out of the new AI integrations in QF-Test. With QF-Test 10, you can use AI to test non-deterministic UIs, validate UI components based on semantic criteria, generate test data, and much more.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://www.qftest.com/en/support/videos/special-webinar-ai-checks.html"&gt;Watch the video now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visit our &lt;a href="https://www.youtube.com/@qftest"&gt;YouTube channel&lt;/a&gt; to subscribe and follow us on &lt;a href="https://www.linkedin.com/company/quality-first-software-gmbh-qfs"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;</content><category term="newsletters"/></entry><entry><title>QF-Test Version 10.1</title><link href="https://www.qftest.com/en/product/release-notes-roadmap/qf-test-version-101.html" rel="alternate"/><published>2026-05-05T00:00:00+02:00</published><updated>2026-05-05T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-05-05:/en/product/release-notes-roadmap/qf-test-version-101.html</id><summary type="html">&lt;p&gt;QF-Test 10.1 tightly integrates your test processes with the test management tools Q12-TMT and Xray and offers greater control over AI features&amp;#8230;&lt;/p&gt;</summary><content type="html">&lt;p&gt;This version enables the upload of test results to Q12-TMT and Xray Test Management, the direct copying of steps from a log into a test suite, and AI features can now be completely disabled. The JRE has been upgraded to Temurin OpenJDK 25 and numerous additional libraries have been updated.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/doc/manual/en/history.html#features_10_1"&gt;Detailed Release Notes QF-Test Version 10.1&lt;/a&gt;&lt;/p&gt;
&lt;h4 class=""&gt;&lt;p&gt;QF-Test Version 10.1&lt;/p&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;2026-05-07&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This release adds support for uploading test results to Q12-TMT and Xray Test Management, copying steps directly from a run log into a test suite and AI features can now be disabled entirely. The JRE has been pushed to Temurin OpenJDK 25 and numerous further libraries have been updated.&lt;/p&gt;
&lt;h4 class=""&gt;&lt;p&gt;QF-Test Version 10.1.1&lt;/p&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;2026-06-02&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This release adds support for uploading test results to Xray Data Center. In addition, Eclipse/SWT 4.40 alias &amp;#8220;2026-06&amp;#8221; and Electron 42 are now supported, and several libraries have been updated.&lt;/p&gt;
&lt;h4 class=""&gt;&lt;p&gt;QF-Test Version 10.1.2&lt;/p&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;2026-06-23&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This release adds support for Q12-TMT version 5, improves uploading of test results to Q12-TMT and Xray for larger amounts of data, and allows extending the embedded AI providers via plugins. Several libraries have been updated.&lt;/p&gt;
&lt;h4 class=""&gt;&lt;p&gt;QF-Test Version 10.1.3&lt;/p&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;2026-07-07&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This release updates the bundled Jackson library to version 2.22.0 and fixes additional edge cases in the workaround for the UNC mapped drive issue with Java 25 on Windows.&lt;/p&gt;</content><category term="releasenotes"/></entry><entry><title>Using GitHub Copilot CLI via Remote SSH from QF-Test</title><link href="https://www.qftest.com/en/blog/article/llm-copilot-ssh-remote.html" rel="alternate"/><published>2026-04-01T00:00:00+02:00</published><updated>2026-04-01T00:00:00+02:00</updated><author><name>Irfan Yigit, ASC Technologies</name></author><id>tag:www.qftest.com,2026-04-01:/en/blog/article/llm-copilot-ssh-remote.html</id><summary type="html">&lt;p&gt;This quick guide explains how to use the &lt;strong&gt;GitHub Copilot CLI&lt;/strong&gt; via a remote SSH connection directly from &lt;strong&gt;QF-Test&lt;/strong&gt; — including SSH key setup and troubleshooting.&lt;/p&gt;</summary><content type="html">&lt;p&gt;With QF-Test 10, it is possible to &lt;a href="/en/blog/article/llm-copilot.html"&gt;integrate third-party AI models such as GitHub Copilot into QF-Test.&lt;/a&gt; In the case of Copilot, it is usually necessary to have the Copilot CLI installed on the same system as QF-Test.&lt;/p&gt;
&lt;p&gt;However, there are situations where you cannot install the Copilot CLI on your test machines for technical or security reasons, or if you want to run multiple parallel QF-Test instances via &lt;a href="www.qftest.com/doc/manual/en/tech_daemon_api.html"&gt;Daemon mode&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For such cases, this guest article by long-time QF-Test user Irfan Yigit shows you how to set up Copilot on a single central machine and establish an SSH network connection to your test machines. You can then use your GitHub Copilot AI models with QF-Test via SSH.&lt;/p&gt;
&lt;div class="container card scroll-animated width-normal red    "&gt;&lt;div class="container-content"&gt;&lt;div class="container-title"&gt;&lt;img class="container-icon scroll-animated" src="/images/icons/alert-triangle.svg" alt=""&gt;&lt;/div&gt;&lt;div class="element-text"&gt;&lt;strong&gt;Attention:&lt;/strong&gt; Even though the approach described here still works, it is not compatible with the advanced tool-use-enabled AI features like the AI Instructions in QF-Test 11.&lt;/div&gt;    &lt;/div&gt;&lt;/div&gt;

&lt;p&gt;&lt;img alt="" src="/blog/resources/llm-copilot-ssh-remote.svg" /&gt;&lt;/p&gt;
&lt;h2&gt;Prerequisites&lt;/h2&gt;
&lt;p&gt;To set this up on a Windows system, &lt;a href="https://www.openssh.org/"&gt;OpenSSH&lt;/a&gt; is required. OpenSSH must be installed on both the client VM and the target VM.&lt;/p&gt;
&lt;p&gt;The client VM additionally needs &lt;a href="https://services.qftest.com/en/download/"&gt;QF-Test (10.0 or newer)&lt;/a&gt; installed. The target VM must have a current &lt;a href="https://github.com/features/copilot/cli/"&gt;GitHub Copilot CLI&lt;/a&gt; installation, and the GitHub login (&lt;code&gt;/login&lt;/code&gt;) must have been completed within the SSH environment.&lt;/p&gt;
&lt;p&gt;To use GitHub Copilot CLI via remote SSH reliably, an &lt;strong&gt;SSH key is required&lt;/strong&gt;, because OpenSSH cannot handle SSH password prompts during automated remote calls (such as those triggered from QF-Test). SSH key authentication is needed solely to establish a passwordless, stable SSH connection.&lt;/p&gt;
&lt;h2&gt;Step-by-Step Guide&lt;/h2&gt;
&lt;h3&gt;Preparation on the Client VM&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;1. Create the &lt;code&gt;.ssh&lt;/code&gt; directory&lt;/strong&gt; (if it doesn&amp;#8217;t exist, e.g. &lt;code&gt;C:\Users\Administrator\.ssh&lt;/code&gt;)&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nb"&gt;New-Item&lt;/span&gt; &lt;span class="n"&gt;-ItemType&lt;/span&gt; &lt;span class="n"&gt;Directory&lt;/span&gt; &lt;span class="n"&gt;-Path&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;$env:USERPROFILE\.ssh&amp;quot;&lt;/span&gt; &lt;span class="n"&gt;-Force&lt;/span&gt; &lt;span class="p"&gt;|&lt;/span&gt; &lt;span class="nb"&gt;Out-Null&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;2. Generate an SSH key (ed25519) on the client VM (without a passphrase)&lt;/strong&gt;&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;ssh-keygen&lt;/span&gt; &lt;span class="n"&gt;-t&lt;/span&gt; &lt;span class="n"&gt;ed25519&lt;/span&gt; &lt;span class="n"&gt;-C&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;qftest-remote&amp;quot;&lt;/span&gt; &lt;span class="o"&gt;-f&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;$env:USERPROFILE\.ssh\id_ed25519&amp;quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;Simply leave the passphrase empty (press Enter twice).&lt;/li&gt;
&lt;li&gt;The generated public key (&lt;code&gt;…/.ssh/id_ed25519.pub&lt;/code&gt;) will be needed on the target VM later.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Preparation on the Target VM&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;1. Set Access Control Lists (ACLs) correctly&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Windows OpenSSH only accepts keys if the file is in the right location &lt;strong&gt;and&lt;/strong&gt; the permissions are set with the correct ACLs. The file &lt;code&gt;C:\ProgramData\ssh\administrators_authorized_keys&lt;/code&gt; is created and secured as follows:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;icacls&lt;/span&gt; &lt;span class="n"&gt;C&lt;/span&gt;&lt;span class="p"&gt;:\&lt;/span&gt;&lt;span class="n"&gt;ProgramData&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;ssh&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;administrators_authorized_keys&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="n"&gt;inheritance&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="nb"&gt;r&lt;/span&gt;
&lt;span class="n"&gt;icacls&lt;/span&gt; &lt;span class="n"&gt;C&lt;/span&gt;&lt;span class="p"&gt;:\&lt;/span&gt;&lt;span class="n"&gt;ProgramData&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;ssh&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;administrators_authorized_keys&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="n"&gt;grant&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;Administrators:F&amp;#39;&lt;/span&gt;
&lt;span class="n"&gt;icacls&lt;/span&gt; &lt;span class="n"&gt;C&lt;/span&gt;&lt;span class="p"&gt;:\&lt;/span&gt;&lt;span class="n"&gt;ProgramData&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;ssh&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;administrators_authorized_keys&lt;/span&gt; &lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="n"&gt;grant&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;SYSTEM:F&amp;#39;&lt;/span&gt;
&lt;span class="nb"&gt;Restart-Service&lt;/span&gt; &lt;span class="n"&gt;sshd&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;2. Add the public key&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Paste the contents of &lt;code&gt;id_ed25519.pub&lt;/code&gt; from the client VM into the &lt;code&gt;administrators_authorized_keys&lt;/code&gt; file on the target VM and save it (one key per line).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Log in to Copilot CLI in the SSH environment on the target VM (once)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Copilot stores its login credentials locally in the respective user profile. The login &lt;strong&gt;must&lt;/strong&gt; be completed beforehand — either directly on the target VM or via SSH, depending on whether different Windows users are involved.&lt;/p&gt;
&lt;p&gt;Once the Copilot login is saved in the SSH environment, Copilot can be fully scripted via remote SSH from QF-Test.&lt;/p&gt;
&lt;p&gt;Run the following in PowerShell if all client VMs should interact with the same user and SSH environment:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;SSH directly to the target VM: &lt;code&gt;ssh -i ~/.ssh/id_ed25519 Administrator@&amp;lt;target-IP&amp;gt;&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Start Copilot: &lt;code&gt;copilot&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Start login: &lt;code&gt;/login&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Confirm the device code in the browser.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Functional Test (Client VM → Target VM, headless)&lt;/h3&gt;
&lt;p&gt;Run the following command on the client VM in PowerShell:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;ssh&lt;/span&gt; &lt;span class="n"&gt;-i&lt;/span&gt; &lt;span class="p"&gt;~/.&lt;/span&gt;&lt;span class="n"&gt;ssh&lt;/span&gt;&lt;span class="p"&gt;/&lt;/span&gt;&lt;span class="n"&gt;id_ed25519&lt;/span&gt; &lt;span class="n"&gt;Administrator&lt;/span&gt;&lt;span class="p"&gt;@&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;target-IP&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="s2"&gt;&amp;quot;copilot -p &amp;#39;Say hello&amp;#39; --stream on&amp;quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Troubleshooting&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Test SSH key login from the client VM&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Verify that SSH works without a password using the SSH key (prerequisite for QF-Test):&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;ssh&lt;/span&gt; &lt;span class="n"&gt;-i&lt;/span&gt; &lt;span class="nv"&gt;$env:USERPROFILE&lt;/span&gt;&lt;span class="p"&gt;\.&lt;/span&gt;&lt;span class="n"&gt;ssh&lt;/span&gt;&lt;span class="p"&gt;\&lt;/span&gt;&lt;span class="n"&gt;id_ed25519&lt;/span&gt; &lt;span class="n"&gt;Administrator&lt;/span&gt;&lt;span class="p"&gt;@&amp;lt;&lt;/span&gt;&lt;span class="n"&gt;target-IP&lt;/span&gt;&lt;span class="p"&gt;&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;echo OK&amp;#39;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;If &lt;code&gt;OK&lt;/code&gt; appears → key authentication is working.&lt;/li&gt;
&lt;li&gt;If there is an error: check the SSH keys or ACLs on the target VM.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Connect Copilot CLI to QF-Test via SSH&lt;/h3&gt;
&lt;p&gt;Once everything works, follow these instructions from step 2:&lt;/p&gt;
&lt;div class="anchor-wrapper"&gt;
    &lt;a href="https://www.qftest.com/en/blog/article/llm-copilot.html" class="container card scroll-animated width-normal clear imgfill   image-right"&gt;&lt;img class="container-image" src="/blog/resources/github-copilot-cli.webp" alt=""&gt;&lt;div class="container-content"&gt;&lt;div class="container-title"&gt;&lt;div class="container-title-text"&gt;Tutorial: Using GitHub Copilot with the QF-Test AI Integration&lt;/div&gt;&lt;/div&gt;

&lt;div class="entry-content"&gt;  &lt;p&gt;Since QF-Test 10, AI-driven capabilities are integrated directly into your testing workflow. This post shows how to connect &lt;strong&gt;GitHub Copilot&lt;/strong&gt; to QF-Test using a simple custom model and the &lt;strong&gt;Copilot CLI&lt;/strong&gt;.&lt;/p&gt;
&lt;/div&gt;

&lt;div class="container width-normal align-start justify-center row    " &gt;&lt;div class="container-content" &gt;&lt;address class="vcard author"&gt;
&lt;strong class="flex-row-dynamic gap-small"&gt;
                &lt;img src="/images/staff/max.jpg" height="60" width="60" class="author-profile-pic" alt="Max Melzer"&gt;
            Max Melzer
            &lt;/strong&gt;&lt;/address&gt;
&lt;div class="flex-column"&gt;&lt;div&gt;&lt;time class="published" datetime="2026-02-09T00:00:00+01:00"&gt;
        09/02/2026
&lt;/time&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;    &lt;/div&gt;&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;Make the following adjustments to the &lt;code&gt;ai.addCustomModel&lt;/code&gt; script (insert the correct user, path and IP for your setup):&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;ai&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addCustomModel&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;GitHub Copilot&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;remoteUser&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Administrator&amp;quot;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;remoteHost&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;192.168.0.2&amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// IP of target VM&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;remoteCmd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;cmd /c \&amp;quot;C:/Users/Administrator/AppData/Local/GitHubCopilotCLI/copilot.exe --silent --stream off --model claude-sonnet-4.6 --prompt \\\&amp;quot;${msg}\\\&amp;quot;\&amp;quot;&amp;quot;&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;ssh&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;-o&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;StrictHostKeyChecking=no&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;${remoteUser}@${remoteHost}&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;remoteCmd&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;proc&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;execute&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;proc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;outputStream&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;close&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;proc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;waitFor&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;proc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;in&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;text&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;replace&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;● &amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;})&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;hr /&gt;
&lt;p&gt;Learn more about the AI integrations in QF-Test 10:&lt;/p&gt;
&lt;div class="anchor-wrapper"&gt;
    &lt;a href="https://www.qftest.com/en/solutions/test-automation-basics/ai-testautomation.html" class="container card scroll-animated width-normal   image-left  "&gt;&lt;img class="container-image" src="/images/illustrations/ai-qf-test-illustration.png" alt=""&gt;&lt;div class="container-content"&gt;&lt;div class="container-title"&gt;&lt;img class="container-icon scroll-animated" src="/images/icons/streamline-icon-hierarchy-9@48x48-blau.svg" alt=""&gt;&lt;div class="container-title-text"&gt;AI-driven test automation with QF-Test&lt;/div&gt;&lt;/div&gt;&lt;div class="element-text"&gt;With QF-Test 11, you can integrate your own AI models into agentic workflows and have them create and execute tests autonomously. Additionally, the integrated MCP-Server allows you to make the powerful QF-Test tools available to external agentic AI systems as well.&lt;/div&gt;    &lt;/div&gt;&lt;/a&gt;&lt;/div&gt;</content><category term="blog"/><category term="how-to"/><category term="ai"/></entry><entry><title>QF-Test 10.0.3 available</title><link href="https://www.qftest.com/en/company/news/qf-test-10-0-3-available.html" rel="alternate"/><published>2026-03-11T00:00:00+01:00</published><updated>2026-03-11T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-03-11:/en/company/news/qf-test-10-0-3-available.html</id><content type="html">&lt;p&gt;This maintenance release adds support for Eclipse/SWT 4.39 alias &amp;#8220;2026-03&amp;#8221;, updates several libraries and fixes a number of bugs.&lt;/p&gt;</content><category term="news"/></entry><entry><title>How to use the QF-Test AI integration with a free local model using Ollama</title><link href="https://www.qftest.com/en/blog/article/llm-local-ollama.html" rel="alternate"/><published>2026-03-09T00:00:00+01:00</published><updated>2026-03-09T00:00:00+01:00</updated><author><name>Max Melzer</name></author><id>tag:www.qftest.com,2026-03-09:/en/blog/article/llm-local-ollama.html</id><summary type="html">&lt;p&gt;QF-Test has always been about reliable, maintainable test automation for web, desktop, Java-based, and mobile applications. With the new &lt;strong&gt;AI integration&lt;/strong&gt; in QF-Test 10, you can enhance your tests with AI-driven insights — and the best part is, you don’t need to rely on cloud services. In this post, we …&lt;/p&gt;</summary><content type="html">&lt;p&gt;QF-Test has always been about reliable, maintainable test automation for web, desktop, Java-based, and mobile applications. With the new &lt;strong&gt;AI integration&lt;/strong&gt; in QF-Test 10, you can enhance your tests with AI-driven insights — and the best part is, you don’t need to rely on cloud services. In this post, we’ll show you how to connect QF-Test to a &lt;strong&gt;locally running, free AI model&lt;/strong&gt; using &lt;a href="https://ollama.com/"&gt;Ollama&lt;/a&gt;, so you can start experimenting with AI-enhanced testing right on your own machine.&lt;/p&gt;
&lt;h2&gt;Step 1: Set up Ollama&lt;/h2&gt;
&lt;p&gt;To get started, you’ll need to install &lt;strong&gt;Ollama&lt;/strong&gt; on the machine where your tests run. Ollama provides free, locally hosted AI models that powerful enough for the more basic parts of QF-Test’s AI integration.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Download and install Ollama from the official website: &lt;a href="https://ollama.com/"&gt;https://ollama.com/&lt;/a&gt; (You don&amp;#8217;t need any account).&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Start the Ollama server by opening a terminal and running:  &lt;/p&gt;
&lt;p&gt;&lt;code&gt;bash
ollama serve&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;In another terminal, download a model, which typically is a couple of gigabytes:  &lt;/p&gt;
&lt;p&gt;&lt;code&gt;bash
ollama pull llama3.2&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;By default, Ollama will host the model at &lt;code&gt;http://localhost:11434&lt;/code&gt; as long as &lt;code&gt;ollama serve&lt;/code&gt; is running. You can now use this endpoint in QF-Test to send AI requests locally — no internet connection required.&lt;/p&gt;
&lt;h2&gt;Step 2: Configure QF-Test to Use the Local AI&lt;/h2&gt;
&lt;p&gt;&lt;img alt="Large Language Model integration options dialog in QF-Test" src="/blog/resources/qftest-ai-options-ollama.png" /&gt;&lt;/p&gt;
&lt;p&gt;You can connect the Ollama server to QF-Test convieniently via the QF-Test &lt;strong&gt;Options dialog&lt;/strong&gt;, accessible via &lt;strong&gt;QF-Test → Options → AI Integration&lt;/strong&gt;. Click the &amp;#8220;plus&amp;#8221; icon to add a new row to the &amp;#8220;AI Configurations&amp;#8221; table and enter the model details:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Type:&lt;/strong&gt; &amp;#8220;Ollama&amp;#8221;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Name:&lt;/strong&gt; &amp;#8220;Local AI&amp;#8221; (or whatever you like) &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;URL:&lt;/strong&gt; &amp;#8220;http://localhost:11434&amp;#8221;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API key:&lt;/strong&gt; &amp;#8220;&amp;#8221; (leave blank)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Model name:&lt;/strong&gt; &amp;#8220;llama3.2&amp;#8221; (the name of a model you added to Ollama via &lt;code&gt;ollama pull&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;p&gt;QF-Test also makes it easy to integrate an AI model via the &lt;code&gt;ai&lt;/code&gt; scripting module, if you prefer the scripting approach.&lt;/p&gt;
&lt;p&gt;Here’s a minimal example of a &lt;a href="https://www.qftest.com/doc/manual/en/control.html#step_ServerScriptStep"&gt;server script&lt;/a&gt; that connects QF-Test to your locally running Ollama model:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="c1"&gt;// Configure the AI model&lt;/span&gt;
&lt;span class="n"&gt;ai&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setDefaultConfig&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Ollama&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;http://localhost:11434&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;llama3.2&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;displayName:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Local AI&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;

&lt;span class="c1"&gt;// Make a request to the AI and print it to the terminal&lt;/span&gt;
&lt;span class="n"&gt;print&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ai&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;ask&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;What is the answer to life, the universe and everything?&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;  &lt;/span&gt;&lt;span class="nl"&gt;configName:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Local AI&amp;quot;&lt;/span&gt;
&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Let’s break down what’s happening:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;ai.setDefaultConfig(...)&lt;/code&gt;&lt;/strong&gt;:&lt;br /&gt;
   This line registers the model with QF-Test. You specify:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The type of endpoint (&amp;#8220;Provider&amp;#8221;) to use (&lt;code&gt;Ollama&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;The local endpoint url (&lt;code&gt;http://localhost:11434&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;An empty string for the API key (not needed for local models)&lt;/li&gt;
&lt;li&gt;The model name (&lt;code&gt;llama3.2&lt;/code&gt; in our case)&lt;/li&gt;
&lt;li&gt;A friendly display name (&lt;code&gt;Local AI&lt;/code&gt;) for use in the UI&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;code&gt;ai.ask(...)&lt;/code&gt;&lt;/strong&gt;:&lt;br /&gt;
 This line sends a prompt to the AI model. The &lt;code&gt;configName&lt;/code&gt; ensures it uses the local configuration we just defined. The result is returned directly and printed in the QF-Test terminal.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Step 3: Use AI in your tests&lt;/h2&gt;
&lt;p&gt;Beyond this toy example, you can now leverage your local AI model directly in your test cases:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;AI Instruction&lt;/strong&gt; (QF-Test 11)&lt;br /&gt;
  With QF-Test 11 and the new AI Instruction, you can give the AI tasks in natural language as part of your tests. The AI will be able to interact with the entire SUT, including performing mouse interactions, keyboard entry, and checks.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Test data generation&lt;/strong&gt; (QF-Test 11)&lt;br /&gt;
  QF-Test 11 lets you use natural language to fill out Data Tables with custom test data, generated in seconds by your chosen AI model. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Check Text with AI&lt;/strong&gt;&lt;br /&gt;
  The AI integration can be used in a &lt;strong&gt;Check Text with AI&lt;/strong&gt; node. This is perfect for situations where you want QF-Test to validate text in your application UI dynamically. For example, you could check if a text matches a natural language description or even check if it&amp;#8217;s in the expected language.
  To learn more, see the documentation here: &lt;a href="https://www.qftest.com/doc/manual/en/checks.html#step_AICheckTextStep"&gt;Check Text with AI node&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;AI Scripting Module&lt;/strong&gt;&lt;br /&gt;
  For advanced automation, the &lt;code&gt;ai&lt;/code&gt; scripting module gives you full programmatic control over AI requests in QF-Test:
  &lt;a href="https://www.qftest.com/doc/manual/en/tech_scripting_ai.html"&gt;AI scripting module documentation&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;The advantages of running locally&lt;/h2&gt;
&lt;p&gt;Running a local AI model has several advantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Privacy:&lt;/strong&gt; Your test data never leaves your machine.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Performance:&lt;/strong&gt; Local inference can be faster than cloud requests.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cost-free:&lt;/strong&gt; No API subscription needed for experimentation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By combining QF-Test’s robust automation framework with AI insights, you can enhance your tests, automate language checks, or even generate test suggestions — all without leaving your enterprise environment.&lt;/p&gt;
&lt;h2&gt;What&amp;#8217;s next&lt;/h2&gt;
&lt;p&gt;Once you have your local Ollama model running and integrated with QF-Test, try experimenting with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Natural language validations in your test cases&lt;/li&gt;
&lt;li&gt;Dynamic data generation for forms&lt;/li&gt;
&lt;li&gt;Multilingual text checks&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For more details on all AI integration options in QF-Test, check out our free special webinar:&lt;/p&gt;
&lt;p&gt;[[qf.Preview(videos/2026-08-17-special-webinar-mcp)]]&lt;/p&gt;
&lt;p&gt;With just a few steps, your tests can now become &lt;strong&gt;AI-aware&lt;/strong&gt; while staying fully under your control. It’s time to explore the power of combining QF-Test with local AI models!&lt;/p&gt;</content><category term="blog"/><category term="how-to"/><category term="ai"/></entry><entry><title>When tests become intelligent: AI-driven checks with QF-Test</title><link href="https://www.qftest.com/en/support/videos/special-webinar-ai-checks.html" rel="alternate"/><published>2026-03-02T00:00:00+01:00</published><updated>2026-03-02T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-03-02:/en/support/videos/special-webinar-ai-checks.html</id><summary type="html">&lt;p&gt;In this special webinar, we&amp;#8217;ll show you how to get the most out of the new AI integrations in QF-Test. With QF-Test 10, you can use AI to test non-deterministic UIs, validate UI components based on semantic criteria, generate test data, and much more.&lt;/p&gt;</summary><content type="html">&lt;p&gt;In this special webinar, we&amp;#8217;ll show you how to get the most out of the new AI integrations in QF-Test. With QF-Test 10, you can use AI to test non-deterministic UIs, validate UI components based on semantic criteria, generate test data, and much more.&lt;/p&gt;
&lt;h2&gt;Materials&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/videos/resources/2026-03-special-webinar-ai-en.pdf"&gt;Presentation (PDF)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gitlab.com/qfs/qftest-cmcp"&gt;QF-Test Connected MCP Server (Public Preview)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/videos/resources/2026-03-special-webinar-ai-browser-interaction-demo.qft"&gt;AI browser interaction demo (.qft)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/videos/resources/2026-03-special-webinar-ai-datadriver-demo.qft"&gt;AI data driver demo (.qft)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="container card scroll-animated width-normal darkblue    "&gt;&lt;div class="container-content"&gt;&lt;p&gt;&lt;strong&gt;This video gives you a first look at the AI-powered features of QF-Test. For the latest developments and most current features, we recommend checking out our more recent videos on AI testing:&lt;/strong&gt;
&lt;div class="video-card-horizontal flex-row-dynamic flex-wrap"&gt;
    &lt;a  href="https://www.qftest.com/en/support/videos/qftest-version-11-highlights.html" rel="bookmark" title="QF-Test 11 – Agentic AI features and more"&gt;
        &lt;img src="/videos/resources/qf-test-version-11-en.jpg" class="scroll-animated" width="640" height="480" alt=""&gt;
    &lt;/a&gt;
    &lt;div class="entry-content"&gt;
      &lt;h3 class="entry-title"&gt;
        &lt;a class="title" href="https://www.qftest.com/en/support/videos/qftest-version-11-highlights.html" rel="bookmark" title="QF-Test 11 – Agentic AI features and more"&gt;
            QF-Test 11 – Agentic AI features and more
        &lt;/a&gt;
      &lt;/h3&gt;
  &lt;p&gt;With QF-Test 11 and the integrated MCP, QF-Test is ready for agentic AI workflows. In addition to several useful UI improvements, it is now possible to automatically create complex procedure calls directly during recording. In this video, we show you what’s new.&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;div class="video-card-horizontal flex-row-dynamic flex-wrap"&gt;
    &lt;a  href="https://www.qftest.com/en/support/videos/special-webinar-mcp.html" rel="bookmark" title="AI agents in action: autonomous test generation and MCP with QF-Test 11"&gt;
        &lt;img src="/videos/resources/special-webinar-agentic-ai-en.jpg" class="scroll-animated" width="640" height="480" alt=""&gt;
    &lt;/a&gt;
    &lt;div class="entry-content"&gt;
      &lt;h3 class="entry-title"&gt;
        &lt;a class="title" href="https://www.qftest.com/en/support/videos/special-webinar-mcp.html" rel="bookmark" title="AI agents in action: autonomous test generation and MCP with QF-Test 11"&gt;
            AI agents in action: autonomous test generation and MCP with QF-Test 11
        &lt;/a&gt;
      &lt;/h3&gt;
    &lt;p&gt;In this webinar, we&amp;#8217;ll show you how QF-Test 11 integrates AI directly into your everyday testing workflow. From AI instructions in individual test steps to automatically generating comprehensive test cases.&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;    &lt;/div&gt;&lt;/div&gt;
&lt;h2&gt;Contents&lt;/h2&gt;
&lt;h3&gt;Artificial Intelligence&lt;/h3&gt;
&lt;p&gt;A Large Language Model (LLM) auto-completes text prompts according to previously trained statistical connections.&lt;/p&gt;
&lt;h3&gt;Our Mission&lt;/h3&gt;
&lt;p&gt;QF-Test provides AI integrations that increase the productivity of test automation engineers without calling the quality of the results into
question.&lt;/p&gt;
&lt;p&gt;QF-Test builds on the expertise of QA professionals without replacing them.&lt;/p&gt;
&lt;p&gt;AI in QF-Test will always remain optional.&lt;/p&gt;
&lt;h3&gt;„Bring Your Own Model“&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;More flexibility&lt;/li&gt;
&lt;li&gt;No extra costs&lt;/li&gt;
&lt;li&gt;Better data privacy&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;AI Configuration&lt;/h3&gt;
&lt;p&gt;Your key to all AI functionality in QF-Test&lt;/p&gt;
&lt;h3&gt;Check text with AI&lt;/h3&gt;
&lt;p&gt;Semantic text checks in the UI of the application under test.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Use cases:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Testing a chat bot integration&lt;/li&gt;
&lt;li&gt;Checking the semantic content of text&lt;/li&gt;
&lt;li&gt;Checking the language of text&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;ai.ask and the AI Scripting Module&lt;/h3&gt;
&lt;p&gt;Send LLM requests in any scripting context.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Use cases:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Test data generation&lt;/li&gt;
&lt;li&gt;Advanced test run integrations&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Test generation with QF-Test – Sneak Preview&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Level 1: Test cases and test steps are generated from an existing test definition.&lt;/li&gt;
&lt;li&gt;Level 2: QF-Test agent executes pre-planned test steps; the interactions are recoded. A robust, repeatable test is created.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;QF-Test MCP Server&lt;/h3&gt;
&lt;p&gt;MCP (Model Context Protocol): Integrating external services into an LLM tool&lt;/p&gt;
&lt;p&gt;Future versions of QF-Test Pro will include an integrated MCP server. This will enable agent-based workflows with QF-Test.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Advantages over other automation MCPs:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Controlling Windows, iOS, Android, Java, and web applications&lt;/li&gt;
&lt;li&gt;Strong component recognition by combining QF-Test intelligence and artificial intelligence&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The experimental QF-Test Connected MCP Server (Public Preview) allows integrating QF-Test into agentic workflows today.&lt;/p&gt;
&lt;h3&gt;AI and Test Result Evaluation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Explain test failures and suggest corrective actions&lt;/li&gt;
&lt;li&gt;Analyze “component not found” errors&lt;/li&gt;
&lt;li&gt;Analyze text comparison diffs&lt;/li&gt;
&lt;li&gt;Summarize test reports&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Your ideas are welcome!&lt;/p&gt;
&lt;h3&gt;What‘s the Price?&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Basic AI features such as AI checks or test suite generation are and will remain included in the standard price of every QF-Test license.&lt;/li&gt;
&lt;li&gt;“Bring your own model”: Costs for using AI itself may arise depending on the chosen model and provider.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the future:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Advanced features such as integrating QF-Test into agent-based workflows via MCP will require a QF-Test Pro license.&lt;/li&gt;
&lt;li&gt;If there is sufficient interest: Secure, privacy-compliant access to AI models directly via QF-Test.&lt;/li&gt;
&lt;/ul&gt;</content><category term="videos"/><category term="specialwebinars"/><category term="ai"/></entry><entry><title>QF-Test and AI – Special webinar on March 2, 2026 – register now for free</title><link href="https://www.qftest.com/en/company/news/newsletters/qf-test-and-ai-special-webinar-on-march-2-2026-register-now-for-free.html" rel="alternate"/><published>2026-02-11T00:00:00+01:00</published><updated>2026-02-11T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-02-11:/en/company/news/newsletters/qf-test-and-ai-special-webinar-on-march-2-2026-register-now-for-free.html</id><summary type="html">&lt;p&gt;Tutorial about AI testing, Case studies: how our customer test mobile applications and Java Swing with QF-Test, training dates&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hello dear QF-Test users!&lt;/p&gt;
&lt;p&gt;Get ready for the first QF-Test webinar of the year. On March 2, 2026 we will focus on “&lt;strong&gt;Artificial Intelligence&lt;/strong&gt;”. Business software requires reliability, not experimentation. That’s why, in this special webinar, we explain how we are using AI in a targeted way – now and in the future – where it delivers &lt;em&gt;real&lt;/em&gt; value, and how it helps you test more efficiently.  &lt;/p&gt;
&lt;p&gt;Best regards,&lt;br /&gt;
your QFS team&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;Next QF-Test special webinar&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://register.gotowebinar.com/register/1914761468909710680"&gt;&lt;img alt="Release Notes" src="https://www.qftest.com/videos/resources/special-webinar-qftest-ai-en.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;March 2, 2026, 3:30 PM (CET) When tests become intelligent: AI-driven checks with QF-Test&lt;/h3&gt;
&lt;p&gt;In this special webinar, we&amp;#8217;ll show you how to get the most out of the new AI integrations in QF-Test. With QF-Test 10, you can use AI to test non-deterministic UIs, validate UI components based on semantic criteria, generate test data, and much more.&lt;/p&gt;
&lt;p&gt;&lt;a href="/support/schulung-beratung/webinare.html"&gt;Alternative date&lt;/a&gt;: Webinar in German on March 2, 2026, at 10:30 AM&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://register.gotowebinar.com/register/1914761468909710680"  class="button scroll-animated green chevron"&gt;Sign up for free to webinar&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;h2&gt;Download QF-Test&lt;/h2&gt;
&lt;h3&gt;Are you already using the latest version of QF-Test?&lt;/h3&gt;
&lt;p&gt;The maintenance release QF-Test 10.0.2 increases flexibility for LLM communication (for example, for the AI Check node). It also improves the stability of communication with the QF-Test license server and fixes a few bugs.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://services.qftest.com/en/download/"&gt;&lt;img alt="Download QF-Test" src="/newsletters/resources/2025-09-25_Download-Thick-Bottom--Streamline-Streamline-3.0.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/download/"  class="button scroll-animated green chevron"&gt;Download QF-Test 10.0.2&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;To the &lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Watch the &lt;a href="/en/support/videos/qftest-version-10-highlights.html"&gt;Release video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Available since 2026-01-15&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;Events in 2026&lt;/h2&gt;
&lt;h3&gt;QF-Test Basics: training courses via webinar&lt;/h3&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/training.html"&gt;&lt;img alt="Basic Training QF-Test" src="/newsletters/resources/QF-Test_OnlineSchulung.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;➡️February 23–26, 2026 in German&lt;/h3&gt;
&lt;h3&gt;📆March 23–26, 2026 in English&lt;/h3&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="/en/support/training-consulting/training.html"  class="button scroll-animated green chevron"&gt;More about the training courses&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;4 days, 2 × 2.5 hours each&lt;/li&gt;
&lt;li&gt;Effective and rapid knowledge transfer&lt;/li&gt;
&lt;li&gt;Small groups up to 8 participants&lt;/li&gt;
&lt;li&gt;You can interact with the trainers and ask questions at any time.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;Individual QF-Test company trainings&lt;/h3&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/training.html#consulting"&gt;&lt;img alt="Individual QF-Test Training" src="/newsletters/resources/2025-10_OnlineSchulung-Ort.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Would you like a training course which is individually tailored to your company? Just send us an email to &lt;a href="https://services.qftest.com/en/support/contact/"&gt;service@qftest.com&lt;/a&gt;.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/support/contact/?comment=Request%20individual%20training"  class="button scroll-animated green chevron"&gt;Ask our service team for a quote&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;h2&gt;News&lt;/h2&gt;
&lt;h3&gt;Tutorial: Using GitHub Copilot with the QF-Test AI Integration&lt;/h3&gt;
&lt;p&gt;&lt;a href="/en/blog/article/llm-copilot.html"&gt;&lt;img alt="Tutorial GitHub Copilot" src="/newsletters/resources/copilot.png" /&gt;&lt;/a&gt;
We show how to connect GITHub Copilot to QF-Test using a simple custom model and the Copilot CLI.&lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/blog/article/llm-copilot.html"&gt;Go to tutorial&lt;/a&gt;&lt;/p&gt;
&lt;div class="qf-spacer "&gt;&lt;/div&gt;
&lt;h3&gt;Testing ZK Applications with QF-Test&lt;/h3&gt;
&lt;p&gt;&lt;a href="/en/blog/article/testing-zk-applications-2026.html"&gt;&lt;img alt="ZK-Anwendungen mit QF-Test testen" src="https://www.qftest.com//blog/resources/qftest-zk-3d-compare.png" /&gt;&lt;/a&gt;
The great thing about ZK has always been that you can build web applications without having to deal with writing and maintaining HTML and JavaScript code.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/blog/article/testing-zk-applications-2026.html"&gt;Read the blog article now&lt;/a&gt;&lt;/p&gt;
&lt;div class="qf-spacer "&gt;&lt;/div&gt;
&lt;h3&gt;BITMARCK case study: best practice for mobile app testing&lt;/h3&gt;
&lt;p&gt;&lt;a href="/unternehmen/referenzen/fallstudien/bitmarck-mobile.html"&gt;&lt;img alt="Case Study Mobile Appp Testing" src="https://www.qftest.com/images/customer/bitmarck.png" /&gt;&lt;/a&gt;
Our customer BITMARCK Software GmbH uses QF-Test to perform mobile regression testing for iOS and Android applications. The case study shows how QF-Test ensures the high quality of iOS and Android applications in every release cycle.&lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/company/references/case-studies/bitmarck-mobile.html"&gt;To the case study&lt;/a&gt;&lt;/p&gt;
&lt;div class="qf-spacer "&gt;&lt;/div&gt;

&lt;h3&gt;Case study ABS: automated nightly testing process saves significant time and effort&lt;/h3&gt;
&lt;p&gt;&lt;a href="/en/company/references/case-studies/abs.html"&gt;&lt;img alt="Case Study Java Swing Testing" src="/newsletters/resources/abslbs280.png" /&gt;&lt;/a&gt;
&amp;#8220;QF-Test, as the best solution for automated testing of our Swing-based ERP system for the laundry business, has exceeded our expectations for over 15 years.&amp;#8221;  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/company/references/case-studies/abs.html"&gt;Read the case study now&lt;/a&gt;&lt;/p&gt;
&lt;div class="qf-spacer "&gt;&lt;/div&gt;

&lt;h3&gt;Master complex systems with QF-Test&lt;/h3&gt;
&lt;p&gt;&lt;a href="/en/blog/article/quality-engineering.html"&gt;&lt;img alt="mgm Quality Landscape" src="/newsletters/resources/image-2025-08-19-09-23-05-358.jpg" /&gt;&lt;/a&gt;
Based on the quality engineering strategy of Lilia Gargouri at mgm technology partners, our blog article shows how QF-Test helps organizations test software projects efficiently, scalably, and reliably.&lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/blog/article/quality-engineering.html"&gt;Read the blog article now&lt;/a&gt;&lt;/p&gt;
&lt;div class="qf-spacer "&gt;&lt;/div&gt;

&lt;h3&gt;Partying in cozy alpine cabin vibes&lt;/h3&gt;
&lt;p&gt;&lt;a href="/en/company/news/company-events/new-years-meetup-mgm.html"&gt;&lt;img alt="" src="/companynews/resources/202601-eisstockschiessen.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In a relaxed atmosphere, full of coziness and great vibes, the QF-Test team took part in this year’s Winter Cabin Magic event hosted by our parent company, mgm technology partners.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/company/news/company-events/new-years-meetup-mgm.html"&gt;Read more&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;From our YouTube Channel&lt;/h2&gt;
&lt;p&gt;&lt;a href="/en/support/videos/welcome-to-qftest.html"&gt;&lt;img alt="Video about QF-Test" src="/newsletters/resources/imagevideo-qf-test-en.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;New video about QF-Test&lt;/h3&gt;
&lt;p&gt;Whether you’re building web apps, mobile experiences or desktop applications, QF-Test helps you deliver quality, faster.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/support/videos/welcome-to-qftest.html"&gt;Watch the video now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visit our &lt;a href="https://www.youtube.com/@qftest"&gt;YouTube channel&lt;/a&gt; to subscribe and follow us on &lt;a href="https://www.linkedin.com/company/quality-first-software-gmbh-qfs"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;</content><category term="newsletters"/></entry><entry><title>Tutorial: Using GitHub Copilot with the QF-Test AI Integration</title><link href="https://www.qftest.com/en/blog/article/llm-copilot.html" rel="alternate"/><published>2026-02-09T00:00:00+01:00</published><updated>2026-02-09T00:00:00+01:00</updated><author><name>Max Melzer</name></author><id>tag:www.qftest.com,2026-02-09:/en/blog/article/llm-copilot.html</id><summary type="html">&lt;p&gt;Since QF-Test 10, AI-driven capabilities are integrated directly into your testing workflow. This post shows how to connect &lt;strong&gt;GitHub Copilot&lt;/strong&gt; to QF-Test using a simple custom model and the &lt;strong&gt;Copilot CLI&lt;/strong&gt;.&lt;/p&gt;</summary><content type="html">&lt;div class="container card scroll-animated width-normal red    "&gt;&lt;div class="container-content"&gt;&lt;div class="container-title"&gt;&lt;img class="container-icon scroll-animated" src="/images/icons/alert-triangle.svg" alt=""&gt;&lt;/div&gt;&lt;div class="element-text"&gt;&lt;strong&gt;Attention:&lt;/strong&gt; With QF-Test 11, the workaround described here is no longer needed. You can connect the GitHub Copilot and Claude Code CLI interfaces to QF-Test 11 directly via &lt;a href="https://www.qftest.com/doc/manual/en/opt_llmintegration.html#opt_LLMProviders"&gt;&lt;em&gt;Options → Artificial Intelligence → AI Configurations&lt;/em&gt;&lt;/a&gt;.&lt;/div&gt;    &lt;/div&gt;&lt;/div&gt;

&lt;p&gt;QF-Test is a comprehensive test automation solution built for Web, Desktop, Java-based, and Mobile applications, with a focus on long-term maintainability and enterprise-ready reliability. With the launch of &lt;strong&gt;QF-Test 10&lt;/strong&gt;, AI-driven capabilities are now integrated directly into your testing workflow. This post shows how to connect &lt;strong&gt;GitHub Copilot&lt;/strong&gt; to QF-Test using a simple custom model and the &lt;strong&gt;Copilot CLI&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Usually in QF-Test, AI providers are set up via &lt;a href="https://www.qftest.com/doc/manual/en/opt_llmintegration.html#opt_LLMProviders"&gt;&lt;em&gt;Options → Artificial Intelligence → AI Configurations&lt;/em&gt;&lt;/a&gt;. GitHub Copilot is an exception because it doesn&amp;#8217;t expose a standard API endpoint with a URL. Therefore, you cannot add Copilot in &lt;em&gt;Options → Artificial Intelligence → AI Configurations&lt;/em&gt;. The good news: you can still integrate Copilot by registering your own custom model in QF-Test that calls the GitHub Copilot CLI.&lt;/p&gt;
&lt;h2&gt;What you&amp;#8217;ll need&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://services.qftest.com/en/download/"&gt;QF-Test 10 or later&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Access to GitHub Copilot and GitHub Copilot CLI. As of now, a free GitHub account on the &amp;#8220;Free&amp;#8221; Copilot plan is enough to experiment with the Copilot CLI.&lt;/li&gt;
&lt;li&gt;Basic familiarity with scripting in QF-Test.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Step 1: Install and configure the GitHub Copilot CLI&lt;/h2&gt;
&lt;p&gt;&lt;img alt="" src="/blog/resources/github-copilot-cli.webp" /&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Install the GitHub Copilot CLI&lt;br /&gt;
&lt;a href="https://docs.github.com/en/copilot/how-tos/copilot-cli"&gt;Follow the official instructions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Log in from your Terminal&lt;br /&gt;
    Run &lt;code&gt;copilot login&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Verify it works&lt;br /&gt;
    Try a quick prompt: &lt;code&gt;copilot --prompt "Hello World"&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If that prints a response from Copilot, you&amp;#8217;re ready to connect it to QF-Test.&lt;/p&gt;
&lt;h2&gt;Step 2: Wire Copilot into QF-Test via a custom model&lt;/h2&gt;
&lt;p&gt;We&amp;#8217;ll use &lt;a href="https://www.qftest.com/doc/manual/en/tech_scripting_ai.html#ai_method_addCustomModel"&gt;&lt;code&gt;ai.addCustomModel&lt;/code&gt;&lt;/a&gt; in a &lt;a href="https://www.qftest.com/doc/manual/en/control.html#step_ServerScriptStep"&gt;Server Script&lt;/a&gt; so QF-Test can talk to Copilot by launching the CLI as a subprocess. In QF-Test:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Create a new Server Script node (language: Groovy).&lt;/li&gt;
&lt;li&gt;Paste the code below into the script.&lt;/li&gt;
&lt;li&gt;Adjust the path to the &lt;code&gt;copilot&lt;/code&gt; executable. &lt;code&gt;/opt/homebrew/bin/copilot&lt;/code&gt; will only work if Copilot CLI was installed via Homebrew on macOS.&lt;/li&gt;
&lt;li&gt;Run the script node.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;ai&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;addCustomModel&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;GitHub Copilot&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;{&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;/opt/homebrew/bin/copilot&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;--silent&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;--stream&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;off&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;--model&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;claude-sonnet-4.5&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;--prompt&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;msg&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="kt"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;proc&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;cmd&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;execute&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;proc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;outputStream&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;close&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;proc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;waitFor&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt;

&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;return&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;proc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;in&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;text&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;replace&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;● &amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;})&lt;/span&gt;

&lt;span class="n"&gt;println&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;ai&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;ask&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;What is the answer to life, the universe and everything?&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;configName:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;GitHub Copilot&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;What this does:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Registers a LLM model named &amp;#8220;GitHub Copilot&amp;#8221; with the QF-Test AI integration.&lt;/li&gt;
&lt;li&gt;For each prompt (&lt;code&gt;msg&lt;/code&gt;), QF-Test starts the Copilot CLI and returns the CLI&amp;#8217;s text output back to QF-Test.&lt;/li&gt;
&lt;li&gt;Prints the result of a sample &lt;code&gt;ai.ask&lt;/code&gt; call in the QF-Test terminal.&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
&lt;p&gt;Tip: You can change the model name passed to &lt;code&gt;--model&lt;/code&gt; to your preferred Copilot model.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;If you get an error saying &lt;code&gt;Cannot run program "/path/to/copilot": error=2, No such file or directory&lt;/code&gt;, you must update the path in the first item in the &lt;code&gt;cmd&lt;/code&gt; list to where the Copilot CLI is installed on your system.&lt;/p&gt;
&lt;p&gt;If everything works, you can remove the &lt;code&gt;println&lt;/code&gt; line at the end.&lt;/p&gt;
&lt;h2&gt;Step 3: Use Copilot with the QF-Test &lt;code&gt;ai&lt;/code&gt; scripting module&lt;/h2&gt;
&lt;p&gt;Once the custom model is registered, you can use it from any script with &lt;code&gt;ai.ask&lt;/code&gt;, for example:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kt"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;answer&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ai&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;ask&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Generate a JSON string of test data in the following format: ...&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nl"&gt;configName:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;GitHub Copilot&amp;quot;&lt;/span&gt;
&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setLocal&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;data&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;JSON&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;parse&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;answer&lt;/span&gt;&lt;span class="o"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;For more on the &lt;code&gt;ai&lt;/code&gt; scripting module in QF-Test, see the &lt;a href="https://www.qftest.com/doc/manual/en/tech_scripting_ai.html"&gt;QF-Test manual&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Step 4: Validate UI text with &amp;#8220;Check text with AI&amp;#8221;&lt;/h2&gt;
&lt;p&gt;You can also bring Copilot into your test checks. The &lt;a href="https://www.qftest.com/doc/manual/en/checks.html#step_AICheckTextStep"&gt;&amp;#8220;Check text with AI&amp;#8221;&lt;/a&gt; node lets you  have the AI verify UI elements in your application using natural language. In the node&amp;#8217;s &amp;#8220;AI configuration&amp;#8221; field, &amp;#8220;GitHub Copilot&amp;#8221; should automatically appear in the dropdown.&lt;/p&gt;
&lt;p&gt;&lt;img alt="The &amp;quot;Check text with AI&amp;quot; node in QF-Test" src="https://www.qftest.com/doc/manual/en/images/att_AICheckTextStep.png" /&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;That&amp;#8217;s it! Even though Copilot doesn&amp;#8217;t expose a standard URL+API key endpoint, you can still use it inside QF-Test by registering a custom model that calls the Copilot CLI. From there, &lt;code&gt;ai.ask&lt;/code&gt; helps you validate and generate data right in your tests, and &amp;#8220;Check text with AI&amp;#8221; lets you validate UI content in plain language. Happy testing!&lt;/p&gt;
&lt;p&gt;For more details on all AI integration options in QF-Test, see our free special webinar:&lt;/p&gt;
&lt;div class="video-card-horizontal flex-row-dynamic flex-wrap"&gt;
    &lt;a  href="https://www.qftest.com/en/support/videos/special-webinar-mcp.html" rel="bookmark" title="AI agents in action: autonomous test generation and MCP with QF-Test 11"&gt;
        &lt;img src="/videos/resources/special-webinar-agentic-ai-en.jpg" class="scroll-animated" width="640" height="480" alt=""&gt;
    &lt;/a&gt;
    &lt;div class="entry-content"&gt;
      &lt;h3 class="entry-title"&gt;
        &lt;a class="title" href="https://www.qftest.com/en/support/videos/special-webinar-mcp.html" rel="bookmark" title="AI agents in action: autonomous test generation and MCP with QF-Test 11"&gt;
            AI agents in action: autonomous test generation and MCP with QF-Test 11
        &lt;/a&gt;
      &lt;/h3&gt;
    &lt;p&gt;In this webinar, we&amp;#8217;ll show you how QF-Test 11 integrates AI directly into your everyday testing workflow. From AI instructions in individual test steps to automatically generating comprehensive test cases.&lt;/p&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;div class="anchor-wrapper"&gt;
    &lt;a href="https://www.qftest.com/en/blog/article/llm-copilot-ssh-remote.html" class="container card scroll-animated width-normal clear imgfill   image-right"&gt;&lt;img class="container-image" src="/blog/resources/llm-copilot-ssh-remote.svg" alt=""&gt;&lt;div class="container-content"&gt;&lt;div class="container-title"&gt;&lt;div class="container-title-text"&gt;Using GitHub Copilot CLI via Remote SSH from QF-Test&lt;/div&gt;&lt;/div&gt;

&lt;div class="entry-content"&gt;  &lt;p&gt;This quick guide explains how to use the &lt;strong&gt;GitHub Copilot CLI&lt;/strong&gt; via a remote SSH connection directly from &lt;strong&gt;QF-Test&lt;/strong&gt; — including SSH key setup and troubleshooting.&lt;/p&gt;
&lt;/div&gt;

&lt;div class="container width-normal align-start justify-center row    " &gt;&lt;div class="container-content" &gt;&lt;address class="vcard author"&gt;
Irfan Yigit, ASC Technologies&lt;/address&gt;
&lt;div class="flex-column"&gt;&lt;div&gt;&lt;time class="published" datetime="2026-04-01T00:00:00+02:00"&gt;
        01/04/2026
&lt;/time&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;    &lt;/div&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class="anchor-wrapper"&gt;
    &lt;a href="https://www.qftest.com/en/solutions/test-automation-basics/ai-testautomation.html" class="container card scroll-animated width-normal   image-left  "&gt;&lt;img class="container-image" src="/images/illustrations/ai-qf-test-illustration.png" alt=""&gt;&lt;div class="container-content"&gt;&lt;div class="container-title"&gt;&lt;img class="container-icon scroll-animated" src="/images/icons/streamline-icon-hierarchy-9@48x48-blau.svg" alt=""&gt;&lt;div class="container-title-text"&gt;AI-driven test automation with QF-Test&lt;/div&gt;&lt;/div&gt;&lt;div class="element-text"&gt;With QF-Test 11, you can integrate your own AI models into agentic workflows and have them create and execute tests autonomously. Additionally, the integrated MCP-Server allows you to make the powerful QF-Test tools available to external agentic AI systems as well.&lt;/div&gt;    &lt;/div&gt;&lt;/a&gt;&lt;/div&gt;</content><category term="blog"/><category term="how-to"/><category term="ai"/></entry><entry><title>Testing ZK Applications with QF-Test in 2026</title><link href="https://www.qftest.com/en/blog/article/testing-zk-applications-2026.html" rel="alternate"/><published>2026-02-05T00:00:00+01:00</published><updated>2026-02-05T00:00:00+01:00</updated><author><name>Max Melzer</name></author><id>tag:www.qftest.com,2026-02-05:/en/blog/article/testing-zk-applications-2026.html</id><summary type="html">&lt;p&gt;&lt;em&gt;This text was &lt;a href="https://docs.zkoss.org/small-talk/2026/02/05/qftest-testing-zk-applications"&gt;originally published as a ZK Small Talk&lt;/a&gt;. &lt;/em&gt;&lt;em&gt;ZK&lt;/em&gt;&lt;em&gt; is a framework for building web applications with Java and a long-standing partner of QF-Test.&lt;/em&gt;&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;em&gt;This text was &lt;a href="https://docs.zkoss.org/small-talk/2026/02/05/qftest-testing-zk-applications"&gt;originally published as a ZK Small Talk&lt;/a&gt;. &lt;/em&gt;&lt;em&gt;ZK&lt;/em&gt;&lt;em&gt; is a framework for building web applications with Java and a long-standing partner of QF-Test.&lt;/em&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;img alt="" src="/blog/resources/qftest-zk-3d-compare.png" /&gt;&lt;/p&gt;
&lt;p&gt;The great thing about ZK has always been that you can build web application without having to deal with the hassle of writing and maintaining HTML and JavaScript code. You define your application UI in concise &lt;a href="https://docs.zkoss.org/zk_dev_ref/ui_composing/zuml"&gt;&lt;code&gt;ZUML&lt;/code&gt; markup&lt;/a&gt; and little &lt;a href="https://docs.zkoss.org/zk_dev_ref/ui_composing/richlet"&gt;richlets&lt;/a&gt; written in Java, you can write unit tests for your business logic and even use &lt;a href="https://www.zkoss.org/product/zats"&gt;ZATS&lt;/a&gt; to test your UI.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://docs.zkoss.org/small-talk/2026/02/05/qftest-testing-zk-applications"  class="button scroll-animated green chevron"&gt;Read more on the ZK Small Talks blog&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;</content><category term="blog"/><category term="how-to"/><category term="testing"/></entry><entry><title>End-to-end tests for automated testing of a Swing-based ERP solution</title><link href="https://www.qftest.com/en/company/references/case-studies/abs.html" rel="alternate"/><published>2026-02-03T00:00:00+01:00</published><updated>2026-02-03T00:00:00+01:00</updated><author><name>Anca Stamatopol</name></author><id>tag:www.qftest.com,2026-02-03:/en/company/references/case-studies/abs.html</id><summary type="html">&lt;p&gt;QF-Test as the best solution for automated testing of our Swing-based ERP solution&lt;/p&gt;</summary><content type="html">&lt;h2&gt;About ABS&lt;/h2&gt;
&lt;p&gt;ABS is a leading software company for laundry management systems, specialized worldwide in the laundry and textile rental industry. Our software has evolved into a comprehensive and integrated ERP solution for industrial laundries—including route accounting and contract management.&lt;/p&gt;
&lt;h2&gt;Automated End-to-End Testing without programming skills&lt;/h2&gt;
&lt;p&gt;After conducting extensive research on multiple automated testing solutions, we selected QF-Test as the best fit for our &lt;a href="/en/product/qf-test/java-testing/java-swing-awt.html"&gt;Java Swing&lt;/a&gt; based laundry ERP system.&lt;/p&gt;
&lt;p&gt;A key advantage was the &lt;strong&gt;ease of use&lt;/strong&gt;, which enabled our team to &lt;strong&gt;quickly build business flow tests without requiring advanced programming knowledge&lt;/strong&gt;.  &lt;/p&gt;
&lt;p&gt;This enabled us to&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;automate critical flows early on,&lt;/li&gt;
&lt;li&gt;significantly reduce manual testing effort, and&lt;/li&gt;
&lt;li&gt;accelerate delivery.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Expanding test coverage&lt;/h3&gt;
&lt;p&gt;Over time, the QF-Test tool has continued to mature, allowing us to &lt;strong&gt;extend our automated test coverage beyond Java Swing to web applications, mobile applications, and REST web services&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;For unsuccessful test flows, QF-Test provides &lt;strong&gt;highly valuable diagnostic data&lt;/strong&gt;, including&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;screenshots,&lt;/li&gt;
&lt;li&gt;detailed step-by-step error information, and&lt;/li&gt;
&lt;li&gt;error messages.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Additionally, by integrating Jython scripts into our dependencies, we are able to validate error log files, giving us deeper insights into failures and improving root-cause analysis.&lt;/p&gt;
&lt;h3&gt;Automated nightly testing saves time and effort&lt;/h3&gt;
&lt;p&gt;We implemented a fully automated nightly testing process using &lt;strong&gt;Jenkins&lt;/strong&gt; that executes all QF-Test test runs automatically and provides comprehensive results.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;These reports are extremely helpful for identifying code defects as well as opportunities to improve test flows.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The ability to run these automated tests on both master and feature branches has saved our team &lt;strong&gt;substantial amount of time and effort compared to manual end-to-end testing&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;Outstanding support&lt;/h2&gt;
&lt;p&gt;Beyond the technology itself, our &lt;strong&gt;collaboration with the QF-Test team has been outstanding&lt;/strong&gt;. Their support team is responsive and knowledgeable, consistently helping us solve challenges when needed. They also regularly offer &lt;a href="/en/support/training-consulting/webinars.html"&gt;webinars&lt;/a&gt; that provide valuable insights into new features, enhancements, and best practices, ensuring we continuously get more value from the tool. After more than 15 years of use, QF-Test remains a &lt;strong&gt;trusted partner in our automated testing strategy&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;QF-Test, as the best solution for automated testing of our Swing-based ERP solution for the laundry industry, &lt;strong&gt;has exceeded our expectations for over 15 years&lt;/strong&gt;. The &lt;strong&gt;intuitive approach&lt;/strong&gt; enabled us to rapidly create end-to-end tests with minimal programming effort, drastically reducing manual testing needs. Thanks to the &lt;strong&gt;continuous innovation&lt;/strong&gt; from the QF-Test team, we have since expanded our test coverage to include mobile applications, web applications, and web services, making QF-Test a trusted long-term partner.&lt;/p&gt;
&lt;p&gt;Anca Stamatopol, QA Automation Team Lead, ABS Laundry Business Solutions&lt;/p&gt;</content><category term="casestudies"/><category term="it"/></entry><entry><title>Mobile Regression Testing for iOS and Android</title><link href="https://www.qftest.com/en/company/references/case-studies/bitmarck-mobile.html" rel="alternate"/><published>2026-02-02T00:00:00+01:00</published><updated>2026-02-02T00:00:00+01:00</updated><author><name>Dirk Kruck</name></author><id>tag:www.qftest.com,2026-02-02:/en/company/references/case-studies/bitmarck-mobile.html</id><summary type="html">&lt;p&gt;As a leading digitalization partner in statutory health insurance, BITMARCK is driving digital transformation in the industry with innovative products and services.&lt;/p&gt;</summary><content type="html">&lt;h2&gt;Expanding the GKV Software Standard BITMARCK_21c|ng&lt;/h2&gt;
&lt;h3&gt;About BITMARCK&lt;/h3&gt;
&lt;p&gt;As a leading digitalization partner in the statutory health insurance sector, BITMARCK is accelerating digital transformation within the industry through innovative products and services. The foundation for this is the GKV software standard BITMARCK_21c|ng, which is used by affiliated healthcare funds. Clients of the BITMARCK Group include company and guild health insurance funds, as well as DAK-Gesundheit and other substitute health insurers—over 30,000 employees and around 35 million insured individuals within statutory health insurance (GKV) benefit from BITMARCK’s IT services. More than 80 percent of German statutory health insurers are clients of the group. With more than 1,900 employees, BITMARCK generates annual revenues of more than half a billion euros.&lt;/p&gt;
&lt;h2&gt;The Challenge: Seamless Quality Assurance for Mobile Channels&lt;/h2&gt;
&lt;p&gt;After successfully implementing test automation for desktop clients (Web and Swing), BITMARCK GmbH faced the challenge of bringing the quality of its native iOS and Android apps within the GKV software standard BITMARCK_21c|ng up to the same high level.&lt;br /&gt;
This required a forward-looking and flexible extension of the existing test automation framework in order to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Ensure a &lt;strong&gt;consistent user experience and functionality&lt;/strong&gt; across both mobile operating systems (iOS and Android).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Quickly and efficiently create new mobile test cases&lt;/strong&gt; and integrate them into the existing set of over 4,500 regression tests.&lt;/li&gt;
&lt;li&gt;Integrate &lt;strong&gt;mobile test coverage&lt;/strong&gt; into the Continuous Delivery (CI/CD) pipeline to ensure stability with every release cycle.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;The Solution: Leveraging the QF-Test Platform for Mobile&lt;/h2&gt;
&lt;p&gt;The existing foundation, consisting of QF-Test and the jointly developed Multi-Client Recorder, served as the basis for the mobile expansion.&lt;/p&gt;
&lt;h3&gt;Mobile Regression Testing Strategy in Detail&lt;/h3&gt;
&lt;p&gt;BITMARCK focused on securing its native iOS and Android apps, which serve as important customer and employee portals, by taking the following steps:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Technology Selection and Integration:&lt;/strong&gt; Thanks to QF-Test’s platform-agnostic nature, the framework could be directly extended to native mobile apps. Integration was achieved via QF-Test, enabling seamless use of both physical devices and emulators.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Mobile Test Object Recognition:&lt;/strong&gt; Close collaboration with QFS enabled the early implementation and optimization of mobile test object recognition. This ensured robust test cases that are resilient to minor UI changes across both mobile platforms.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Specific Mobile Interactions:&lt;/strong&gt; Specific mobile interactions (such as swiping and handling virtual keyboards) are captured by the recorder and incorporated into test cases.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Result:&lt;/strong&gt; Mobile test coverage has been successfully integrated into the CI/CD pipeline and now ensures the quality of iOS and Android applications in every release cycle.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;The Benefits&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Cross-Platform Efficiency:&lt;/strong&gt; The Multi-Client Recorder optimizes test automation for Web clients, Swing clients, and native iOS and Android apps—all under one unified framework.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Comprehensive Coverage:&lt;/strong&gt; Integration allows management and execution of regression tests across all client architectures, including the new mobile coverage.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Accelerated Test Development:&lt;/strong&gt; The recorder’s intuitive design carries over to mobile development, simplifying the creation and maintenance of test cases while significantly reducing maintenance effort.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Maximum Mobile Software Quality:&lt;/strong&gt; By expanding its regression testing strategy, BITMARCK Software GmbH ensures the highest quality for its mobile solutions for statutory health insurance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Continuous Delivery:&lt;/strong&gt; Mobile coverage has become part of the CI/CD pipeline, guaranteeing the stability of native apps in every daily run.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;The successful integration of &lt;strong&gt;mobile regression testing for iOS and Android&lt;/strong&gt; using QF-Test and the Multi-Client Recorder highlights the flexibility and future-readiness of BITMARCK GmbH’s test automation strategy. This expansion safeguards the growing importance of mobile channels and reaffirms the commitment to the highest quality standards in software development.&lt;/p&gt;
&lt;p&gt;Dirk Kruck, Test Engineer, BITMARCK Software GmbH&lt;/p&gt;</content><category term="casestudies"/><category term="healthcare"/><category term="it"/><category term="insurance"/></entry><entry><title>QF-Test Featured in mgm technology partners’ Blog on Quality and Efficiency Strategy</title><link href="https://www.qftest.com/en/blog/article/quality-engineering.html" rel="alternate"/><published>2026-01-29T00:00:00+01:00</published><updated>2026-01-29T00:00:00+01:00</updated><author><name>Monika Dühring</name></author><id>tag:www.qftest.com,2026-01-29:/en/blog/article/quality-engineering.html</id><summary type="html">&lt;p&gt;In their latest blog post, mgm technology partners presents their holistic approach to &lt;strong&gt;Quality Engineering&lt;/strong&gt;. Here we explain why we also find this approach worthwhile and how QF-Test fits into it.&lt;/p&gt;</summary><content type="html">&lt;p&gt;In the latest post on the mgm technology partners blog, &lt;a href="https://insights.mgm-tp.com/en/2026/quality-assurance/how-quality-engineering-makes-complex-systems-manageable/"&gt;&amp;#8220;How Quality Engineering Makes Complex Systems Manageable&amp;#8221;&lt;/a&gt;, &lt;a href="/author/lilia-gargouri.html"&gt;Lilia Gargouri&lt;/a&gt; presents their holistic approach to quality engineering &amp;ndash; with a focus on sustainable, scalable quality assurance in complex software projects. Unlike traditional testing, this approach emphasizes a systematic interplay of architecture, processes, data, models, and tools, making quality throughout the entire software lifecycle both predictable and controllable.&lt;/p&gt;
&lt;p&gt;&lt;img alt="" src="https://insights.mgm-tp.com/wp-content/uploads/2025/08/image-2025-08-19-09-23-05-358.jpg" /&gt;&lt;/p&gt;
&lt;h2&gt;A particularly interesting aspect&lt;/h2&gt;
&lt;p&gt;The article highlights the critical role automation plays in this approach—and this is where QF-Test comes in. As a powerful tool for automated end-to-end and &lt;a href="/en/solutions/types-of-tests.html"&gt;UI testing&lt;/a&gt;, QF-Test delivers exactly the scalability and repeatability that complex applications require, helping teams use resources efficiently while ensuring high quality.&lt;/p&gt;
&lt;h2&gt;Why QF-Test matters for quality engineering&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Automated tests that go beyond classic manual methods to &lt;strong&gt;ensure consistent, reproducible quality&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Support for different types of applications&lt;/strong&gt; (web, desktop, Android, iOS applications, etc.), making it easier to integrate into diverse projects.&lt;/li&gt;
&lt;li&gt;Contribution to a shift-left strategy, helping to prevent defects early in the development process and thereby &lt;strong&gt;reducing effort and cost&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Overall, the article demonstrates how test automation—and especially the use of QF-Test as part of a test and quality engineering strategy—helps manage the challenges of complex software environments and ensures the highest quality standards.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;a href="https://insights.mgm-tp.com/en/2026/quality-assurance/how-quality-engineering-makes-complex-systems-manageable/"&gt;How Quality Engineering Makes Complex Systems Manageable&lt;/a&gt; by Lilia Gargouri, Head of Quality Engineering at mgm technology partners&lt;/p&gt;</content><category term="blog"/><category term="testing"/></entry><entry><title>QF-Test and mgm technology partners partying in cozy alpine cabin vibes</title><link href="https://www.qftest.com/en/company/news/company-events/new-years-meetup-mgm.html" rel="alternate"/><published>2026-01-21T00:00:00+01:00</published><updated>2026-01-21T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-01-21:/en/company/news/company-events/new-years-meetup-mgm.html</id><summary type="html">&lt;p&gt;In a relaxed atmosphere, with lots of cosiness and a great mood, the QF-Test team took part in this year&amp;#8217;s Winter Hüttenzauber organized by our parent company mgm technology partners.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="Curling 2026" src="/companynews/resources/202601-eisstockschiessen.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;With delicious food, cheerful curling and good music, there was definitely no shortage of fun. By the end, everyone was on the dance floor.
It was an all-around successful evening that strengthened team spirit and created many wonderful shared memories.&lt;/p&gt;</content><category term="companynews"/></entry><entry><title>QF-Test 10.0.2 available</title><link href="https://www.qftest.com/en/company/news/qf-test-10-0-2-available.html" rel="alternate"/><published>2026-01-15T00:00:00+01:00</published><updated>2026-01-15T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2026-01-15:/en/company/news/qf-test-10-0-2-available.html</id><content type="html">&lt;p&gt;This maintenance release increases flexibility for LLM communication (for example, for the AI Check node). It also improves the stability of communication with the QF-Test license server and fixes a few bugs.&lt;/p&gt;</content><category term="news"/></entry><entry><title>Maintenace release QF-Test 10.0.1 &amp; season’s greetings by QFS</title><link href="https://www.qftest.com/en/company/news/qf-test-1001-seasons-greetings.html" rel="alternate"/><published>2025-12-18T00:00:00+01:00</published><updated>2025-12-18T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-12-18:/en/company/news/qf-test-1001-seasons-greetings.html</id><summary type="html">&lt;p&gt;Happy holidays &amp;amp; a successful start to the new year with QF-Test&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a href="/en/index.html"&gt;&lt;img alt="QF-Test Logo" src="/newsletters/resources/qf-test+logo-200-xmas.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hello dear QF-Test users!&lt;/p&gt;
&lt;p&gt;As we approach the end of another remarkable year, we would like to take a moment to thank you for your trust, loyalty, and excellent collaboration. Together, we have once again achieved a great deal this year:&lt;/p&gt;
&lt;p&gt;&lt;a href="/en/product/release-notes-roadmap.html"&gt;&lt;img alt="QF-Test Version 9+10" src="/newsletters/resources/qf-test9-10png.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;With &lt;strong&gt;QF-Test 9 and 10&lt;/strong&gt;, you benefit from powerful enhancements such as WebAPI testing and AI-driven validation, improved accessibility testing and much more flexible image-based testing capabilities. We look forward to your &lt;a href="https://services.qftest.com/en/support/contact/?type=editions"&gt;feedback on our new QF-Test editions&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Through continuous development, we keep our finger on the pulse. Accordingly, we are releasing &lt;strong&gt;maintenance version 10.0.1&lt;/strong&gt; today with several important bug fixes.&lt;/p&gt;
&lt;p&gt;Features for integrating the &lt;strong&gt;test management tools Q12-TMT and Xray&lt;/strong&gt; as well as support for &lt;strong&gt;Oracle Forms&lt;/strong&gt; are &lt;strong&gt;currently under development&lt;/strong&gt; and will also be included in QF-Test 10 soon with upcoming minor updates.  &lt;/p&gt;
&lt;p&gt;We&amp;#8217;re excited to continue this journey with you in 2026! We wish you and your families a relaxing and restful Christmas season. Treat yourself to some quality time, enjoy the festive season, and recharge your batteries for the coming year.  &lt;/p&gt;
&lt;p&gt;With warm regards and best wishes for a successful, healthy, and happy 2026,&lt;br /&gt;
your QFS team&lt;/p&gt;</content><category term="news"/></entry><entry><title>Maintenace release QF-Test 10.0.1 &amp; season’s greetings by QFS</title><link href="https://www.qftest.com/en/company/news/newsletters/qf-test-1001-seasons-greetings.html" rel="alternate"/><published>2025-12-18T00:00:00+01:00</published><updated>2025-12-18T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-12-18:/en/company/news/newsletters/qf-test-1001-seasons-greetings.html</id><summary type="html">&lt;p&gt;🎄 Happy holidays &amp;amp; a successful start to the new year with QF-Test&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a href="/en/index.html"&gt;&lt;img alt="QF-Test Logo" src="/newsletters/resources/qf-test+logo-200-xmas.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Hello dear QF-Test users!&lt;/p&gt;
&lt;p&gt;As we approach the end of another remarkable year, we would like to take a moment to thank you for your trust, loyalty, and excellent collaboration. Together, we have once again achieved a great deal this year:&lt;/p&gt;
&lt;p&gt;&lt;a href="/en/product/release-notes-roadmap.html"&gt;&lt;img alt="QF-Test Version 9+10" src="/newsletters/resources/qf-test9-10png.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;With &lt;strong&gt;QF-Test 9 and 10&lt;/strong&gt;, you benefit from powerful enhancements such as WebAPI testing and AI-driven validation, improved accessibility testing and much more flexible image-based testing capabilities. We look forward to your &lt;a href="https://services.qftest.com/en/support/contact/?comment=Feedback%20Editions"&gt;feedback on our new QF-Test editions&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Through continuous development, we keep our finger on the pulse. Accordingly, we are releasing &lt;strong&gt;maintenance version 10.0.1&lt;/strong&gt; today with several important bug fixes.&lt;/p&gt;
&lt;p&gt;Features for integrating the &lt;strong&gt;test management tools Q12-TMT and Xray&lt;/strong&gt; as well as support for &lt;strong&gt;Oracle Forms&lt;/strong&gt; are &lt;strong&gt;currently under development&lt;/strong&gt; and will also be included in QF-Test 10 soon with upcoming minor updates.  &lt;/p&gt;
&lt;p&gt;We&amp;#8217;re excited to continue this journey with you in 2026! We wish you and your families a relaxing and restful Christmas season. Treat yourself to some quality time, enjoy the festive season, and recharge your batteries for the coming year.  &lt;/p&gt;
&lt;p&gt;With warm regards and best wishes for a successful, healthy, and happy 2026,&lt;br /&gt;
your QFS team&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Download QF-Test&lt;/h2&gt;
&lt;h3&gt;Are you already using the latest version of QF-Test?&lt;/h3&gt;
&lt;p&gt;The maintenance release QF-Test 10.0.1 fixes startup issues under QF-Test 10.0.0 related to certain license files and addresses several other minor bugs.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://services.qftest.com/en/download/"&gt;&lt;img alt="Download QF-Test" src="/newsletters/resources/2025-09-25_Download-Thick-Bottom--Streamline-Streamline-3.0.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/download/"  class="button scroll-animated green chevron"&gt;Download QF-Test 10.0.1&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;To the &lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Watch the &lt;a href="/en/support/videos/qftest-version-10-highlights.html"&gt;Release video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Available since 2025-12-18&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;Events in 2026&lt;/h2&gt;
&lt;h3&gt;Next QF-Test special webinar&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://register.gotowebinar.com/register/1914761468909710680"&gt;&lt;img alt="Release Notes" src="https://www.qftest.com/videos/resources/special-webinar-qftest-ai-en.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;March 2, 2026, 3:30 PM (CET) When tests become intelligent: AI-driven checks with QF-Test&lt;/h3&gt;
&lt;p&gt;In this special webinar, we&amp;#8217;ll show you how to get the most out of the new AI integrations in QF-Test. With QF-Test 10, you can use AI to test non-deterministic UIs, validate UI components based on semantic criteria, generate test data, and much more.&lt;/p&gt;
&lt;p&gt;&lt;a href="/support/schulung-beratung/webinare.html"&gt;Alternative date&lt;/a&gt;: Webinar in German on March 2, 2026, at 10:30 AM&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://register.gotowebinar.com/register/1914761468909710680"  class="button scroll-animated green chevron"&gt;Sign up for free to webinar&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;h3&gt;QF-Test Basics: Training courses via webinar&lt;/h3&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/training.html"&gt;&lt;img alt="Basic Training QF-Test" src="/newsletters/resources/QF-Test_OnlineSchulung.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;February 23–26, 2026 in German&lt;/h3&gt;
&lt;h3&gt;March 23–26, 2026 in English&lt;/h3&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="/en/support/training-consulting/training.html"  class="button scroll-animated green chevron"&gt;More about the training courses&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;4 days, 2 × 2.5 hours each&lt;/li&gt;
&lt;li&gt;Effective and rapid knowledge transfer&lt;/li&gt;
&lt;li&gt;Small groups up to 8 participants&lt;/li&gt;
&lt;li&gt;You can interact with the trainers and ask questions at any time.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;Individual QF-Test Company Trainings&lt;/h3&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/training.html#consulting"&gt;&lt;img alt="Individual QF-Test Training" src="/newsletters/resources/2025-10_OnlineSchulung-Ort.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Would you like a training course which is individually tailored to your company? Just send us an email to &lt;a href="https://services.qftest.com/en/support/contact/"&gt;service@qftest.com&lt;/a&gt;.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/support/contact/?comment=Request%20individual%20training"  class="button scroll-animated green chevron"&gt;Ask our service team for a quote&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;h2&gt;News&lt;/h2&gt;
&lt;h3&gt;Donations 2025&lt;/h3&gt;
&lt;p&gt;At QFS, we are pleased to once again support a number of nonprofit organizations with donations this year. Our employees also contribute by nominating projects that are particularly meaningful to them.   &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/company/news/company-events/donations-2025.html"&gt;These organizations are supported by QFS in 2025&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/en/company/news/company-events/donations-2025.html"&gt;&lt;img alt="QF-Test Spezialwebinar" src="/newsletters/resources/gift-heart--streamline-streamline-3.0.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;From our YouTube Channel&lt;/h2&gt;
&lt;p&gt;&lt;a href="/en/support/videos/welcome-to-qftest.html"&gt;&lt;img alt="Video about QF-Test" src="/newsletters/resources/imagevideo-qf-test-en.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;New video about QF-Test&lt;/h3&gt;
&lt;p&gt;Whether you’re building web apps, mobile experiences or desktop applications, QF-Test helps you deliver quality, faster.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/support/videos/welcome-to-qftest.html"&gt;Watch the video now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visit our &lt;a href="https://www.youtube.com/@qftest"&gt;YouTube channel&lt;/a&gt; to subscribe and follow us on &lt;a href="https://www.linkedin.com/company/quality-first-software-gmbh-qfs"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;</content><category term="newsletters"/></entry><entry><title>Donations 2025</title><link href="https://www.qftest.com/en/company/news/company-events/donations-2025.html" rel="alternate"/><published>2025-12-16T00:00:00+01:00</published><updated>2025-12-16T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-12-16:/en/company/news/company-events/donations-2025.html</id><summary type="html">&lt;p&gt;At QFS, we are pleased to once again support a number of nonprofit organizations with donations this year. Our employees also contribute by nominating projects that are particularly meaningful to them.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="Donations 2025" src="/newsletters/resources/gift-heart--streamline-streamline-3.0.png" title="Donations 2025" /&gt;&lt;/p&gt;
&lt;p&gt;At QFS, we are pleased to once again support a number of nonprofit organizations with donations this year. Our employees also contribute by nominating projects that are particularly meaningful to them. In 2025, the following organizations were considered:  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://strassenkinder.de/"&gt;Don Bosco&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.freunde-djibos.de/" title="Link zu Freunden Djibos"&gt;Freunde Djibos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.globolab.org/"&gt;Globolab&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.jugendhilfe-ostafrika.de/"&gt;Jugendhilfe Ostafrika&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.aerzte-ohne-grenzen.de/spenden"&gt;Ärzte ohne Grenzen&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://weilheim-schongau.bund-naturschutz.de/spenden"&gt;Bund Naturschutz&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://zwei-hospize-polling.de/"&gt;Förderverein zwei Hospize in Polling – Erwachsenenhospiz und Kinderhospiz e.V.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.germanwatch.org/de/spenden"&gt;Germanwatch&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://heizhaus-leipzig.de/ueber-uns"&gt;Heizhaus Leipzig&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://geschenk-mit-herz.de/de"&gt;Humedica &amp;ndash; Geschenke mit Herz&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.caritas.de/adressen/kath.-kindergarten-st.josef-der-arbeiter-waldram/79054/"&gt;Kath. Kirchenstiftung St. Andreas, Kindergarten St. Josef der Arbeiter Waldram&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.lebensbruecke.de/besondere-kinder/"&gt;Lebensbrücke für Besondere Kinder&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://missionerde.de/"&gt;Mission Erde e.v.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.tierheim-gelting.de/"&gt;Tierheim Gelting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.unicef.de/"&gt;Unicef&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://united4rescue.org/"&gt;United4Rescue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://heimat-yesu.net/"&gt;Verein Heimat Yesu e.V.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content><category term="companynews"/></entry><entry><title>Welcome to QF-Test</title><link href="https://www.qftest.com/en/support/videos/welcome-to-qftest.html" rel="alternate"/><published>2025-12-12T00:00:00+01:00</published><updated>2025-12-12T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-12-12:/en/support/videos/welcome-to-qftest.html</id><summary type="html">&lt;p&gt;Meet QF-Test &amp;ndash; our all-in-one platform for automated UI testing.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Meet QF-Test &amp;ndash; our all-in-one platform for automated UI testing.&lt;/p&gt;
&lt;p&gt;Whether you’re building &lt;a href="/en/product/qf-test/web-testing.html"&gt;web apps&lt;/a&gt;, &lt;a href="/en/product/qf-test/testing-mobile-apps.html"&gt;mobile experiences&lt;/a&gt; or &lt;a href="/en/product/qf-test/java-testing.html"&gt;desktop applications&lt;/a&gt;, QF-Test helps you deliver quality, faster.&lt;/p&gt;
&lt;p&gt;QF-Test is built for all kinds of users, from &lt;a href="/en/company/references/testimonials/benefits-for-testers.html"&gt;manual testers and business analysts&lt;/a&gt; to &lt;a href="/en/company/references/testimonials/benefits-for-developers.html"&gt;automation engineers and software developers&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can create complete and complex automated tests &lt;a href="/en/support/videos/quick-run-through-qf-test.html"&gt;without ever writing code&lt;/a&gt; &amp;ndash; but of course you always have the option to augment your tests with our &lt;a href="/en/support/videos/scripting-in-qf-test-basics.html"&gt;scripting engine&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Once you&amp;#8217;ve created your first tests with QF-Test, you can effortlessly spot regressions in your application &amp;ndash; less repetitive work, more confidence in every release.&lt;/p&gt;
&lt;p&gt;While QF-Test started as a way to test Java UIs, it has continuously evolved to support &lt;a href="/en/product/qf-test.html"&gt;many other UI technologies&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Whether on Windows, Linux or macOS, QF-Test reliably supports you in automating your Tests.&lt;/p&gt;
&lt;p&gt;Now you can unlock the full potential of QF-Test and create your own automated tests with ease and precision.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;If you are interested in testing your own application, contact us and try QF-Test for free at &lt;a href="/"&gt;qftest.com&lt;/a&gt;&lt;/p&gt;</content><category term="videos"/><category term="startervideos"/></entry><entry><title>QF-Test 10 available</title><link href="https://www.qftest.com/en/company/news/qf-test-10-available.html" rel="alternate"/><published>2025-12-09T00:00:00+01:00</published><updated>2025-12-09T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-12-09:/en/company/news/qf-test-10-available.html</id><summary type="html">&lt;p&gt;QF-Test 10 introduces powerful upgrades for WebAPI testing and AI-assisted validation.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Our new release &lt;strong&gt;QF-Test 10&lt;/strong&gt; takes test automation to the next level.  &lt;/p&gt;
&lt;p&gt;In addition to &lt;strong&gt;powerful enhancements&lt;/strong&gt; like &lt;strong&gt;WebAPI testing&lt;/strong&gt; and &lt;strong&gt;AI-driven validation&lt;/strong&gt;, you will benefit from improved &lt;strong&gt;accessibility testing&lt;/strong&gt; and much more flexible &lt;strong&gt;image-based testing&lt;/strong&gt; capabilities.  &lt;/p&gt;
&lt;p&gt;We are also excited to introduce our new &lt;strong&gt;QF-Test editions&lt;/strong&gt;. They make test automation simpler, more transparent, and better tailored to your specific needs. You can find more details in this newsletter.  &lt;/p&gt;</content><category term="news"/></entry><entry><title>QF-Test 10 with WebAPI Testing and new editions</title><link href="https://www.qftest.com/en/company/news/newsletters/2025-12-qftest10.html" rel="alternate"/><published>2025-12-09T00:00:00+01:00</published><updated>2025-12-09T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-12-09:/en/company/news/newsletters/2025-12-qftest10.html</id><summary type="html">&lt;p&gt;Extensions for WebAPI testing and AI-assisted validation, improved accessibility testing, and more flexible image-based testing&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hello dear QF-Test users!&lt;/p&gt;
&lt;p&gt;Our new release &lt;strong&gt;QF-Test 10&lt;/strong&gt; takes test automation to the next level.  &lt;/p&gt;
&lt;p&gt;In addition to &lt;strong&gt;powerful enhancements&lt;/strong&gt; like &lt;strong&gt;WebAPI testing&lt;/strong&gt; and &lt;strong&gt;AI-driven validation&lt;/strong&gt;, you will benefit from improved &lt;strong&gt;accessibility testing&lt;/strong&gt; and much more flexible &lt;strong&gt;image-based testing&lt;/strong&gt; capabilities.  &lt;/p&gt;
&lt;p&gt;We are also excited to introduce our new &lt;strong&gt;QF-Test editions&lt;/strong&gt;. They make test automation simpler, more transparent, and better tailored to your specific needs. You can find more details in this newsletter.  &lt;/p&gt;
&lt;p&gt;Best wishes,&lt;br /&gt;
your QFS team&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Download QF-Test&lt;/h2&gt;
&lt;h3&gt;Do you already use the latest version of QF-Test?&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://services.qftest.com/en/download/"&gt;&lt;img alt="Download QF-Test" src="/newsletters/resources/2025-09-25_Download-Thick-Bottom--Streamline-Streamline-3.0.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/download/"  class="button scroll-animated green chevron"&gt;Download QF-Test 10.0&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;To the &lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Watch the &lt;a href="/en/support/videos/qftest-version-10-highlights.html"&gt;Release Video&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Available since 2025-12-09&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;QF-Test is now available in the following editions&lt;/h2&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/edition-web.png" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;&lt;strong&gt;QF-Test Web&lt;/strong&gt; – supports all common browsers, including accessibility testing, Electron applications and, new: APIs and web services&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/edition-desktop.png" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;&lt;strong&gt;QF-Test Desktop&lt;/strong&gt; – for Java programs and native Windows applications&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/edition-mobile.png" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;&lt;strong&gt;QF-Test Mobile&lt;/strong&gt; – for Android and iOS apps&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/edition-pro.png" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;&lt;strong&gt;QF-Test Pro&lt;/strong&gt; – combines all technologies and additionally supports hybrid applications&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;The editions&lt;/strong&gt; focus on the UI technologies and display only the relevant program features, making the QF-Test interface significantly leaner. Our manual is also optimized for each edition and contains only the information relevant to you.  &lt;/p&gt;
&lt;p&gt;Consistent with previous QF-Test versions, &lt;strong&gt;QF-Test Pro&lt;/strong&gt; combines the technologies of the other editions and also supports hybrid applications.  &lt;/p&gt;
&lt;p&gt;Depending on the UI technologies being tested, using a dedicated edition — QF-Test Web, QF-Test Desktop, or QF-Test Mobile — can be advantageous, as it focuses the feature set accordingly.  &lt;/p&gt;
&lt;p&gt;We are confident that the new editions will allow you to make your test automation projects even more efficient, and we look forward to supporting you along the way.  &lt;/p&gt;
&lt;p&gt;Our valued &lt;strong&gt;existing customers&lt;/strong&gt; do not need to take any action. You can continue to use QF-Test Pro as usual within the scope of your current licenses. Existing licenses and contracts will, of course, remain valid.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For early adopters&lt;/strong&gt; who wish to expand their existing licenses under the previous scheme and pricing model, we offer the opportunity to request a corresponding quote until end of January 2026.  &lt;/p&gt;
&lt;p&gt;If you have any questions regarding the transition, you can contact our team at any time.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/support/contact/?comment=Request%20editions"  class="button scroll-animated green chevron"&gt;Get in touch with our service team now&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;h2&gt;Highlights in QF-Test 10&lt;/h2&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/webapi.jpg" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;QF-Test 10 introduces powerful enhancements for &lt;a href="/en/product/qf-test/web-testing/api.html"&gt;WebAPI testing&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Create end-to-end HTTP requests, manage authentication, cookies, and proxies through dedicated nodes, and customize workflows to combine UI and API automation in hybrid scenarios.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/aicheck2.jpg" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;The new &amp;#8220;&lt;strong&gt;Check Text with AI&lt;/strong&gt;&amp;#8221; node and the &amp;#8220;ai&amp;#8221; scripting module enable the integration of externally hosted LLMs to perform dynamic text validations and handle non-deterministic UI behavior.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/a11y2.jpg" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;&lt;a href="/en/solutions/types-of-tests/accessibility-tests.html"&gt;Accessibility testing&lt;/a&gt; has also been significantly improved, with YAML-based configuration and additional checks for keyboard focus visibility and correct usage of the &amp;#8220;lang&amp;#8221; attribute.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/fetchimage.jpg" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;&lt;strong&gt;Image-based testing&lt;/strong&gt; is now much more flexible. Use the new &amp;#8220;Set Image&amp;#8221; and &amp;#8220;Read Image&amp;#8221; nodes to define image variables and apply them in the &amp;#8220;Check Image&amp;#8221; node and other image-related procedures.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;There are many, many more features in QF-Test 10 to explore. You can find all the details in the &lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;Release Notes&lt;/a&gt; on our website.  &lt;/p&gt;
&lt;p&gt;Features for integrating the &lt;strong&gt;test management tools TMT and Xray&lt;/strong&gt; as well as support for &lt;strong&gt;Oracle Forms&lt;/strong&gt; are &lt;strong&gt;currently under development&lt;/strong&gt; and will also be included in QF-Test 10 soon with upcoming minor updates.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Events in 2026&lt;/h2&gt;
&lt;h3&gt;QF-Test Basics: Trainings via Webinar&lt;/h3&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/training.html"&gt;&lt;img alt="Basic Training QF-Test" src="/newsletters/resources/QF-Test_OnlineSchulung.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;February 23–26, 2026 – in German&lt;/h3&gt;
&lt;h3&gt;March 23–26, 2026 – in English&lt;/h3&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="/en/support/training-consulting/training.html"  class="button scroll-animated green chevron"&gt;More about the training courses&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;4 days, 2 × 2.5 hours each&lt;/li&gt;
&lt;li&gt;Effective and rapid knowledge transfer&lt;/li&gt;
&lt;li&gt;Small groups up to a maximum of 8 participants&lt;/li&gt;
&lt;li&gt;Interaction with the trainers and asking questions are possible at any time&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;Individual QF-Test Company Training courses&lt;/h3&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/training.html#consulting"&gt;&lt;img alt="Individual QF-Test Training" src="/newsletters/resources/2025-10_OnlineSchulung-Ort.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Would you like a training course which is individually tailored to your company? Just send us an email to &lt;a href="https://services.qftest.com/en/support/contact/"&gt;service@qftest.com&lt;/a&gt;.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/support/contact/?comment=Request%20individual%20training"  class="button scroll-animated green chevron"&gt;Ask our service team for a quote&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;h2&gt;From our YouTube Channel&lt;/h2&gt;
&lt;p&gt;&lt;a href="/en/support/videos/webAPI-testing.html"&gt;&lt;img alt="special webinar on Web API Testing" src="https://www.qftest.com/videos/resources/special-webinar-webapi.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Going POSTal! Discover WebAPI Testing in QF-Test&lt;/h3&gt;
&lt;p&gt;QF-Test 10 fundamentally revamps web interface testing, focusing on web APIs such as REST, SOAP, and other web services. In this recording of a special webinar, we introduce you to the new features.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/support/videos/webAPI-testing.html"&gt;Watch the video now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/en/support/videos/scripting-in-qf-test-basics.html"&gt;&lt;img alt="Video Scripting in QF-Test" src="/newsletters/resources/scripting-in-qf-test-basics-en.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Scripting in QF-Test (basics)&lt;/h3&gt;
&lt;p&gt;This video provides an overview of how to use scripts in QF-Test: the SUT script and the server script.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/support/videos/scripting-in-qf-test-basics.html"&gt;Watch the video now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/en/support/videos/dependencies-in-qf-test-basics.html"&gt;&lt;img alt="Video about dependencies in QF-Test" src="https://www.qftest.com/videos/resources/dependencies-in-qf-test-basics.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Dependencies in QF-Test (basics)&lt;/h3&gt;
&lt;p&gt;This video explains the purposes and intentions of dependencies in QF-Test and shows how simple dependencies are implemented.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/support/videos/dependencies-in-qf-test-basics.html"&gt;Watch the video now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visit our &lt;a href="https://www.youtube.com/@qftest"&gt;YouTube channel&lt;/a&gt; to subscribe and follow us on &lt;a href="https://www.linkedin.com/company/quality-first-software-gmbh-qfs"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;</content><category term="newsletters"/></entry><entry><title>QF-Test Version 10.0</title><link href="https://www.qftest.com/en/product/release-notes-roadmap/qf-test-version-100.html" rel="alternate"/><published>2025-12-09T00:00:00+01:00</published><updated>2025-12-09T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-12-09:/en/product/release-notes-roadmap/qf-test-version-100.html</id><summary type="html">&lt;p&gt;QF-Test 10 introduces powerful upgrades for WebAPI testing and AI-assisted validation.&lt;/p&gt;</summary><content type="html">&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/webapi.jpg" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;QF-Test 10 introduces powerful enhancements for &lt;a href="/en/product/qf-test/web-testing/api.html"&gt;WebAPI testing&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Create end-to-end HTTP requests, manage authentication, cookies, and proxies through dedicated nodes, and customize workflows to combine UI and API automation in hybrid scenarios.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/aicheck2.jpg" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;The new &amp;#8220;&lt;strong&gt;Check Text with AI&lt;/strong&gt;&amp;#8221; node and the &amp;#8220;ai&amp;#8221; scripting module enable the integration of externally hosted LLMs to perform dynamic text validations and handle non-deterministic UI behavior.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/a11y2.jpg" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;&lt;a href="/en/solutions/types-of-tests/accessibility-tests.html"&gt;Accessibility testing&lt;/a&gt; has also been significantly improved, with YAML-based configuration and additional checks for keyboard focus visibility and correct usage of the &amp;#8220;lang&amp;#8221; attribute.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div class="container width-normal plain image-left   " &gt;&lt;img class="container-image" src="/newsletters/resources/fetchimage.jpg" alt=""&gt;&lt;div class="container-content" &gt;&lt;p&gt;&lt;strong&gt;Image-based testing&lt;/strong&gt; is now much more flexible. Use the new &amp;#8220;Set Image&amp;#8221; and &amp;#8220;Read Image&amp;#8221; nodes to define image variables and apply them in the &amp;#8220;Check Image&amp;#8221; node and other image-related procedures.&lt;/p&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;There are many, many more features in QF-Test 10 to explore. You can find all the details in the &lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;Release Notes&lt;/a&gt; on our website.  &lt;/p&gt;
&lt;p&gt;Features for integrating the &lt;strong&gt;test management tools TMT and Xray&lt;/strong&gt; as well as support for &lt;strong&gt;Oracle Forms&lt;/strong&gt; are &lt;strong&gt;currently under development&lt;/strong&gt; and will also be included in QF-Test 10 soon with upcoming minor updates.&lt;/p&gt;
&lt;h4 class=""&gt;&lt;p&gt;QF-Test Version 10.0.1&lt;/p&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;2025-12-18&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This maintenance release fixes startup issues under QF-Test 10.0.0 related to certain license files and addresses several other minor bugs.&lt;/p&gt;
&lt;h4 class=""&gt;&lt;p&gt;QF-Test Version 10.0.2&lt;/p&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;2026-01-15&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This maintenance release increases flexibility for LLM communication (for example, for the AI Check node). It also improves the stability of communication with the QF-Test license server and fixes a few bugs.&lt;/p&gt;
&lt;h4 class=""&gt;&lt;p&gt;QF-Test Version 10.0.3&lt;/p&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;2026-03-11&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This maintenance release adds support for Eclipse/SWT 4.39 alias &amp;#8220;2026-03&amp;#8221;, updates several libraries and fixes a number of bugs.&lt;/p&gt;</content><category term="releasenotes"/></entry><entry><title>QF-Test 10 – WebAPI, AI and more</title><link href="https://www.qftest.com/en/support/videos/qftest-version-10-highlights.html" rel="alternate"/><published>2025-12-09T00:00:00+01:00</published><updated>2025-12-09T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-12-09:/en/support/videos/qftest-version-10-highlights.html</id><summary type="html">&lt;p&gt;Hi there! Today I’m going to show you how you can test web APIs with QF-Test 10. I’ll also walk you through the new AI features in QF-Test, and we have some exciting updates on accessibility testing for web applications in QF-Test 10.&lt;/p&gt;</summary><content type="html">&lt;h2&gt;Transcript&lt;/h2&gt;
&lt;p&gt;Hi there! Today I’m going to show you how you can test web APIs with QF-Test 10. I’ll also walk you through the new AI features in QF-Test, and we have some exciting updates on accessibility testing for web applications in QF-Test 10.&lt;/p&gt;
&lt;p&gt;Finally, we’ll take a look at all the other great new features that come with version 10.&lt;/p&gt;
&lt;p&gt;QF-Test is the tool for professional UI test automation.&lt;/p&gt;
&lt;h3&gt;WebAPI&lt;/h3&gt;
&lt;p&gt;Testing web interfaces has long been possible in QF-Test, but only in a limited way. With QF-Test 10 and its new WebAPI testing capabilities, this test type has become both much more comfortable and significantly more powerful.&lt;/p&gt;
&lt;p&gt;You can now send GET, POST, and other HTTP requests directly via the new &amp;#8220;Web Request&amp;#8221; node. You get full control over every detail of your requests, with freely configurable headers and bodies.&lt;/p&gt;
&lt;p&gt;Authentication data can be neatly managed with the new &amp;#8220;Request Authentication&amp;#8221; node.&lt;/p&gt;
&lt;p&gt;Cookies and proxy settings can be configured via the new &amp;#8220;Request Options&amp;#8221; node.&lt;/p&gt;
&lt;p&gt;You can validate API responses by checking the expected status code or use QF-Test’s powerful scripting tools to parse and verify JSON, XML, or any other kind of server response.&lt;/p&gt;
&lt;p&gt;For maximum flexibility in designing your tests, QF-Test also provides &amp;#8220;Pre-Request Handler&amp;#8221; and &amp;#8220;Post-Request Handler&amp;#8221; nodes, enabling advanced configuration and post-processing of requests and responses.&lt;/p&gt;
&lt;p&gt;A comprehensive scripting API lets you model even complex scenarios in a clean and maintainable way.&lt;/p&gt;
&lt;p&gt;Unlike other API tools, QF-Test not only offers extensive tools for sending and receiving web requests. You also get access to all of QF-Test’s proven automation and reporting features within WebAPI tests, and QF-Test is excellent for hybrid testing that combines web UI and API interfaces.&lt;/p&gt;
&lt;h3&gt;AI Integration and the AI Text Check&lt;/h3&gt;
&lt;p&gt;Version 10 also brings the world of “Artificial Intelligence”- or more precisely, LLMs &amp;ndash; into QF-Test. In the new &amp;#8220;Check Text with AI&amp;#8221; node, you can let an LLM dynamically decide whether a given text is correct or contains errors.&lt;/p&gt;
&lt;p&gt;In addition, the new scripting API &amp;#8220;ai.ask&amp;#8221; lets you communicate with LLMs at any point during test execution to accomplish tasks that were previously cumbersome or impossible.&lt;/p&gt;
&lt;p&gt;QF-Test supports integrating various externally hosted LLMs so you can get started right away with your provider of choice. And through our powerful scripting interface, you can connect any LLM provider or API to your tests.&lt;/p&gt;
&lt;p&gt;This makes QF-Test 10 ideal for testing chatbots and other UI components with non-deterministic output. It also allows you to check texts for semantic criteria for which no algorithm exists &amp;ndash; but for which a good prompt does.&lt;/p&gt;
&lt;h3&gt;Updated Accessibility (A11y) Checks for Websites&lt;/h3&gt;
&lt;p&gt;Since QF-Test 9, you’ve been able to check websites for their accessibility. QF-Test 10 now includes additional accessibility tests.&lt;/p&gt;
&lt;p&gt;For example, you can now verify the visibility of the keyboard focus on elements.&lt;/p&gt;
&lt;p&gt;You can also ensure that your pages use the HTML &amp;#8220;lang&amp;#8221; attribute correctly.&lt;/p&gt;
&lt;p&gt;All of this is configured through our clean, new &amp;#8220;Check Accessibility&amp;#8221; node and can be tailored exactly to your needs.&lt;/p&gt;
&lt;p&gt;Accessibility tests created in QF-Test 9 continue to work normally, but if you’d like to take advantage of the new features, you can easily convert your old procedure calls to the new node using the context menu function &amp;#8220;Transform node into&amp;#8221;.&lt;/p&gt;
&lt;p&gt;The heart of the node is this text input area, where tests are defined interactively in a clean YAML syntax. Multiple tests can be enabled and configured at once.&lt;/p&gt;
&lt;p&gt;You can also flexibly exclude known issues or potential false positives from the test report.&lt;/p&gt;
&lt;h3&gt;New Nodes for Image Handling&lt;/h3&gt;
&lt;p&gt;Image comparisons have never been the ideal mechanism for UI test automation—but they can certainly be useful. Until now, QF-Test could only generate, process, and compare images through scripting.&lt;/p&gt;
&lt;p&gt;With QF-Test 10, image handling becomes dramatically simpler. The new &amp;#8220;Set Image&amp;#8221; node lets you assign an existing image directly to a QF-Test variable. Likewise, &amp;#8220;Fetch Image&amp;#8221; allows you to store the image of a specific UI component in a variable.&lt;/p&gt;
&lt;p&gt;We’ve also enhanced the familiar &amp;#8220;Check Image&amp;#8221; node and many procedures in the standard library so that they now accept images from variables. This gives you more flexibility when designing tests, making it much easier to reuse or log images.&lt;/p&gt;
&lt;h3&gt;Product Editions&lt;/h3&gt;
&lt;p&gt;Starting with version 10, QF-Test comes in four editions: Pro, Web, Desktop, and Mobile.&lt;/p&gt;
&lt;p&gt;QF-Test Pro is the full version with the complete feature set.&lt;/p&gt;
&lt;p&gt;If you want to focus on a specific UI technology, you can now use the Web, Desktop, or Mobile editions. These contain only the features needed for the respective application types, making them streamlined and easier to navigate. All new editions remain fully compatible with existing licenses.&lt;/p&gt;
&lt;h3&gt;Modeless Editing&lt;/h3&gt;
&lt;p&gt;QF-Test itself becomes easier to use in version 10. We’ve simplified our node editing concept so all invalid fields in your testsuite are now clearly marked, helping you immediately detect and fix issues that might break a test run. And you no longer need to endlessly click “OK” before continuing to edit your test suite.&lt;/p&gt;
&lt;h3&gt;New Debugger Dialog on Errors&lt;/h3&gt;
&lt;p&gt;When using QF-Test’s integrated debugger, you now get more detailed feedback when the test run stops due to an error or exception. In this new dialog, you can conveniently choose how to proceed with a single click.&lt;/p&gt;
&lt;h3&gt;Improved Manual&lt;/h3&gt;
&lt;p&gt;We’ve further optimized our HTML manual so it’s easier than ever to navigate the wealth of available information. The secondary sidebar lets you jump directly to specific sections of a page without losing context.&lt;/p&gt;
&lt;p&gt;You’ll also find the helpful Copy to Clipboard buttons for code snippets not only here but also in our HTML report and directly inside QF-Test.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;As always, you can learn more about everything that&amp;#8217;s new in QF-Test 10 from the detailed release notes on our website, qftest.com. There, you will also find a download link so you can get started with it right away.&lt;/p&gt;</content><category term="videos"/><category term="releasevideos"/></entry><entry><title>Can I integrate web testing with QF-Test into my CI/CD Pipeline?</title><link href="https://www.qftest.com/en/product/faq/integrate-qf-test-in-existing-ci-cd-pipeline.html" rel="alternate"/><published>2025-11-27T00:00:00+01:00</published><updated>2025-11-27T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-11-27:/en/product/faq/integrate-qf-test-in-existing-ci-cd-pipeline.html</id><summary type="html">&lt;p&gt;Yes, QF-Test can be integrated with&amp;#8230;&lt;/p&gt;</summary><content type="html">&lt;p&gt;&amp;#8230; common CI/CD systems such as Jenkins and GitLab.&lt;/p&gt;</content><category term="faqs"/><category term="faqwebtesting"/></entry><entry><title>How can QF-Test be integrated into existing test strategies and workflows?</title><link href="https://www.qftest.com/en/product/faq/integrate-qf-test-in-existing-test-strategy.html" rel="alternate"/><published>2025-11-27T00:00:00+01:00</published><updated>2025-11-27T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-11-27:/en/product/faq/integrate-qf-test-in-existing-test-strategy.html</id><summary type="html">&lt;p&gt;QF-Test can be easily integrated into existing test strategies because&amp;#8230;&lt;/p&gt;</summary><content type="html">&lt;p&gt;&amp;#8230; it supports modular test structures and common approaches, such as data-driven or component-driven testing. With clear interfaces and reusable building blocks, the tool fits seamlessly into existing QA workflows. Existing test processes can thus be gradually automated.&lt;/p&gt;</content><category term="faqs"/><category term="faqwebtesting"/></entry><entry><title>What is web testing?</title><link href="https://www.qftest.com/en/product/faq/what-is-web-testing.html" rel="alternate"/><published>2025-11-27T00:00:00+01:00</published><updated>2025-11-27T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-11-27:/en/product/faq/what-is-web-testing.html</id><summary type="html">&lt;p&gt;Web Testing refers to the systematic testing of web applications for functionality&amp;#8230;&lt;/p&gt;</summary><content type="html">&lt;p&gt;&amp;#8230; stability, appearance, and behavior across different browsers and devices. The goal is a bug-free, user-friendly, and reliable user experience.&lt;/p&gt;</content><category term="faqs"/><category term="faqwebtesting"/></entry><entry><title>Which browsers and technologies are supported by QF-Test?</title><link href="https://www.qftest.com/en/product/faq/which-browsers-and-frameworks-are-supported.html" rel="alternate"/><published>2025-11-27T00:00:00+01:00</published><updated>2025-11-27T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-11-27:/en/product/faq/which-browsers-and-frameworks-are-supported.html</id><summary type="html">&lt;p&gt;QF-Test covers all major browsers, including&amp;#8230;&lt;/p&gt;</summary><content type="html">&lt;p&gt;all major browsers Chrome, Firefox, Edge, and Safari, and is compatible with JavaScript frameworks such as Angular, React, and Vue. Additionally, the tool supports headless testing. You can find an overview at &lt;a href="/en/product/qf-test/web-testing.html"&gt;Web Testing&lt;/a&gt;. &lt;/p&gt;</content><category term="faqs"/><category term="faqwebtesting"/></entry><entry><title>Why should web testing be automated?</title><link href="https://www.qftest.com/en/product/faq/why-automate-web-testing.html" rel="alternate"/><published>2025-11-27T00:00:00+01:00</published><updated>2025-11-27T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-11-27:/en/product/faq/why-automate-web-testing.html</id><summary type="html">&lt;p&gt;Automated testing saves time, reduces manual errors, and allows teams to efficiently support frequent releases.&lt;/p&gt;</summary><content type="html">&lt;p&gt;For complex or dynamic web applications, automation is significantly more cost-effective in the long run than purely manual testing.&lt;/p&gt;</content><category term="faqs"/><category term="faqwebtesting"/></entry><entry><title>Can UI testing improve the usability of an application?</title><link href="https://www.qftest.com/en/product/faq/can-ui-testing-improve-the-usability-of-an-application.html" rel="alternate"/><published>2025-11-25T00:00:00+01:00</published><updated>2025-11-25T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-11-25:/en/product/faq/can-ui-testing-improve-the-usability-of-an-application.html</id><summary type="html">&lt;p&gt;Yes. Usability tests show whether users can intuitively understand functions and complete tasks efficiently.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Findings from these tests help optimize user guidance, avoid misunderstandings, and increase overall satisfaction with the application.&lt;/p&gt;</content><category term="faqs"/><category term="faqtesting"/></entry><entry><title>How does UI testing contribute to accessibility?</title><link href="https://www.qftest.com/en/product/faq/how-does-ui-testing-contribute-to-accessibility.html" rel="alternate"/><published>2025-11-25T00:00:00+01:00</published><updated>2025-11-25T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-11-25:/en/product/faq/how-does-ui-testing-contribute-to-accessibility.html</id><summary type="html">&lt;p&gt;Accessibility testing ensures that people with disabilities can also use the application to its full extent.&lt;/p&gt;</summary><content type="html">&lt;p&gt;This includes screen reader support, correct alternative text, sufficient contrast, and full keyboard navigation. &lt;a href="/en/solutions/types-of-tests/accessibility-tests.html"&gt;Accessibility testing&lt;/a&gt;is essential for both inclusion and compliance with legal requirements.&lt;/p&gt;</content><category term="faqs"/><category term="faqtesting"/></entry><entry><title>What is the difference between UI testing and UI testing?</title><link href="https://www.qftest.com/en/product/faq/what-is-the-difference-between-UI-and%20GUI-testing.html" rel="alternate"/><published>2025-11-25T00:00:00+01:00</published><updated>2025-11-25T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-11-25:/en/product/faq/what-is-the-difference-between-UI-and GUI-testing.html</id><summary type="html">&lt;p&gt;While UI testing covers all interactions on the user interface, UI testing focuses exclusively on graphical elements such as buttons, icons, or menus.&lt;/p&gt;</summary><content type="html">&lt;p&gt;In practice, however, the two terms are often used synonymously. It is crucial to clearly define which UI aspects are to be tested.&lt;/p&gt;</content><category term="faqs"/><category term="faqtesting"/></entry><entry><title>What is UI testing?</title><link href="https://www.qftest.com/en/product/faq/what-is-ui-testing.html" rel="alternate"/><published>2025-11-25T00:00:00+01:00</published><updated>2025-11-25T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-11-25:/en/product/faq/what-is-ui-testing.html</id><summary type="html">&lt;p&gt;UI testing refers to the systematic testing of an application&amp;#8217;s user interface.&lt;/p&gt;</summary><content type="html">&lt;p&gt;This involves checking whether controls such as buttons, forms, or navigation elements are functioning correctly and whether user interactions are being processed as expected. The goal is to achieve an error-free, consistent, and user-friendly interface.&lt;/p&gt;</content><category term="faqs"/><category term="faqtesting"/></entry><entry><title>What methods are available for UI testing?</title><link href="https://www.qftest.com/en/product/faq/what-methods-are-available-for-ui-testing.html" rel="alternate"/><published>2025-11-25T00:00:00+01:00</published><updated>2025-11-25T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-11-25:/en/product/faq/what-methods-are-available-for-ui-testing.html</id><summary type="html">&lt;p&gt;UI tests can be performed manually or automatically. QF-Test is a tool for automated UI testing.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Manual tests are suitable for initial evaluations of new features or exploratory testing, but they are time-consuming.
Automated tests are ideal for recurring &lt;a href="/en/solutions/types-of-tests/regression-tests.html"&gt;regression testing&lt;/a&gt; and enable frequent, consistent test runs—especially in agile development processes.&lt;/p&gt;</content><category term="faqs"/><category term="faqtesting"/></entry><entry><title>When should automated UI testing be used?</title><link href="https://www.qftest.com/en/product/faq/when-should-automated-ui-testing-be-used.html" rel="alternate"/><published>2025-11-25T00:00:00+01:00</published><updated>2025-11-25T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-11-25:/en/product/faq/when-should-automated-ui-testing-be-used.html</id><summary type="html">&lt;p&gt;Automation is worthwhile&amp;#8230;&lt;/p&gt;</summary><content type="html">&lt;p&gt;&amp;#8230; especially for frequently recurring test cases, such as &lt;a href="/en/solutions/types-of-tests/regression-tests.html"&gt;regression tests&lt;/a&gt; before releases. It enables fast, reproducible results and reduces manual effort—especially in complex or extensive applications.&lt;/p&gt;</content><category term="faqs"/><category term="faqtesting"/></entry><entry><title>Why is UI testing so important?</title><link href="https://www.qftest.com/en/product/faq/why-is-ui-testing-so-important.html" rel="alternate"/><published>2025-11-25T00:00:00+01:00</published><updated>2025-11-25T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-11-25:/en/product/faq/why-is-ui-testing-so-important.html</id><summary type="html">&lt;p&gt;The user interface is the most direct point of contact between users and software—problems have an immediate impact on the user experience.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Without UI testing, functional errors, unclear feedback, or defective elements often go undetected. Systematic testing increases quality, reduces support costs, and strengthens confidence in the application.&lt;/p&gt;</content><category term="faqs"/><category term="faqtesting"/></entry><entry><title>Scripting in QF-Test (basics)</title><link href="https://www.qftest.com/en/support/videos/scripting-in-qf-test-basics.html" rel="alternate"/><published>2025-11-14T00:00:00+01:00</published><updated>2025-11-14T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-11-14:/en/support/videos/scripting-in-qf-test-basics.html</id><summary type="html">&lt;p&gt;Here you can find the basics on scripting in QF-Test and lern about the SUT script and Server script.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Here you will learn about the basics of scripting in QF-Test and get a demonstration for using the SUT script and Server script nodes.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qftest.com/doc/manual/en/user_scripting.html#usec_scripting"&gt;Further information: Scripting in QF-Test (Manual)&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Transcript&lt;/h2&gt;
&lt;p&gt;Welcome to this video about the scripting capabilities of QF-Test.&lt;/p&gt;
&lt;p&gt;Today I will give you an overview of how to use scripts in QF-Test.&lt;/p&gt;
&lt;p&gt;In addition to event nodes such as mouse clicks or checks and control structures such as loops or if nodes, QF-Test also offers the possibility to integrate arbitrary code snippets implemented in various scripting languages into the test run. Such scripts can greatly extend the functionality of QF-Test.&lt;/p&gt;
&lt;h3&gt;Script Types&lt;/h3&gt;
&lt;p&gt;To insert such a script, I select insert control structures from the menu and then &lt;strong&gt;Server&lt;/strong&gt; or &lt;strong&gt;SUT script&lt;/strong&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Unlike a Server script, an SUT script can interact directly with the system under test and therefore also determine the properties of graphical objects at runtime.&lt;/li&gt;
&lt;li&gt;A Server script on the other hand should be used for actions that are independent of the graphical user interface such as database or file operations.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I am now adding an SUT script to my test suite. There are several scripting languages available for implementation. In the current version of QF-Test, there are &lt;strong&gt;Jython, Groovy, and JavaScript&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;SUT script example&lt;/h3&gt;
&lt;p&gt;A simple example of an SUT script is the count of rows in a table and then to write this row count to the QF-Test run log. We will now implement the script in the &lt;strong&gt;Groovy scripting language&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kt"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getComponent&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;#VehicleTable&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="kt"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rows&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;table&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getElementsByClassName&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;TableRow&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="kt"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rowCount&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rows&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;size&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;logMessage&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Table has &amp;quot;&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rowCount&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot; rows.&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;In line one of the script, the table is retrieved from the test application and stored in the variable &lt;code&gt;table&lt;/code&gt;. &lt;/li&gt;
&lt;li&gt;In line two, the table rows are retrieved into a list &lt;/li&gt;
&lt;li&gt;and stored in line three in the variable &lt;code&gt;rowCount&lt;/code&gt; with the length of this list.&lt;/li&gt;
&lt;li&gt;Line four finally writes this row count to the QF-Test run log.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Pseudo DOM API and accessing native Java component methods&lt;/h3&gt;
&lt;p&gt;To read the properties of web components, QF-Test offers its own DOM API which is documented in the manual and provides simple methods for accessing DOM properties and HTML elements.&lt;/p&gt;
&lt;p&gt;This approach works for every supported technology but the method names may be different because they are technology-dependent. You will find information on this in the respective documentation. For applications with Java Swing, methods can be assessed directly.&lt;/p&gt;
&lt;p&gt;When I now run the script, the number of table rows is written to the QF-Test run log, which we can see accordingly.&lt;/p&gt;
&lt;h3&gt;The QF-Test run context&lt;/h3&gt;
&lt;p&gt;Let&amp;#8217;s go back to the script. You can see in line one and in line four that a variable &lt;code&gt;rc&lt;/code&gt; is used there. This stands for the &lt;strong&gt;QF-Test run context&lt;/strong&gt; and offers you options for interacting with QF-Test methods and scripts. In our case, the aim is to identify a graphical component, our table, and write a message to the QF-Test run log.&lt;/p&gt;
&lt;p&gt;The run context also allows you to write your custom error messages to the run log or execute entire checks.&lt;/p&gt;
&lt;p&gt;The script editor also offers auto-completion for &lt;code&gt;rc&lt;/code&gt;. So you type &lt;code&gt;rc.&lt;/code&gt;, press &lt;kbd&gt;Control&lt;/kbd&gt;+&lt;kbd&gt;Space&lt;/kbd&gt;, and now you will see all supported methods and the corresponding documentation.&lt;/p&gt;
&lt;h3&gt;An example server script&lt;/h3&gt;
&lt;p&gt;A typical use case for a server script is to write a message or variable content into a file. You can see such a server script here now in the &lt;strong&gt;Jython scripting language&lt;/strong&gt;:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;value&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getStr&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;nameOfVehicle&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;fh&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nb"&gt;open&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;testfile.txt&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;w&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;fh&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;write&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Vehicle is : &amp;quot;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;fh&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;close&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;ol&gt;
&lt;li&gt;In line one, the QF-Test run context is assessed again and the content of a variable is determined which was previously set somewhere in the test run.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Outlook&lt;/h2&gt;
&lt;p&gt;Scripts and QF-Test allow you to extend your tests with any logic and simplify some complex tasks. However, scripts and QF-Test can do much more. Scripts allow you to develop so-called &lt;strong&gt;Resolvers&lt;/strong&gt; that optimize QF-Test&amp;#8217;s component recognition for your application. Alternatively, you can use a &lt;strong&gt;TestRunListener&lt;/strong&gt; to add additional logic to the test execution. In addition, QF-Test offers many other interfaces which you can learn more about in our detailed manual.&lt;/p&gt;
&lt;p&gt;You have now learned the most important basics about scripting support in QF-Test. In the &lt;strong&gt;QF-Test Help menu&lt;/strong&gt;, you will find further links to three available scripting languages and their documentation and tutorials. The QF-Test manual contains several chapters explaining scripts and their possible uses with many examples. Take advantage of this powerful feature to further advance your test automation.&lt;/p&gt;</content><category term="videos"/><category term="featurevideos"/></entry><entry><title>Dependencies in QF-Test (basics)</title><link href="https://www.qftest.com/en/support/videos/dependencies-in-qf-test-basics.html" rel="alternate"/><published>2025-11-03T00:00:00+01:00</published><updated>2025-11-03T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-11-03:/en/support/videos/dependencies-in-qf-test-basics.html</id><summary type="html">&lt;p&gt;See here why the so called dependencies are useful for your daily work with QF-Test and you&amp;#8217;ll learn how to implement them.&lt;/p&gt;</summary><content type="html">&lt;p&gt;See here why the so called dependencies are useful for your daily work with QF-Test and you&amp;#8217;ll learn how to implement them.&lt;/p&gt;
&lt;h2&gt;Materials for this video&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="/videos/resources/1_Dependencies.qft"&gt;1_Dependencies.qft&lt;/a&gt;  &lt;/li&gt;
&lt;li&gt;&lt;a href="/videos/resources/1_Dependencies_done.qft"&gt;1_Dependencies_done.qft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.qftest.com/doc/manual/en/dependencies.html"&gt;More information in the manual&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Abridged Transcript&lt;/h2&gt;
&lt;p&gt;This video covers the basics of QF-Test dependencies. It explains the purpose and intention of dependencies and shows how to implement a simple dependency.  &lt;/p&gt;
&lt;p&gt;This video does not cover advanced topics such as nested dependencies, characteristic variables, or error handling. Those parts are discussed in other videos.&lt;/p&gt;
&lt;p&gt;For the current video, I work in a specially provided test suite, which you can also download from the QF-Test website.  &lt;/p&gt;
&lt;p&gt;The test suite uses the &lt;strong&gt;CarConfigurator&lt;/strong&gt; provided by QF-Test in the web version as the &amp;#8220;system under test&amp;#8221; (SUT).  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you would like to work along with me during the video, you will find the suite in the commentary section.  &lt;/li&gt;
&lt;li&gt;If you would prefer to see the result of this tutorial straight away, you will also find that suite there.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Opening the Test Suite&lt;/h3&gt;
&lt;p&gt;Now I have opened the dependency test suite I just mentioned. Let&amp;#8217;s take a closer look at its implementation.  &lt;/p&gt;
&lt;p&gt;Here you can see a test suite implemented in a simple way:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;This is the &lt;strong&gt;Setup node&lt;/strong&gt; that starts our &amp;#8220;system under test&amp;#8221; (the CarConfigurator)  &lt;/li&gt;
&lt;li&gt;Here are some &lt;strong&gt;test cases&lt;/strong&gt;  &lt;/li&gt;
&lt;li&gt;Finally, a &lt;strong&gt;Cleanup node&lt;/strong&gt; will close our SUT again  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In this example, a single test case runs as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;First, the application is reset  &lt;/li&gt;
&lt;li&gt;Then a vehicle is selected  &lt;/li&gt;
&lt;li&gt;Then a special model is selected  &lt;/li&gt;
&lt;li&gt;Then further accessories are selected  &lt;/li&gt;
&lt;li&gt;A discount is set  &lt;/li&gt;
&lt;li&gt;Finally, the calculated final price is checked  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The setup and Cleanup sequences use &lt;strong&gt;procedure calls&lt;/strong&gt;. By double-clicking on a procedure call, I also get to the Procedure node of QF-Test where I can view the existing procedures of this test suite.  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;SUT package&lt;/strong&gt; contains the procedures for starting and stopping our CarConfigurator  &lt;/li&gt;
&lt;li&gt;The &lt;strong&gt;CarConfig package&lt;/strong&gt; contains procedures needed for the test cases (these are not of interest for the time being)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Running Test Cases&lt;/h3&gt;
&lt;p&gt;Now that you are more or less familiar with our test suite, I will run test cases from it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I select the test set and press &amp;#8220;Start test run&amp;#8221;  &lt;/li&gt;
&lt;li&gt;QF-Test now works its way through this test suite and executes the test cases with the different discount levels  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We wait until the test run is complete.&lt;/p&gt;
&lt;p&gt;The test case has run through and we can take a look at the QF-Test &lt;strong&gt;run log&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the details of the run log, we can see that first the &lt;strong&gt;setup&lt;/strong&gt; was run to start the SUT  &lt;/li&gt;
&lt;li&gt;Then the first &lt;strong&gt;test case&lt;/strong&gt; was executed  &lt;/li&gt;
&lt;li&gt;Then the application was completely closed with the &lt;strong&gt;Cleanup&lt;/strong&gt;  &lt;/li&gt;
&lt;li&gt;Then the application was restarted and the next test case was executed  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For a complete restart on my system, we need approximately:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;28 seconds for the &lt;strong&gt;setup&lt;/strong&gt;  &lt;/li&gt;
&lt;li&gt;Almost 1 second for the &lt;strong&gt;Cleanup work&lt;/strong&gt;  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The whole thing adds up and accounts for a large part of the total test runtime, which we can also see in the &lt;strong&gt;performance view&lt;/strong&gt;.  &lt;/p&gt;
&lt;p&gt;Particularly with larger applications, constantly stopping and starting the application would be inefficient and does not represent real user behavior.  &lt;/p&gt;
&lt;p&gt;In our case, this tidying up is actually unnecessary during a normal run of a test case. The SUT has already been started and changes are reset in the test cases anyway.  &lt;/p&gt;
&lt;p&gt;However, I cannot simply remove the &lt;strong&gt;Cleanup node&lt;/strong&gt;, otherwise the application would still run on the test machine forever after a test run.  &lt;/p&gt;
&lt;p&gt;In addition, an error in the SUT in an unattended test run could compromise the entire test run instead of just a single test case.  &lt;/p&gt;
&lt;p&gt;This shows the first disadvantage of the current implementation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;strong&gt;Cleanup node&lt;/strong&gt; is executed at the end of every test case  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Another disadvantage is that it is not easily possible to start just a single test case.  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;For example, if a test case had thrown an exception during the last test run (due to an implementation error or a defect in the SUT), I cannot simply execute this test case again  &lt;/li&gt;
&lt;li&gt;I first have to run the &lt;strong&gt;setup&lt;/strong&gt; to start the application, or create the preconditions manually, which ultimately means executing the &lt;strong&gt;setup&lt;/strong&gt; again  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is still simple in this example, but as soon as test cases become larger and more complex, the entire setup can become tedious.  &lt;/p&gt;
&lt;p&gt;We can see that we won&amp;#8217;t get very far with these means.  &lt;/p&gt;
&lt;h3&gt;Introducing Dependencies&lt;/h3&gt;
&lt;p&gt;QF-Test dependencies now enter the stage.  &lt;/p&gt;
&lt;p&gt;Dependencies ensure that the &lt;strong&gt;preconditions for a test case are fulfilled&lt;/strong&gt;, if implemented correctly.  &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Individual test cases can be executed without manually creating preconditions beforehand  &lt;/li&gt;
&lt;li&gt;This works even if a completely different test case was previously executed  &lt;/li&gt;
&lt;li&gt;Dependencies also regulate the Cleanup process and do not carry out unnecessary Cleanup work  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Summary:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Dependencies&lt;/strong&gt; ensure a certain state  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Setup and Cleanup nodes&lt;/strong&gt; only execute a certain sequence  &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Creating a Simple Dependency&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;I use the test set from earlier and copy it directly below  &lt;/li&gt;
&lt;li&gt;Rename the test case, for example, &amp;#8220;Tests with dependencies&amp;#8221;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Insert a &lt;strong&gt;Dependency node&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Menu: &lt;code&gt;Insert → Dependencies → Dependency&lt;/code&gt;  &lt;/li&gt;
&lt;li&gt;Right-click: &lt;code&gt;Insert node → Dependency&lt;/code&gt;  &lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Name the dependency &amp;#8220;SUT started&amp;#8221;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;Add a &lt;strong&gt;Setup node&lt;/strong&gt; and &lt;strong&gt;Cleanup node&lt;/strong&gt; by dragging the existing nodes into the dependency  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Why define the dependency at the test set level?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Each node inherits the dependencies of its parent node by default  &lt;/li&gt;
&lt;li&gt;In this case, each test case inherits the dependencies of the test set  &lt;/li&gt;
&lt;li&gt;Defining it at test set level is sufficient as it automatically applies to all contained test cases  &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Testing the Dependency&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Ensure no SUT is running.  &lt;/li&gt;
&lt;li&gt;Try to start a single test case in the old test set → QF-Test throws a &lt;strong&gt;ComponentNotFound&lt;/strong&gt; exception  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now try the new dependency:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Execute the first test case of the new test set  &lt;/li&gt;
&lt;li&gt;The test case is executed without any problems, even though the precondition was not fulfilled before the test case started  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;What happened:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;QF-Test first looked at the &lt;strong&gt;Dependency&lt;/strong&gt; when the test case was started  &lt;/li&gt;
&lt;li&gt;The entry &lt;code&gt;"Required dependency"&lt;/code&gt; indicates that the test case requires &lt;code&gt;"SUT started"&lt;/code&gt;  &lt;/li&gt;
&lt;li&gt;QF-Test jumps to the dependency and executes the &lt;strong&gt;Setup node&lt;/strong&gt;  &lt;/li&gt;
&lt;li&gt;The SUT starts automatically  &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Full Test Set Execution with Dependency&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Close the run log and all clients  &lt;/li&gt;
&lt;li&gt;Execute the entire test set  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Observations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Execution is much faster than the old test set  &lt;/li&gt;
&lt;li&gt;The application is not closed between individual test cases  &lt;/li&gt;
&lt;li&gt;From the run log, we see that no Cleanup node is executed between test cases  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Time savings:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Around 30 seconds per test case from the second test case onward  &lt;/li&gt;
&lt;li&gt;Around 2 seconds on the first test case  &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;How Dependencies Work&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Precondition setup sequences are ensured at the beginning of each test case  &lt;/li&gt;
&lt;li&gt;QF-Test maintains a &lt;strong&gt;list of currently valid dependencies&lt;/strong&gt; (&lt;code&gt;Stored dependencies&lt;/code&gt;)  &lt;/li&gt;
&lt;li&gt;At the beginning of the first test case, the list is empty  &lt;/li&gt;
&lt;li&gt;When the dependency is executed, QF-Test saves the dependency name in the list  &lt;/li&gt;
&lt;li&gt;Every new test case compares its required dependency with the stored dependencies  &lt;/li&gt;
&lt;li&gt;If they match, the Cleanup node is skipped  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Setup nodes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Should start the SUT only if it is not already running  &lt;/li&gt;
&lt;li&gt;In the example, a &lt;strong&gt;Wait for client node&lt;/strong&gt; checks whether the CarConfigurator client is available  &lt;/li&gt;
&lt;li&gt;The result is stored in &lt;code&gt;IsSUTRunning&lt;/code&gt;  &lt;/li&gt;
&lt;li&gt;The subsequent &lt;strong&gt;If node&lt;/strong&gt; starts the SUT only if necessary  &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Advanced Behavior&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Another test set demonstrates handling of different dependencies  &lt;/li&gt;
&lt;li&gt;Required dependencies are compared with stored dependencies  &lt;/li&gt;
&lt;li&gt;If a stored dependency is no longer needed, QF-Test executes the &lt;strong&gt;Cleanup&lt;/strong&gt;  &lt;/li&gt;
&lt;li&gt;This allows combining and executing test cases from multiple test sets intelligently  &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Reusing Dependencies&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Dependencies can be copied between test sets, but changes would require updating each copy manually  &lt;/li&gt;
&lt;li&gt;QF-Test allows storing dependencies in the &lt;strong&gt;Procedures section&lt;/strong&gt;  &lt;/li&gt;
&lt;li&gt;New test sets or test cases can reference these stored dependencies  &lt;/li&gt;
&lt;li&gt;The &amp;#8220;Dependency reference&amp;#8221; node acts as a link to the existing dependency  &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Dependencies simplify test case execution and precondition management  &lt;/li&gt;
&lt;li&gt;Setup nodes are executed at the start of each test case  &lt;/li&gt;
&lt;li&gt;Cleanup nodes are executed only when necessary  &lt;/li&gt;
&lt;li&gt;Using stored dependencies allows reuse across multiple test sets  &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In a follow-up video, we will cover &lt;strong&gt;nested dependencies&lt;/strong&gt; and &lt;strong&gt;error and exception handling&lt;/strong&gt;.  &lt;/p&gt;
&lt;p&gt;Check your own QF-Test test suites to see if dependencies are already used — implementing them is definitely worth it!&lt;/p&gt;</content><category term="videos"/><category term="featurevideos"/></entry><entry><title>Practice instead of theory: Why my dual study program at QFS was the best decision</title><link href="https://www.qftest.com/en/company/news/company-events/marcel-schmid-student.html" rel="alternate"/><published>2025-10-27T00:00:00+01:00</published><updated>2025-10-27T00:00:00+01:00</updated><author><name>Marcel Schmied</name></author><id>tag:www.qftest.com,2025-10-27:/en/company/news/company-events/marcel-schmid-student.html</id><summary type="html">&lt;p&gt;This fall, I completed my dual study program in computer science at the Cooperative State University of Saxony – in cooperation with Quality First Software GmbH (QFS), which is now part of mgm technology partners.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="" src="/companynews/resources/2025-10-marcel-schmid.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Hello, I’m Marcel Schmied, 23 years old, and I’m from Leipzig.&lt;/p&gt;
&lt;p&gt;This fall, I completed my dual study program in computer science at the Cooperative State University of Saxony – in cooperation with Quality First Software GmbH (QFS), which is now part of mgm technology partners.&lt;/p&gt;
&lt;p&gt;When I started my studies, QFS was still an independent company. During my very first practical phase, however, the team became part of mgm – which was exciting at first but not a problem at all. The team stayed the same, the environment remained familiar, and the working style just as family-like as before.&lt;/p&gt;
&lt;h2&gt;A Start with a Summer Party and Team Spirit&lt;/h2&gt;
&lt;p&gt;Even before my studies officially began, I had the chance to meet the team at the annual summer party – a two-day event with colleagues and their families. This open and welcoming atmosphere made getting started incredibly easy for me.&lt;/p&gt;
&lt;p&gt;After that, the classic alternating model began: three months of theory at the university, followed by three months of practical work in the company. While I found the university phases rather dry – lots of lectures, little practical relevance – I looked forward to every single practical phase at QFS all the more.&lt;/p&gt;
&lt;h2&gt;From QF-Test to Web Development – Learning Through Practice&lt;/h2&gt;
&lt;p&gt;In my first practical phase, I got to know QF-Test. It enables automated testing of graphical user interfaces – and I was instantly fascinated and impressed by how simple yet powerful the tool is. Writing tests with it was genuinely fun!&lt;/p&gt;
&lt;p&gt;In the following phases, I was able to explore many different areas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://gitlab.com/qfs/qftest-gradle-plugin"&gt;Development of a Gradle plugin&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="/en/blog/article/performance-comparison-of-vms-and-docker-containers.html"&gt;Performance testing of Docker environments and VMs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Initial tasks in web development&lt;/li&gt;
&lt;li&gt;And even active development on QF-Test itself, for example in the licensing process and improving dialogs.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;My personal highlight was my bachelor’s thesis. I focused on continuous integration and deployment – specifically on what’s known as the Bouquet integration, a central component of QFS’s build pipeline. It allows feature branches to be merged dynamically, enabling long-term interaction testing – an exciting and practical approach that still fascinates me.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="/pdf/BachelorarbeitMarcelSchmied.pdf"  class="button scroll-animated green pdf"&gt;Schmied, Marcel: Efficient Strategies for Continuous Integration of Long-Term Feature Branches&lt;svg height="32" viewBox="0 0 480 480" width="32" xmlns="http://www.w3.org/2000/svg"&gt;&lt;g transform="matrix(.98087602 0 0 .98087602 -67.254307 3.334145)"&gt;&lt;path d="m188.18173 15.668499c-12.00499 0-21.74448 9.739502-21.74448 21.74992v347.989201c0 12.01042 9.73949 21.74448 21.74448 21.74448h250.12069c12.01041 0 21.74447-9.73406 21.74447-21.74448v-269.02005l-104.83366-100.719071z" fill="#08509c"/&gt;&lt;path d="m460.05234 116.38757h-83.08919c-12.01043 0-21.74448-9.7395-21.74448-21.749918v-78.969153z" fill="#133170"/&gt;&lt;/g&gt;&lt;path d="m465 412.54215c0 26.22623-21.66404 47.48212-48.38341 47.48212h-353.233188c-26.729849 0-48.3834-21.25589-48.3834-47.48212v-145.04606c0-26.22623 21.653551-47.47182 48.3834-47.47182h353.233178c26.71938 0 48.38341 21.24559 48.38341 47.47182z" fill="#133170" stroke-width="1.00423"/&gt;&lt;g fill="#fff" transform="matrix(3.1466331 0 0 3.1466331 -321.75582 -433.54716)"&gt;&lt;path d="m143.227 249.665h-6.956v10.615c0 1.519-.359 2.668-1.074 3.454s-1.62 1.175-2.713 1.175c-1.145 0-2.065-.389-2.761-1.164s-1.048-1.916-1.048-3.416v-28.901c0-1.673.385-2.866 1.152-3.581s1.987-1.074 3.659-1.074h9.744c2.885 0 5.096.221 6.649.666 1.534.427 2.862 1.134 3.977 2.122s1.961 2.2 2.544 3.633.868 3.042.868 4.834c0 3.82-1.175 6.713-3.528 8.685s-5.858 2.952-10.513 2.952zm-1.841-17.189h-5.115v11.461h5.115c1.792 0 3.285-.187 4.49-.561 1.197-.374 2.114-.988 2.746-1.841s.947-1.968.947-3.353c0-1.654-.486-3.001-1.459-4.041-1.089-1.112-3.33-1.665-6.724-1.665z"/&gt;&lt;path d="m168.319 226.773h9.901c2.574 0 4.782.239 6.627.715 1.845.475 3.51 1.373 5.014 2.687 3.906 3.341 5.856 8.423 5.856 15.244 0 2.253-.198 4.307-.587 6.163s-.999 3.532-1.815 5.025-1.867 2.825-3.147 4.004c-1.007.905-2.107 1.628-3.3 2.174-1.194.546-2.477.932-3.847 1.152-1.373.221-2.922.333-4.644.333h-9.901c-1.381 0-2.421-.21-3.121-.625s-1.156-1.007-1.366-1.766c-.217-.76-.322-1.744-.322-2.956v-27.494c0-1.639.367-2.821 1.1-3.555s1.917-1.101 3.552-1.101zm2.941 6.009v25.451h5.755c1.261 0 2.253-.034 2.967-.101.715-.067 1.459-.239 2.226-.513.767-.273 1.433-.655 1.994-1.152 2.541-2.148 3.813-5.848 3.813-11.102 0-3.701-.558-6.469-1.673-8.314-1.119-1.841-2.496-3.016-4.131-3.517s-3.615-.756-5.934-.756h-5.018v.004z"/&gt;&lt;path d="m224.797 232.629h-14.963v9.59h12.509c1.16 0 2.024.258 2.593.778.572.52.857 1.216.857 2.084s-.288 1.56-.868 2.073-1.441.767-2.582.767h-12.509v12.355c0 1.568-.355 2.731-1.063 3.491-.703.76-1.616 1.137-2.724 1.137-1.126 0-2.043-.385-2.75-1.152-.703-.767-1.059-1.927-1.059-3.48v-28.845c0-1.093.161-1.983.486-2.672.326-.688.831-1.194 1.523-1.508.688-.314 1.572-.471 2.645-.471h17.904c1.209 0 2.11.269 2.698.804.591.539.883 1.242.883 2.11 0 .887-.292 1.598-.883 2.137-.586.533-1.488.802-2.697.802z"/&gt;&lt;/g&gt;&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;h2&gt;Small Company, Big Team Spirit&lt;/h2&gt;
&lt;p&gt;What made QFS special for me was the working atmosphere.&lt;/p&gt;
&lt;p&gt;The team was open, helpful, and like a family from the very beginning. I could always ask questions, received honest feedback, and was involved in decision-making. Beyond work, there were many opportunities to get to know colleagues – whether at the Leipzig company run, the table tennis cup, or simply during lunch breaks, where we tried out a new restaurant every week (if one could be found).&lt;/p&gt;
&lt;h2&gt;Looking Back and Ahead&lt;/h2&gt;
&lt;p&gt;When I look back on my dual study program today, I’m very grateful for my time at QFS and mgm. I was able to gain insight into nearly all areas of software development, gather practical experience, and discover where my strengths lie.&lt;/p&gt;
&lt;p&gt;Now I’m continuing with a master’s degree in data science – to further specialize.&lt;/p&gt;
&lt;p&gt;I’m taking with me a wealth of experiences, exciting projects, and wonderful memories – and with that, a big thank you to all my colleagues who accompanied me on this journey.&lt;/p&gt;</content><category term="companynews"/></entry><entry><title>Going POSTal! Discover WebAPI Testing in QF-Test</title><link href="https://www.qftest.com/en/support/videos/webAPI-testing.html" rel="alternate"/><published>2025-10-20T00:00:00+02:00</published><updated>2025-10-20T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-10-20:/en/support/videos/webAPI-testing.html</id><summary type="html">&lt;p&gt;In this webinar, we will give a brief introduction to web accessibility and present the new accessibility testing features of QF-Test.&lt;/p&gt;</summary><content type="html">&lt;p&gt;With QF-Test 10, the testing of web interfaces has been fundamentally revised, with a focus on web APIs such as REST, SOAP and other web services. In this special webinar, we will introduce you to the new functions.&lt;/p&gt;
&lt;p&gt;Materials:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://services.qftest.com/en/download/webapi"&gt;QF-Test WebAPI Preview&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gitlab.com/qfs/webinars/-/tree/main/webapi"&gt;Demo suite and presentation slides&lt;/a&gt; (Requires QF-Test 10 or QF-Test WebAPI Preview)&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;With the upcoming &lt;strong&gt;QF-Test version 10&lt;/strong&gt;, web application and web API testing have been fundamentally redesigned. A major focus of this release is on &lt;strong&gt;Web APIs&lt;/strong&gt; such as REST, SOAP, and other web-based services.&lt;/p&gt;
&lt;p&gt;Testing APIs differs significantly from traditional UI testing.
While QF-Test still supports visual test nodes, &lt;strong&gt;script nodes&lt;/strong&gt; are often needed to simulate realistic workflows.
Complex test logic can be wrapped in reusable &lt;strong&gt;procedures&lt;/strong&gt;, making it easy to maintain and scale even sophisticated tests.&lt;/p&gt;
&lt;p&gt;After the introduction, Thomas hands over to his colleague &lt;strong&gt;Plamen Vesselinov&lt;/strong&gt;, who presents the new features live in action.&lt;/p&gt;
&lt;h3&gt;Introduction to Web API Testing&lt;/h3&gt;
&lt;p&gt;Plamen begins by explaining the difference between &lt;strong&gt;UI testing&lt;/strong&gt; and &lt;strong&gt;API testing&lt;/strong&gt;.
Up to now, QF-Test has primarily been used to automate user interfaces — clicking buttons, entering text, and verifying visible changes.
In contrast, Web APIs communicate directly via the &lt;strong&gt;network&lt;/strong&gt;, exchanging data through &lt;strong&gt;HTTP requests&lt;/strong&gt;, most commonly in &lt;strong&gt;JSON format&lt;/strong&gt; (though XML and other formats are also supported).&lt;/p&gt;
&lt;p&gt;For example:
A client application can query a server for user information via an API by providing an ID. The server responds with the requested data. Using a &lt;strong&gt;PUT request&lt;/strong&gt;, this data can then be modified.&lt;/p&gt;
&lt;h3&gt;Demo: Using the New Web Request Node&lt;/h3&gt;
&lt;p&gt;Plamen then demonstrates the new &lt;strong&gt;Web Request node&lt;/strong&gt; introduced in QF-Test 10.
This node is designed specifically for API testing and allows users to configure and send HTTP requests directly from within QF-Test.&lt;/p&gt;
&lt;p&gt;He uses a simple REST service — a sample &lt;em&gt;Pet Store&lt;/em&gt; API — to illustrate:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;A &lt;strong&gt;POST request&lt;/strong&gt; adds a new pet (“Wolf”) to the store.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;PUT request&lt;/strong&gt; updates the pet’s name.&lt;/li&gt;
&lt;li&gt;A &lt;strong&gt;GET request&lt;/strong&gt; retrieves the updated information.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;QF-Test logs each step in detail: the exact &lt;strong&gt;request&lt;/strong&gt; sent, the &lt;strong&gt;response&lt;/strong&gt; received, the &lt;strong&gt;status code&lt;/strong&gt;, and the full &lt;strong&gt;JSON content&lt;/strong&gt;.
A status code of &lt;strong&gt;200&lt;/strong&gt; indicates success.&lt;/p&gt;
&lt;p&gt;QF-Test 10 also introduces &lt;strong&gt;syntax highlighting&lt;/strong&gt; for JSON and XML bodies and supports custom HTTP headers such as &lt;code&gt;Content-Type&lt;/code&gt; and &lt;code&gt;Accept&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;Pre- and Post-Request Handlers&lt;/h3&gt;
&lt;p&gt;For more advanced scenarios, QF-Test provides &lt;strong&gt;Pre-Request&lt;/strong&gt; and &lt;strong&gt;Post-Request Handlers&lt;/strong&gt;.
These allow users to modify a request before it is sent or process a response after it is received.&lt;/p&gt;
&lt;p&gt;Typical use cases include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Setting authentication credentials&lt;/li&gt;
&lt;li&gt;Adjusting request headers&lt;/li&gt;
&lt;li&gt;Automatically verifying response content&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Handlers are executed in a defined order:
Global handlers run first, followed by local handlers defined within the test case itself.&lt;/p&gt;
&lt;h3&gt;Test Cases, Variables, and Assertions&lt;/h3&gt;
&lt;p&gt;Next, Plamen presents a complete &lt;strong&gt;test suite&lt;/strong&gt; that adds several pets using different data sets.
The suite uses a &lt;strong&gt;data driver&lt;/strong&gt; so that the same test case can be executed multiple times with varying input values.&lt;/p&gt;
&lt;p&gt;The &lt;strong&gt;Assertion API&lt;/strong&gt; (&lt;code&gt;rc.check&lt;/code&gt;) enables checks and validations without interrupting the test flow if one fails.
All results are documented clearly in both the execution log and the &lt;strong&gt;HTML report&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;QF-Test 10 adds convenient &lt;strong&gt;Copy buttons&lt;/strong&gt; in the report and log views, making it easier to extract large JSON bodies or specific sections for debugging.&lt;/p&gt;
&lt;h3&gt;Scripting and Technical Background&lt;/h3&gt;
&lt;p&gt;Under the hood, QF-Test uses the &lt;strong&gt;&lt;code&gt;java.net.http&lt;/code&gt; package&lt;/strong&gt; from the Java Development Kit to handle web requests.
This means that standard Java methods and classes are directly available within QF-Test scripting environments (e.g., &lt;strong&gt;Groovy&lt;/strong&gt;).&lt;/p&gt;
&lt;p&gt;Scripts can be used to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Loop through data&lt;/li&gt;
&lt;li&gt;Dynamically set variables&lt;/li&gt;
&lt;li&gt;Parse responses&lt;/li&gt;
&lt;li&gt;Implement custom checks&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All related classes and objects (&lt;code&gt;Request&lt;/code&gt;, &lt;code&gt;Response&lt;/code&gt;, &lt;code&gt;rc.web&lt;/code&gt;, &lt;code&gt;rc.check&lt;/code&gt;, etc.) are documented in detail in the &lt;strong&gt;QF-Test manual&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;Authentication&lt;/h3&gt;
&lt;p&gt;QF-Test 10 natively supports several authentication schemes in its Web Request node:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Basic Authentication&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bearer Token Authentication&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API Key Authentication&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These credentials can be supplied either through HTTP headers or URL parameters.
Sensitive information (such as tokens) can be encrypted or hidden from logs and reports.&lt;/p&gt;
&lt;h3&gt;SOAP Example&lt;/h3&gt;
&lt;p&gt;In addition to REST APIs, QF-Test also supports &lt;strong&gt;SOAP web services&lt;/strong&gt;.
Plamen demonstrates this using a simple &lt;em&gt;Calculator&lt;/em&gt; service that adds two numbers.
The SOAP request includes an XML body and a &lt;code&gt;SOAPAction&lt;/code&gt; header.&lt;/p&gt;
&lt;p&gt;If the service responds successfully (status 200), QF-Test displays the result.
If not, the system issues a warning rather than failing the test, since the problem is likely with the demo service itself.&lt;/p&gt;
&lt;h3&gt;Proxy and Certificate Management&lt;/h3&gt;
&lt;p&gt;QF-Test provides extensive options for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Proxy configuration&lt;/strong&gt; (HTTP/S),&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cookie management&lt;/strong&gt;, and&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Certificate handling&lt;/strong&gt;, including &lt;strong&gt;client certificates&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;By default, QF-Test accepts all SSL certificates, but this can be customized.
There is also a built-in &lt;strong&gt;procedure&lt;/strong&gt; that allows testing Web APIs with client-side certificates.&lt;/p&gt;
&lt;p&gt;To observe live network traffic, Plamen recommends using a &lt;strong&gt;MITM proxy&lt;/strong&gt;.
Such a proxy can be integrated with QF-Test, allowing users to watch HTTP requests and responses as they happen.&lt;/p&gt;
&lt;h3&gt;Future Outlook&lt;/h3&gt;
&lt;p&gt;The QF-Test team is continuously expanding the Web API testing capabilities.
Planned features include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for &lt;strong&gt;WebSockets&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;Additional &lt;strong&gt;authentication mechanisms&lt;/strong&gt;,&lt;/li&gt;
&lt;li&gt;Enhanced &lt;strong&gt;response validation tools&lt;/strong&gt;, and&lt;/li&gt;
&lt;li&gt;More pre-built &lt;strong&gt;procedures&lt;/strong&gt; within the &lt;code&gt;webapi&lt;/code&gt; package.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Thomas Max concludes the session by thanking all participants.
The QF-Test team welcomes &lt;strong&gt;feedback, questions, and feature requests&lt;/strong&gt; and encourages attendees to reach out via email after the webinar.&lt;/p&gt;</content><category term="videos"/><category term="specialwebinars"/></entry><entry><title>QF-Test Special Webinar about WebAPI Testing</title><link href="https://www.qftest.com/en/company/news/newsletters/qf-test-special-webinar-about-webapi-testing.html" rel="alternate"/><published>2025-10-15T00:00:00+02:00</published><updated>2025-10-15T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-10-15:/en/company/news/newsletters/qf-test-special-webinar-about-webapi-testing.html</id><summary type="html">&lt;p&gt;Sign up now for special webinar about testing of web APIs with QF-Test on October 20, 2025&lt;/p&gt;</summary><content type="html">&lt;h2&gt;Hello dear QF-Test users!&lt;/h2&gt;
&lt;p&gt;We would like to cordially invite you to our &lt;strong&gt;next free QF-Test special webinar on October 20, 2025&lt;/strong&gt;, at 3:30 PM!  &lt;/p&gt;
&lt;p&gt;With the upcoming version 10 of QF-Test we are expanding our proven test automation tool with a powerful new feature: &lt;strong&gt;support for web API testing&lt;/strong&gt;.  &lt;/p&gt;
&lt;p&gt;This means that QF‑Test now offers comprehensive capabilities not only for UI test automation, but also for &lt;strong&gt;automated testing of web interfaces (web APIs)&lt;/strong&gt; thus REST, SOAP, and other web services.  &lt;/p&gt;
&lt;p&gt;Best wishes,&lt;br /&gt;
your QFS team&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Upcoming QF-Test special webinar&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://register.gotowebinar.com/register/4480482843899086679"&gt;&lt;img alt="Registration special webinar" src="https://www.qftest.com/videos/resources/special-webinar-webapi.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;October 20, 2025, 3:30 PMGoing POSTal! Discover WebAPI Testing in QF-Test&lt;/h3&gt;
&lt;p&gt;With QF-Test 10, the testing of web interfaces has been fundamentally revised, with a focus on web APIs such as REST, SOAP and other web services. In this special webinar, we will introduce you to the new functions.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://register.gotowebinar.com/#register/4480482843899086679"  class="button scroll-animated green chevron"&gt;Sign up for free&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="/support/schulung-beratung/webinare.html"&gt;Special webinar in German&lt;/a&gt;, October 20, 2025, 10:30 AM&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;WebAPI early adopters wanted&lt;/h2&gt;
&lt;p&gt;If you would like to try out the new feature for &lt;strong&gt;testing web services and web APIs&lt;/strong&gt; before QF-Test 10 is released, we are happy to welcome you as early adopter.  &lt;/p&gt;
&lt;p&gt;Please let us know what is particularly important to you when testing web APIs and which use cases you would like to cover with them.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/support/contact/?comment=Web-API%20Early%20Adopters"  class="button scroll-animated green chevron"&gt;Get in touch with our service team now&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;h2&gt;Save the date: Events in 2025&lt;/h2&gt;
&lt;h3&gt;QF-Test Basics: Training via Webinar&lt;/h3&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/training.html"&gt;&lt;img alt="Basic Training QF-Test" src="/newsletters/resources/QF-Test_OnlineSchulung.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;November 10–13, 2025in English&lt;/h3&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="/en/support/training-consulting/training.html#training"  class="button scroll-animated green chevron"&gt;More about the training&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;4 days, 2 × 2,5 hours each&lt;/li&gt;
&lt;li&gt;Effective and rapid knowledge transfer&lt;/li&gt;
&lt;li&gt;Small groups up to a maximum of 8 participants&lt;/li&gt;
&lt;li&gt;Interaction with the trainers and asking questions are possible at any time&lt;/li&gt;
&lt;/ul&gt;
&lt;hr /&gt;
&lt;h3&gt;Individual QF-Test Company Trainings&lt;/h3&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/training.html#consulting"&gt;&lt;img alt="Individual QF-Test Training" src="/newsletters/resources/2025-10_OnlineSchulung-Ort.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Would you like a training course which is individually tailored to your company? Just send us an email to &lt;a href="https://services.qftest.com/en/support/contact/"&gt;service@qftest.com&lt;/a&gt;.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/support/contact/?comment=Request%20individual%20training"  class="button scroll-animated green chevron"&gt;Ask our service team for a quote&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;hr /&gt;
&lt;h2&gt;From our YouTube Channel&lt;/h2&gt;
&lt;p&gt;&lt;a href="/en/support/videos/beyond-strings-object-variables.html"&gt;&lt;img alt="special webinar objekt variables" src="https://www.qftest.com/videos/resources/object-vars-special-webinar-en.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Beyond Strings – how to effectively use object variables in QF-Test 9&lt;/h3&gt;
&lt;p&gt;This webinar video provides a technical overview of the concept of object variables in QF-Test.  &lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/support/videos/beyond-strings-object-variables.html"&gt;Watch the Video now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visit our &lt;a href="https://www.youtube.com/@qftest"&gt;YouTube channel&lt;/a&gt; to subscribe and follow us on &lt;a href="https://www.linkedin.com/company/quality-first-software-gmbh-qfs"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Download QF-Test&lt;/h2&gt;
&lt;h3&gt;Do you already use the latest version of QF-Test?&lt;/h3&gt;
&lt;p&gt;&lt;a href="https://services.qftest.com/en/download/"&gt;&lt;img alt="Download QF-Test" src="/newsletters/resources/2025-09-25_Download-Thick-Bottom--Streamline-Streamline-3.0.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/download/"  class="button scroll-animated green chevron"&gt;Download QF-Test 9.0.6&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;ul&gt;
&lt;li&gt;To the &lt;a href="https://www.qftest.com/doc/manual/en/history.html#app_news"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Available since 2025-09-10&lt;/li&gt;
&lt;/ul&gt;</content><category term="newsletters"/></entry><entry><title>“Challenge Accepted!” – QFS in Bulgaria</title><link href="https://www.qftest.com/en/company/news/qa-challenge-accepted.html" rel="alternate"/><published>2025-10-13T00:00:00+02:00</published><updated>2025-10-13T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-10-13:/en/company/news/qa-challenge-accepted.html</id><summary type="html">&lt;p&gt;QFS attended the &amp;#8220;QA Challenge Accepted&amp;#8221; and &amp;#8220;Dev Challenge Accepted&amp;#8221; events in Sofia, Bulgaria. Both events offered exciting insights into current trends and numerous opportunities to network with other professionals from the IT and QA industries.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;button class="plain" onclick="document.getElementById('4300').showModal()" title="Enlarge"&gt;&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="/images/2025-dev-challenge-accepted.jpg"
        class=" scroll-animated"
        alt=""
        style="max-width:400px "&gt;&lt;/figure&gt;
&lt;p&gt;&lt;/button&gt;&lt;dialog popover id="4300" anchor="trigger-4300"&gt;&lt;/p&gt;
&lt;div class="container card scroll-animated width-full accent    "&gt;&lt;div class="container-content"&gt;        &lt;button onclick="document.getElementById('4300').close()"
                class="button blue tertiary"
                id="trigger-4300"
                style="margin: -15px -15px 10px auto; position: relative"&gt;Close&lt;/button&gt;
            &lt;figure&gt;
        &lt;img class="plain" src="/images/2025-dev-challenge-accepted.jpg" alt=""&gt;&lt;/figure&gt;
    &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/dialog&gt;&lt;/p&gt;
&lt;p&gt;Our &lt;a href="/en/author/plamen-vesselinov.html"&gt;QF-Test &lt;em&gt;Head of Support&lt;/em&gt; Plamen Vesselinov&lt;/a&gt; recently attended the &lt;a href="https://qachallengeaccepted.com/"&gt;&amp;#8220;QA Challenge Accepted&amp;#8221;&lt;/a&gt; and &lt;a href="https://www.challengeaccepted.dev/"&gt;&amp;#8220;Dev Challenge Accepted&amp;#8221;&lt;/a&gt; events in Bulgaria.&lt;/p&gt;
&lt;p&gt;The conferences took place for the 11th time, this year at the John Atanasoff Forum in Sofia.&lt;/p&gt;
&lt;p&gt;Both events offered exciting insights into current trends and numerous opportunities to network with other professionals from the IT and QA industries.&lt;/p&gt;
&lt;p&gt;When asked about his highlights, Plamen said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;I found the discussions and practical tips particularly valuable, which I can now apply directly in my work for QF-Test as a customer support and mentor. The inspiring atmosphere and the many new ideas have further broadened my perspective on our customers&amp;#8217; needs.&lt;/p&gt;
&lt;/blockquote&gt;</content><category term="news"/></entry><entry><title>QFS at TACON2025 in Leipzig, Germany</title><link href="https://www.qftest.com/en/company/news/tacon-leipzig.html" rel="alternate"/><published>2025-10-02T00:00:00+02:00</published><updated>2025-10-02T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-10-02:/en/company/news/tacon-leipzig.html</id><summary type="html">&lt;p&gt;Two fantastic days at TACON2025 in Leipzig are behind us – and we’re already looking forward to next year! The keynote by Richard Seidl and the test automation insights from our mgm colleague Lilia Gargouri were real highlights.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;button class="plain" onclick="document.getElementById('9773').showModal()" title="Enlarge"&gt;&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="/images/2025-tacon-leipzig-max.jpeg"
        class=" scroll-animated"
        alt="Selfie of Thomas Max attending TACON 2025"
        style="max-width:400px "&gt;&lt;/figure&gt;
&lt;p&gt;&lt;/button&gt;&lt;dialog popover id="9773" anchor="trigger-9773"&gt;&lt;/p&gt;
&lt;div class="container card scroll-animated width-full accent    "&gt;&lt;div class="container-content"&gt;        &lt;button onclick="document.getElementById('9773').close()"
                class="button blue tertiary"
                id="trigger-9773"
                style="margin: -15px -15px 10px auto; position: relative"&gt;Close&lt;/button&gt;
            &lt;figure&gt;
        &lt;img class="plain" src="/images/2025-tacon-leipzig-max.jpeg" alt="Selfie of Thomas Max attending TACON 2025"&gt;&lt;/figure&gt;
    &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/dialog&gt;&lt;/p&gt;
&lt;p&gt;Two fantastic days at &lt;a href="https://summit-community.de/veranstaltung/summit_events/"&gt;TACON2025 in Leipzig&lt;/a&gt; are behind us – and we’re already looking forward to next year!&lt;/p&gt;
&lt;p&gt;&lt;a href="https://events.summit-community.de/event/tacon-2025/summary/"&gt;&amp;#8220;TACON&amp;#8221;&lt;/a&gt; stands for &amp;#8220;Testing, Test Automation and Quality Management in Software Development.&amp;#8221; For years, TACON has been a central meeting point for testing experts to exchange ideas about current developments and to network.&lt;/p&gt;
&lt;p&gt;&lt;a href="/en/author/thomas-max.html"&gt;Thomas Max&lt;/a&gt; was there for QF-Test and summarized the time like this:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The keynote by Richard Seidl and the test automation insights from my &lt;a href="/en/author/lilia-gargouri.html"&gt;mgm colleague Lilia Gargouri&lt;/a&gt; were real highlights. In addition to many exciting presentations, there were great reunions and new acquaintances. Many thanks to everyone involved and to the summit team for the excellent organization!&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Lilia Gargouri’s talk was titled &lt;strong&gt;&amp;#8220;Success in E2E Test Automation: Key Lessons from a Decade of Experience&amp;#8221;&lt;/strong&gt; and was even awarded &amp;#8220;Best Lecture of TACON&amp;#8221; by the audience. The presentation was about how mgm technology partners, with the help of QF-Test and other technologies, ensure efficient test automation of projects.&lt;/p&gt;
&lt;p&gt;You can learn more about Lilia’s work in this interview on our blog:&lt;/p&gt;
&lt;div class="anchor-wrapper"&gt;
    &lt;a href="https://www.qftest.com/en/blog/article/from-mgms-coffee-kitchen-to-test-automation-with-qf-test.html" class="container card scroll-animated width-normal clear imgfill   image-right"&gt;&lt;img class="container-image" src="/blog/resources/Lilia_CWR_edited.jpg" alt=""&gt;&lt;div class="container-content"&gt;&lt;div class="container-title"&gt;&lt;div class="container-title-text"&gt;From mgm’s coffee kitchen to test automation with QF-Test&lt;/div&gt;&lt;/div&gt;&lt;div class="entry-content"&gt;  &lt;p&gt;Lilia Gargouri is head of the mgm Quality Team together with Martin Varendorff. In this interview, she describes for us how she found her way to QF-Test, what&amp;#8217;s important to her in test automation, and about her hopes for the closer cooperation between our companies in the future.&lt;/p&gt;
&lt;/div&gt;

&lt;div class="container width-normal align-start justify-center row    " &gt;&lt;div class="container-content" &gt;&lt;address class="vcard author"&gt;
&lt;strong class="flex-row-dynamic gap-small"&gt;
&lt;img src="/images/staff/thomas.jpg" height="60" width="60" class="author-profile-pic" alt="Thomas Max"&gt;
Thomas Max
&lt;/strong&gt;&lt;/address&gt;
&lt;div class="flex-column"&gt;&lt;div&gt;&lt;time class="published" datetime="2022-09-22T00:00:00+02:00"&gt;
22/09/2022
&lt;/time&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;    &lt;/div&gt;&lt;/a&gt;&lt;/div&gt;</content><category term="news"/></entry><entry><title>QF-Test 9.0.6 available</title><link href="https://www.qftest.com/en/company/news/qf-test-9-0-6-available.html" rel="alternate"/><published>2025-09-10T00:00:00+02:00</published><updated>2025-09-10T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-09-10:/en/company/news/qf-test-9-0-6-available.html</id><content type="html">&lt;p&gt;This maintenance release adds support for Eclipse / SWT 4.37 alias &amp;#8220;2025-09&amp;#8221;, updates a couple of bundled libraries and fixes a few minor bugs.&lt;/p&gt;</content><category term="news"/></entry><entry><title>What QF-Test editions are available, and what are the differences?</title><link href="https://www.qftest.com/en/product/faq/what-qf-test-editions-are-available.html" rel="alternate"/><published>2025-08-01T00:00:00+02:00</published><updated>2025-08-01T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-08-01:/en/product/faq/what-qf-test-editions-are-available.html</id><summary type="html">&lt;p&gt;Since version 10, QF-Test is available in four editions&lt;/p&gt;</summary><content type="html">&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;QF-Test Web&lt;/strong&gt; for web browsers, accessibility, Electron applications, API and web service testing  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QF-Test Desktop&lt;/strong&gt; for Java and native Windows applications  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QF-Test Mobile&lt;/strong&gt; for Android and iOS apps  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QF-Test Pro&lt;/strong&gt; combines all technologies and additionally supports hybrid applications. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The first three editions focus on the specific UI technologies mentioned above, while QF-Test Pro offers the complete functionality, equivalent to previous QF-Test versions. 
A detailed overview of features per edition is available on &lt;a href="/en/product/pricing.html"&gt;QF-Test Pricing&lt;/a&gt; or can be requested from our service team.  &lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/support/contact/?type=editions"  class="button scroll-animated green chevron"&gt;Contact Our Service Team&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/download/"  class="button scroll-animated green chevron"&gt;Download QF-Test&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;</content><category term="faqs"/><category term="faqeditions"/></entry><entry><title>QF-Test 9.0.5 available</title><link href="https://www.qftest.com/en/company/news/qf-test-9-0-5-available.html" rel="alternate"/><published>2025-07-30T00:00:00+02:00</published><updated>2025-07-30T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-07-30:/en/company/news/qf-test-9-0-5-available.html</id><content type="html">&lt;p&gt;This maintenance release raises the embedded JRE to Temurin 17.0.16, updates some embedded libraries and fixes a few small bugs.&lt;/p&gt;</content><category term="news"/></entry><entry><title>QF-Test 9.0.5 available</title><link href="https://www.qftest.com/en/company/news/newsletters/2025-07-qftest-905-available.html" rel="alternate"/><published>2025-07-30T00:00:00+02:00</published><updated>2025-07-30T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-07-30:/en/company/news/newsletters/2025-07-qftest-905-available.html</id><summary type="html">&lt;p&gt;Training Dates 2025, News and Blogs, Video of special webinar on object variables&lt;/p&gt;</summary><content type="html">&lt;p&gt;Hello dear QF-Test users!&lt;/p&gt;
&lt;p&gt;What&amp;#8217;s new?&lt;/p&gt;
&lt;p&gt;Today&amp;#8217;s maintenance release &lt;strong&gt;QF-Test 9.0.5&lt;/strong&gt; raises the embedded JRE to Temurin 17.0.16, updates some embedded libraries and fixes a few small bugs to further improve stability and reliability.&lt;/p&gt;
&lt;p&gt;We are currently preparing the next special webinar on a new feature of the upcoming version 10. This time it&amp;#8217;s all about &lt;strong&gt;testing web interfaces (WebAPIs)&lt;/strong&gt; such as REST, SOAP and other web services. If you are already interested in advance, &lt;a href="https://services.qftest.com/en/support/contact/"&gt;please contact us&lt;/a&gt; &amp;ndash; early adopters are very welcome! Please let us know what is particularly important to you in API testing and which use cases you would like to cover.&lt;/p&gt;
&lt;p&gt;The recording of our July special webinar on &lt;strong&gt;object variables&lt;/strong&gt; is now available online. The video shows how to use object variables efficiently in your tests. You will find the link further down in the newsletter.&lt;/p&gt;
&lt;p&gt;As always, you can also look forward to the latest training dates, practice-oriented blog articles such as “&lt;strong&gt;Scrolling your web application with QF-Test&lt;/strong&gt;” and helpful video tutorials.&lt;/p&gt;
&lt;p&gt;Best wishes,&lt;br /&gt;
 your QFS team&lt;/p&gt;
&lt;h2&gt;QF-Test Version 9.0.5&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://services.qftest.com/en/download/"&gt;&lt;img alt="QF-Test Download" src="/newsletters/resources/2025-03_Download-Button-Pfeil-gruen-Schachtel-dunkelblau.png" title="QF-Test Download" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Download &lt;a href="https://services.qftest.com/en/download/"&gt;QF-Test version 9.0.5&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;To the &lt;a href="https://www.qftest.com/doc/manual/en/history.html"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Save the date: Events in 2025&lt;/h2&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/training.html"&gt;&lt;img alt="Online Training QF-Test" src="/newsletters/resources/OnlineSchulung-Monitor-Hut-dunkelblau-HGblau.png" title="Online Training QF-Test" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;QF-Test Basics: Training via Webinar&lt;/strong&gt;&lt;br /&gt;
&lt;a href="/en/support/training-consulting/training.html#a30295-659e55fa94d68760261203"&gt;September 29 – October 2, 2025, German&lt;/a&gt;&lt;br /&gt;
&lt;a href="/en/support/training-consulting/training.html#a30295-6613a7774f6b6588956332"&gt;November 10&lt;/a&gt;&lt;a href="/en/support/training-consulting/training.html#a30295-659e55fa94d68760261203"&gt;–&lt;/a&gt; &lt;a href="/en/support/training-consulting/training.html#a30295-6613a7774f6b6588956332"&gt;13, 2025, English&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;4 days, 2 × 2,5 hours each&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Effective and rapid knowledge transfer in small groups up to a maximum of 8 participants&lt;/li&gt;
&lt;li&gt;Interaction with the trainers and asking questions are possible at any time&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;➜ &lt;a href="https://services.qftest.com/en/support/contact/"&gt;Sign up now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Would you like a &lt;a href="/en/support/training-consulting/training.html#c30865"&gt;training course&lt;/a&gt; which is individually tailored to your company? Just send us an email to &lt;a href="https://services.qftest.com/en/support/contact/"&gt;service@qftest.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/webinars.html#c34104"&gt;&lt;img alt="" src="/newsletters/resources/spezialwebinar-WebAPI_qf-test.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Special Webinar&lt;/strong&gt;&lt;br /&gt;
&lt;a href="/en/support/training-consulting/webinars.html#c34103"&gt;Going POSTal! Discover WebAPI Testing in QF-Test&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;October 20, 2025, 3:30 PM (CEST)&lt;/strong&gt; (provisional)&lt;/p&gt;
&lt;p&gt;With QF-Test 10, the testing of web interfaces is fundamentally revised, with a focus on web APIs such as REST, SOAP and other web services. In this special webinar, we present the new functions.&lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/support/training-consulting/webinars.html#c34103"&gt;Sign up for free&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/support/schulung-beratung/webinare.html"&gt;Special webinar in German&lt;/a&gt; at 10:30 a.m.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://summit-community.de/2023/05/31/cvent-session/?title=Erfolg%20in%20der%20E2E-Testautomatisierung:%20Wichtige%20Lektionen%20aus%20einem%20Jahrzehnt&amp;amp;eventId=cd3d638b-d143-4298-b414-a94dac89b234&amp;amp;sessionId=2a3548cb-288f-47dc-96e4-8b3df41c5002"&gt;&lt;img alt="" src="/newsletters/resources/Tacon_01.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Talk at TACON 2025: Erfolg in der E2E-Testautomatisierung&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;September 23–24, 2025, Leipzig, Germany&lt;/strong&gt;&lt;br /&gt;
 Lilia Gargouri, Head of Quality Assurance at mgm technology partners, gives a talk about how to increase the maintainability and stability of their tests through modular test architectures and effective test data management. Participants learn how to minimize volatile tests and apply robust test design principles.&lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://summit-community.de/2023/05/31/cvent-session/?title=Erfolg%20in%20der%20E2E-Testautomatisierung:%20Wichtige%20Lektionen%20aus%20einem%20Jahrzehnt&amp;amp;eventId=cd3d638b-d143-4298-b414-a94dac89b234&amp;amp;sessionId=2a3548cb-288f-47dc-96e4-8b3df41c5002"&gt;To Tacon&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://insights.mgm-tp.com/en/2025/quality-assurance/experience-q12-tmt-live-conferences-events-and-webinars-2025/"&gt;&lt;img alt="Q12 Test Management Tool Screenshot" src="/newsletters/resources/TMT-Screenshot.png" title="Q12 Test Management Tool Screenshot" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q12-TMT Test Management Tool&lt;/strong&gt;&lt;br /&gt;
 Our parent company mgm technology partners will be represented with Q12-TMT at international and German conferences, events and webinars. As a professional tool for structured test case creation, planning, execution, documentation and reporting, TMT may also be of interest to you as a supplement to QF-Test.&lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://insights.mgm-tp.com/en/2025/quality-assurance/experience-q12-tmt-live-conferences-events-and-webinars-2025/"&gt;To testing events with mgm in 2025&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;News&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Scrolling on the Web with QF-Test: The complete guide&lt;/strong&gt; &lt;strong&gt;–&lt;/strong&gt;  In this blog post, you`ll get to know all about how to control how QF-Test scrolls your web application and how to control that scrolling yourself.&lt;br /&gt;
   ➜ &lt;a href="/en/blog/article/web-scrolling.html"&gt;Go to the blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;From our YouTube Channel&lt;/h2&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/webinars.html#c35054"&gt;&lt;img alt="" src="/newsletters/resources/object-vars-special-webinar-en.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Special webinar video&lt;/strong&gt;&lt;br /&gt;
&lt;a href="/en/support/training-consulting/webinars.html#c35054"&gt;Beyond Strings &amp;ndash; how to effectively use object variables in QF-Test 9&lt;/a&gt;&lt;br /&gt;
 As of QF-Test 9 any objects can be stored in QF-Test variables. In this special webinar we show, how object variables can be used profitably in your tests.&lt;br /&gt;
 ➜ &lt;a href="/en/support/training-consulting/webinars.html#c35054"&gt;Watch the video now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visit our &lt;a href="https://www.youtube.com/channel/UCo6yiK49wlGY1Busavn0LZw"&gt;YouTube channel&lt;/a&gt; to subscribe and follow us on &lt;a href="https://www.linkedin.com/company/quality-first-software-gmbh-qfs/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;</content><category term="newsletters"/></entry><entry><title>Summer Party of QFS and mgm technology partners</title><link href="https://www.qftest.com/en/company/news/company-events/qfs-mgm-summer-party.html" rel="alternate"/><published>2025-07-25T00:00:00+02:00</published><updated>2025-07-25T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-07-25:/en/company/news/company-events/qfs-mgm-summer-party.html</id><summary type="html">&lt;p&gt;QFS and mgm had a wonderful summer party at the Rosengarten in Munich&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="Summer Party" src="/companynews/resources/20250725-summerparty.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Together with our parent company mgm technology partners, we enjoyed a wonderful summer party at the Rosengarten in Munich. With delicious food and a relaxed atmosphere, it was a great opportunity to chat, catch up with old contacts, and get to know new colleagues. It was a successful evening that strengthened team spirit and community—we are already looking forward to the next one!&lt;/p&gt;</content><category term="companynews"/></entry><entry><title>Scrolling on the Web with QF-Test – The complete guide</title><link href="https://www.qftest.com/en/blog/article/web-scrolling.html" rel="alternate"/><published>2025-07-16T00:00:00+02:00</published><updated>2025-07-16T00:00:00+02:00</updated><author><name>Max Melzer</name></author><id>tag:www.qftest.com,2025-07-16:/en/blog/article/web-scrolling.html</id><summary type="html">&lt;p&gt;In this blog post, I will tell you all about how to control how QF-Test scrolls your web application and how to control that scrolling yourself.&lt;/p&gt;</summary><content type="html">&lt;p&gt;A question that comes up time and again during web application test automation with QF-Test is: &lt;strong&gt;How do I scroll?&lt;/strong&gt; How do I trigger a scroll event? Can I tell QF-Test to turn the mouse wheel? Can I simulate scrolling with the mouse in QF-Test? I just want to scroll down a little!&lt;/p&gt;
&lt;p&gt;In general, our first response to these kinds of questions is: &lt;strong&gt;You shouldn&amp;#8217;t have to.&lt;/strong&gt; QF-Test handles scrolling by itself and will fully automatically scroll elements into the viewport as soon as it needs to interact with them. That&amp;#8217;s why QF-Test does not record scroll events, or offer a &amp;#8216;Scroll&amp;#8217; node, because in 99% of cases, QF-Test will do the right thing automatically.&lt;/p&gt;
&lt;p&gt;But you&amp;#8217;re probably here because you&amp;#8217;re part of that 1% of cases where that mechanism is not enough. So in this blog post, I will tell you all about how QF-Test scrolls your web application and how to control that scrolling yourself.&lt;/p&gt;
&lt;h2&gt;Scroll manually using keyboard events&lt;/h2&gt;
&lt;p&gt;If you just want to scroll a set amount, you should try to scroll by recording keyboard events.&lt;/p&gt;
&lt;p&gt;In most web applications, the arrow keys can be used to scroll around. &lt;kbd&gt;Space&lt;/kbd&gt; and &lt;kbd&gt;Shift&lt;/kbd&gt;+&lt;kbd&gt;Space&lt;/kbd&gt; will scroll roughly one window height, and the &lt;kbd&gt;Home&lt;/kbd&gt; and &lt;kbd&gt;End&lt;/kbd&gt; keys should scroll to the top and bottom of the document, respectively. That way you might be able to skip the more complicated methods described below. &lt;/p&gt;
&lt;h2&gt;Fine-tune the QF-Test scrolling algorithm&lt;/h2&gt;
&lt;p&gt;Let&amp;#8217;s say QF-Test is already scrolling for you, but it&amp;#8217;s not quite doing it the way you need. QF-Test offers several SUT options you can use to configure its scrolling behavior.&lt;/p&gt;
&lt;p&gt;You can set these options in a &lt;a href="https://www.qftest.com/doc/manual/en/user_scripting.html#usec_scripting_options"&gt;SUT script node&lt;/a&gt; or using the &lt;a href="https://www.qftest.com/doc/manual/en/tech_doctags.html#sec_doctags_execution"&gt;&lt;code&gt;@option&lt;/code&gt; doctag&lt;/a&gt; in QF-Test 9.&lt;/p&gt;
&lt;h3&gt;&lt;code&gt;Options.OPT_WEB_SCROLL_VISIBLE&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;This option controls how web nodes are scrolled visible. Possible values are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Options.VAL_WEB_SCROLL_VISIBLE_DEFAULT&lt;/code&gt; (use the QF-Test algorithm),&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Options.VAL_WEB_SCROLL_VISIBLE_NEVER&lt;/code&gt; (prohibits scrolling),&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Options.VAL_WEB_SCROLL_VISIBLE_TOP&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Options.VAL_WEB_SCROLL_VISIBLE_BOTTOM&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Options.VAL_WEB_SCROLL_VISIBLE_MINIMAL&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;a custom JSON string matching the &lt;code&gt;options&lt;/code&gt; parameter of the &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView"&gt;&lt;code&gt;Element:scrollIntoView&lt;/code&gt; JavaScript API&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Options other than &amp;#8220;default&amp;#8221; and &amp;#8220;never&amp;#8221; will call &lt;code&gt;node.scrollIntoView()&lt;/code&gt; directly in the browser&amp;#8217;s JavaScript context. &lt;code&gt;scrollIntoView&lt;/code&gt; is a pretty powerful part of the JavaScript Element API. You can learn all about it&amp;#8217;s advanced options in the &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView"&gt;mdn web docs&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can also override this option on an individual component by setting the node property &lt;code&gt;qfs:scrollvisible&lt;/code&gt;:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kt"&gt;def&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getComponent&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;myElement&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// replace with a component&amp;#39;s QF-Test ID&lt;/span&gt;
&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setProperty&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;qfs:scrollvisible&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Options&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;VAL_WEB_SCROLL_VISIBLE_NEVER&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;&lt;code&gt;Options.OPT_WEB_MIN_DELAY_AFTER_AUTO_SCROLL&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;With this option, you can introduce some additional delay after every automatic scroll action, in &lt;code&gt;ms&lt;/code&gt;. This is useful if your application uses animations that are triggered by scrolling or if your application just needs a little more time to reload data after scrolling. The default value is 150.&lt;/p&gt;
&lt;h3&gt;&lt;code&gt;Options.OPT_PLAY_SCROLL_ITEM&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;Set to &lt;code&gt;False&lt;/code&gt; to stop QF-Test from automatically scrolling to sub-items of lists, tables or trees. You can use this if QF-Test scrolls to weird places when navigating a tree, for example.&lt;/p&gt;
&lt;h3&gt;&lt;code&gt;Options.OPT_PLAY_SCROLL_PADDING&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;Extra padding for automatic scrolling, in &lt;code&gt;px&lt;/code&gt;. Use this to make QF-Test increase or decrease the calculated minimal required scroll amount so that more of the surroundings of the target element remain visible. The default value is 5.&lt;/p&gt;
&lt;h3&gt;&lt;code&gt;Options.OPT_PLAY_WEB_AUTO_SCROLL&lt;/code&gt;&lt;/h3&gt;
&lt;p&gt;When set to &lt;code&gt;False&lt;/code&gt;, QF-Test will not perform any auto-scrolling at all. Use this to completely opt-out of automatic scrolling and handle it manually.&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Scroll components into view&lt;/h2&gt;
&lt;p&gt;You can trigger the QF-Test scrolling algorithm manually in an SUT script like this:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getComponent&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;myElement&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// replace with a component&amp;#39;s QF-Test ID&lt;/span&gt;
&lt;span class="c1"&gt;// Boolean scrollPointVisible(int targetX, int targetY, boolean propagate)&lt;/span&gt;
&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;scrollPointVisible&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;This will try to scroll the element so that it becomes visible. If the element cannot be made completely visible, it will scroll it so that at least the requested target point becomes visible.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;If the QF-Test algorithm is not helpful in your situation, maybe because you want to trigger a scroll action by itself, you can use a small SUT script which calls any JavaScript scrolling function like this: &lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getComponent&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;myElement&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// replace with a component&amp;#39;s QF-Test ID&lt;/span&gt;
&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;evalJS&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;_qf_node.scrollIntoView()&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// arbitrary JavaScript&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h2&gt;Scroll by set amounts&lt;/h2&gt;
&lt;p&gt;But what if you need even more control over the scrolling or don&amp;#8217;t have a particular component you want to scroll to?&lt;/p&gt;
&lt;p&gt;You can also any scroll container by a precise amount using JavaScript.&lt;/p&gt;
&lt;p&gt;For example, this SUT script would scroll the window down by 25 pixels:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getComponent&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;genericDocument&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;node&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;evalJS&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;window.scrollBy(0,25)&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The first parameter of &lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollBy"&gt;the &lt;code&gt;scrollBy&lt;/code&gt; method&lt;/a&gt; controls the x-axis, so you can even scroll sideways using this method.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;And that&amp;#8217;s it. That was all you need to know about scrolling web content with QF-Test to get you out of even the trickiest situations.&lt;/p&gt;
&lt;p&gt;If you are still stuck, you can &lt;a href="https://services.qftest.com/en/support/request/"&gt;get in touch with our support team&lt;/a&gt;, who are always happy to help!&lt;/p&gt;</content><category term="blog"/><category term="how-to"/></entry><entry><title>Beyond Strings – How To Effectively Use Object Variables In QF-Test 9</title><link href="https://www.qftest.com/en/support/videos/beyond-strings-object-variables.html" rel="alternate"/><published>2025-07-15T00:00:00+02:00</published><updated>2025-07-15T00:00:00+02:00</updated><author><name>Pascal Bihler</name></author><id>tag:www.qftest.com,2025-07-15:/en/support/videos/beyond-strings-object-variables.html</id><summary type="html">&lt;p&gt;In this webinar, we will do a technical deep dive into the new &amp;#8220;object variables&amp;#8221; concept in QF-Test 9.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a href="https://gitlab.com/qfs/webinars/-/tree/main/objectvariables?ref_type=heads"&gt;Slides and Materials&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Contents&lt;/h2&gt;
&lt;p&gt;00:00 Intro&lt;br /&gt;
02:08 Until QF-Test 8: All variables are Strings&lt;br /&gt;
02:50 Automatic Conversion&lt;br /&gt;
6:22 Since QF-Test 9: Variables store original object&lt;br /&gt;
12:32 Representation in run log and protocol&lt;br /&gt;
16:48 Replacement of variable values (expand)&lt;br /&gt;
19:08 Simplified access in scripts&lt;br /&gt;
22:31 Default values&lt;br /&gt;
31:10 Return value in procedures&lt;br /&gt;
31:33 Conversion if required&lt;br /&gt;
47:16 Additional information&lt;br /&gt;
51:30 Usage example: Configuration&lt;br /&gt;
56:40 Usage example: Process Parameters  &lt;/p&gt;
&lt;h2&gt;Code examples and summaries&lt;/h2&gt;
&lt;h3&gt;Until QF-Test 8: All variables are Strings&lt;/h3&gt;
&lt;p&gt;Simple Assignment: Name (String) -&amp;gt; Value (String)&lt;/p&gt;
&lt;h3&gt;Automatic Conversion&lt;/h3&gt;
&lt;p&gt;Write:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setGlobal&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Numbervalue&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;23&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// -&amp;gt; Converts into the String &amp;quot;23&amp;quot;&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setLocal&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Booleanvalue&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// -&amp;gt; Converts into the &amp;quot;true&amp;quot;&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setProperty&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;Object&amp;quot;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Object&lt;/span&gt;&lt;span class="o"&gt;())&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// -&amp;gt; Converts into the String &amp;quot;java.lang.Object@29f364c&amp;quot;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Read:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getStr&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// -&amp;gt; returns directly the variable value&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getBool&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// -&amp;gt; Value in (&amp;quot;1&amp;quot;,&amp;quot;y&amp;quot;,&amp;quot;yes&amp;quot;,&amp;quot;true&amp;quot;,&amp;quot;True&amp;quot;,…) ?&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getInt&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="err"&gt;…&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// -&amp;gt; Integer.valueOf(Value) / new BigInteger(Value)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Since QF-Test 9: Variables store original object&lt;/h3&gt;
&lt;p&gt;New Assignment: Name (String) -&amp;gt; VariableData&lt;/p&gt;
&lt;p&gt;With:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Value (any Object): &lt;code&gt;.getObject()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;String value (String): &lt;code&gt;.toString()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Description (String): &lt;code&gt;.getDescription()&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;No change &amp;#8220;from the outside&amp;#8221; during access:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Like before: &lt;code&gt;$(name)&lt;/code&gt; and &lt;code&gt;${group:name}&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Like before: &lt;code&gt;rc.getStr(…)&lt;/code&gt;, &lt;code&gt;rc.getInt(…)&lt;/code&gt;, &lt;code&gt;rc.getBool(…)&lt;/code&gt;, …&lt;/li&gt;
&lt;li&gt;New: &lt;code&gt;rc.getObj(name)&lt;/code&gt; and &lt;code&gt;rc.getObj(group, name)&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Representation in run log and protocol&lt;/h3&gt;
&lt;p&gt;Replacement of variable values (expand)&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setLocal&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;ext&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;TXT&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setLocal&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;filename&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;qftest.$(ext)&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getStr&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;filename&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;expand:&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// -&amp;gt; &amp;#39;qftest.TXT&amp;#39;&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getStr&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;filename&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;expand:&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// -&amp;gt; &amp;#39;qftest.$(ext)&amp;#39;&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getStr&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;filename&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// ?&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getStr&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;filename&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;expand:&lt;/span&gt;&lt;span class="kc"&gt;null&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// -&amp;gt; &amp;#39;qftest.TXT&amp;#39;&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setLocal&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;regexp&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;Pattern&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;compile&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;abc$(ext)&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getStr&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;regexp&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;expand:&lt;/span&gt;&lt;span class="kc"&gt;true&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// -&amp;gt; &amp;#39;abcTXT&amp;#39;&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getStr&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;regexp&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;expand:&lt;/span&gt;&lt;span class="kc"&gt;false&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// -&amp;gt; &amp;#39;abc$(ext)&amp;#39;&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getStr&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;regexp&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="c1"&gt;// -&amp;gt; &amp;#39;abc$(ext)&amp;#39; – new!&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Simplified access in scripts&lt;/h3&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;obj1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getObj&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;varname&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setLocal&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;answer&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;obj2&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getObj&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;groupname&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;propname&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;dir&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getObj&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;qftest&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;suite.dir&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;xxx&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getObj&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;decrypt&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;C2094F52F62C0D7953E0CEFF81E269A7&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;setProperty&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;newGroup&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;newName&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;newValue&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;obj1&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;vars&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;varname&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;vars&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;answer&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="mi"&gt;42&lt;/span&gt;
&lt;span class="n"&gt;obj2&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;groups&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;groupname&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;propname&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;groups&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;groupname&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;propname&lt;/span&gt;
&lt;span class="n"&gt;dir&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;groups&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;qftest&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;suite.dir&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;groups&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;qftest&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;suite&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;dir&lt;/span&gt;
&lt;span class="n"&gt;xxx&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;groups&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;decrypt&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;C2094F52F62C0D7953E0CEFF81E269A7&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;groups&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;newGroup&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;newName&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;newValue&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Default values&lt;/h3&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;dflt&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getObj&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;default&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;unknown:Standardvalue&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;dflt&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;groups&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;default&lt;/span&gt;&lt;span class="o"&gt;[&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;unknown:Standardvalue&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;]&lt;/span&gt;
&lt;span class="n"&gt;dflt&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;withDefault&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Standardvalue&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;).&lt;/span&gt;&lt;span class="na"&gt;vars&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;unknown&lt;/span&gt;
&lt;span class="n"&gt;gd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;withDefault&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Standardvalue&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;).&lt;/span&gt;&lt;span class="na"&gt;groups&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;unknowngrp&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;unknownprop&lt;/span&gt;
&lt;span class="n"&gt;dflt&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;withDefault&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Standardvalue&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;).&lt;/span&gt;&lt;span class="na"&gt;getObj&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;unknown&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;gd&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;withDefault&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Standardvalue&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;).&lt;/span&gt;&lt;span class="na"&gt;getObj&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;unknowngrp&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;unknownprop&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Return value in procedures&lt;/h3&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;throw&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="k"&gt;new&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ReturnException&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;NeuerValue&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;returnValue&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;NeuerValue&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;returnValue&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;myObject&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;qf&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;wrapObject&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;myObject&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;qf&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;wrapObject&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;myObject&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;String value&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;Description&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;returnValue&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="n"&gt;value&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h3&gt;Conversion if required&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Replacements in combinations: -&amp;gt; String
    &amp;ndash; &lt;code&gt;"Today I turn $(age)."&lt;/code&gt;
    &amp;ndash; &lt;code&gt;"${qftest:suite.dir}/test.png"&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Complete replacement -&amp;gt; Object type is preserved!
    &amp;ndash; &lt;code&gt;"$(data)"&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Still automatic:
    &amp;ndash; &lt;code&gt;rc.getInt(…)&lt;/code&gt;, &lt;code&gt;rc.getNum(…)&lt;/code&gt;, &lt;code&gt;rc.getStr(…)&lt;/code&gt;, &lt;code&gt;rc.getBool(…)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Explicitely with the special group &amp;#8220;as&amp;#8221;:
    &amp;ndash; String expansion: &lt;code&gt;${as:int:23}&lt;/code&gt;, &lt;code&gt;${as:bool:$(is_available)}&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getObj&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;as&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;int:23&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="na"&gt;getObj&lt;/span&gt;&lt;span class="o"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;as&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;bool:$(is_available)&amp;#39;&lt;/span&gt;&lt;span class="o"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Valid types:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;str, bool, number, object, pattern, int, long, float, double, cmdline, json&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Variable exchange QF-Test &amp;lt;-&amp;gt; SUT&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;QF-Test and the application under test run in different processes&lt;/li&gt;
&lt;li&gt;Data exchange via (Java Remote Method Invocation)&lt;/li&gt;
&lt;li&gt;Also objects in variables&lt;/li&gt;
&lt;li&gt;Must be &lt;code&gt;Serializable&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The class definition has to be available in both processes&lt;/li&gt;
&lt;li&gt;Works for example with standard classes:
    &amp;ndash; String, Wrappers (Integer, Boolean, &amp;#8230;), Pattern, Date
    &amp;ndash; ArrayLists, HashSets (depending in the contents)&lt;/li&gt;
&lt;li&gt;Falls back on the &amp;#8220;String value&amp;#8221; in the other process&lt;/li&gt;
&lt;li&gt;In the original process still available as Object (+String)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Additional information&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Decrypted flag
    &amp;ndash; Is set automatically if &lt;code&gt;${decrypt:…}&lt;/code&gt; is expanded.
    &amp;ndash; The &amp;#8220;description&amp;#8221; of the value (e.g. in the run log) is always &lt;code&gt;***&lt;/code&gt;
    &amp;ndash; &lt;code&gt;rc.logMessage(rc.getStr("secret"))&lt;/code&gt; still logs the real value!
    &amp;ndash; Is &amp;#8220;inherited&amp;#8221; during expansion.&lt;/li&gt;
&lt;li&gt;AutoExpandable flag
    &amp;ndash; Avoids replacing variables in Strings &amp;#8220;by incident&amp;#8221;
    &amp;ndash; E.g. in the return value of &lt;code&gt;qfs.utils.readTextFromFile&lt;/code&gt;
    &amp;ndash; &lt;code&gt;rc.returnValue(text, autoExpandable:false)&lt;/code&gt;
    &amp;ndash; &lt;code&gt;wrapped = qf.wrapObject(text); wrapped.setAutoExpandable(false)&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Rerun from run log
    &amp;ndash; Only available for certain (simple) objects&lt;/li&gt;
&lt;/ul&gt;</content><category term="videos"/><category term="specialwebinars"/></entry><entry><title>Quality First Software GmbH at the job event on July 11, 2025 – foosball, interviews, and career opportunities</title><link href="https://www.qftest.com/en/company/news/company-events/job-event-geretsried.html" rel="alternate"/><published>2025-07-14T00:00:00+02:00</published><updated>2025-07-14T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-07-14:/en/company/news/company-events/job-event-geretsried.html</id><summary type="html">&lt;p&gt;Did you miss the event? No problem—we are always happy to receive applications and exciting contacts!&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a href="/unternehmen/jobs.html"&gt;&lt;img alt="QFS at Job-Event in Geretsried" src="/companynews/resources/qfs-job-event-geretsried.JPG" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Are you looking for an internship, a working student position or a partner for your future dual study program (Bachelor of Science in Computer Science)?  Then visit us on July 11, 2025 in Geretsried&lt;/p&gt;
&lt;p&gt;Come along and challenge us &amp;ndash; foosball with the team of QF-Test is not just about winning, but above all about fun and good conversation! Take the opportunity to get to know us in a relaxed atmosphere, ask questions and find out more about QF-Test and our working environment. We look forward to exchanging ideas with you &amp;ndash; at the table and beyond!&lt;/p&gt;</content><category term="companynews"/></entry><entry><title>Fancy a match at the QFS foosball table?</title><link href="https://www.qftest.com/en/company/news/company-events/fancy-a-match-at-the-qfs-foosball-table.html" rel="alternate"/><published>2025-07-11T00:00:00+02:00</published><updated>2025-07-11T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-07-11:/en/company/news/company-events/fancy-a-match-at-the-qfs-foosball-table.html</id><summary type="html">&lt;p&gt;Are you looking for an internship, a working student position or a partner for your future dual study program (Bachelor of Science in Computer Science)?  Then visit us on July 11, 2025 in Geretsried&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;a href="https://www.neuorientierung0812.de/"&gt;&lt;img alt="Job-Event Geretsried" src="/companynews/resources/Banner_Job-Event_Geretsried_250x200px.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Are you looking for an internship, a working student position or a partner for your future dual study program (Bachelor of Science in Computer Science)?  Then visit us on July 11, 2025 in Geretsried&lt;/p&gt;
&lt;p&gt;Come along and challenge us &amp;ndash; foosball with the team of QF-Test is not just about winning, but above all about fun and good conversation! Take the opportunity to get to know us in a relaxed atmosphere, ask questions and find out more about QF-Test and our working environment. We look forward to exchanging ideas with you &amp;ndash; at the table and beyond!&lt;/p&gt;</content><category term="companynews"/></entry><entry><title>What are the benefits of the new edition model?</title><link href="https://www.qftest.com/en/product/faq/what-are-the-benefits-of-qf-test-editions.html" rel="alternate"/><published>2025-07-01T00:00:00+02:00</published><updated>2025-07-01T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-07-01:/en/product/faq/what-are-the-benefits-of-qf-test-editions.html</id><summary type="html">&lt;p&gt;The new edition model makes QF-Test more intuitive to use, clearly structured, and optimally adapted to individual requirements.&lt;/p&gt;</summary><content type="html">&lt;p&gt;QF-Test is a product with a wide range of features for testing various UI technologies. &lt;/p&gt;
&lt;p&gt;With the introduction of &lt;a href="/en/product/pricing.html"&gt;editions&lt;/a&gt;, features are now focused on three core areas: Desktop, Web, and Mobile. This makes using QF-Test more &lt;strong&gt;simple, clear, and tailored&lt;/strong&gt; to specific needs.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;QF-Test Pro&lt;/strong&gt; is as an edition that continues to provide the &lt;strong&gt;full range of functionality&lt;/strong&gt;. It combines all technologies and additionally supports hybrid applications.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/download/"  class="button scroll-animated green chevron"&gt;Download QF-Test&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;</content><category term="faqs"/><category term="faqeditions"/></entry><entry><title>Object variables – free special webinar on July 14, 2025</title><link href="https://www.qftest.com/en/company/news/object-variables-free-special-webinar-on-july-14-2025.html" rel="alternate"/><published>2025-06-25T00:00:00+02:00</published><updated>2025-06-25T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-06-25:/en/company/news/object-variables-free-special-webinar-on-july-14-2025.html</id><summary type="html">&lt;p&gt;We are pleased to invite you to our next free special webinar&lt;/p&gt;</summary><content type="html">&lt;p&gt;We are pleased to invite you to our next free special webinar:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&amp;#8220;Beyond Strings &amp;ndash; how to effectively use object variables in QF-Test 9&amp;#8221;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Monday, July 14, 2025, 3:30 PM – 4:30 PM CEST&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Until now all QF-Test variables contained only strings &amp;ndash; if you wanted to store e.g. numbers, they were always converted back and forth.&lt;/p&gt;
&lt;p&gt;As of QF-Test 9 any objects can be stored in QF-Test variables. In this special webinar we show, how object variables can be used profitably in your tests.&lt;/p&gt;
&lt;p&gt;Sign up now!&lt;/p&gt;</content><category term="news"/></entry><entry><title>QF-Test 9.0.4 available</title><link href="https://www.qftest.com/en/company/news/qf-test-9-0-4-available.html" rel="alternate"/><published>2025-06-11T00:00:00+02:00</published><updated>2025-06-11T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-06-11:/en/company/news/qf-test-9-0-4-available.html</id><content type="html">&lt;p&gt;This maintenance release adds support for Java 25 as well as for Eclipse / SWT 4.36 alias &amp;#8220;2025-06&amp;#8221; and fixes a number of bugs.&lt;/p&gt;</content><category term="news"/></entry><entry><title>QF-Test 9.0.4 &amp; QF-Test Special webinar on object variables</title><link href="https://www.qftest.com/en/company/news/newsletters/2025-06-qftest-904-webinar-objectvariables.html" rel="alternate"/><published>2025-06-11T00:00:00+02:00</published><updated>2025-06-11T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-06-11:/en/company/news/newsletters/2025-06-qftest-904-webinar-objectvariables.html</id><summary type="html">&lt;p&gt;Training Dates 2025, News and Blogs, Video of special webinar on Web Accessibility&lt;/p&gt;</summary><content type="html">&lt;h2&gt;QF-Test 9.0.4 available, special webinar about object variables&lt;/h2&gt;
&lt;p&gt;Hello dear QF-Test users!&lt;/p&gt;
&lt;p&gt;Today&amp;#8217;s maintenance release QF-Test 9.0.4 adds support for Java 25 as well as for Eclipse / SWT 4.36 alias &amp;#8220;2025-06&amp;#8221; and fixes a number of bugs.&lt;/p&gt;
&lt;p&gt;We also cordially invite you to our &lt;strong&gt;free special webinar on July 14, 2025&lt;/strong&gt; at 3:30 PM. The focus will be on the topic of &lt;a href="/en/support/training-consulting/webinars.html"&gt;object variables&lt;/a&gt;, which has opened up completely new possibilities beyond strings since QF-Test 9. We look forward to your participation!&lt;/p&gt;
&lt;p&gt;In this newsletter, you’ll also find upcoming training dates, hands-on blog articles, and helpful QF-Test videos.&lt;/p&gt;
&lt;p&gt;Best wishes,&lt;br /&gt;
 your QFS team&lt;/p&gt;
&lt;h2&gt;QF-Test Version 9.0.4&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://services.qftest.com/en/download/"&gt;&lt;img alt="QF-Test Download" src="/newsletters/resources/2025-03_Download-Button-Pfeil-gruen-Schachtel-dunkelblau.png" title="QF-Test Download" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Download &lt;a href="https://services.qftest.com/en/download/"&gt;QF-Test version 9.0.4&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;See the new features of QF-Test 9 in our release video &lt;a href="https://services.qftest.com/en/download/"&gt;Automatically test the accessibility of your web application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;To the &lt;a href="https://www.qftest.com/doc/manual/en/history.html"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Save the date: Events in 2025&lt;/h2&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/webinars.html#c34103"&gt;&lt;img alt="" src="/newsletters/resources/Spezialwebinar-objectvariables.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Special Webinar&lt;/strong&gt;&lt;br /&gt;
&lt;a href="/en/support/training-consulting/webinars.html#c34103"&gt;Beyond Strings &amp;ndash; how to effectively use object variables in QF-Test 9&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;July 14, 2025, 3:30 PM (CEST)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Until now all QF-Test variables contained only strings &amp;ndash; if you wanted to store e.g. numbers, they were always converted back and forth. As of QF-Test 9 any objects can be stored in QF-Test variables. In this special webinar we show, how object variables can be used profitably in your tests.&lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/support/training-consulting/webinars.html#c34103"&gt;Sign up for free&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/support/schulung-beratung/webinare.html"&gt;Special webinar in German&lt;/a&gt; at 10:30 a.m.&lt;/p&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/training.html"&gt;&lt;img alt="Online Training QF-Test" src="/newsletters/resources/OnlineSchulung-Monitor-Hut-dunkelblau-HGblau.png" title="Online Training QF-Test" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;QF-Test Basics: Training via Webinar&lt;/strong&gt;&lt;br /&gt;
&lt;a href="/en/support/training-consulting/training.html#a30295-659e55fa94d68760261203"&gt;September 29 – October 2, 2025, German&lt;/a&gt;&lt;br /&gt;
&lt;a href="/en/support/training-consulting/training.html#a30295-6613a7774f6b6588956332"&gt;November 10&lt;/a&gt;&lt;a href="/en/support/training-consulting/training.html#a30295-659e55fa94d68760261203"&gt;–&lt;/a&gt; &lt;a href="/en/support/training-consulting/training.html#a30295-6613a7774f6b6588956332"&gt;13, 2025, English&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;4 days, 2 × 2,5 hours each&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Effective and rapid knowledge transfer in small groups up to a maximum of 8 participants&lt;/li&gt;
&lt;li&gt;Interaction with the trainers and asking questions are possible at any time&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;➜ &lt;a href="https://services.qftest.com/en/support/contact/"&gt;Sign up now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Would you like a &lt;a href="/en/support/training-consulting/training.html#c30865"&gt;training course&lt;/a&gt; which is individually tailored to your company? Just send us an email to &lt;a href="https://services.qftest.com/en/support/contact/"&gt;service@qftest.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://summit-community.de/2023/05/31/cvent-session/?title=Erfolg%20in%20der%20E2E-Testautomatisierung:%20Wichtige%20Lektionen%20aus%20einem%20Jahrzehnt&amp;amp;eventId=cd3d638b-d143-4298-b414-a94dac89b234&amp;amp;sessionId=2a3548cb-288f-47dc-96e4-8b3df41c5002"&gt;&lt;img alt="" src="/newsletters/resources/Tacon_01.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Talk at TACON 2025: Erfolg in der E2E-Testautomatisierung&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;September 23–24, 2025, Leipzig, Germany&lt;/strong&gt;&lt;br /&gt;
 Lilia Gargouri, Head of Quality Assurance at mgm technology partners, gives a talk about how to increase the maintainability and stability of their tests through modular test architectures and effective test data management. Participants learn how to minimize volatile tests and apply robust test design principles.&lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://summit-community.de/2023/05/31/cvent-session/?title=Erfolg%20in%20der%20E2E-Testautomatisierung:%20Wichtige%20Lektionen%20aus%20einem%20Jahrzehnt&amp;amp;eventId=cd3d638b-d143-4298-b414-a94dac89b234&amp;amp;sessionId=2a3548cb-288f-47dc-96e4-8b3df41c5002"&gt;To Tacon&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://insights.mgm-tp.com/en/2025/quality-assurance/experience-q12-tmt-live-conferences-events-and-webinars-2025/"&gt;&lt;img alt="Q12 Test Management Tool Screenshot" src="/newsletters/resources/TMT-Screenshot.png" title="Q12 Test Management Tool Screenshot" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q12-TMT Test Management Tool&lt;/strong&gt;&lt;br /&gt;
 Our parent company mgm technology partners will be represented with Q12-TMT at international and German conferences, events and webinars. As a professional tool for structured test case creation, planning, execution, documentation and reporting, TMT may also be of interest to you as a supplement to QF-Test.&lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://insights.mgm-tp.com/en/2025/quality-assurance/experience-q12-tmt-live-conferences-events-and-webinars-2025/"&gt;To testing events with mgm in 2025&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;News&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Maximizing SUT windows – a good idea?&lt;/strong&gt; Scale windows in QF-Test rather than maximize them &amp;ndash; this ensures stable and reproducible tests. If you still need full-screen mode, you can maximize windows with a small script.&lt;br /&gt;
   ➜ &lt;a href="/en/blog/article/maximizing-windows.html"&gt;Go to the blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;How can I create screenshots of my client application with QF-Test?&lt;/strong&gt; Screenshots from QF-Test can be saved easily with a simple script. This allows screen recordings to be used specifically for further analysis or documentation purposes &amp;ndash; without any detour via the run log.&lt;br /&gt;
   ➜ &lt;a href="/en/blog/article/creating-screenshot-files.html"&gt;Go to the blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;What QA engineers say about QF‑Test&lt;/strong&gt;– &amp;#8220;I&amp;#8217;ve been automating with QF-Test again for almost 5 months now and it&amp;#8217;s a lot of fun. QF-Test is a miracle bag, practically everything can be implemented, stability and performance are unsurpassed. I love it! :-)&amp;#8221;&lt;br /&gt;
   Thank you Walter Hodel, Senior Test Automation Engineer, Product Quality, Xebia Switzerland AG. We love your feedback!&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;From our YouTube Channel&lt;/h2&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/webinars.html#c21743"&gt;&lt;img alt="" src="/newsletters/resources/accessibility_testing_special_webinar_video.png" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Special webinar video&lt;/strong&gt;&lt;br /&gt;
&lt;a href="/en/support/training-consulting/webinars.html#c21743"&gt;Web Accessibility Testing with QF-Test&lt;/a&gt;&lt;br /&gt;
 In this webinar recording we give an introduction to web accessibility and present the new accessibility testing features of QF-Test.&lt;br /&gt;
 ➜ &lt;a href="/en/support/training-consulting/webinars.html#c21743"&gt;Watch the video now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Visit our &lt;a href="https://www.youtube.com/channel/UCo6yiK49wlGY1Busavn0LZw"&gt;YouTube channel&lt;/a&gt; to subscribe and follow us on &lt;a href="https://www.linkedin.com/company/quality-first-software-gmbh-qfs/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;</content><category term="newsletters"/></entry><entry><title>Maximizing SUT windows – a good idea?</title><link href="https://www.qftest.com/en/blog/article/maximizing-windows.html" rel="alternate"/><published>2025-06-03T00:00:00+02:00</published><updated>2025-06-03T00:00:00+02:00</updated><author><name>Max Melzer</name></author><id>tag:www.qftest.com,2025-06-03:/en/blog/article/maximizing-windows.html</id><summary type="html">&lt;p&gt;Scale windows in QF-Test rather than maximize them &amp;ndash; this ensures stable and reproducible tests. If you still need full-screen mode, you can maximize windows with a small script.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="" src="/blog/resources/maximize-window.png" /&gt;&lt;/p&gt;
&lt;p&gt;In QF-Test product support we are often asked how to set a QF-Test controlled browser or other SUT windows to fullscreen mode.&lt;/p&gt;
&lt;h2&gt;It&amp;#8217;s better to work with fixed window sizes&lt;/h2&gt;
&lt;p&gt;In fact, we advise against maximizing windows for the following reason: The maximized window size depends on the system, a fixed window size is the same on every system instead.&lt;/p&gt;
&lt;p&gt;QF-Test is comparatively resistant to changes in component coordinates. However, web applications in particular can display completely different page layouts depending on the window size. In the worst case, this can lead to individual components no longer being found.&lt;/p&gt;
&lt;p&gt;If the browser is always started with a fixed window size instead, the test behaves uniformly on all computers.&lt;/p&gt;
&lt;p&gt;In the preparation sequence that opens the browser, you will find an &amp;#8220;Open browser window&amp;#8221; node below the &amp;#8220;Start SUT if necessary&amp;#8221; node, in which you can specify a uniform window size.&lt;/p&gt;
&lt;h2&gt;How to use fullscreen anyway&lt;/h2&gt;
&lt;p&gt;If you &lt;em&gt;still&lt;/em&gt; want to maximize your browser window, you can use the following Jython server script in QF-Test to maximize all windows containing e.g. &amp;#8220;Edge&amp;#8221; in the window title under Windows:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;autowin&lt;/span&gt;&lt;span class="o"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;re&lt;/span&gt;

&lt;span class="n"&gt;windows&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;autowin&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getAllWindows&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="k"&gt;for&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;win&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="ow"&gt;in&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;windows&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;autowin&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getWindowText&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;win&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;re&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;.*Edge.*&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;title&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
&lt;span class="w"&gt;        &lt;/span&gt;&lt;span class="n"&gt;autowin&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;maximizeWindow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;win&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;You can customize the regular expression &lt;code&gt;".*Edge.*"&lt;/code&gt; to address exactly the window you are interested in with its window title.&lt;/p&gt;</content><category term="blog"/><category term="how-to"/></entry><entry><title>Do existing customers need to take action to switch to the new editions?</title><link href="https://www.qftest.com/en/product/faq/switch-to-qf-test-editions-for-customers.html" rel="alternate"/><published>2025-06-01T00:00:00+02:00</published><updated>2025-06-01T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-06-01:/en/product/faq/switch-to-qf-test-editions-for-customers.html</id><summary type="html">&lt;p&gt;Existing customers do not need to take any action.&lt;/p&gt;</summary><content type="html">&lt;p&gt;Existing licenses, maintenance, or subscription contracts remain fully valid. Existing customers can continue to use &lt;strong&gt;QF-Test Pro&lt;/strong&gt; as usual within the scope of their current licenses.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For an optimized user experience, simply use the edition that suits you best:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;QF-Test Web&lt;/strong&gt; for web browsers, accessibility, Electron applications, API and web service testing  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QF-Test Desktop&lt;/strong&gt; for Java and native Windows applications  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QF-Test Mobile&lt;/strong&gt; for Android and iOS apps  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QF-Test Pro&lt;/strong&gt; combines all technologies and additionally supports hybrid applications.  &lt;/li&gt;
&lt;/ol&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/download/"  class="button scroll-animated green chevron"&gt;Download QF-Test&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;If you have any questions or customization requests, our service team will be happy to assist you.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/support/contact/?type=editions"  class="button scroll-animated green chevron"&gt;Contact Our Service Team&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;</content><category term="faqs"/><category term="faqeditions"/></entry><entry><title>How can I create screenshots of my client application with QF-Test?</title><link href="https://www.qftest.com/en/blog/article/creating-screenshot-files.html" rel="alternate"/><published>2025-05-20T00:00:00+02:00</published><updated>2025-05-20T00:00:00+02:00</updated><author><name>Max Melzer</name></author><id>tag:www.qftest.com,2025-05-20:/en/blog/article/creating-screenshot-files.html</id><summary type="html">&lt;p&gt;Screenshots from QF-Test can be saved easily with a simple script. This allows screen recordings to be used specifically for further analysis or documentation purposes &amp;ndash; without any detour via the run log.&lt;/p&gt;</summary><content type="html">&lt;p&gt;QF-Test only provides on-board means to write screenshots of a client application to the test run log. This can be done via the &amp;#8220;Message&amp;#8221; node or the procedure &lt;code&gt;qfs.run-log.screenshots.logScreenshot&lt;/code&gt; from the qfs.qft standard library.&lt;/p&gt;
&lt;h2&gt;Save screenshots to a file&lt;/h2&gt;
&lt;p&gt;Sometimes you don&amp;#8217;t want to store a screenshot in the test run log but use it for other things and store it in a directory first. This is of course also possible with QF-Test, but it requires a script &amp;ndash; but just a very small one:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="kn"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;imagewrapper&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ImageWrapper&lt;/span&gt;
&lt;span class="kn"&gt;from&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nn"&gt;java.io&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="kn"&gt;import&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;File&lt;/span&gt;
&lt;span class="n"&gt;screenshot&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="n"&gt;ImageWrapper&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;grabImage&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;getComponent&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;#Window:&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="n"&gt;screenshot&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;writeToFile&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;File&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;str&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;rc&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;groups&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;qftest&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;suite&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dir&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="o"&gt;+&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;&amp;quot;/screenshot.png&amp;quot;&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;img alt="" src="/blog/resources/screenshot-qftest-com-en.png" /&gt;&lt;/p&gt;
&lt;p&gt;This Jython SUT script uses the exact same mechanism to create screenshots that is used for the test run log.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;rc.groups.qftest.suite.dir&lt;/code&gt; is a useful shortcut to get the directory of the current test suite. You can of course also call &lt;code&gt;writeToFile()&lt;/code&gt; with any other path. &lt;code&gt;"#Window:"&lt;/code&gt; is a &lt;a href="https://www.qftest.com/doc/manual/en/user_smartid.html"&gt;SmartID&lt;/a&gt; and stands for the first window of your application. You can also specify a more specific component here to take a screenshot of a specific part of the application UI.&lt;/p&gt;
&lt;p&gt;You can read more about the &lt;code&gt;ImageWrapper&lt;/code&gt; class in the QF-Test manual: &lt;a href="https://www.qftest.com/doc/manual/en/tech_scripting.html"&gt;The &lt;code&gt;ImageWrapper&lt;/code&gt; class&lt;/a&gt;.&lt;/p&gt;</content><category term="blog"/><category term="how-to"/></entry><entry><title>Web Accessibility Testing with QF-Test</title><link href="https://www.qftest.com/en/support/videos/web-accessiblity-testing.html" rel="alternate"/><published>2025-05-19T00:00:00+02:00</published><updated>2025-05-19T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-05-19:/en/support/videos/web-accessiblity-testing.html</id><summary type="html">&lt;p&gt;In this webinar, we will give a brief introduction to web accessibility and present the new accessibility testing features of QF-Test.&lt;/p&gt;</summary><content type="html">&lt;p&gt;By June 28, 2025, business websites within the EU must be accessible. But what does accessibility mean in a web context? Who is affected and what do website operators need to be aware of?
And above all: How can QF-Test support you in meeting the legal requirements?&lt;/p&gt;
&lt;p&gt;In this webinar, we will give a brief introduction to web accessibility and present the new accessibility testing features of QF-Test.&lt;/p&gt;
&lt;p&gt;Material: &lt;a href="https://gitlab.com/qfs/webinars/-/raw/9e862192ad9c7f5264839163dcd18b402c6db61c/a11y_qf-test_specialwebinar_handout-en.pdf?inline=false"&gt;Presentation &amp;#8220;Accessibility testing&amp;#8221;&lt;/a&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;h2&gt;Abridged Transcript&lt;/h2&gt;
&lt;p&gt;Welcome to this special webinar about accessibility testing with QF-Test. My name is Daniel Rieth, a junior software developer at Quality First Software, and my co-moderator, Sofya Leventhal – a fellow software developer – will be keeping an eye on the chat during this event. We are both involved in the accessibility testing project at Quality First Software. Today, I will present the accessibility testing features we’ve implemented.&lt;/p&gt;
&lt;h3&gt;Agenda&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Basics of accessibility and accessibility laws&lt;/li&gt;
&lt;li&gt;Overview of QF-Test and its accessibility testing features&lt;/li&gt;
&lt;li&gt;Live demo of accessibility testing&lt;/li&gt;
&lt;li&gt;Notes and frequently asked questions&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;What Is Accessibility?&lt;/h3&gt;
&lt;p&gt;Accessibility is about removing barriers for people with disabilities. Originally discussed in contexts such as public transportation, the focus has shifted to the digital world as more of our activities move online.&lt;/p&gt;
&lt;h4&gt;Web Accessibility&lt;/h4&gt;
&lt;p&gt;The W3C (World Wide Web Consortium) defines web accessibility as ensuring that, despite a disability, everyone can perceive, understand, navigate, and interact with the web. There are multiple kinds of disabilities that can affect web interactions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Visual disabilities&lt;/strong&gt;: Includes color blindness, low vision, and blindness. Screen readers (integrated into iOS, Windows, Android, or available as third-party programs like Jaws and NVDA) help users interact with digital content.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Hearing disabilities&lt;/strong&gt;: Users who are hard of hearing or deaf may require subtitles or sign language interpretation for multimedia.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cognitive disabilities&lt;/strong&gt;: Poor content structure or unintuitive controls can hinder understanding and navigation.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Physical disabilities&lt;/strong&gt;: Issues with control movements (e.g., drag-and-drop, pinch-to-zoom) may require simplified interactions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is essential for developers to offer text alternatives for graphics and images, provide accessible multimedia content, and ensure that controls are easy to use.&lt;/p&gt;
&lt;h3&gt;Why Make Websites Accessible?&lt;/h3&gt;
&lt;p&gt;There are several motivations, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Humanistic&lt;/strong&gt;: Enabling everyone to participate fully.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Economic&lt;/strong&gt;: Increasing your reach and customer base.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;User experience&lt;/strong&gt;: Accessible websites tend to be more user-friendly and better structured.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Legal compliance&lt;/strong&gt;: In Europe (and other regions), laws require websites to be accessible to avoid penalties.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Accessibility Laws and Regulations&lt;/h3&gt;
&lt;h4&gt;European Accessibility Act (EAA)&lt;/h4&gt;
&lt;p&gt;The EAA implements the resolutions of the UN Convention on the Rights of Persons with Disabilities. It mandates that products and services (including online and digital offerings) be accessible. As an EU directive, it is transposed into national laws. For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;German implementation – BFSG&lt;/strong&gt;: A law to strengthen accessibility that goes into effect at the end of June. It affects most B2C websites and digital communication tools. Similar laws or guidelines exist in other regions, like the American with Disabilities Act (ADA) in the United States, though the specific requirements may vary.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Web Content Accessibility Guidelines (WCAG)&lt;/h4&gt;
&lt;p&gt;WCAG provides a set of guidelines to make web content accessible. They are structured around four principles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Perceivable&lt;/strong&gt;: Content must be presentable to users in ways they can perceive.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Operable&lt;/strong&gt;: User interface components and navigation must be operable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Understandable&lt;/strong&gt;: Information and operation of the user interface must be understandable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Robust&lt;/strong&gt;: Content must be robust enough to be interpreted reliably by various user agents, including assistive technologies.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Each guideline also comes with levels of conformance:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Level A&lt;/strong&gt;: Minimum accessibility features; without these, some users may find the site unusable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Level AA&lt;/strong&gt;: Addresses the biggest and most common barriers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Level AAA&lt;/strong&gt;: The highest level, exceeding legal requirements.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Overview of QF-Test&lt;/h3&gt;
&lt;p&gt;QF-Test provides an automated UI testing solution with multiple ways to simulate user interactions, record sessions, and run extensive test suites. It supports different technologies with a special focus on web applications.&lt;/p&gt;
&lt;h4&gt;Accessibility Testing Features&lt;/h4&gt;
&lt;p&gt;To test accessibility using QF-Test, there are two primary approaches:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Integration with an existing accessibility library&lt;/strong&gt;: We integrated the open-source library &lt;em&gt;axe core&lt;/em&gt;, which is developed by experts in web content accessibility guidelines. We enhanced its logging and reporting capabilities to make its results more user-friendly.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QF-Test’s native accessibility checks&lt;/strong&gt;: We implemented additional procedures for testing aspects like color contrast for graphics—not just text. This allows us to check images (JPEG, PNG, SVG) for proper contrast and verify that alternative texts are provided.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;QF-Test version 9.0 (or higher) is required to use these features. You can try these features with a free trial license before committing to a full purchase.&lt;/p&gt;
&lt;h3&gt;Live Demo Walkthrough&lt;/h3&gt;
&lt;h4&gt;Starting with the Quick Start Wizard&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Click the wand icon in QF-Test to open the Quick Start Wizard.&lt;/li&gt;
&lt;li&gt;Select the accessibility testing module.&lt;/li&gt;
&lt;li&gt;Define the URL of the website to test (in our demo, we use a demo website intentionally filled with accessibility errors).&lt;/li&gt;
&lt;li&gt;Choose which accessibility tests to run—either the comprehensive &lt;em&gt;axe&lt;/em&gt; tests or specific tests like the color contrast check.&lt;/li&gt;
&lt;/ul&gt;
&lt;h4&gt;Running an Accessibility Test&lt;/h4&gt;
&lt;p&gt;1. &lt;strong&gt;Setup and execution&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;The test setup includes a procedure that checks the entire website (or a defined scope) for errors based on selected rules, such as color contrast checks for text.&lt;/p&gt;
&lt;p&gt;2. &lt;strong&gt;Logging and screenshots&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;During the test run, QF-Test logs details, takes screenshots of problematic elements, and highlights errors (e.g., elements with a red border indicating contrast issues).&lt;/p&gt;
&lt;p&gt;3. &lt;strong&gt;Error details&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;Each error message includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The rule ID (e.g., for color contrast or missing alternative text)&lt;/li&gt;
&lt;li&gt;An impact rating (ranging from critical to minor)&lt;/li&gt;
&lt;li&gt;The faulty element’s identification details (XPath or CSS selector)&lt;/li&gt;
&lt;li&gt;A descriptive error message with tips for remediation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;4. &lt;strong&gt;Remedial actions&lt;/strong&gt;  &lt;/p&gt;
&lt;p&gt;For example, one error might indicate that light green text on a white background doesn’t meet contrast requirements (minimum 4.5:1 ratio). Changing the text color from light green to black can resolve the error.&lt;/p&gt;
&lt;h4&gt;Reporting&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;QF-Test can generate detailed reports that include screenshots, logs, and all error messages.&lt;/li&gt;
&lt;li&gt;These reports provide a quick overview for developers and non-certified QF-Test users, summarizing successful and failed checks.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Advanced Configuration&lt;/h3&gt;
&lt;p&gt;QF-Test offers extensive configuration options:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Rule exclusions&lt;/strong&gt;: Skip checks for certain rules if you are confident they are not an issue.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scope definition&lt;/strong&gt;: Limit checks to specific parts of a page using a QF-Test ID or a smart selector.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Logging options&lt;/strong&gt;: Customize how many screenshots are taken and how errors are grouped or reported.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For example, you can configure checks to focus on specific elements (such as icons represented by IMG tags) by defining custom generic classes and adjusting the scope within the test parameters.&lt;/p&gt;
&lt;h3&gt;Presentation Notes and Closing Remarks&lt;/h3&gt;
&lt;p&gt;During the live demo, we observed that even if all automatic tests run successfully, it does not guarantee full accessibility compliance. Some guidelines—such as ensuring meaningful titles or alternative texts—require human judgment. While automation can catch up to roughly 75% of issues, manual review remains essential.&lt;/p&gt;
&lt;p&gt;Future improvements planned for QF-Test include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Additional checks for focus visibility when elements are activated.&lt;/li&gt;
&lt;li&gt;Extending accessibility testing support beyond web applications to desktop software.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Q&amp;amp;A and Final Thoughts&lt;/h3&gt;
&lt;p&gt;Thank you for joining this webinar on accessibility testing with QF-Test. We hope that the demonstration and walkthrough have provided valuable insights into how to implement and benefit from these accessibility features.&lt;/p&gt;
&lt;p&gt;Happy testing, and let’s make the web accessible for everyone!&lt;/p&gt;</content><category term="videos"/><category term="specialwebinars"/></entry><entry><title>QF-Test Special Webinar Web Accessibility</title><link href="https://www.qftest.com/en/company/news/newsletters/2025-05-accessibility-webinar.html" rel="alternate"/><published>2025-05-13T00:00:00+02:00</published><updated>2025-05-13T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-05-13:/en/company/news/newsletters/2025-05-accessibility-webinar.html</id><summary type="html">&lt;p&gt;Training Dates 2025&lt;/p&gt;</summary><content type="html">&lt;h2&gt;QF-Test Special Webinar Web Accessibility&lt;/h2&gt;
&lt;p&gt;Hello dear QF-Test users!&lt;/p&gt;
&lt;p&gt;We would also like to invite you to our next &lt;strong&gt;free special webinar on May 19, 2024&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/webinars.html#c34103"&gt;&lt;img alt="Special Webinar Web Accessibility" src="/newsletters/resources/Spezialwebinar-Accessibility.png" title="Special Webinar Web Accessibility" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/webinars.html#c34103"&gt;Web Accessibility Testing with QF-Test&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;May 19, 2025, 3:30 PM (CEST)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;By June 28, 2025, business websites within the EU must be accessible. But what does accessibility mean in a web context? Who is affected and what do website operators need to be aware of?&lt;br /&gt;
 And above all: How can QF-Test support you in meeting the legal requirements?&lt;/p&gt;
&lt;p&gt;In this webinar, we will give a brief introduction to web accessibility and present the new accessibility testing features of QF-Test.&lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/support/training-consulting/webinars.html#c34103"&gt;Sign up for free&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/support/schulung-beratung/webinare.html"&gt;Special webinar in German&lt;/a&gt; at 10:30 a.m.&lt;/p&gt;
&lt;p&gt;We look forward to your participation!&lt;/p&gt;
&lt;p&gt;Best wishes,&lt;br /&gt;
 your QFS team&lt;/p&gt;
&lt;h2&gt;Save the date: Events in 2025&lt;/h2&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/training.html#a30295-654c8d5cec687736087741"&gt;&lt;img alt="QF-Test Expert Day" src="/newsletters/resources/ExpertentagOnlineSchulung-dunkelblau-HGgelb.png" title="QF-Test Expert Day" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Online Expert Day&lt;/strong&gt;&lt;br /&gt;
&lt;a href="/en/support/training-consulting/training.html#a30295-654c8d5cec687736087741"&gt;Toolbox for stable component detection of web applications&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;May 26, 2025, 2 × 2,5 hours, in German&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Following the great success of the previous Expert Days, an English version has now been scheduled. In this online training, we will dive deeply into QF-Test and show you how to optimize the interaction with your web application. With practical exercises on special topics and individual answers to your personal questions, we will ensure that you get the most out of the training. Register now and make your testing processes even more efficient.&lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/support/training-consulting/training.html#a30295-654c8d5cec687736087741"&gt;Details, pricing and registration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/training.html"&gt;&lt;img alt="Online Training QF-Test" src="/newsletters/resources/OnlineSchulung-Monitor-Hut-dunkelblau-HGblau.png" title="Online Training QF-Test" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NEW! QF-Test Basics: Training via Webinar&lt;/strong&gt;&lt;br /&gt;
&lt;a href="/en/support/training-consulting/training.html#a30295-6613a7774f6b6588956332"&gt;June 23 &amp;ndash; 26, 2025, English&lt;/a&gt;&lt;br /&gt;
&lt;a href="/en/support/training-consulting/training.html#a30295-659e55fa94d68760261203"&gt;June 30 &amp;ndash; July 3, 2025, German&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;4 days, 2 × 2,5 hours each&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Effective and rapid knowledge transfer in small groups up to a maximum of 8 participants&lt;/li&gt;
&lt;li&gt;Interaction with the trainers and asking questions are possible at any time&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;➜ &lt;a href="https://services.qftest.com/en/support/contact/"&gt;Sign up now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;#8220;&lt;em&gt;QF-Test is definitively a powerful tool. I think this training will be a game changer in our way to use it and to think our new QF NextGen Framework! Very encouraging. Thank you very much.&lt;/em&gt;&amp;#8221;&lt;/p&gt;
&lt;p&gt;Paul Singuinia, training participant, TotalEnergies One Tech, France&lt;/p&gt;
&lt;p&gt;Would you like a &lt;a href="/en/support/training-consulting/training.html#c30865"&gt;training course&lt;/a&gt; which is individually tailored to your company? Just send us an email to &lt;a href="https://services.qftest.com/en/support/contact/"&gt;service@qftest.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://insights.mgm-tp.com/en/2025/quality-assurance/experience-q12-tmt-live-conferences-events-and-webinars-2025/"&gt;&lt;img alt="Q12 Test Management Tool Screenshot" src="/newsletters/resources/TMT-Screenshot.png" title="Q12 Test Management Tool Screenshot" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q12-TMT Test Management Tool&lt;/strong&gt;&lt;br /&gt;
 Our parent company mgm technology partners will be represented with Q12-TMT at international and German conferences, events and webinars. As a professional tool for structured test case creation, planning, execution, documentation and reporting, TMT may also be of interest to you as a supplement to QF-Test.&lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://insights.mgm-tp.com/en/2025/quality-assurance/experience-q12-tmt-live-conferences-events-and-webinars-2025/"&gt;To testing events with mgm in 2025&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;From Our YouTube Channel&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Feature video &amp;ndash; Scripting in QF-Test&lt;/strong&gt; &amp;ndash; Scripting in QF-Test allows you to use the common scripting languages Jython, Groovy and JavaScript to extend your tests with arbitrary logic and simplify some complex test automation tasks. This video gives an overview of the basics of using scripts in QF-Test.&lt;br /&gt;
   ➜ &lt;a href="/support/videos.html#a21198-5e9db62370195479837108"&gt;Watch the video now&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Feature video &amp;ndash; Intelligent test pre- and post-processing&lt;/strong&gt;: Dependencies can be used to automatically control preconditions and cleanup work for test cases so that they can be executed independently and flexibly &amp;ndash; ideal for retriggering only faulty tests or debugging, for example. This video shows how dependencies work and the benefits of the feature.&lt;br /&gt;
   ➜ &lt;a href="/support/videos.html#a21198-5e9db62970dd7530509510"&gt;Watch the video now&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Visit our &lt;a href="https://www.youtube.com/channel/UCo6yiK49wlGY1Busavn0LZw"&gt;YouTube channel&lt;/a&gt; to subscribe and follow us on &lt;a href="https://www.linkedin.com/company/quality-first-software-gmbh-qfs/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;</content><category term="newsletters"/></entry><entry><title>Special webinar: Web Accessibility Testing with QF-Test</title><link href="https://www.qftest.com/en/company/news/special-webinar-web-accessibility-testing-with-qf-test.html" rel="alternate"/><published>2025-05-06T00:00:00+02:00</published><updated>2025-05-06T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-05-06:/en/company/news/special-webinar-web-accessibility-testing-with-qf-test.html</id><summary type="html">&lt;p&gt;Free QF-Test special webinar on Monday, May 19, 2025, 3:30 PM &amp;ndash; 4:30 PM CEST, in English&lt;/p&gt;</summary><content type="html">&lt;p&gt;Free QF-Test special webinar on Monday, May 19, 2025, 3:30 PM &amp;ndash; 4:30 PM CEST, in English&lt;/p&gt;
&lt;p&gt;By June 28 of this year, business websites within the EU must be accessible. But what does accessibility mean in a web context? What do providers have to pay attention to? And above all: How can QF-Test support you in meeting the legal requirements?&lt;/p&gt;
&lt;p&gt;In this webinar, we will give a brief introduction to web accessibility and present the new accessibility testing features of QF-Test.&lt;/p&gt;</content><category term="news"/></entry><entry><title>Fit4Community Sport Challenge 2025</title><link href="https://www.qftest.com/en/company/news/company-events/fit4community-sport-challenge-2025.html" rel="alternate"/><published>2025-05-01T00:00:00+02:00</published><updated>2025-05-01T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-05-01:/en/company/news/company-events/fit4community-sport-challenge-2025.html</id><summary type="html">&lt;p&gt;With 48 teams and 449 participants from 20 mgm locations we successfully raised 21,000 € for World Bicycle Relief under the banner of #mgmfit4community.&lt;/p&gt;</summary><content type="html">&lt;p&gt;&lt;img alt="mgmFit4Community2025 Challenge 2025" src="/companynews/resources/fit4community-sport-challenge-2025.png" /&gt;&lt;/p&gt;
&lt;p&gt;With 48 teams and 449 participants from 20 mgm locations we successfully raised 21,000 € for World Bicycle Relief under the banner of #mgmfit4community. For 31 days, participants pushed their limits through sweating, biking, hiking, and running. Together, we have achieved something truly remarkable.&lt;/p&gt;
&lt;p&gt;World Bicycle Relief is an international, non-profit organization that specializes in large-scale, comprehensive bicycle distribution programs to aid poverty relief in developing countries around the world. Their programs focus primarily on education, economic development, and health care.&lt;/p&gt;</content><category term="companynews"/></entry><entry><title>I have purchased existing QF-Test licenses or a previous version of QF-Test 10. What does this mean for me, and which edition should I use in the future?</title><link href="https://www.qftest.com/en/product/faq/switch-to-new-qf-test-editions-from-previous-version.html" rel="alternate"/><published>2025-05-01T00:00:00+02:00</published><updated>2025-05-01T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-05-01:/en/product/faq/switch-to-new-qf-test-editions-from-previous-version.html</id><summary type="html">&lt;p&gt;Existing licenses remain fully valid&amp;#8230;&lt;/p&gt;</summary><content type="html">&lt;p&gt;Existing customers do not need to take any action and can continue to use &lt;strong&gt;QF-Test Pro&lt;/strong&gt; as usual within the scope of their current licenses. This edition offers the &lt;strong&gt;full functionality&lt;/strong&gt; of QF-Test versions prior to QF-Test 10.&lt;/p&gt;
&lt;p&gt;Depending on the UI technologies being tested, it may be advantageous to use a dedicated edition — &lt;strong&gt;QF-Test Web, QF-Test Desktop, or QF-Test Mobile&lt;/strong&gt; — as they &lt;strong&gt;focus on the relevant range of functions&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Depending on the UI technologies you need to test, using another edition — &lt;strong&gt;QF-Test Web, QF-Test Desktop, or QF-Test Mobile&lt;/strong&gt; — may offer advantages, as it &lt;strong&gt;focuses features accordingly&lt;/strong&gt;.  &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;QF-Test Web&lt;/strong&gt; for web browsers, accessibility, Electron applications, API and web service testing  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QF-Test Desktop&lt;/strong&gt; for Java and native Windows applications  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QF-Test Mobile&lt;/strong&gt; for Android and iOS apps  &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QF-Test Pro&lt;/strong&gt; combines all technologies and additionally supports hybrid applications. &lt;/li&gt;
&lt;/ol&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/download/"  class="button scroll-animated green chevron"&gt;Download QF-Test&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;p&gt;Our service team is happy to assist you in selecting the edition that best fits your needs. &lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="https://services.qftest.com/en/support/contact/?type=editions"  class="button scroll-animated green chevron"&gt;Contact Our Service Team&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;</content><category term="faqs"/><category term="faqeditions"/></entry><entry><title>QF-Test 9.0.3 available</title><link href="https://www.qftest.com/en/company/news/qf-test-9-0-3-available.html" rel="alternate"/><published>2025-04-29T00:00:00+02:00</published><updated>2025-04-29T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-04-29:/en/company/news/qf-test-9-0-3-available.html</id><content type="html">&lt;p&gt;This maintenance release updates the embedded JRE to Temurin 17.0.15 and fixes several bugs.&lt;/p&gt;</content><category term="news"/></entry><entry><title>Maintenance release 9.0.2 available</title><link href="https://www.qftest.com/en/company/news/maintenance-release-9-0-2-available.html" rel="alternate"/><published>2025-04-09T00:00:00+02:00</published><updated>2025-04-09T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-04-09:/en/company/news/maintenance-release-9-0-2-available.html</id><content type="html">&lt;p&gt;This maintenance release fixes a potential corruption of the system configuration file, improves client connectivity and adds object type support to data drivers. It also comes with some updated libraries and fixes a few bugs.&lt;/p&gt;</content><category term="news"/></entry><entry><title>Maintenance Release QF-Test 9.0.2</title><link href="https://www.qftest.com/en/company/news/newsletters/2025-02-qftest902-accessibility-webinar.html" rel="alternate"/><published>2025-04-09T00:00:00+02:00</published><updated>2025-04-09T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-04-09:/en/company/news/newsletters/2025-02-qftest902-accessibility-webinar.html</id><summary type="html">&lt;p&gt;Training dates and more, Case study, tool comparison, news and blogs&lt;/p&gt;</summary><content type="html">&lt;h2&gt;Maintenance Release QF-Test 9.0.2 available&lt;/h2&gt;
&lt;p&gt;Hello dear QF-Test users!&lt;/p&gt;
&lt;p&gt;We&amp;#8217;ve again been busy in the last few weeks: Today`s release &lt;strong&gt;QF-Test 9.0.2&lt;/strong&gt; fixes a potential corruption of the system configuration file, improves client connectivity and adds object type support to data drivers. It also comes with some updated libraries and fixes a few bugs. QF-Test 9.0.1 improved some of the new features in QF-Test 9, including the manual and screenshots in reports for accessibility testing.&lt;/p&gt;
&lt;p&gt;In addition we would also like to invite you to our next &lt;strong&gt;special webinar on May 19, 2024&lt;/strong&gt;. This time it&amp;#8217;s all about &lt;a href="/en/support/training-consulting/webinars.html#c34101"&gt;automated testing for accessibility&lt;/a&gt; – we look forward to your participation!&lt;/p&gt;
&lt;p&gt;Best wishes,&lt;br /&gt;
 your QFS team&lt;/p&gt;
&lt;h2&gt;QF-Test Version 9.0.2&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://services.qftest.com/en/download/"&gt;&lt;img alt="QF-Test Download" src="/newsletters/resources/2025-03_Download-Button-Pfeil-gruen-Schachtel-dunkelblau.png" title="QF-Test Download" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Download &lt;a href="https://services.qftest.com/en/download/"&gt;QF-Test version 9.0.2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;See the new features of QF-Test 9 in our &lt;strong&gt;release video&lt;/strong&gt; &lt;a href="https://services.qftest.com/en/download/"&gt;Automatically test the accessibility of your web application&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;To the &lt;a href="https://www.qftest.com/doc/manual/en/history.html"&gt;Release Notes&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;News&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Case study:&lt;/strong&gt; Testing a complex software solution for social insurance&lt;br /&gt;
   ➜ &lt;a href="/en/company/references/case-studies/bitmarck.html"&gt;To the Case study of BITMARCK Software GmbH&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;QF-Test vs. Tosca&lt;/strong&gt; – why an IT service provider recommends QF-Test to its customer for testing a Java Swing application.&lt;br /&gt;
   ➜ &lt;a href="/en/company/references/evaluation-reports/dvz.html"&gt;To the comparison by DVZ GmbH&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;It&amp;#8217;s not magic: How the CustomWebResolver makes your web application UI testable&lt;/strong&gt;  – we are convinced that semantic components and the CustomWebResolver are the best way to create reliable, robust and comprehensive UI tests for web applications.&lt;br /&gt;
   ➜ &lt;a href="/en/blog.html"&gt;Go to the blog&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Automated web accessibility testing&lt;/strong&gt;– in his bachelor thesis and in our next special webinar, Daniel Rieth put QF-Test through its paces for the automated testing of web application accessibility.&lt;br /&gt;
   ➜ &lt;a href="/en/solutions/types-of-tests/accessibility-tests.html"&gt;More about Web Accessibility Testing with QF-Test&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Save the date: Events in 2025&lt;/h2&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/webinars.html#c34103"&gt;&lt;img alt="Special Webinar Web Accessibility" src="/newsletters/resources/Spezialwebinar-Accessibility.png" title="Special Webinar Web Accessibility" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Special webinar&lt;/strong&gt;&lt;br /&gt;
&lt;a href="/en/support/training-consulting/webinars.html#c34103"&gt;Web Accessibility Testing with QF-Test&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;May 19, 2025, 3:30 PM (CEST)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;By June 28 of this year, business websites within the EU must be accessible.&lt;br /&gt;
 But what does accessibility mean in a web context? What do providers have to pay attention to?&lt;br /&gt;
 And above all: How can QF-Test support you in meeting the legal requirements?&lt;/p&gt;
&lt;p&gt;In this webinar, we will give a brief introduction to web accessibility and present the new accessibility testing features of QF-Test.&lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/support/training-consulting/webinars.html#c34103"&gt;Sign up for free&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We&amp;#8217;ll publish the &lt;a href="/en/support/training-consulting/webinars.html#c21743"&gt;recording&lt;/a&gt; (without the Q&amp;amp;A) afterwards. Special webinar in German: 10:30 a.m.&lt;/p&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/training.html#a30295-654c8d5cec687736087741"&gt;&lt;img alt="QF-Test Expert Day" src="/newsletters/resources/ExpertentagOnlineSchulung-dunkelblau-HGgelb.png" title="QF-Test Expert Day" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Online Expert Day&lt;/strong&gt;&lt;br /&gt;
&lt;a href="/en/support/training-consulting/training.html#a30295-654c8d5cec687736087741"&gt;Toolbox for stable component detection of web applications&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;May 26, 2025, 2 × 2,5 hours, in German&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Following the great success of the previous Expert Days, an English version has now been scheduled. In this online training, we will dive deeply into QF-Test and show you how to optimize the interaction with your web application. With practical exercises on special topics and individual answers to your personal questions, we will ensure that you get the most out of the training. Register now and make your testing processes even more efficient.&lt;/p&gt;
&lt;p&gt;➜ &lt;a href="/en/support/training-consulting/training.html#a30295-654c8d5cec687736087741"&gt;Details, pricing and registration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/en/support/training-consulting/training.html"&gt;&lt;img alt="Online Training QF-Test" src="/newsletters/resources/OnlineSchulung-Monitor-Hut-dunkelblau-HGblau.png" title="Online Training QF-Test" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;NEW! QF-Test Basics: Training via Webinar&lt;/strong&gt;&lt;br /&gt;
&lt;a href="/en/support/training-consulting/training.html#a30295-6613a7774f6b6588956332"&gt;June 23 &amp;ndash; 26, 2025, English&lt;/a&gt;&lt;br /&gt;
&lt;a href="/en/support/training-consulting/training.html#a30295-659e55fa94d68760261203"&gt;June 30 &amp;ndash; July 3, 2025, German&lt;/a&gt;&lt;br /&gt;
&lt;strong&gt;4 days, 2 × 2,5 hours each&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Effective and rapid knowledge transfer in small groups up to a maximum of 8 participants&lt;/li&gt;
&lt;li&gt;Interaction with the trainers and asking questions are possible at any time&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;➜ &lt;a href="https://services.qftest.com/en/support/contact/"&gt;Sign up now&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;#8220;&lt;em&gt;QF-Test is definitively a powerful tool. I think this training will be a game changer in our way to use it and to think our new QF NextGen Framework! Very encouraging. Thank you very much.&lt;/em&gt;&amp;#8221;&lt;/p&gt;
&lt;p&gt;Paul Singuinia, training participant, TotalEnergies One Tech, France&lt;/p&gt;
&lt;p&gt;Would you like a &lt;a href="/en/support/training-consulting/training.html#c30865"&gt;training course&lt;/a&gt; which is individually tailored to your company? Just send us an email to &lt;a href="https://services.qftest.com/en/support/contact/"&gt;service@qftest.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://insights.mgm-tp.com/en/2025/quality-assurance/experience-q12-tmt-live-conferences-events-and-webinars-2025/"&gt;&lt;img alt="Q12 Test Management Tool Screenshot" src="/newsletters/resources/TMT-Screenshot.png" title="Q12 Test Management Tool Screenshot" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Q12-TMT Test Management Tool&lt;/strong&gt;&lt;br /&gt;
 Our parent company mgm technology partners will be represented with Q12-TMT at international and German conferences, events and webinars. As a professional tool for structured test case creation, planning, execution, documentation and reporting, TMT may also be of interest to you as a supplement to QF-Test.&lt;/p&gt;
&lt;p&gt;➜ &lt;a href="https://insights.mgm-tp.com/en/2025/quality-assurance/experience-q12-tmt-live-conferences-events-and-webinars-2025/"&gt;To testing events with mgm in 2025&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;From our YouTube Channel&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Release video &amp;#8220;Automatically test the accessibility of your web application with QF-Test 9&amp;#8221;&lt;/strong&gt; – In this video we give you a short overview about the new features of QF-Test 9.&lt;br /&gt;
   ➜ &lt;a href="/en/support/videos.html#a22249-5f048d01474d7610742997"&gt;Watch the video now&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Visit our &lt;a href="https://www.youtube.com/channel/UCo6yiK49wlGY1Busavn0LZw"&gt;YouTube channel&lt;/a&gt; to subscribe and follow us on &lt;a href="https://www.linkedin.com/company/quality-first-software-gmbh-qfs/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;</content><category term="newsletters"/></entry><entry><title>It’s not magic: How the CustomWebResolver makes your web application UI testable</title><link href="https://www.qftest.com/en/blog/article/cwr-testable-web-ui.html" rel="alternate"/><published>2025-04-04T00:00:00+02:00</published><updated>2025-04-04T00:00:00+02:00</updated><author><name>Max Melzer</name></author><id>tag:www.qftest.com,2025-04-04:/en/blog/article/cwr-testable-web-ui.html</id><summary type="html">&lt;p&gt;We explain why QF-Test is so much better at testing web applications than other tools and what this &amp;#8220;CustomWebResolver&amp;#8221; has to do with it.&lt;/p&gt;</summary><content type="html">&lt;p&gt;With QF-Test, our goal is to make testing web application UIs as easy as testing a native application. This presents some challenges for which we developed a unique solution we call the &lt;strong&gt;CustomWebResolver&lt;/strong&gt;. In this blog post, I will explain why QF-Test is so much better at testing web applications than other tools and what this &amp;#8220;CustomWebResolver&amp;#8221; has to do with it.&lt;/p&gt;
&lt;h2&gt;The problem with CSS and XPath selectors&lt;/h2&gt;
&lt;p&gt;Most browser-based UI testing tools rely on CSS selectors or XPath to select an element to interact with or validate. This approach has several downsides:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Very verbose:&lt;/strong&gt; A typical CSS selector looks like this: &lt;code&gt;body &amp;gt; main &amp;gt; div  &amp;gt; ul &amp;gt; li:nth-of-type(3) &amp;gt; button.my-action&lt;/code&gt;, the same as an XPath would be: &lt;code&gt;.//body/main/div/ul/li[3]/button[@class="my-action"]&lt;/code&gt;. Not very readable.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Not very stable:&lt;/strong&gt; These selectors rely on the underlying HTML structure of the application to remain the same, otherwise they break.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Not easy to auto-generate:&lt;/strong&gt; This becomes important when recording an interaction. Generating a CSS or XPath selector for an HTML element programmatically is easy. Generating a &lt;em&gt;stable, concise and reusable&lt;/em&gt; selector, however, must usually be done by hand.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No Shadow DOM access:&lt;/strong&gt; It is not possible to use CSS or XPath to select an element encapsulated in a &amp;#8220;shadow root&amp;#8221;. This is a problem with applications built on the Web Components standard. Instead, JavaScript and a deep understanding of web technologies are required.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Technology-specific:&lt;/strong&gt; These selectors are only applicable to HTML, they cannot be used in a cross-platform context.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;No checking of state:&lt;/strong&gt; With these selectors, you only &lt;em&gt;found&lt;/em&gt; the element. Checking if the element has the required state to pass a test needs to be handled separately.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;There is a better way: The QF-Test CustomWebResolver&lt;/h2&gt;
&lt;p&gt;Although you can also work with selectors here, QF-Test offers a better way: A technology we call the &lt;strong&gt;CustomWebResolver&lt;/strong&gt;, or &lt;strong&gt;CWR&lt;/strong&gt; for short, resolves the raw HTML of your application into a semantic tree of well-defined UI components. This offers several advantages:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;No knowledge of HTML required:&lt;/strong&gt; Test authors are not required to understand the intricacies of the DOM structure of the application to address components.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Semantic tests:&lt;/strong&gt; UI components can be addressed based on their semantic function as presented to the user, instead their structural position in the DOM or the HTML code.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Unified handling of similar components:&lt;/strong&gt;  UI components that have the same semantic function but are implemented differently on the HTML level are still addressed in the same way.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Checks included:&lt;/strong&gt; The state of a UI component can automatically be checked according to common criteria like &amp;#8220;is it visible&amp;#8221;, &amp;#8220;what&amp;#8217;s the text content?&amp;#8221;, &amp;#8220;what&amp;#8217;s the input value?&amp;#8221;, &amp;#8220;is it enabled or disabled?&amp;#8221;, &amp;#8220;is it checked or selected?&amp;#8221;, and more.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Don&amp;#8217;t worry about the Shadow DOM:&lt;/strong&gt; With a CustomWebResolver you never have to think about things like shadow roots – QF-Test just takes care of everything.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Robust against DOM changes:&lt;/strong&gt; The CustomWebResolver is much more resilient against changes to the DOM structure. And if changes are necessary, they can be made in a central place instead of everywhere a component is used.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cross-platform:&lt;/strong&gt; Because it is not bound to HTML, the QF-Test component structure can be reused between applications built with Java UI libraries, Native Windows UIs and even iOS and Android apps with little adjustment needed.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Selection via SmartID:&lt;/strong&gt; In QF-Test you can select a component via the very compact &lt;a href="https://www.qftest.com/doc/manual/en/user_smartid.html"&gt;SmartID syntax&lt;/a&gt; like this: &lt;code&gt;#List:&amp;amp;2@#Button:&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Okay, but how does this magical CustomWebResolver technology work?&lt;/h2&gt;
&lt;p&gt;The basis of the CustomWebResolver is the translation of the DOM structure into a &lt;em&gt;tree of components&lt;/em&gt; of certain &lt;em&gt;generic classes&lt;/em&gt; based on a set of &lt;em&gt;mappings&lt;/em&gt;. Let&amp;#8217;s untangle that statement.&lt;/p&gt;
&lt;h3&gt;Generic classes&lt;/h3&gt;
&lt;p&gt;Any application UI consists of a number of widgets, or &lt;em&gt;components&lt;/em&gt;, that serve some purpose. There are usually windows with different panels which contain labels, tables, trees, lists, checkboxes, text inputs, sliders, drop-downs, and so on.&lt;/p&gt;
&lt;p&gt;QF-Test comes with a big list of &lt;a href="https://www.qftest.com/doc/manual/en/tech_genericclasses.html#sec_genericclasses"&gt;&lt;em&gt;generic classes&lt;/em&gt;&lt;/a&gt; which can be used to describe almost every component imaginable in an application UI. QF-Test understands their &lt;em&gt;semantics&lt;/em&gt;, i.e. how they work, and can automatically offer the right actions and checks per component.&lt;/p&gt;
&lt;p&gt;For example, QF-Test knows to offer a &amp;#8220;&amp;#8216;checked&amp;#8217; state&amp;#8221; check for the generic class &lt;code&gt;CheckBox&lt;/code&gt;, but not for e.g. the generic class &lt;code&gt;TextField&lt;/code&gt;, and it understands that you can click a &lt;code&gt;CheckBox&lt;/code&gt; component to toggle it&amp;#8217;s &amp;#8216;checked&amp;#8217; state. It also understands that a &lt;code&gt;Table&lt;/code&gt; or &lt;code&gt;List&lt;/code&gt; can contain child elements and gives you easy access to them.&lt;/p&gt;
&lt;h3&gt;CWR mappings&lt;/h3&gt;
&lt;p&gt;The job of the &lt;em&gt;CustomWebResolver&lt;/em&gt; is to look at the DOM of your application and figure out which HTML elements belong to which generic class. To do this, it uses &lt;em&gt;mappings&lt;/em&gt; which are usually defined in a YAML document. The simplest mapping possible looks like this:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nt"&gt;genericClasses&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="p p-Indicator"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;Button&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;btn&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;This piece of YAML, when interpreted by the CustomWebResolver, will tell QF-Test to assign every HTML element with the CSS class &lt;code&gt;btn&lt;/code&gt; the generic class &lt;code&gt;Button&lt;/code&gt; and therefore understand that it&amp;#8217;s a button that can be activated as long as it&amp;#8217;s not disabled or invisible.&lt;/p&gt;
&lt;p&gt;With the CustomWebResolver configured like this, you can now select &amp;#8220;OK&amp;#8221; buttons using the SmartID &lt;code&gt;#Button:OK&lt;/code&gt;, regardless of where this button is or what HTML tag it actually uses, as long as it has the CSS class &lt;code&gt;btn&lt;/code&gt; and a label &amp;#8220;OK&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Here is another example of a CustomWebResolver mapping, this time a more complex one:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="nt"&gt;genericClasses&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="p p-Indicator"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;ComboBox&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nt"&gt;attribute&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;role&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nt"&gt;attributeValue&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;combobox&lt;/span&gt;
&lt;span class="p p-Indicator"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;List:ComboBoxList&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nt"&gt;tag&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;ul&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nt"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;ComboBox&lt;/span&gt;
&lt;span class="p p-Indicator"&gt;-&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nt"&gt;Item:ComboBoxListItem&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nt"&gt;tag&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;li&lt;/span&gt;
&lt;span class="w"&gt;    &lt;/span&gt;&lt;span class="nt"&gt;parent&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="l l-Scalar l-Scalar-Plain"&gt;List:ComboBoxList&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;The mapping above is for a &lt;code&gt;ComboBox&lt;/code&gt;, i.e. some kind of drop-down select input. It actually consists of multiple sub-components:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The drop-down itself,&lt;/li&gt;
&lt;li&gt;the list that appears when the drop-down is opened and&lt;/li&gt;
&lt;li&gt;the individual selectable options.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Thanks to these mappings, the CustomWebResolver can tell QF-Test to handle this kind of drop-down as a single semantic component: QF-Test can automatically select a given option in the list, it can fetch the current selection or check that a given option is the current selection, or it can return the entire list of available options &amp;ndash; all through the QF-Test UI without writing any code or messing with the DOM.&lt;/p&gt;
&lt;h3&gt;The component tree&lt;/h3&gt;
&lt;p&gt;Finally, once all relevant components are mapped to generic classes, QF-Test can discard the rest of the HTML and you are left with a &lt;em&gt;beautifully simple tree of semantic components&lt;/em&gt;, on which you can build your tests.&lt;/p&gt;
&lt;p&gt;&lt;button class="plain" onclick="document.getElementById('5931').showModal()" title="Enlarge"&gt;&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="/blog/resources/reduction-of-complexity-side-by-side.png"
        class=" scroll-animated"
        alt=""
        style=" "&gt;&lt;figcaption&gt;&lt;p&gt;A side-by-side illustration of how the complexity of the DOM tree of a web application is reduced if all the DIVs and SPANs are replaced with semantic components. The non-optimized tree on the left has way deeper nesting than the optimized, semantic tree.&lt;/p&gt;&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;&lt;/button&gt;&lt;dialog popover id="5931" anchor="trigger-5931"&gt;&lt;/p&gt;
&lt;div class="container card scroll-animated width-full accent    "&gt;&lt;div class="container-content"&gt;        &lt;button onclick="document.getElementById('5931').close()"
                class="button blue tertiary"
                id="trigger-5931"
                style="margin: -15px -15px 10px auto; position: relative"&gt;Close&lt;/button&gt;
            &lt;figure&gt;
        &lt;img class="plain" src="/blog/resources/reduction-of-complexity-side-by-side.png" alt=""&gt;&lt;figcaption&gt;&lt;p&gt;A side-by-side illustration of how the complexity of the DOM tree of a web application is reduced if all the DIVs and SPANs are replaced with semantic components. The non-optimized tree on the left has way deeper nesting than the optimized, semantic tree.&lt;/p&gt;&lt;/figcaption&gt;&lt;/figure&gt;
    &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/dialog&gt;&lt;/p&gt;
&lt;h2&gt;And how do I configure this CustomWebResolver for my application?&lt;/h2&gt;
&lt;p&gt;The only thing users of QF-Test have to do is to provide the initial configuration for the CustomWebResolver. We have implemented three ways to make this as easy as possible:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;For a growing list of web component frameworks, we bundle comprehensive CWR configurations with QF-Test. QF-Test will automatically recognize and translate any components from these frameworks into generic classes, ready for you to use in your tests and checks. We support popular frameworks like &lt;strong&gt;Vaadin&lt;/strong&gt;, &lt;strong&gt;Angular Material UI&lt;/strong&gt;, and &lt;strong&gt;Google Web Toolkit&lt;/strong&gt;. Check out &lt;a href="https://www.qftest.com/doc/manual/en/tech_ajax.html#sec_ajax"&gt;the full list&lt;/a&gt; to see if your framework is already supported.&lt;/li&gt;
&lt;li&gt;If you use a different framework, but your application adheres to the &lt;a href="https://www.w3.org/WAI/standards-guidelines/aria/"&gt;WAI-ARIA standards for web accessibility&lt;/a&gt; by marking components with &lt;code&gt;role&lt;/code&gt; and &lt;code&gt;aria-*&lt;/code&gt; attributes, QF-Test will use these attributes to automatically configure the CustomWebResolver. The better the accessibility of your UI, the better QF-Test will work with it – a double win!&lt;/li&gt;
&lt;li&gt;Otherwise, you&amp;#8217;ll need to write your own CWR mappings. This is not super-difficult, but it requires some knowledge of the HTML structure of your application. Don&amp;#8217;t worry, QF-Test does a lot to help you with this. QF-Test comes with &lt;a href="https://www.qftest.com/doc/manual/en/tech_custom_web_resolver.html#sec_custom_web_resolver"&gt;a comprehensive user interface&lt;/a&gt; which helps you at every step when editing and verifying your configuration. And with the &lt;a href="https://www.qftest.com/doc/manual/en/user_componentinspection.html#usec_inspector"&gt;QF-Test UI Inspector&lt;/a&gt;, you can see the effect of your CWR configuration in real-time. And if you&amp;#8217;re still having trouble, &lt;a href="https://services.qftest.com/en/support/request/"&gt;our support team is ready to assist you&lt;/a&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;button class="plain" onclick="document.getElementById('5891').showModal()" title="Enlarge"&gt;&lt;/p&gt;
&lt;figure&gt;
    &lt;img src="https://www.qftest.com/doc/manual/en/images/cwr_gutter.png"
        class=" scroll-animated"
        alt=""
        style=" "&gt;&lt;figcaption&gt;&lt;p&gt;A screenshot of the Edit menu in the QF-Test CustomWebResolver node. It includes all kinds of contextual actions to help you generate a valid CWR configuration in YAML format.&lt;/p&gt;&lt;/figcaption&gt;&lt;/figure&gt;
&lt;p&gt;&lt;/button&gt;&lt;dialog popover id="5891" anchor="trigger-5891"&gt;&lt;/p&gt;
&lt;div class="container card scroll-animated width-full accent    "&gt;&lt;div class="container-content"&gt;        &lt;button onclick="document.getElementById('5891').close()"
                class="button blue tertiary"
                id="trigger-5891"
                style="margin: -15px -15px 10px auto; position: relative"&gt;Close&lt;/button&gt;
            &lt;figure&gt;
        &lt;img class="plain" src="https://www.qftest.com/doc/manual/en/images/cwr_gutter.png" alt=""&gt;&lt;figcaption&gt;&lt;p&gt;A screenshot of the Edit menu in the QF-Test CustomWebResolver node. It includes all kinds of contextual actions to help you generate a valid CWR configuration in YAML format.&lt;/p&gt;&lt;/figcaption&gt;&lt;/figure&gt;
    &lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&lt;/dialog&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;We believe that semantic components and the CustomWebResolver are the best way to build reliable, robust and comprehensive UI tests for web applications. And &lt;a href="/en/company/references/evaluation-reports.html"&gt;our customers think so, too&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you have been using QF-Test for the web already but have not made full use of the power of the CustomWebResolver yet, you should give it a try. And if you are totally new to QF-Test, you can get started with &lt;a href="https://services.qftest.com/en/license/request/"&gt;a free trial&lt;/a&gt; today!&lt;/p&gt;
&lt;h2&gt;Read more&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The CustomWebResolver in the QF-Test manual: &lt;a href="https://www.qftest.com/doc/manual/en/tech_customajax.html#sec_customajax"&gt;Improving component recognition with a CustomWebResolver&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Tutorial for configuring your first CustomWebResolver: &lt;a href="https://www.qftest.com/doc/manual/en/tech_customajax_demo.html#sec_customajax_demo"&gt;Example for &amp;#8220;CarConfigurator Web&amp;#8221; demo&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;List of frameworks with built-in CWR: &lt;a href="https://www.qftest.com/doc/manual/en/tech_ajax.html#sec_ajax"&gt;Special support for various web frameworks&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Detailed documentation of everything the CWR can do: &lt;a href="https://www.qftest.com/doc/manual/en/tech_custom_web_resolver.html#sec_custom_web_resolver"&gt;The Install CustomWebResolver node&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content><category term="blog"/><category term="how-to"/><category term="testing"/></entry><entry><title>Can I upgrade to QF-Test Pro?</title><link href="https://www.qftest.com/en/product/faq/subscription-switching-editions.html" rel="alternate"/><published>2025-04-02T00:00:00+02:00</published><updated>2025-04-02T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-04-02:/en/product/faq/subscription-switching-editions.html</id><summary type="html">&lt;p&gt;You can upgrade from Desktop, Web or Mobile to QF-Test Pro at any time.&lt;/p&gt;</summary><content type="html">&lt;p&gt;An upgrade from Desktop, Web or Mobile to QF-Test Pro is always possible – just get in touch with our sales team.&lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="mailto:sales@qftest.com"  class="button scroll-animated green chevron"&gt;Contact Our Sales Team&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;</content><category term="faqs"/><category term="faqeditions"/></entry><entry><title>Can I expand my existing license?</title><link href="https://www.qftest.com/en/product/faq/expanding-existing-license.html" rel="alternate"/><published>2025-04-01T00:00:00+02:00</published><updated>2025-04-01T00:00:00+02:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-04-01:/en/product/faq/expanding-existing-license.html</id><summary type="html">&lt;p&gt;Expanding existing licenses is possible at any time.&lt;/p&gt;</summary><content type="html">&lt;p&gt;New licenses follow the new edition model and can be combined with existing licenses.&lt;/p&gt;
&lt;p&gt;Temporarily, early adopters can expand their licenses under the previous scheme. A direct quote can be requested for this option.  &lt;/p&gt;
&lt;div class="flex-row justify-center my width-normal button-wrapper"&gt;
    &lt;a href="mailto:sales@qftest.com"  class="button scroll-animated green chevron"&gt;Contact Our Sales Team&lt;svg xmlns="http://www.w3.org/2000/svg"
    xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 32 32"&gt;
    &lt;path d="M13.697 22.317l6.85-6.658L13.696 9 12 10.65l5.152 5.009L12 20.667z"&gt;
    &lt;/path&gt;
&lt;/svg&gt;&lt;/a&gt;
&lt;/div&gt;</content><category term="faqs"/><category term="faqeditions"/></entry><entry><title>Maintenance version 9.0.1 available</title><link href="https://www.qftest.com/en/company/news/maintenance-version-9-0-1-available.html" rel="alternate"/><published>2025-03-12T00:00:00+01:00</published><updated>2025-03-12T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-03-12:/en/company/news/maintenance-version-9-0-1-available.html</id><content type="html">&lt;p&gt;This maintenance release improves on some of the new features in QF-Test 9 like the manual or screenshots in reports for accessibility tests. It also comes with some updated libraries and fixes a few bugs.&lt;/p&gt;</content><category term="news"/></entry><entry><title>Can I switch editions without losing my configuration?</title><link href="https://www.qftest.com/en/product/faq/switch-between-qf-test-editions.html" rel="alternate"/><published>2025-03-01T00:00:00+01:00</published><updated>2025-03-01T00:00:00+01:00</updated><author><name>Quality First Software</name></author><id>tag:www.qftest.com,2025-03-01:/en/product/faq/switch-between-qf-test-editions.html</id><summary type="html">&lt;p&gt;Changing editions is possible without any difficulty.&lt;/p&gt;</summary><content type="html">&lt;p&gt;All editions access the same configuration data without modifying any data tied to features of another edition. This ensures a smooth edition switch without issues.  &lt;/p&gt;</content><category term="faqs"/><category term="faqeditions"/></entry></feed>