<!-- agents: TestFlows blog index. Index: https://testflows.com/llms.txt -->

# TestFlows blog

> Articles about test programs, steps, combinatorial coverage, behavior models and more, from the TestFlows team. Each page below is one article, in Markdown. They are about software testing and the open-source TestFlows Framework.

In the articles, `{% testflows %}` stands for TestFlows, `{% katex %}` and `{% endkatex %}` wrap LaTeX math, `{% html %}` and `{% endhtml %}` wrap HTML, and `{% blockquote %}` and `{% endblockquote %}` wrap a quotation.

## Articles, newest first

- [Testing Super Mario Using a Behavior Model Autonomously (Part 2)](https://testflows.com/blog/testing-super-mario-using-a-behavior-model-autonomously-part2.md): An article about autonomous testing of Super Mario using behavior models and evolutionary state space exploration techniques. (2025-10-10)
- [Testing Super Mario Using a Behavior Model Autonomously (Part 1)](https://testflows.com/blog/testing-super-mario-using-a-behavior-model-autonomously-part1.md): An article about autonomous testing of Super Mario using behavior models and evolutionary state space exploration techniques. (2025-10-10)
- [Testing Super Mario Using a Behavior Model (Part 2)](https://testflows.com/blog/testing-super-mario-using-a-behavior-model-part2.md): An article about testing Super Mario game using a behavior model (Part 2). (2025-09-17)
- [Testing Super Mario Using a Behavior Model (Part 1)](https://testflows.com/blog/testing-super-mario-using-a-behavior-model-part1.md): An article about testing Super Mario game using a behavior model (Part 1). (2025-09-17)
- [Writing Test Programs — Not Just Tests](https://testflows.com/blog/writing-test-programs-not-just-tests.md): Exploring how writing test programs with TestFlows puts testers back in control — an alternative to runner-centric frameworks. (2025-09-12)
- [Stop Bashing Bugs – It's All Your Fault!](https://testflows.com/blog/stop-bashing-bugs-its-all-your-fault.md): A light and systematic look at bugs as just states in your system. Inspired by BugBash 2025 reliability conference. (2025-04-07)
- [What Do Condition, Proposition, Predicate, Property, and Invariant Really Mean?](https://testflows.com/blog/what-do-condition-proposition-predicate-property-and-invariant-really-mean.md): Understand Condition, Proposition, Predicate, Property, and Invariant in software testing using the Die Hard water jug problem. (2025-02-28)
- [Transforming Testing Behavior Models into Formal Models](https://testflows.com/blog/transforming-testing-behavior-models-into-formal-models.md): An article about transforming software testing behavior models into formal mathematical representations for rigorous system validation. (2025-01-27)
- [Testing Simple Train Control System Using Its Formal Description](https://testflows.com/blog/testing-simple-train-control-system-using-formal-description.md): Testing a simple train control system using its formal mathematical description. (2024-11-03)
- [Decoding Formal Description of a Simple Train Control System](https://testflows.com/blog/decoding-formal-description-simple-train-control-system.md): An article about how to read formal mathematical descriptions of a simple train control system. (2024-10-30)
- [Using Atomic Propositions and Equivalence Classes (Part 2)](https://testflows.com/blog/using-atomic-propositions-and-equivalence-classes-part2.md): An article about how to apply atomic propositions and equivalence classes in testing a simple stateful system such as a memory function (part 2). (2024-10-17)
- [Using Atomic Propositions and Equivalence Classes (Part 1)](https://testflows.com/blog/using-atomic-propositions-and-equivalence-classes-part1.md): An article about how to apply atomic propositions and equivalence classes in testing a simple stateful system such as a memory function (part 1). (2024-10-17)
- [Combinatorial Testing: Writing Behavior Model](https://testflows.com/blog/combinatorial-testing-behavior-model.md): An article about how to write a simple behavior model to verify expected results of combinatorial tests for a memory function. (2024-10-07)
- [Sketching Combinations For Combinatorial Tests](https://testflows.com/blog/sketching-combinations-for-combinatorial-tests.md): Sketching combinations for combinatorial tests using TestFlows. (2023-10-13)
- [Combinatorial Testing: The Introduction](https://testflows.com/blog/combinatorial-testing-the-introduction.md): Introduction to combinatorial testing using TestFlows. (2023-10-10)
- [BDD or not to BDD, or TDD, or even ATDD. How does it affect your QA team?](https://testflows.com/blog/bdd-or-not-to-bdd-or-maybe-tdd-or-even-atdd.md): Article discussing how the choice of a software development process affects quality assurance team. (2023-10-03)
- [Get Your Software Covered Using Covering Arrays](https://testflows.com/blog/get-your-software-covered-using-covering-arrays.md): Article about how TestFlows enables using covering arrays as part of combinatorial testing. (2023-10-02)
- [Working With Requirements Just Like With Code](https://testflows.com/blog/working-with-requirements-just-like-with-code.md): Article about how TestFlows enables working with requirements just like with code using software requirements specifications written in Markdown. (2023-09-25)
- [Making Your Tests Better or How to Break Your Tests Into Steps](https://testflows.com/blog/how-to-break-your-tests-into-steps.md): An article about how tests can be broken up into steps using TestFlows. (2019-11-24 08:26:26)
