User Guide

From STIQ
Jump to: navigation, search

Introduction

This document describes the process for using StoryTestIQ (STIQ) for creation of acceptance tests. It is our hope that once you have experienced STIQ’s ease of use that it will become your de facto acceptance test framework and that you too will become a STIQ ‘evangelist’.

Who Should Read This?

If you are starting a new web development project on any platform including .NET, Java/J2EE, Python, PHP, PERL, or just plain old (D)HTML then STIQ will be an added value to your project. The STIQ acceptance test framework can be used to show modified and additional functionality within your web application. If used in conjunction with Test Driven Development (TDD) you may find this as a useful way to show your customer what the web application will look like at the beginning of any iteration. Once the customer is satisfied with the tests, you can develop against those tests and make them pass which should somewhat correlate with successfully completing the iteration goal.

User Interface

STIQ's user interface is very simular to FitNesse's interface. The following functions are available and behave similarly in the Navigation, Suite and Test panes of the UI.

Icon Function Behavior
Edit.gif Edit Opens the current page for editing.
Properties.gif Properties Opens the properties.xml file for the current page for editing.
Refactor.gif Refactor Opens a page that allows you to delete, rename or move the current page.
OpenInWindow.gif Open In Window Opens the current page in a new window. This is useful for editing as it provides full-screen views.
UpToParent.gif Up To Parent Navigates to the parent of the tree of the current page.
NewStiqPage.gif New Page Opens a page wherein you provide the specifications for a new page (i.e. page name, page type).
Refresh.gif Refresh Refreshes the current pane view.

UI View

Stiq2 screenshot.png

The UI can be described as containing five distinct sections, divided first horizontally; then vertically.

The upper horizontal section contains four vertical panes that are used for building the test directory structure, suites, test cases and finally for controlling test execution.

The panes are, from left to right, as follows:

Pane Description
Navigation A tree view of the physical directory structure and the virtual structure created by tag suites.
Suite Typically contains a suite of tests, allowing easy navigation to the individual test. Displayed by the widget !suite.
Tests Intended for the display (STIQ rendering) of a test. Test may be edited within this window, and other test file manipulations may be performed.
Controls The test execution is controlled from this pane.

The lower horizontal section contains one pane in which Application Under Test (AUT pane) is displayed as execution of the STIQ test progresses.

The Navigation, Suite, & Tests panes have a menu bar at their top. The Controls pane does not contain the menu bar; is labeled Execute Tests and contains the main controls for running test.


Icon Function Behavior
All.png
Run All Tests
Executes all the tests listed in the Suite pane.
Selected.png
Run Selected Test
Executes the test selected in the Suite pane and visible in the Tests pane.
Pause.png
Pause/Continue
Allows the user to Pause or Continue the test and is typically used in concert with the Step control.
Step.png
Step
Executes the test one table row at a time and the user must click the Pause/Continue button to execute the highlighted row in the test table.
Speed.jpg
Adjust Speed
Allows you to adjust the speed that each table row is executed for the test.

Physical vs Logical structure

Within the UI, each test page/folder/component of the logical structure is defined by a physical directory, and within that directory a contents.txt file and a properties.xml file in the physical file structure.

STIQ Test Properties

Within the folders created for each wiki page is a properties.xml file. This file is manipulated by the Properties function on the menu Properties.gif. The properties file controls things such as the STIQ Page Types, Actions, Navigation, and Security of each test page.

If you click on the Properties icon Properties.gif you will be able to edit the properties file for a test (or container or component).

The STIQ Page Type check-boxes control the icon that is displayed within the Navigation pane (first pane).

The Actions check-boxes control the actions that are displayed in the menu bar for the test. Don't ask me how this work's it's magic, maybe the FitNesse people know. For example, typically the STIQ Test will not have the Test action checked!

Essential Widgets

STIQ uses widgets from the FitNesse tool and has extended these widgets to create some that are unique to STIQ.

Wikipedia defines Web widgets as a piece of embedded code on a website, containing content that is not static.

Widgets are easy to spot in the source code of a STIQ test page, they begin with an exclamation mark (!) and then the widget name. The widget is rendered in various ways, that depends upon its functional purpose.

Widgets Currently used in STIQ

!comments
Displays a table of comments which are aggregated from the current and child pages.
!components
Displays a table of componets which are aggregated from the current and child pages.
!contents
Displays a table-of-contents of the sub-tree.
!contentstree
Displays a table-of-contents of the sub-tree with icon decorations.
!define
Define a variable.
!include
Includes another page (or component) into the current page, enabling reusability.
!random
Displays a random number value.
!suite
Displays a table containing a list of test suites or test cases which are children of this suite page.
!tag
Marks a test with a keyword or tag.
!tagsuite
Displays a table containing a list of test suites or test cases which have been ‘tagged’ with the name of the suite. |

Base Selenium Commands (Selenese)

Please refer to the following pages for more information:

Database Connection and SQL Execution

See SQL Commands for more information.