---
title: "UX Audit & Usability Testing"
canonical: https://wavect.io/services/ux-audit/
language: en
description: "Find where people struggle in your existing software. Wavect reviews key journeys, tests agreed tasks and delivers prioritized, reproducible UX findings."
image: "https://wavect.io/img/general/bak/open_graph_preview.jpg"
---

UX Audit & Usability Testing

# Find the moments that make customers stop.

Support tickets describe the symptom. An audit follows the task that caused it. We examine your existing product, observe how people use important flows and turn friction into specific changes your team can assess and build.

THE ENGAGEMENT

## Choose the journeys. Observe the friction. Prioritize the changes.

1. **Frame the tasks** Agree users, devices and the journeys to inspect.
2. **Collect evidence** Review interfaces and observe representative task attempts.
3. **Recommend action** Rank findings by impact, confidence and implementation dependencies.

DIRECT ANSWER

A UX audit is a bounded assessment of existing product usability, combining expert review and agreed user sessions with a prioritized improvement backlog.

Best for

- Live products with abandoned or confusing journeys
- Teams needing evidence before a redesign

Consider another approach

- A formal accessibility-conformance assessment

## Audit a job people are trying to finish

We select the paths that matter: joining a workspace, submitting an application, finding a document or recovering from a failed payment. Each path has a starting condition and a recognizable completion state. Your support patterns and existing analytics help choose the scope. Designing replacement flows belongs with [UX/UI Design](/services/ux-ui-design/), which can follow the assessment.

## Separate an expert concern from an observed failure

Expert review examines navigation, feedback, language, consistency and recovery states. Moderated sessions then test agreed tasks with suitable participants. We record what happened, the relevant screen and the limits of the observation. Recruitment, consent, recording and access are agreed first. A few sessions expose problems; they do not establish a population-wide percentage.

## Give engineering something it can act on

Each finding states the affected journey, evidence, severity, proposed change and how to retest it. We distinguish usability friction from a functional defect and from missing product capability. An unclear label may be a [UX Writing](/services/ux-writing/) change; a broken submission may require engineering. Duplicates are grouped so the backlog reflects underlying problems rather than screenshot volume.

## Illustrative finding: a request appears to disappear

In an example customer portal, a user submits a document request and returns to an unchanged list. The audit records the absent pending state, observes whether the participant submits again, and proposes visible status with recovery guidance. Retesting asks another participant to locate that request. The example demonstrates an actionable finding, not a reported client outcome.

## Choose what to fix after seeing the evidence

The handover includes the journey inventory, reviewed screens, session notes permitted by the consent agreement and a ranked findings register. We review the recommendations with product and engineering and identify quick changes versus larger redesigns. Provide a test account, safe sample records, support themes and participant availability. Formal WCAG evaluation remains a separate [Accessibility Audit](/services/accessibility-audit/).

## Questions before you start

### Can you audit a prototype?

Yes, if the tasks are represented well enough to attempt. Findings must distinguish prototype limitations from problems users would encounter in the finished product.

### Do you recruit participants?

Recruitment responsibilities and any specialist provider are agreed in the scope. We can work with customers or users you invite; participant access affects the study plan.

### Will the audit include implementation?

The assessment produces evidence and recommendations. Design, engineering changes and a retest can be commissioned as explicit follow-on work.

### Is an automated scan enough?

An automated scan can identify some technical issues. It does not explain whether a person understands the next step or successfully completes a realistic task.

## Choose your next step

