nw-pbt-stateful

Automate stateful property-based testing with model-driven command generation and two-phase execution.

Updated Apr 15, 2026
One-click install
npx skills add https://github.com/StudentCristian/nWave-github --skill nw-pbt-stateful
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: nw-pbt-stateful
Source: https://github.com/StudentCristian/nWave-github/tree/main/.github/skills/nw-pbt-stateful
Command: npx skills add https://github.com/StudentCristian/nWave-github --skill nw-pbt-stateful

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Stateful property-based testing for systems with mutable state helps uncover bugs that arise from stateful interactions by using a model-driven approach to generate and verify sequences of operations.

Core Features & Use Cases

  • Model-driven test generation and two-phase execution (generation and concrete execution)
  • Command patterns: CRUD, resource lifecycle, and transaction workflows
  • Guidance on debugging stateful tests, anti-patterns, and scalability
  • Supports linearizability testing guidance to reason about concurrency

Quick Start

Configure a model, define commands, and run a stateful PBT workflow against your system under test to begin validating stateful behavior.

Frequently Asked Questions about nw-pbt-stateful

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test stateful systems with property-based testing?

Stateful property-based testing validates systems with mutable state by using a model-driven approach to generate and verify sequences of operations. You configure a simplified model, define commands, and run a two-phase workflow to check postconditions.

What is two-phase execution in model-based testing?

Two-phase execution in model-based testing separates operation generation from concrete execution. Phase 1 generates a sequence of commands from a simplified model, and phase 2 executes them against the system to ensure resulting state aligns with model postconditions.

Can I use stateful property-based testing for databases and caches?

Yes, stateful property-based testing applies to databases, APIs, caches, queues, and protocols where operations evolve state over time. It supports command patterns like CRUD, resource lifecycle, and transaction workflows to validate these mutable systems.

Does stateful property-based testing support linearizability for concurrency?

Yes, stateful property-based testing provides linearizability testing guidance to reason about concurrency. It helps uncover bugs that arise from stateful interactions by validating that concurrent operations adhere to the expected model behavior.

How do I debug failing stateful tests and avoid anti-patterns?

You can debug failing stateful tests and avoid anti-patterns by following the model-driven workflow, which ensures postconditions align with the simplified model. It also provides specific guidance on scalability and common stateful testing anti-patterns.