-
Notifications
You must be signed in to change notification settings - Fork 0
Skein
The Skein is a central tool used to test your projects.
When developing your project, there are two main types of testing you will find yourself doing:
- User Testing - give your project to others, let them interact, and respond to any criticisms they find
- Regression Testing - ensure you have not broken one part of your project when changing another part
The Skein is used for Regression Testing.
Using the Skein, it is possible to quickly run your project dozens, even hundreds of times and identify any bit of text that has changed.
skein | skān |
noun
- a length of thread or yarn, loosely coiled and knotted.
- a tangled or complicated arrangement, state, or situation: the skeins of her long hair | figurative : a skein of lies.
- a flock of wild geese or swans in flight, typically in a V-shaped formation.
In fact, the name comes from Inform7 whose integrated development environment has the same conceptual feature.
A single Skein is captures a number of play-throughs of your project. Starting on the initial introduction leading up the first command prompt, it represents a tree of different possible commands and outcomes.
From the root "knot" (the startup), the Skein will track all the commands you have tested to that initial prompt; each command becomes a knot below that root knot. Each level of knot has any number of children, representing different commands provided by the player at that junction.
The Skein is a data-structure that is stored on disk, and checked into version control along with the other sources in your project. The Skein data is designed to be readable by humans, and also amendable to version control; that is, if you update your project and your skein, the changes to the Skein file will make sense.
It is also an interactive web user interface that allows you to see the state of the skein, to enter new commands, and to identify and approve changes.