# Level of detail in a Scenario - when to stop

When user enters "product.company.com" into a web browser

Then a hyperlink is presented to 'ProductSetup.exe'

TODO: There is nothing here about presentation, e.g., it could just be an ugly old-school <a> link without a label.

1. Should the presentation be specified here as an And under Then or as a separate scenario?

2. How much is more detailed testing worth in the first place, a question of balance, i.e. , how much value does adding extra presentation detail add versus the hassle and resource-cost of testing UI ?

Cel,

As always, it depends. If there's a requirement that the link contain a label then obviously the test needs to check that a label exists (whether automated or not).

Here are some of the possible things I'd consider with this scenario:

• Is the code dynamically generated or static? For a static "once and done" page, the mark 1 human eyeball might be your best test tool. For a page that dynamically generates the link, not so much: you'd probably be wanting to check that the link delivered the correct version of the installer.
• Implicit requirements - the scenario says "a web browser" - does this mean "any modern browser", or "any browser at all"? Is there a requirement that the page be accessible to text-only browsers? Text-to-speech? (and all the other interesting things that come with accessibility testing for disabled users) Touch screen? Mobile users?
• Preconditions - is this an internet page open to Joe Public, or is it an intranet page that should only be seen by authenticated users?
• Postconditions - does the link actually function? Is there a test scenario for that which depends on this test?
• Miscellaneous implied requirements: does the presentation of the link on the page match the styling of the rest of the page? As written, this test would pass with a bare-bones <a href="ProductSetup.exe">ProductSetup.exe</a> in the page, probably with blue underlining (or possibly purple as the default for a visited link). A link that looked like that would stick out in a bad way on a page that styled things differently and had all tags using classes. Is it in a sensible place on the page (an eyeball test: validating the general page layout)? The list really is endless.

These are all things to consider - it's also quite possible that the scenario as stated is sufficient: it depends on who the users are and the context of the site and feature in test.

In addition to what Kate said, here's one thing I always consider when writing up scenarios:

I am writing them up as an user of the application, so I need to provide all the details that the user would be aware of, and not much more than that. The rest can be handled by the code behind it.