ST 0.3 Release Worklist

Session Tester Client Release 0.3

UI Changes: 

  • application defaults to main editing screen. Start new session is a popup.
  • embed JEdit Syntax text editor
  • session document tree view: test session browser
  • custom configuration for user-defined links to tools, cheatsheets resources, scripts, etc
  • view/edit sessions, WYSISWYG and XML views

HTML Report rework:

  • file structure
  • look and feel
  • smooth out workflow

Session Tester Application

  • a more generalized tool for entering, editing and viewing session data, rather than just a tool for capturing session data
  • since we are competing with text editors, we want to have a very basic IDE toolFunction
  • a more generalized tool for entering, editing and viewing session data, rather than just a tool for capturing session data
  • since we are competing with text editors, we want to have a very basic IDE tool
  • add a tree view that allows for the creation and management, and viewing of projects (look at NetBeans for ideas)
  • add WYSISWYG view for viewing and editing previous sessions
  • add XML editing/view for editing, cleaning up previous sessions

Application Behavior

When the application launches, it should load in the default view, shown below. Users can create or edit files much like a text editor, as well as the session behavior that we already have.

Usage/Goals

  • create and keep track of sessions
  • find and edit sessions
  • view sessions to debrief and review past sessions with colleagues
  • organize sessions in projects so they are stored logically in a file system and are easy to find

See: http://wiki.openqa.org/display/ST/Documentation+-+User+Stories+-+Epics

Default View

  • full screen view or use last coordinates and screen size as last time it was run
  • start session button launches the session form

Feature: New Session Popup

This appears when the "Start Session" button is clicked above.


Project

We need to support projects the way an IDE does, Netbeans, Eclipse and IntelliJ have fine examples of this. The project concept requires several inter-related features:

Create Project Structure Feature set

Upon selecting File > New project, or when starting the application for the first time, the user will be asked to create a new project:

Feature: create new or import sessions into project

 

Cancel allows you to continue to the tool - this is optional

Feature: Create New Project Structure

Default view (folder structure greyed out):


If the user would like to define their structure, they can check the "Create Folder Structure" checkbox, and the control is activated.

Note: If the user does not check the "Create Folder Structure" box, they can do all of this from the tree view in the project, or using an "@project_structure" tag
Model explanation:

Testers need to be able to describe a project hierarchy in a variety of ways. I am using a folder structure to express that generic terms.

This allows the user to configure a folder structure

  • Each folder can have multiple sub-folders.
  • Each sub-folder can have multiple sub-folders under it

Testing project definition examples:


Alternate view with more folders:
 

Note: the look and feel of the folder structure mechanism doesn't have to use what is displayed. If a treeview or something else works better, go for it.

Resulting Tree View in Project:

Treeview/Structure Examples
Default is just a single parent folder without creating project structure:

"Session Tester Project"

  • user will need to add sub-folders through the right-click menu, or by using the @project_structure tag
The project hierarchy examples:
  • platform hierarchy
  • version hierarchy
  • scenario hierarchy

From another point of view, the more models we put in (in an incomplete state), the more people can learn from our experience.

Project Metadata

We will need to store a file that has metadata information that Session Tester can read when it loads a project. A project corresponds to a folder structure on a computer, but this can get tricky:

  • local file structure (metadata stored locally works)
  • network drive (path names, connection outages can cause problems)
  • network drive used by others (metadata cannot be stored in root of folder then, should be stored locally)
  • how do handle multiple projects (for 0.3 we will just have one project loaded at a time)

Session File Names

Current: testing_session_2009_3_1_20_32_32_265.xml   question: is this still suitable?

Import from existing sources

Note: this needs work - in the design above, the project name becomes a folder, so I'm not sure how that maps to an existing file directory.

Two Options for Project Hierarchy/Structure Creation

You can create it manually through a new project workflow, by right-click menu/adding folders

Or, you can create it using tags:

@project_structure: feature1/component1/subcomponent1

which gets parsed and stored in the project folder.


Tree View: Right-Click Menu

Right-click menu

  • create new project
  • add folder to current structure
  • create hew session file
  • import session files (to import existing files and convert them to new file format)
  • import missions (to import a list of missions, perhaps not available for 0.3) 
  • generate web report for a project
  • add new folder to project
    • add new subfolder to folder
      • add new subfolder to subfolder

Open Tree-view Questions:

Icons

What icons should we use for the various levels in the Tree View? I suggest standard look for 0.3.

Supported File Types in Tree View

What file types should we be able to use for the release 0.3? I suggest session file only for 0.3. 

Level Handling in Tree View

On which level should we start to be able to add new items in the Tree View?
How many sub levels should we be able to create in a tree view? Do we have specific limitations depending on OS?
Double-click on a level in the tree view should expand the level or collapse it if it is expanded.
It should be possible to have several projects in the root level of the Tree View.

Tool Tips

Should we have any tooltip information when hovering over items in the Tree View?
What tooltip should we have when we hover over a session file in the tree view?


Feature: Embedded Text Editor

  • enable JEdit.syntax library for text editing
  • add session tester tag highlighting
  • investigate other options to possibly enable for a future release: language, file support, others
  • See the jedit work Chris Garrett performed, and implement this in trunk

Note: this could become quite complex. Let's just get it working in the current code base and iterate from there. We only want a small subset of text editor features enabled for now.

I'd like to work on this. I will start looking at Chris's work. /Bjorn


File Menu Options

File
  • New Project
  • Open Project
  • New Session
  • Open Session
  • Import Test Sessions
  • Exit
Report
  • Generate Web Report...
Options
  • Preferences...
Help
  • Cheat Sheet...
  • Help
  • About 

Reporting:

Web Reports

  • clean up the workflow
  • make a nicer looking CSS for better presentation
  • create print-friendly CSS
  • clean up the filesystem interaction:
  • one single folder, rather than a new folder each time a report is run
  • create a better naming convention than the current date-generated file names

I've started to work on this and would like to take part of the development in this work package. /Louise

I added these work packages to you. Feel free to add new tasks that you think are required and we can discuss them. /Martin


Bug Fixes

  • Jonathan and Martin will triage a list for developers to choose from
  • Timer bugs are irritating
  • Some new features will help drive out some bugs, like using the JEdit Syntax

Help and Documentation

This will need to be updated as we add new features. We will need to put in examples of a project structure.


User Configuration

To allow user customization over session tester features such as wiring in links to other test tools (like Perlclip) and resources (like cheatsheets or checklists)

  • add file menu items (Tools, Scripts) with ability to add your own tools (BBEdit uses this)

Installers

Currently, we support the following platforms:

  • Windows
  • Linux
  • Mac

Do we really need a windows installer? The open source one for windows we use is a bit buggy. Why not just unpack an archive folder?


Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.