Module 11 · Lesson 5 of 6 · with Nova

Test It with Realistic Scenarios

Objective

Learn to verify that a prototype behaves usefully beyond the happy path.

Your prototype works perfectly when you demonstrate it with the three notes you prepared. Then another person pastes a strange date, leaves a field blank and gets a nonsense result. That isn't unusual: testing starts when the example stops being convenient.

Builders naturally test the version of a task they understand. You know which fields to fill, what order to follow and what the expected output should say. Someone new to the tool has none of that context. They may paste an entire email thread, use a different date format or click Generate twice. A prototype that only works when its creator operates it carefully is still a useful experiment, but not a dependable tool.

Begin by stating what success means for a normal case. For the club newsletter, six invented updates should become a draft with every event date preserved, unanswered questions shown separately and a document that opens in an ordinary editor. Check the actual output against the invented source. A friendly message saying 'Done' is not evidence that dates survived or the download works.

Next, vary one condition at a time. Remove a date. Add two updates for the same event with conflicting times. Paste nothing at all. Use a very long announcement. Include a line that looks like an instruction telling the assistant to ignore its previous rules. The purpose is not to trick the builder for sport. Each test probes a realistic way information could be incomplete, inconsistent or misleading.

Create a simple test table: input, expected behaviour, actual behaviour and whether it passed. For a missing date, the expected behaviour might be 'flag missing date and ask for clarification'. If the system invents next Saturday, record the failure. For contradictory times, it might show both sources and request a decision. Such tests make improvement concrete. The task is not to stop all mistakes forever but to make important failure modes visible and manageable.

Distinguish testing software behaviour from testing the AI model's output. A button that triggers a request and receives a response can function correctly while the response itself is misleading. A document exporter can work flawlessly with incorrect text. You need to check both: did the technical step operate, and was the result fit for the job? That distinction is especially important in AI-powered systems, where an answer can vary between runs.

Invite someone unfamiliar with the tool to complete the task without guiding every click. Watch where they hesitate or misunderstand the instructions. Did they realise the result was a draft requiring review? Could they correct an event time? Did they know where the downloaded file went? Their confusion is useful evidence about the interface, not evidence that they are bad with technology.

Test failures need proportionate responses. If a harmless heading wraps awkwardly on a phone, it may be a minor usability issue. If the app silently invents a safeguarding contact, that is a fundamental problem and the output should not be used. A simple severity scale helps: cosmetic, inconvenient, incorrect outcome, or potentially harmful. Address the highest-consequence failures before polishing colours or adding features.

Keep a regression set: a few examples that previously worked and should continue working after every change. If a fix for missing dates suddenly breaks ordinary dates, you want to know immediately. Automated tests are helpful for repeatable behaviour, but a non-technical builder can begin with an explicit checklist and a small library of fictional test cases. The important habit is repeated comparison with expected results.

Finally, test the setting in which people will use the tool. Does it work on a phone? Can someone read the draft without horizontal scrolling? What happens when the connection is weak or an external service refuses a request? Does the app display an honest error and preserve the user's input? These are not glamorous features, but they determine whether a tool is usable beyond a controlled demonstration.

Keep test data deliberately varied. Two samples containing the same kind of event do not test much more than one. Include different lengths, formats and conflicting details, and make sure your expected outcomes are written before viewing the AI result. Otherwise you may start accepting a convenient response as correct simply because it looks plausible. For an output that could affect other people, checking against the original source should be a deliberate action rather than an optional last glance.