- [Design the revised product journeys](/services/ux-ui-design/)
- [Assess WCAG accessibility](/services/accessibility-audit/)
- [Measure product behavior and changes](/services/product-analytics-experimentation/)

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/#organization",
      "@type": [
        "Organization",
        "ProfessionalService",
        "LocalBusiness"
      ],
      "employee": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "founder": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "legalRepresentative": [
        {
          "@id": "https://wavect.io/team/kevin-riedl/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Kevin Riedl",
          "url": "https://wavect.io/team/kevin-riedl/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        },
        {
          "@id": "https://wavect.io/team/christof-jori/#person",
          "@type": "Person",
          "jobTitle": "Managing Director",
          "name": "Christof Jori",
          "url": "https://wavect.io/team/christof-jori/",
          "worksFor": {
            "@id": "https://wavect.io/#organization",
            "@type": [
              "Organization",
              "ProfessionalService",
              "LocalBusiness"
            ]
          }
        }
      ],
      "name": "Wavect GmbH",
      "subjectOf": {
        "@id": "https://wavect.io/verified-claims.json#dataset",
        "@type": "Dataset",
        "creator": {
          "@id": "https://wavect.io/#organization",
          "@type": [
            "Organization",
            "ProfessionalService",
            "LocalBusiness"
          ]
        },
        "description": "A machine-readable registry of quantitative and qualitative claims published by Wavect, with review dates, localized page appearances and public third-party citations where available.",
        "inLanguage": "en",
        "isAccessibleForFree": true,
        "license": "https://creativecommons.org/licenses/by/4.0/",
        "name": "Wavect verified publication claims",
        "url": "https://wavect.io/verified-claims.json"
      },
      "url": "https://wavect.io/"
    },
    {
      "@id": "https://wavect.io/team/kevin-riedl/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Kevin Riedl",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796365",
        "https://www.linkedin.com/in/wsdt",
        "https://github.com/wsdt"
      ],
      "url": "https://wavect.io/team/kevin-riedl/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/team/christof-jori/#person",
      "@type": "Person",
      "jobTitle": "Managing Director",
      "name": "Christof Jori",
      "sameAs": [
        "https://www.wikidata.org/wiki/Q139796367",
        "https://www.linkedin.com/in/jocr77/",
        "https://github.com/jo-chris"
      ],
      "url": "https://wavect.io/team/christof-jori/",
      "worksFor": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      }
    },
    {
      "@id": "https://wavect.io/#website",
      "@type": "WebSite",
      "inLanguage": [
        "en",
        "de",
        "es",
        "zh"
      ],
      "name": "Wavect",
      "potentialAction": {
        "@type": "SearchAction",
        "query-input": "required name=search_term_string",
        "target": {
          "@type": "EntryPoint",
          "urlTemplate": "https://wavect.io/search/?q={search_term_string}"
        }
      },
      "publisher": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "url": "https://wavect.io/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://wavect.io/services/ux-audit/#service",
      "@type": "Service",
      "areaServed": [
        {
          "@type": "Country",
          "name": "Austria"
        },
        {
          "@type": "Place",
          "name": "Worldwide"
        }
      ],
      "category": "Product Design & Quality",
      "dateModified": "2026-10-31",
      "description": "Find where people struggle in your existing software. Wavect reviews key journeys, tests agreed tasks and delivers prioritized, reproducible UX findings.",
      "name": "UX Audit & Usability Testing",
      "provider": {
        "@id": "https://wavect.io/#organization",
        "@type": [
          "Organization",
          "ProfessionalService",
          "LocalBusiness"
        ]
      },
      "serviceType": "UX Audit & Usability Testing",
      "url": "https://wavect.io/services/ux-audit/"
    },
    {
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "item": "https://wavect.io/",
          "name": "Home",
          "position": 1
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/services/overview/",
          "name": "Services",
          "position": 2
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/services/overview/#design",
          "name": "Product Design & Quality",
          "position": 3
        },
        {
          "@type": "ListItem",
          "item": "https://wavect.io/services/ux-audit/",
          "name": "UX Audit & Usability Testing",
          "position": 4
        }
      ]
    },
    {
      "@id": "https://wavect.io/services/ux-audit/#webpage",
      "@type": "WebPage",
      "dateModified": "2026-10-31",
      "description": "Find where people struggle in your existing software. Wavect reviews key journeys, tests agreed tasks and delivers prioritized, reproducible UX findings.",
      "inLanguage": "en",
      "isPartOf": {
        "@id": "https://wavect.io/#website",
        "@type": "WebSite"
      },
      "mainEntity": {
        "@id": "https://wavect.io/services/ux-audit/#service"
      },
      "name": "UX Audit & Usability Testing",
      "url": "https://wavect.io/services/ux-audit/"
    }
  ]
}
```

```json
{
  "@context": "https://schema.org",
  "@type": "FAQPage",
  "mainEntity": [
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Yes, if the tasks are represented well enough to attempt. Findings must distinguish prototype limitations from problems users would encounter in the finished product."
      },
      "name": "Can you audit a prototype?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "Recruitment responsibilities and any specialist provider are agreed in the scope. We can work with customers or users you invite; participant access affects the study plan."
      },
      "name": "Do you recruit participants?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "The assessment produces evidence and recommendations. Design, engineering changes and a retest can be commissioned as explicit follow-on work."
      },
      "name": "Will the audit include implementation?"
    },
    {
      "@type": "Question",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "An automated scan can identify some technical issues. It does not explain whether a person understands the next step or successfully completes a realistic task."
      },
      "name": "Is an automated scan enough?"
    }
  ],
  "speakable": {
    "@type": "SpeakableSpecification",
    "cssSelector": [
      ".faq-question",
      ".faq-answer"
    ]
  }
}
```
