13.1. Testing

| Chapter 13: Testing and Publishing |

| 13.1. Testing

There are no recipes for testing, alas, although most experienced IF authors have their preferred ways of going about it. Briefly: the best advice is to build and maintain a Skein which holds complete play-throughs of the piece, so that it is easy to check with a single click that all is still well; to have beta-testers who play through (substantial) drafts and send back their transcripts of play, along with suggestions; and to listen to these suggestions, and treat the beta-testers as editors rather than galley slaves.

Alpha shows a way to gracefully accept beta-testers' annotations without advancing time in the game.

Most large works of IF have historically provided secret commands for testing and debugging - commands removed (or sometimes accidentally not) in the final released product. Inform does this automatically: the commands SHOWME, ACTIONS and SCENES are always present except in a released story file. It also allows us to write passages of source text which apply only for the testing phase, so that we can define new testing commands, or other checks that all is well: Bic demonstrates this, and is also useful in its own right.

58
| Example Bic Testing to make sure that all objects have been given descriptions. |
WI

It may occasionally be useful to check whether all objects in our game have a given property. Here we have a "not for release" section that will run at the start of the game and alert us to any objects lacking description: "Bic" Section 1 - Testing descriptions - Not for release When play begins (this is the run property checks at the start of play rule): repeat with item running through things: if description of the item is "": say "[item] has no description." Section 2 - Story The Staff Break Room is a room. The player carries an orange, a Bic pen, and a napkin. The description of the orange is "It's a small hard pinch-skinned thing from the lunch room, probably with lots of pips and no juice." The description of the napkin is "Slightly crumpled."

404
| Example Alpha Creating a beta-testing command that matches any line starting with punctuation. |
WI

Previous | Contents | Next