Frequently Asked Questions



Visual Regression

What is visual regression testing?

Regression testing is a type of software testing which verifies that software which was previously developed and tested still performs the same way after it was changed. During regression testing, new bugs or regressions may be uncovered. Visual regression testing is applying the same testing process to the visual part of an application (website or mobile app).

How do I reduce the number of differences?

In order to have an accurate visual regression testing flow, the data in the tested app needs to be as static and predictable as possible. To do this, you need to mock any date, times, or any other random output. Removing these parts of the app helps to reduce a lot of false negative visual regressions.

Using VisWiz.io

How does VisWiz.io work?

VisWiz.io analyzes and reports any visual differences in your project. It does this by integrating with your automated testing process. When your tests run, you instruct your testing framework to capture screenshots and make a few calls with our VisWiz.io SDK or API. It is built as a flexible service, which can be accessed via an API and SDK, and this enables you to get visual regression for all kinds of projects, from websites and web applications to native mobile apps.

If you currently don't have an automated testing process, we highly recommend you setup such a process. The way to setup such a process depends very much on your project's requirements and tech platform.

What are the VisWiz.io concepts?

A VisWiz.io account can have multiple projects.

A VisWiz.io project consists of builds. A build is corresponding to a specific change in your project's source code and is associated with a branch and a revision from your project's repository.

A build contains multiple images. Images are sent from your project's testing process via our CLI, SDK or API.

How is the reference build for comparison chosen?

Projects can be customized with a default branch when they are created. The default branch is set to master, if a different one is not chosen.

Builds within a project will use the last available build from the default branch as a reference when performing the comparison.

Whenever a new build is added for the default branch, that build will be used as the new reference build for future comparisons.

How do I configure the similarity threshold?

Each project has a configurable similarity threshold setting, defaults to 1%. This means that if an image has more than 1% of its area different than its reference image, then it is considered a visual different image.

How do I get notified about results?

By default, you get notified with a summary build report email.

You can also configure each project to send a Slack report notification when a build comparison finishes.

Alternatively, you can get notified via webhook calls (HTTP POST request). Your account can also have multiple webhooks defined.

Where can I see a build report?

Once a build comparison finishes, a comprehensive visual regression report is instantly available on our web application.

You can choose to get notified of the build results via email, Slack or webhooks.

Alternatively, you can use our API/SDK to get all the raw data for a build report and integrate it into your internal tools.

What languages does VisWiz.io support?

We currently have an official fully-fledged SDK for Node.js.

A separate CLI is also available with pre-built binaries for all OS.

However, our RESTful API can be accessed from any programming language or terminal.

Subscription

What payment methods do you support?

We support payments with all major credit/debit cards and PayPal.

How are payments handled?

All payment transactions are handled through Paddle.com (our reseller partner). You will see "PADL*VISWIZ.IO" as the description on your statement for the subscription payment.

How do I change my subscription plan?

Please contact us at hi@viswiz.io to make any changes to your subscription plan. Soon, full subscription plan management will be available.