As soon as we have found a better name for our project we should move this project to a new repository on an organization account such that we can easier collaborate and administrate the account in collaboration.
As a user of scenarioo and as a developer I want to have a simple example at hand that demonstrates how to write webtests that generate documentation content.
Example with Selenium Tests
well structured with page objects and selenium abstraction API
As a user I want to be able to navigate all Use Cases and User Scenarios in the current build.
display a table of all use cases with following informations:
name
description
test class name
number of scenarios
green/red/orange
the table may be filtered
a use case can be selected
display a table of all scenarios of a use case with following informations:
name
description
number of pages
number of steps
red/green/orange
the table may be filtered
a scenario can be selected
there is an additional view to display and search in all user scenarios of all use cases, this additional view combines the use cases view and the scenarios view in one view (searchable table/tree), it is also possible to select a scenario from here
As developers we want to get continuous feedback about quality of our software and have the ability to automatically build a new release each time we checkin a new feature or a bugfix.
This is important to make it easy for other projects to use the ngUSD and have the ability to fix bugs or add important new features fast, in case they need to.
Build runs on a continuous integration server
Build includes automatic tests (unit tests and e2e tests)
Build builds a new release for deployment (downloadable package)
Implementation:
Use a cloud solution for CI, eg. Cloudbees?
As a user I want to navigate different variants of a page from other scenarios.
Additional to the usual forward/back navigation there is an additional (vertical?) navigation to navigate through variants of the same page in other scenarios (up/down)
the navigation displays following information:
number of variants of the page in total
number of this page in this navigation
the user can decide whether to step through variants with only small changes, or to make fast forward/backward to variants with a lot of differences
Needed rest service:
page variants index
the service tries to classify/cluster somehow in variants that have hughe differences and such variants that are only considered as subvariants, this may be realised by diff-distances on diffs of the pages dom-trees, therefore we have to introduce dom-trees on the documentation model (non webapps could just provide another tree structure of their page structures to analyse structural differences of pages)
As a user I want to see some welcome message and have the possibility to get information/help about the most important navigation keys, etc.
When user navigates to the docu for the first time, a welcome popup is displayed with some introduction to the user scenario docu and how to use it (see prototype)
the popup is not displayed when navigating tot he user docu a second time with the same browser (cookie never expiring or so)
the popup can be opened using the "info" or "help" Link in the top navigation
As a web-test writer I want to have the XML schema of the files I have to generate. For Java-Developers, there will be an API (see #48), but the file format should also be easily usable from other platforms.
As a user I want to have a more advanced UI for browsing efficiently through the different variants of the same page.
Some ideas:
a special page variants browsing UI (instead of the current generic "object page" references tree), maybe with kind of a carousel: browsing slowly to see similar variants, browsing fast to jump to variants of the page with huge differences in the screenshot.
clustering of page variants and order page variants by differences: see the most typical differences faster and browse to them.
direct "fast forward" navigation on step page: to go to the next scenario with same page (instead of staying in the same scenario)
Detect page variants that are the same and do not show these more than once (or only if user want to see them)
It has to be clarified first, what the best UI design and behaviour would be, such that the user still understands what is going on to browse inside this clustering of page variants.
As a user I want to search for two (or more) words in the table rows to find use cases or scenarios and other table entries which contain these words (in any order).
Acceptance criterias:
Typing more than one word, separated by spaces, into the filter text box, will find all entries somehow containing these words (in arbitrary order)
Some examples:
"mobile activation" will find rows containing texts like "MobileActivation", "Mobile blabla activation", "Activation for mobile", "MobileBlablaActivation"etc.
The filter search is case insensitive (no matter whether the text is upper or lower case, or mixed, it will find it).
As a user I want to see the call tree on my pages (what code has been executed during last request, down to services).
Display call tree
for each call following information is displayed:
Call name
Call type
request (parameter values or xml)
response
child calls
usual search/filtering inside this tree is possible
possibility to select which type of calls (layers) to display in the tree (in case a user is only interested in one layer/type of calls, e.g. only services, only managers or only struts actions).
As users of the ngUSD we want to have a simple example to see how the docu content that a project has to generate for ngUSD has to be structured.
As developers we want to have some example data, that is checked in and that represents the current expected state of input documentation files.
The example is simple and understandable by everybody
also pictures are contained
also we should provide WSDLs for all XML file types
also update and improve the documentation in the WIKI on what files and directory-structure a build has to generate to provide useful content to the ngUSD