What we test

Every release of Seatlock runs 1,708 automated checks before it ships. If one of them fails, the release does not go out.

1,708automated checks per release
13end-to-end suites on a real shop
2JUCE versions
20failure scenarios

What the checks cover

  • The shop, like a real customer uses it. A real WordPress with WooCommerce and WooCommerce Subscriptions: buying, receiving a key, activating, renewing, refunding, subscriptions that pause or end, and the customer’s own account page.
  • The plugin side, against a real server. A test plugin activates, goes offline, renews, changes hardware, hits its machine limit and is deactivated from the website, on two versions of JUCE.
  • Several plugins and programs at once. Different plugins on one machine share their licence correctly, and four programs writing the same licence file at the same moment never corrupt it.
  • Things going wrong on purpose. Twenty failure scenarios: the server is down during activation, the clock is wrong, a payment is late, a renewal arrives late, a key is rotated, a file is damaged.
  • Attacks. Every screen and every public function is tried with the common attacks on websites: injected database commands, injected scripts and forged requests.
  • The tools. seatlock-tool encrypts and decrypts test data, and must refuse a wrong key.
  • The delivered package. Before a package leaves, it is checked for anything that must not be in it (keys, passwords, unfinished documents), then unpacked and built like a customer would.

Why it matters to you

Licensing sits between your customers and your product. When it fails, honest customers are locked out, or dishonest ones get in. These checks run on every release so that neither happens because of a change we made.

Questions about how we test: support@seatlocklicense.com. Security reports: see Security.