top of page
make smarter systems.jpg

How We Test Provengo (With Provengo)

When your product is a testing tool, you'd better be sure it really works.

At Provengo, we don’t just build software that makes testing smarter, we use it ourselves, every day, to test Provengo itself. It’s not just dogfooding. It’s how we ensure quality, reliability, and fast iteration across every release.


A Layered Approach to Self-Testing


So how do we do it?


We use a layered Provengo model. That means a model that controls other models. At the top is a state machine that represents high-level user behavior. Each state executes a scenario using our CLI library, triggering actions on lower-level Provengo models (primarily from our open-source TechDemos repo).


a simplified look at the top-level state machine
a simplified look at the top-level state machine


This allows us to test core workflows—like create ⇒ sample ⇒ ensemble ⇒ gen-script without inflating the size or complexity of our top-level test logic.

Here’s a simplified look at the top-level state machine:


ree

Every test scenario starts at start and ends at a terminal node, making the path of execution clear and predictable. The result is a highly modular and easily maintainable test suite that mimics how real users interact with the system.


Here’s a screen capture (+ some titles) showing a test. The clip was edited for speed.


Clarity, Coverage, Confidence

The result?

  • We know which functionalities are covered and which are not.

  • When a new version passes the full test suite, we know it’s ready to release.

  • And just like our clients, we don’t waste time rewriting tests when specs change.

We built Provengo to make test automation easier and smarter, not just for you, but for ourselves too. And we use it because it works.



Want to see how it works in practice? Book a demo and we’ll show you how Provengo helps teams reduce test effort, increase coverage, and deliver better systems—faster.


 
 
 

Comments


bottom of page