How it works

Squidler tests your websites and apps, requiring only a URL. But how does that work? Let's walk through the core concepts.

From Automated to Autonomous

Squidler is fully autonomous, which means you don't create or maintain tests. There are loads of tools to automate the execution of tests, but you still have to produce them somehow.

With some tools, like Cypress, Playwright, or Selenium, you define your tests with code. In no-code tools, like Reflect and DogQ, you create tests graphically. Either way, you need to create and maintain tests. Very quickly, this becomes expensive and ineffective.

Squidler creates tests for you — new tests, all the time! While some hand-crafted tests are still valuable, Squidler provides a quality baseline. Complement it with manually created tests for high-value scenarios where needed.

Generative and Continuous Testing

There are two core aspects to the effectiveness of Squidler: generative and continuous testing. The combination is the heart of the service.

Generative testing means that Squidler generates test cases on its own. In practice, it's an iterative process of finding the possible actions at any step, and using a combination of randomness and heuristics to select the next action. In the near future, Squidler will learn the structure of your site and use it to increase coverage using statistical models.

This is Squidler's virtual user.

By testing often, you increase the likelihood of finding a particular problem on a website. Partly because more testing, in combination with random actions, increases test coverage. Websites might also behave differently across tests depending on a number of factors, such as date and time, user-generated data, third-party systems, and so on. With continuous testing, more problems can be uncovered during particular circumstances.

Many websites are very big, just in terms of the number of pages. If you then consider how many possible sequences of actions there are, you'll find that it's practically impossible test them all. Squidler deals with this problem by combining generative and continuous testing with advanced search algorithms.

User-Centric Evaluation

As tests run, everything that a human would observe is evaluated by Squidler. It's a black-box approach that focuses on the user experience of the website. The behavior of the virtual user is evaluated against suites of rules, and can find problems comprised of many steps. Perhaps a bug only occurs after the modal window is opened, a button is clicked, and the modal is finally closed by pressing the Esc key?

Our current suites check functionality, usability, web conventions, accessibility, and language. See Problem Types for a full reference.

Testing with a Browser

Many tools for scanning and testing websites automatically only consider HTTP responses — status codes, headers, and server-side rendered HTML. However, with many modern websites and apps using Javascript, such tools have a problem assessing content rendered after the page is loaded. Not only that, anything requiring user interaction to be rendered, like opening a modal window, is out of reach.

Squidler uses a real browser to render and interact with websites and apps. It's doesn't matter how the page is constructed as long as it renders to the DOM. Static websites, server-side rendering, progressive web apps, and single-page apps — all can be tested.

The Interface

Your time is valuable, and it should not be spent fiddling with tools more than needed. Squidler does its utmost to get out of your way. You'll get emails for the problems you're interested in, either when they're found or in weekly digests. Links to found problems are sharable, so you can send them to developers or other technical staff. You can also integrate Squidler by email or directly with Slack.