T-WorMS Features by Component

 

TAC WorM (Workflow Management) Features

 

·        Administration Settings

o       The administrator has a variety of configuration options to support customized processes

§         Allow anyone to delete Test Cases vs. allow only those with admin[1] authority to delete them

§         Allow login with no password vs. password required

§         Allow Feature Tree restructuring through drag and drop of nodes (moving Sub-Features and Test Cases to new parents)

§         Force changer of Test Cases to enter the reason for changes vs. allow it but don’t force it.

§         Force users to enter time metrics for running test cases vs. allow but don’t require it

·        Test Case setup time

·        Test Case execution time

·        Test Case tear down time

·        Defect investigation time

§         Encrypt Repository files vs. no encryption

§         Allow limited automatic login to TAC Manual Assistant for Testing (TAC MAT): when running a test, allow the system to “remember” the user’s login for X hours.

§         Tickler default settings when first installed (allows an organization to customize the way Tickler works for all users.)

·        Show Test Cases assigned for review by this user

·        Show Test Cases owned by this user awaiting review

·        Show Test Cases owned by this user awaiting maintenance

·        Show automated test results owned by this user that are unhandled (i.e. no one has signed off on Failed and/or blocked results.)

·        Enter number of days backwards we should check for Unhandled automation results.

·        Hours between Tickler checks (every time WorM is started, it checks to see if Tickler should be run automatically.  If there are X hours since the last time it was run, it will be triggered.)

·        Turn automatic execution of Tickler off / on.

§         Defect default processing

·        Number of expected defects in this release (optional)

·        Allocate defects

o       By proportion: As Test Planner (TP) objects are created, the number of defects they are ‘assigned’ to find varies proportionally with the number of expected defects vs. the number of Test Cases in the TP.

o       Manually by the test manager, taking into account risk areas, etc.

·        Estimated Standard Investigation Time for defects (average number of hours and minutes that it is expected to take to investigate / document / process each defect (for the test team only.)

§         File Repository Path (location on a server that the File Repository will be stored.

§         Artifact Save Base Path: a location on the server to be used as the base directory for storing zipped up artifact[2] files for both automated and manually run Test Cases.

o       ADO connectivity.  This is how the suite tools connect to the backing database.  Currently supports

§         Access

§         SQL Server

o       Multiple Projects / Applications are supported

§         There is complete separation of name spaces

o       Ownership can be transferred from one user to another

§         A single object can be transferred

§         All owned objects can be transferred

§         A user can be deleted from the database

o       Lists can be configured to simplify and customize selections for users.  Available lists:

§         Apps / Projects

§         Automation Sets (groups of automated tests run as a single entity)

§         Supported Automation Tools (commercial or home brew)

§         Releases (per App / Project)

§         Builds [Cycles] (per Release)

§         Test Environments

§         File Categories (for the File Repository cataloguing)

§         Data-Driven script names (Parent and Child)

§         Test Types (classification of different Test Cases)

§         User Names / Roles (accessible only to those with Administrator privledges.)

·        Features / Sub-Features

o       T-WorMS' hierarchical Feature Tree allows an organization to easily map requirements to the software features and sub-features that represent them.

o       The Feature Hierarchy is used to organize Test Cases into a logical and maintainable order

o       Features can be added and deleted as the project evolves, allowing early start with no penalties for changes

o       Features can be hot linked or reference linked back to requirements documents to provide traceability

§         Direct connection to Requirements Management tools may be supported in the future through their APIs.

§         Controls for both a Requirements Document and the location in the document are provided.

o       Quantitative risk assignment is supported in three dimensions

§         Business risk

§         Technical Risk

§         Project risk

o       Feature history table shows evolution of feature.  Each change to a Feature is tracked by requiring (Sub-)Feature changer to enter the reason for the change.

o       Each Feature / Sub-Feature is an object owned by the person who created it (may be transferred to another user)

§         Assigning a (Sub-)Feature to another person may be recursive (i.e. the ownership of all sub-features and tests below the transferred one may also optionally be transferred to the new owner if they are owned by the original person.)

o       Feature defect mechanism allows the suspension of associated Test Cases from running when a feature is broken, not available or not ready for test

o       Features may be deleted, but only if they are a leaf node (i.e. no Sub-Features or Test Cases are directly owned by the (Sub-)Feature.

o       Test Case reports (in Excel) can be created for all Test Cases directly owned by the (Sub-)Feature.

o       All tests directly owned by a (Sub-)Feature can be marked for review

§         May be recursively applied to all Test Cases in the hierarchy below the selected (Sub-)Feature.

§         Allows the selection of reviewers and date for review (see description on Test Case review below.)

o       Owner of (Sub-)Feature and the user who last changed the Feature are tracked.

o       Feature Description (a required field) is a Rich Text Edit that allows formatting the text and inclusion of images, objects, etc.)

o       Future release will allow reversion to earlier versions of the (Sub-)Feature

·        Test Cases

o       Test cases are "assigned" to (Sub-)Features

o       Risk factor is automatically inherited from owning (Sub-)Feature

o       Test information fields are highly configurable to provide more or less data and control as needed

§         Includes several Rich Text Edit fields to allow individualized formatting and inclusion of images if desired           

·        Detailed Description (Common[3] ) [Optional]

·        Test Comments (Common) [Optional]

·        Test Specific (Specific) [Optional]

·        Expected Results (Common) [Optional]

§         Standard Edit fields

·        Estimated[4] setup time for Test Case (Specific) [Optional]

·        Estimated tear down time (Specific) [Optional]

·        Estimated execution time  (Specific) [Optional]

·        DiRT record[5] associated with this Test Case (Specific) [Optional]

·        Relative Order

o       An integer between 0..100

o       Defaults to 50

o       This field is used to indicate relative execution location for the Test Case

o       For automated Test Cases, in general, the smaller this number, the earlier in the suite the Test Case will be run[6].

o       For manual Test Cases, this order is merely advisory.

§         Drop-down List boxes

·        Test Environment (Specific) [Optional]

·        Test Type (Specific) [Optional]

o       Multiple modes for Test Cases are supported:

§         Manual

·        Execution is expected to be performed by manual testers

§         Automation Candidate

·        Execution is eventually expected to be performed though automated means.

·        Until such time as the Test Case is actually automated, it is treated identically to the manual tests.

·        All automated tests start out as Automation Candidate; a test owner may not directly change the execution mode to Automated.  Only a user with Automator authority may change a Test Case from Automation Candidate to Automated.

§         Automated

·        Execution will be performed via some kind of automation tool rather than manually.

·        Automated test cases are still owned by the manual tester; Automators do not take ownership simply because they created an automated way to execute them.

o       Flags are used to indicate Test Case status throughout life cycle

§         Needs Maintenance

·        Set by a QA Engineer or Automator to indicate that the Test Case needs to have work performed on it. 

·        This does not imply that the test case may not be run.  If the Test Case is broken to the extent that it cannot be run, it should be either suspended or marked as NOT Runnable.

§         Needs Review

·        Indicates that this Test Case has been assigned to one or more users for review.

·        A review must be accepted by the owner of the test (or other authorized person) for the Needs Review Flag to be toggled off.

§         Runnable[7]

·        This flag indicates that the test case is ready to run.

·        If the Test Case is manual or an Automation Candidate, when this flag is set to TRUE (checked), the test will be reported in Test Planners as ready to execute (assuming that it is not Suspended (see below.)

·        If the Test Case is automated, it will automatically be available to be executed via automation assuming that the Executable flag is also checked and the Test Case is not Suspended.

·        When a Test Case is created, this flag defaults to FALSE.

·        The user may edit the Test Case any number of times without tracking changes as long as this flag remains FALSE.

·        Once the Test Case is ready for use, the Runnable flag should be set to TRUE.

·        Once this is done, each time the Test Case is edited, the reason for change must be entered and the Test Case is versioned on each change.

·        Once versioning starts it does not stop, even if this flag is toggled back off.

·        This flag generally should not be set to FALSE (unchecked) once it has been set to TRUE. 

o       However, local processes may be designed to use this flag to control execution.  It is better to use the Defect / Suspension mechanism to control the actual running of the test.

·        If there are problems with the Test Case, a Defect record should be opened against it (see below.)

o       If the Test Case should not be executed due to a defect in the Test Case, the Defect Record should be set to Suspend the Test Case.

§         Executable

·        This flag is only used for Automated Test Cases and only the Automator may toggle it.

·        If this flag is set to TRUE (checked) the Test Case is eligible for automated execution assuming that it is also set to Runnable and is NOT Suspended.

·        This flag is initialized to FALSE.

·        It should be toggled to TRUE after a Test Case is fully automated and the automation has been unit tested.

·        This flag generally should not be set to FALSE after it has been set to TRUE.

o       However, local processes may be designed to use this flag to control execution.  It is better to use the Defect / Suspension mechanism to control the actual running of the automated test.

§         Suspended

·        This flag is automatically toggled from off to on based on the Defect mechanism. 

·        Only the Automator may manually change this flag in the Define Automation screen.

·        Creating a Test Defect record against a Test Case does not automatically suspend the test.  There is a setting in the Defect record to indicate whether the Test Case should be suspended or not.

·        Creating a Feature Defect record against any (Sub-)Feature in the hierarchy above a Test Case may suspend that Test Case. 

o       Creating a (Sub-)Feature Defect Record for the (Sub-)Feature that directly owns the Test Case will always cause it to be Suspended.

·        Closing a Defect Record (either Test or Feature) does not necessarily un-suspend the Test Case.

o       The Test Case suspension remains until such time as ALL defect records [that called for Test Case suspension against it] are closed.

o       Tests may have files attached to them (automatically made available at run time from the File Repository)

§         For tests that are automated, the run-time system will automatically download the attached files to the local workstation before the test runs.

§         For manual and automation candidate Test Cases, the MAT tool will automatically download all attached files when the test is started.

o       A tabular manual script can be stored as part of the test object

§         A script is a three column table

·        Test Step

·        Data to use

·        Expected result

§         Scripts are versioned each time they are changed.

§         In the next version of WorM, a user will be able to revert the script back to an earlier version.

§         A script may be printed out in tabular form.

o       Test history table shows all changes made to the Test Case

§         After the test is marked Runnable, each change to the Test Case cause it to be versioned.

§         In the next version of WorM, a user will be empowered to revert a Test Case back to an earlier version.

o       Integrated Test Case review field makes good process easy

§         The owner of a Test Case or any authorized user (Test Lead, Manager, etc.) may assign one or more people to review the Test Case.

§         Each person who is assigned to the review gets notification in their Tickler report of their assignment.

§         A specific due date is assigned for the review.

§         As the Test Case is reviewed, the user adds comments to a running history showing all past review comments with timestamps.

§         After completing the review, the reviewer's name is automatically removed from the Review list.

§         When the last reviewer name is removed from the list (i.e. the last review has been performed), a note indicating the reviews are done is placed in the Tickler report of the Test Case owner.

§         The owner (or authorized person) may accept the existing reviews and remove the Test Case from review at any time.

§         New reviewers may be assigned at any time.

o       Pre-requisite tests can be identified to ensure that a Test Case is only executed when all of its pre-requisite tests have been passed.

§         For automation, pre-requisites are enforced.

·        If an automated test has defined pre-requisites, the run-time system checks to make sure that each and every one of the listed pre-requisite Test Cases both has run and has passed before allowing the Test Case to run.

·        If one or more pre-requisite tests did not run or did not pass, the Test Case will not be allowed to be run.  Instead, it will be marked as blocked and logged as such.

§         For manual Test Cases, pre-requisites are only advisory.

§         The interface makes pre-requisite Test Case selection easy. 

·        A warning is given at selection time if the relative execution order is reversed (i.e. the pre-requisite test has a larger relative order than the Test Case being edited.)

o       Execution frequency guidelines can be set

§         Each Test Case is set to have an execution frequency between 0 (execute every build) and 4 (run only when running Full Regression.) 

§         For automation, the execution frequency is used as a filter.

·        All automated Test Cases that are theoretically available for running are filtered to select only those Test Cases that are included in the specified execution frequency.

·        This scheme allows a user to slice and dice the entire automation test base to select tests to run.

o       The owner of a Test Case can recommend that it be run in one or more Automation Sets.

§         An Auto Set is a group of automated Test Cases that is run as a single entity.

§         The Automator actually selects which Test Cases go in which Auto Sets.

§         The recommendation of a test owner is advisory only, as there may be other criteria known to the Automator in actually selecting the tests.

o       Reports

§         A report may be created to show all of the Run Results ever created for this Test Case (both automated and manual.)

§         A button is available to see the time metrics recorded for all manual runs of a Test Case.  Pressing the button generates this report, allowing the user to refine the times to more closely resemble reality.

§         A report (in Excel) can be generated showing all fields in the Test Case record.

§         See the main Report section below for a complete list of all the T-WorMS reports.

o       DiRT is integrated with WorM to collect, store and track Test Data.

§         A single DiRT record from a Virtual Table may be attached to a Test Case.

§         Because a DiRT record may contain other DiRT records to any desired recursive level, an almost infinite amount of data may be attached to any Test Case as a single reference.

§         There is a button in the Test Case definition screen to automatically open up the DiRT tool (if not already open) and bring up the attached record in Edit mode.

§         There is also a button to bring up the record in View only mode.

§         See DiRT section for more information.

o       Ownership of a Test Case may be transferred to another user.

o       The Test Owner and Last Changer are both listed in the interface.

o       A Test Case can be deleted under certain circumstances:

§         If a user has Admin permissions

§         If the Admin allows, a QA Engineer may delete Test Cases up until the time they are marked Runnable.

§         When a Test Case is deleted, it is placed in an archive.

·        In the next version of WorM, a user will be able to un-archive a Test Case.

o       From a Test Case, a user may elect to go to the Automation Test Evaluation screen.  Pressing this button causes all automated run results for the Test Case to be loaded into the Evaluation Tree and highlights the first one.

o       A button is available and enabled when the Test Case is Linked to other Test Cases.  Pressing the button brings up a report that shows all Test Cases that are linked to it.

·        Feature Tree

o       In the Test Definition screen, this tree view control contains the hierarchical structure containing all of the project Features, Sub-Features, and Test Cases that are defined in the project (subject to filtering.)

o       A filter dialog may be invoked to filter the test cases.

§         (Sub-)Features are not filtered.  Instead, when Test Cases are filtered, all Features and Sub-Features that own no Test Cases are removed from the tree automatically.

§         Filtering may be done by creating a SQL predicate in the Filter dialog.

o       Drag and Drop capabilities

§         A number of actions may be performed in the tree via Drag and Drop (these may also be performed via right mouse click menus)

·        A Test case or branch starting from any Sub-Feature may be moved to another owning (Sub-)Feature by drag and drop with no keyboard key pressed.

·        A Test Case or branch starting from any Sub-Feature may be link copied to any other Sub-Feature by Drag and Drop with the Ctrl key pressed. 

o       Each Sub-Feature is created new in the new position.

o       Each test case will be link copied (the Specific portion of the Test Case is created new, while the Common portion of the test is merely shared.)

o       The original test case is unchanged (other than a link to it being added)

·        A Test Case or branch starting from any Sub-Feature may be cloned to another Sub-Feature.  A clone means that an entire new Test Case is created for each one that is moved.  There is no linking involved.  This is done by Drag and Dropping the branch with the Shift key pressed.

·        A Test Case may be moved to a different position under its parent.

o       This is only available when the tree is not sorted alphabetically.

o       The tree has a right mouse menu, containing items to control the following:

§         The tree may be ordered alphabetically, or it may be ordered in the same order it was created in.

§         The tree may be expanded or collapsed.

§         The tree may be refreshed (reloaded).

§         An individual branch of the tree may be expanded.

§         A user may search for a test case by

·        Specific Key value

·        Sub-string in the Test Case name

§         A user may duplicate an existing Test Case

·        A completely new Test Case is created (no linking is done)

·        The new Test Case is placed as the last test belonging to the Sub-Feature if the tree is not sorted alphabetically.

·        The name of the new Test Case is created by appending [Dup] to the original name.

·        Test Defects

o       WorM contains a complete defect tracking mechanism to manage defects against the Test Case or Feature objects.

o       When a defect record is opened against a Test Case, the user can Suspend the Test Case from running (either automated or manual.)

§         Any number of defect records may be opened against an individual Test Case.

§         If any of the defect records are in the open state and set to suspend the Test Case, then the Test Case will be suspended.

§         Closing a defect record causes the system to re-evaluate whether it should be suspended or not.

§         For automation, suspending a Test Case precludes it from being run, even if all other conditions are such that it should be run.

§         For manual tests, suspending a test does not remove it from the Test Planner; however, when a Test Planner is opened in MAT, it is clearly marked as being suspended.  The reason for the suspension may be called up in a report; the user may then run the test anyway if needed.

§         When creating a defect record and suspending a Test Case, the user may elect to suspend all Test Cases linked to the base Test Case if desired. 

o       This defect tool is not meant to be used for defects found in the System Under Test (SUT.)  Instead, it is used to manage execution, maintenance, and metrics for the testing scaffold.

·        Test Planner

o       Each tester can create test planners for any portion of their work.

o       Each test plan has four specifications

§         Tester name

§         Release

§         Build / Cycle (optional)

§         Environment being tested (optional)

o       Test Cases are added to the test plan from a hierarchical tree

§         Initially, the tree contains all test cases owned by the user.

·        It may be filtered using the same mechanism as the main tree

§         Any test cases may be added to the Test Planner, not just those owned by the user.  This allows a Test Lead or Manager to add or remove Test Cases from an individual Test Planner to do load balancing.

o       The Test Planner Test Cases are rendered in two different tracking controls.

§         A hierarchical tree, with the Feature / Sub-Feature hierarchy

§         A List view in tabular form, showing just the Test Cases

§         Any action (addition, removal, etc.) from one control also affects the other control.

o       Test Cases may be removed from the Test Planner.

§         Removing a Test Case does a provisional removal of the Test Case

·        It is marked for removal, but not removed until the Test Planner is saved.

·        Its estimated time values (see below) are removed from the aggregate to show what the estimated time will be if they are actually removed.

·        This allows “What If” estimates to be made allowing the Test Planner to be tailored for actual conditions.

o       Test Planner keeps a running total of “expected” time values of Test Cases in the plan, allowing each user to tailor their plan for available time.

§         Expected values include

·        Setup time

·        Teardown time

·        Execution time

o       Test planners can be sorted

§         By risk value, so most important tests are prioritized

§         By Common or Specific Key values

§         By Test Case name

o       eXploratory Testing sessions may be added to or removed from the Test Planner (see eXploratory Testing below.)

§         The allocated time for the eXploratory session is added to the Test Planner to help calculate the total testing time the Test Planner represents.

o       A button may be pressed to check for Test Case Pre-requisites.

§         Any Test Cases that have pre-requisite Test Cases that are not in the Test Planner are flagged, ensuring all dependencies of the Test Cases are taken into account.

o       A button can be pressed to jump to the Test Definition for any Test Case in the Test Planner.

o       Ownership of a Test Planner can be transferred.

·        Test Results

o       Simple interface exists for recording test results for manual testing.

o       Automated as well as manual testing run results records are available to be viewed in this interface.

o       A Test Case may be marked as Passed, Failed, Blocked, or Not Run.

o       Each Test Case run can be categorized by:

§         Release

§         Cycle / Build

§         Environment

§         Date of execution

o       Tester is provided with simple interface to enter actual timing metrics.

§         Setup time

§         Execution time

§         Tear down time

o       Actual test results can be compared to expected test results.

o       Free-form Issues and Comments fields allow capturing any test anomalies or issues.

§         Each control is a Rich Text Edit allowing formatting and inclusion of images if desired

o       Defect reference is provided to link defects found and recorded in the central bug tracking system to the T-WorMS Test Case

§         Metric calculations can be done if these are utilized, but they are optional

·        Amount of time spent discovering, refining, and documenting the defect can be tracked directly.

§         Defects may be added or edited.

§         In the future, may link to specific defect tracking tools if useful.

o       Test Artifacts Files may be stored using this interface. 

§         When reviewing a test results record, the artifact file may be unzipped directly using WinZip (if it is on the workstation) or it may be downloaded to the Temporary Manual Directory and unzipped automatically (not using WinZip.)

·        Tickler Report

o       User may receive an automatically generated report of task information including:

§         Tests owned by the logged in user where review is complete but not yet accepted.

§         Owned tests still waiting for review

§         Tests assigned for review to the logged in user

§         Owned tests needing maintenance

§         Unhandled[8] automated test run results

·        Any Test Cases that failed or were blocked in an automated test run within the last X days

o       The report is configurable by user

§         Individual sections may be switched on or off in the Options dialog (See below)

o       This report is automatically generated by WorM on startup.

§         It may be set to only start up every so many X hours, so it does not pop up every time WorM is started.

§         It may also manually be generated by clicking on the menu or toolbar button.

·        File Repository

o       Protected storage of all test deliverable files is provided

o       All files are kept in industry standard Zip files on the server

o       Archives may be password protected if desired.

o       All file actions in Repository are logged.

o       Change control and serialization is enforced

§         A file must be checked out to modify it

·        When it is checked out, no one else may check it out

·        It may be downloaded for Read only use while it is checked out

§         Each modification versions the file, with all versions of the file saved in the archive. 

·        In the next version, a user will be able access previous versions of the file.

§         Each time a file is checked in, the user must give a reason for the change.  These time stamped reasons are kept in a running list.

§         A comment may be entered for any file without checking it out.

§         The file description may be edited without checking it out

§         When a file is checked out, anyone who clicks on that file can see who has it checked out.

o       Files are displayed using configurable categories.

o       Files may be added to the Repository in batch mode: however, each file that is entered must have a description given for that file.

o       Files may be shared by any number of Test Cases.

§         Any number of files may be attached to any Test Case

§         A file may be attached to the Linked portion of a Test Case, which de facto attaches it to each different Linked Test Case

§         A file may be attached to the Specific portion of the Test Case, making it private from any Linked siblings.

o       A file (and its archive) may be deleted from the Repository only if it is not attached to any Test Cases.  As soon as it is attached, it may not be deleted.

o       A file may be checked out by any user.  If that user fails to check the file back in, the file may be forcibly checked back in (essentially, this severs the tie to the checked out file, and makes the last version active again.)

o       A file may be checked in by the person who has it checked out. 

§         A reason for the change must be entered at this time

o       A file may be replaced by another file

§         This has the same effect of checking in a new version of the file without first checking it out.  The file is versioned, the version number is incremented, and the new version is stored.  A reason for change must be made at this time.

o       A file may be downloaded to the local workstation without checking it out.            

§         Obviously, any changes to this file will never be reflected in the Repository

§         If requested, the file may be opened on the local workstation automatically.

o       A report may be generated showing all of the Test Cases that any individual file is attached to.

o       When an automated Test Case is run, all files attached to the test case are downloaded automatically to the local workstation on which the automation is running.

o       When the MAT starts a manual Test Case, it automatically downloads the files to the local workstation.

·        Reports Screens

o       A variety of customizable reports are supplied for all facets of the testing process

o       The data can be exported to a tool like Excel to customize the look and feel

·        Metrics

o       An authorized user can get a real-time snap shot of the project at any time

o       Separate metrics are gathered for

§         Test Plan execution

·        Manual

·        Automated

§         Entire Project

·        Manual

·        Automated

o       Metrics are gathered to assess the state of the project

§         How many tests are awaiting review

§         How many need maintenance

§         How many are affected by defects (Feature and Test)

·        User Options

o       Show warning / Nag messages or don’t

o       Script Report Type: either Excel or Text

o       When testing a command line object WorM can try to automatically open up the result file in Notepad if requested.

o       Tickler options as enumerated above.

·        eXploratory Sessions

o       An eXploratory Session is a planned chunk of unscripted testing. 

§         WorM helps an organization be more structured while performing unscripted testing. 

o       An eXploratory session is categorized according to the following criteria:

§         QA Enginner

§         Release

§         Build / Cycle (Optional)

§         Environment (Optional)

o       These criteria correspond to the categorizations of the Test Planner. 

§         An eXploratory Session is designed to be imported into a Test Planner.  This allows the tester to plan up front for how much unscripted testing is going to be done.

o       Each session has an estimated amount of time assigned, based on hours and minutes.

§         Actual time spent inside a session is recorded through MAT, or it may be entered through this interface.

o       Each session may have a symbolic name assigned.

o       Each session has a Charter.

§         The Charter is a textual description of what the session is supposed to be testing. 

§         Usually this description indicates

·        General areas to be tested

·        Methodology to be used

·        Test data specifics, if applicable

o       Each session has a Notes field.

§         This field is a Rich Text Edit that gives a persistent area to put formatted notes during the actual testing. 

o       Each session has a reference to the artifacts file that is zipped up and stored as described above in Run Results.

o       SUT Defects may be entered in this screen and attached to any session.  The interface is similar to the Run Results defect entry screen.

§         By tracking the defects that are actually found during an eXploratory Session, we can

·        Track the usefulness of the session though metrics.

·        Determine which of the actions taken during the eXploratory session should be scripted into physical Test Cases for future releases.

o       The real value of defining an eXploratory session is using it in MAT.  A full description of how it is used there is found below.

 

TAC MAT (Manual Assistant for Testing) Features

 

  • MAT is a lightweight application designed to facilitate manual test execution
    • MAT helps the manual tester:
      • Get Test Case information from the database
      • Capture information for metrics painlessly
      • Document actions occurring during the testing immediately when they happen
      • Save artifacts created during the test run
      • Create defects against Test Cases as soon as they are found
  • Support via the tool is available for
    • Running assigned Test Cases from Test Planner object
    • Conducting a defined eXploratory Session that might not be associated with a particular Test Planner
  • MAT may be shut down while test is running; remembers its exact state when restarted.
    • Remembers log in information for a limited time after being shut down during a test run (subject to admin setting.)
  • Working with Test Planner
    • Allows the user to open any owned Test Planner
    • Shows all Test Cases in the Test Planner and any run result for this Release / Build / Environment (Build and Environment are only filtered for if they are specified.)
    • Can filter for Manual / Automation Candidate / Automated Test Cases in any combination
    • Can filter to see only Automated Test Cases that are not currently on the run list.
      • This allows the manual tester to manually run automated test cases that are not currently being run via automation
    • Can sort the Test Cases to allow execution in several different ways
      • By Key
      • By Relative Order
      • By Risk
      • By Name
      • By "Can Be Run"
      • By intended Execution Mode (Manual / Automation Candidate / Automated)
    • For any Test Case in the Test Planner, the following information may be retrieved
      • Test defect records that have been written for this Test Case
      • SUT defect records found by this Test Case
      • All Run Results that have ever been created for this Test Case (manual and automated)
      • Show all pre-requisites for this Test Case
      • Show the complete Test Case definition report
      • If the Test Case is marked as being suspended due to any reason, show all of the reasons for suspension.  Reasons may include
        • Why it is marked NOT RUNNABLE
        • Why it is suspended due to Test Defects
        • Why it is suspended due to Feature Defects
        • Why it is marked as NOT Executable (if Automated)
      • A report may also be generated showing the status of all Test Cases in this Test Planner object.
    • Start execution of Test Case
      • The selected Test Case is highlighted and the selection grid is disabled.
      • Empties files from the Temporary Manual Directory (TMD) to ensure no leftovers exist from previous sessions giving a warning if any files are found there.
      • Timestamps the start of the run.
      • Creates the following files for use during the test run
        • Comment.RTF (a file to store comments in during the test run.)
        • Issues.RTF (a file to store Issues in during the test run)
        • TestLog.HTM (Stores general information and “captures” during the run.  Initialized with a snap shot of the memory before the run begins.
      • Tasks that may be performed using MAT during the run:
        • Download all files attached to this Test Case from the Repository to the local workstation.
        • Record general comment.  This is written to file in TMD; after test is run, the contents are moved into the Run Result Record Comments field and stored in the database.
        • Record Issue.  This is written to file in the TMD; after the test is run, the contents are moved into the Run Record Issues field as noted above.
        • Create a test defect record if the Test Case turns out to be defective or causes a problem where it should not be run.
        • Save files to the TMD. 
          • Any files that may prove useful to a tester or developer at a later date can be saved to the TMD (C:\Automate\Temp\Temp Files\).  Sub-directories may be created into the TMD; any structure created will be saved when the files are zipped up.
        • Pop up the manual test script from the Test Case being run.  This may either be printed off, save to file, or left up on the screen to follow the steps.
        • Pick up the DiRT record attached to this test.  Pressing the button causes DiRT to be started (if not already running) and opens it up to the specified record. 
          • If no DiRT record is attached, simply opens DiRT so the user may manually find data.
        • Create a New DiRT Record to store test result information
          • Pops up a list of all DiRT Virtual Tables (VT) and allows the user to select where to put the information.
          • Creates a new record in that VT and puts up a dialog allowing the data to be recorded.
        • Create a snapshot of the entire screen or a single window
          • Allows the user to select from JPEG, GIF or BMP format
          • Minimizes the MAT window, allowing the user to use “Print Screen” or “Alt-PrintScreen” buttons to capture the image in the Clipboard.
          • Click on the normalize button of MAT to grab the picture from the Clipboard.  At this point, the image is placed in a dialog and the user can see what is going to be saved.
          • The user may add a comment to be saved with the image.
          • The image is stored in the selected file format in the TMD.
          • The added comment is placed in the TestLog.HTM file along with a link pointing to the image.
        • Create a snapshot of the current memory conditions on the workstation
          • Press the memory snapshot button to gather the data
          • A dialog is popped for the user to describe why the memory snapshot is being taken.
          • Data is formatted and saved to the TestLog.HTM file along with a Timestamp. 
      • DiRT Data Tracking
        • If the Record Data Version Information Option is turned on (recording data used in a test for regulatory purposes), opening up a DiRT record causes version information to be recorded in one of two ways:
          • If only Reference is requested, the data is versioned inside the database and the version record number is recorded in the TestLog.HTM file.
          • If full data copy is requested, all of the data in the DiRT record is written out to the TestLog.HTM file in Column Name=Data Value format.
    • Stop Execution of the Test Case
      • Pops up the Time Wizard dialog    
        • Shows the elapsed time since the Test Case started being executed
        • Shows the estimated times for this Test Case
          • Setup
          • Execution
          • Tear Down
        • Allows the user to fill in actual times for those three values
      • Pressing OK closes the dialog, opening up the Run Result dialog.  Dialog is preset as follows:
        • Release / Build / Environment are preset based on the Test Planner settings
        • Date is set to today
        • Test Results are preset to Failed
        • If times were entered in the previous dialog, they are preset here
        • Issues are set from the Issues file in the TMD
        • Comments are set from the Comments file in the TMD
        • The Test Artifacts file name is calculated based on
          • The Artifacts base directory from WorM
          • Workstation name
          • Time stamp
          • Test Specific key
        • If there were any defects found during the Test Case run that were entered into the organizational defect tracking tool, the user should enter information on the defect(s) into the Defect Metrics Summary screen
          • Defect tracking number(s) from the tool
          • Defect state (likely “Open”)
          • Amount of time it took to refine, document, and enter the defect
          • A short description of the defect(s)
        • The only other action that the tester needs to do is to set the state of the test case (passed / failed / blocked) and press OK.
          • This saves the run result record
          • All files from the TMD are zipped up into the artifact file named earlier
          • Zip file is stored away
          • All TMD files are deleted
          • The Test Planner record is updated to reflect the result (Passed / Failed / Blocked)
      • When done working with the test plan, the tester must close it.
  • Work with eXploratory Session
    • eXploratory sessions are available when a Test Planner object is not open.  Pressing on the Run eXploratory Session button causes the following actions:
      • A Timestamp is saved off to mark the beginning of the session.
      • A dialog is popped up containing all of the eXploratory session defined for the current user.
      • The user selects the desired session and clicks Open Button
      • If the session had been run before, the system goes out and picks up the Artifacts file as defined in the session record.  It opens the zip file and decompresses all of the files in it and loads them into the TMD.
        • This allows any session to be continued at any time.  All of the artifacts saved after a session is closed are brought back to continue the session.
      • The Notes field from the session record is loaded into an RTF file and also stored in the TMD.
      • A memory snap shot is taken and placed at the end of the TestLog.HTM file.
    • Actions available to the Tester during the eXploratory Session:
      • Record SUT defect
        • Allows the user to enter the identifier, short description, and time involved with refining and documenting the defect
        • This defect will now be associated with the Session record, ensuring that the organization will learn from actions taken during the session.
      • Pick up the DiRT record.  Pressing the button causes DiRT to be started (if not already running)
      • Create a New DiRT Record to store test result information
        • Pops up a list of all DiRT Virtual Tables (VT) and allows the user to select where to put the information.
        • Creates a new record in that VT and puts up a dialog allowing the data to be recorded.
      • Create a snapshot of the entire screen or a single window
        • Allows the user to select from JPEG, GIF or BMP format
        • Minimizes the MAT window, allowing the user to use “Print Screen” or “Alt-PrintScreen” buttons to capture the image in the Clipboard.
        • Click on the restore button of MAT to grab the picture from the Clipboard.  At this point, the image is placed in a dialog and the user can see what is going to be saved.
        • The user may add a comment to be saved with the image.
        • The image is stored in the selected file format in the TMD.
        • The added comment is placed in the TestLog.HTM file along with a link pointing to the image.
      • Create a snapshot of the current memory conditions on the workstation
        • Press the memory snapshot button to gather the data
        • A dialog is popped for the user to describe why the memory snapshot is being taken.
        • Data is formatted and saved to the TestLog.HTM file along with a Timestamp. 
      • Save files to the TMD. 
        • Any files that may prove useful to a tester or developer at a later date can be saved to the TMD (C:\Automate\Temp\Temp Files\).  Sub-directories may be created into the TMD; any structure created will be saved when the files are zipped up.
      • Append to the Notes field
        • Clicking on the Notes button causes a Rich Text Editor to pop up.  It contains all of the information that was previously placed in this field (either from running a Session in MAT or edited directly from inside WorM.)
        • Record any information desired.  Because this is a Rich Text Edit, the text entered may be formatted in any way desired.
        • Close the field.  This causes the information to be re-written to the Notes.RTF file in the TMD.
      • Ending the eXploratory Session
        • Press the Stop button
        • This pops up the Time Wizard (if that option is set on)
          • The Wizard shows the following information
            • Time elapsed since the session began
            • Estimated time that was entered for this Session when it was created
            • Time already recorded for the Session from previous installments
            • Time to record for this session.  If the elapsed time is less than two hours, it will automatically be entered in this field.  Greater than two hours has to be entered manually.
          • Press OK to close the Wizard.
        • The Notes.RTF file is written back to the Notes field in the eXploratory Session record.
        • A final memory snapshot is entered into the TestLog.HTM file.
        • A closing Timestamp is entered in the same file.
        • All of the files in the TMD are zipped up and saved to the Artifact path where it was before.  If this is the first time the session is used, a new name is calculated.
        • All of the files in the TMD are deleted.
        • The MAT interface is returned to normal.

 

 

DiRT (Data Repository for Testing) Features

 

  • DiRT is a data repository and data handling toolset that is fully integrated with the other T-WorMS components
    • DiRT was designed to give Testers an integrated answer for storing their data (instead of our good friend Excel).
    • There are two main tasks that may be performed with DiRT
      • Create Virtual Tables (VTs) to store data in
      • Work with the data in the Virtual Tables
    • In version 2.0 of T-WorMS, DiRT will be the heart of the Action Word / Keyword driven automation architecture.
    • Data in DiRT is stored in the backing database.
  • Creating Virtual Tables
    • A VT can be compared to an Excel spread sheet on steroids. 
    • For creation purposes, a VT is simply a Name space
      • Select the Application / Project that you are working with
      • Select the type of VT you want (Categories are defined in a list and may or may not be specific to the Application selected.)
      • Give it a name.  The VT name cannot be identical to any other table in the namespace.
  • Populating a VT with columns
    • Up to 100 columns are currently definable in a single VT
      • Each column has a number of attributes that must be defined:
        • The type of object the column represents.  There are about 20 different object types, including standard interface controls, different data types, DiRT records, etc.  This list may be added to if desired
        • The maximum size of the data field.  This is defined to allow test data to be defined that will work in the system. 
        • The name of the object / column
        • A GUI map window name (see below for GUI map information) (optional)
        • A GUI map object name (optional)
        • A description of the object / column
      • Some column types are defined as allowing lists to be associated with them.
        • For example, consider if the column object represents a list box.  If you know up front what values that it can take, you can enter them in a list.  When the Virtual Table is rendered in the interface, each object representing something with a list is rendered as a combo box containing the defined list.  Depending on your need, you may set it up so only listed values (or NULL) can be placed in the field; otherwise you can set it so that the user can select an item or enter text directly.
        • The important point is to understand that it is up to the VT creator to define how the data in the object will be handled.  DiRT then enforces the decisions that were made.
        • The goal is to make data entry as easy and accurate as possible.
    • After defining all of the columns, they may be reordered if desired.
  • Working with Data
    • Once a VT has been defined, it may be populated with data.
    • Select the VT desired from the hierarchical tree in the left pane.
    • Click on the Work With Data tab
    • All rows for this VT are shown in the table in this tab.
    • There are several different actions that can be taken on the data in a VT:
      • Create a New Row of data
        • Clicking this button pops up a dialog that renders the VT based on the meta data defined in the VT.
        • Each column is represented by either an edit box or a combo box (any column defined as having a list will be rendered as a combo.)
        • The size of each edit box will be in proportion to the max size of the field as defined in the column.
        • When the mouse cursor is held over a rendered field, the following information is presented in the fly over tool tip:
          • The type of the column
          • The max size of the column data allowed
          • The description that was given to that column
        • The user walks through the dialog and enters data for the columns.
        • Each row of data consists of all of the data defined in this dialog, plus a required comment that explains what this row of data represents (e.g. This row supplies boundary values).
        • After entering the data and the required comment, pressing Save causes the data to be saved to the database.  This row is then appended to the table in the main window tab.
      • Edit an existing row of data
        • Select the row to edit
        • Press the Edit button
        • The dialog that pops up will render the VT the same way; however, this time the data for that row will populate the individual fields.
        • If data is changed in a control, it changes color to show that it has been modified.
        • Changes may be saved – in which case the data will be modified in the database, or changes may be cancelled, ensuring that the database values do not change.
      • View an existing row of data
        • Select the row to view
        • Press the View button
        • The same dialog will pop and render the VT as before, all columns being populated with the data from that row.  All controls are read only.
        • No changes are allowed.
      • Clone an existing record
        • Select a record that you would like to clone.
        • Press the Clone button.
        • The dialog will pop rendering the VT as before.  All of the data from the row will be placed in the columns as before.  All columns are editable.
        • The comment for the row will be initialized as “Clone of the record xxx”
        • Saving the record will create a new record in the database; canceling it will prevent the new record from being written.
      • Delete a record
        • Any record may be deleted from the database by a user with Admin privileges.  Because this may cause significant damage to the testing organization, it should only be done with caution.  Even if a record is deleted, any stored version information is still retained and cannot be deleted.
      • Create a Data Report on a row of data
        • Highlight the row to use
        • A report is created in a Rich Text Edit that may be saved to a file or printed out directly.  The following information is placed in the report:
          • App / Project the row represents
          • Creator of the report
          • Date of the report
          • Number of the row
          • Virtual Table Type (category)
          • Name of the Virtual Table
          • Owner of the VT
          • Last person to change the schema of the VT
          • Timestamp of the last Schema change
          • Owner of the row of data
          • Last person to make a change in the row of data
          • Timestamp of the last data change in the row
          • The description (comment) of the row
          • For each column in the VT, the following data
            • Name of the column
            • Data of the column
      • Create a report on all of the data in the VT
        • Pressing the button causes a report to be created containing all of the data in the VT.  There are three different formats this report may take, based on an Option setting in the Options dialog:
          • An Excel file
          • An HTML file
          • A CSV file stored in *.TXT format.
    • Short cuts
      • In the Define Table tab:
        • Jump to a record
          • Type in the key number of a record and press the Edit button and the record will be opened in Edit mode
          • Press the View button, and the record will be opened up in View Mode.
        • Create a report on a version record. 
          • A version record is created inside the database when data is accessed and the versioning is turned on.
          • Typing the version key number in the control and clicking the button creates a report containing:
            • The record number that is represented (i.e. the actual data row)
            • The version key (the number typed in to get the report.)
            • The VT represented by the record
            • The name of the last person to change the VT schema
            • The Timestamp that represents when the VT schema was last changed
            • The name of the last person to change the data in the row
            • The Timestamp that represents when the data was last changed.
            • The description (comment) on the data row
            • For each column in the table
              • The name of the column
              • The data in that column
  • Working with Lists
    • There are several different lists that may be configured
      • Apps / Projects (shared with WorM and MAT)
      • VT Categories
      • User Names (shared with WorM and MAT)
      • Object / Column types
  • GUI Map Information for Automation
    • One common way to name data columns is to use the actual control names where the data is going to be used (when dealing with GUI testing.)
    • DiRT is made to work with many different automation tools.
      • Most tools use the idea of “naming indirection”, where each object is given a logical name that maps to its physical description.  That way, when changes occur in the physical description, they do not affect the automation code which identifies the control via its logical name.
      • DiRT allows a “GUI map” to be read in so that the logical (GUI) names may be associated with the data that is going to be placed in them.
      • For each Automation tool that uses a file-based GUI map (Segue Silk, Mercury WinRunner), DiRT will be able to read in the GUI map directly.
      • For Database-based automation tools (i.e. QA Run, Test Partner), DiRT will be able to read the data tables that contain the logical names.
      • For other tools (i.e. Robot) and home-brew type tools, TAC recommends creating logical name mapping files in INI style.  DiRT already reads in files of this form.
      • When GUI map information is available, DiRT makes that data available to the VT designer; each object / column that is created may be associated with a GUI map Window  and Object.
  • Notes for the Geeks
    • Each row of data implicitly contains the entire VT schema in it.  Since each row of data is unique (has a key value), it may belong to any one of the VTs in the entire database and no other. 
      • Given a single row of data in DiRT, you can define the project, VT, and schema automatically.  This allows an enormous amount of data, and the meta data describing it, to be encoded into a single integer (the key value for the row.)
      • No, you won't need to know this later.

 

Automation and TAC T-API (Test Automation Programming Interface) Features

 

·        Define Automation Screen

o       Automator interaction with manual testers is facilitated to simplify process

o       Automatic creation of script templates for any automation tool for test cases is provided

o       Simplified creation of both singleton and data-driven (DD) automated testing is supported       

o       Tests can be assigned to Automation Sets based on organizational needs and tester recommendations

o       A single point of control exists for removing / reading test cases from active status

o       DiRT is fully integrated to simplify data access and capture for automation

o       Running scripts have full access to any command line functionality during run

·        Automation  Integration

o       TAC T-API (Test & Automation Consulting LLC Test – Automation Programming Interface.) is used to supply integration with commercial tools

§         The software consists of sets of DLLs, database tables, Excel spread-sheets, native automation tool code that has been developed over the last 10 years.

§         The software has been customized for most commercial automation tools

§         Features have been included to solve weaknesses of each tool

o       A sophisticated external logging system is included

o       Screen and window snap-shots are available on demand and may be saved off to use as reference images

o       The tool automatically enforces test pre-requisites and will not allow a test case to run if all of its pre-requisites have not run and passed

o       Exception handling and recovery is built in

o       All artifacts created by the test running are automatically zipped and stored

§         Complete evaluation after the run (if needed) is facilitated

·        Run Automation Screen

o       All automation candidate tests are automatically reviewed to ensure only tests that should run are run

o       Tests are selected to run based on a variety of selection options

o       The automation suite can be started now or by timer without leaving WorM

o       The automation suite is designed to work with almost any commercial tool

o       Suites can be restarted  after they are stopped (either voluntarily or due to catastrophic failure) without causing completed tests to be re-run

o       All tests that were failed or blocked on a previous suite run can be re-run easily

·        Test Evaluation Screen

o       Test owners may easily evaluate their automated test runs

o       Real-time access is provided to show all tests run throughout the organization from any workstation – easy filtering to find any run

o       Simple access is provided to

§         Logs created at run time

§         Screen snap-shots taken during run – and reference images with comparison utilities and composite image creation

§         All files created during the test run

§         Re-run any command-line tools that were run

§         Complete memory stats for the workstation the test was run on

·        Total memory

·        Snap-shot of memory before Test Case ran

·        Snap-shot of memory after Test Case ran

o       The ability to flag each result record as handled / unhandled, allowing effective triage of results.

 

 

 

 

 



[1] There are 4 levels of security authority on uses.  Developer, QA Engineer, Automator, and Administrator.  Permissions for them will be discussed below.

[2] Artifacts are defined as files created during the test process that are worthy of being saved.  These may include: screen snap shots, output files generated by command line tools, partial product files generated by the testing process, logging information for the workstation, etc.  Artifacts are made available to users who are reviewing run results.

[3] A linked Test Case is one that shares some fields with other Test Cases to which it is linked.  Linking Test Cases is performed in the Feature Tree and described below.)  The ability to link Test Cases is to provide an easy way to manage related test cases where the functionality of the tests is repeated in a different context.  By creating a base test, and then Link Copying it to other places, a user may simplify the maintenance of all the Test Cases.  Each Test Case field is defined as either being Common (shared with all other Linked Test Cases) or Specific (visible by only a single Test Case and not shared with any other.)

[4] When recording Test Results, the user may enter the actual times taken during the execution.  This allows the estimates to be refined from release to release.

[5] A Data Repository for Testing (DiRT) record is a way of linking an unlimited amount of data directly to the Test Case.  This topic will be covered below.

[6] The relative order scheme was chosen to avoid having to micro-manage the execution order of test cases in automation.  The default value is 50.  All tests that have the same Relative Order are executed in unspecified order.  To ensure that one Test Case runs before another Test Case, simply give it a lower Relative Order.  In general, automated test cases should be designed not to have too many dependencies on other tests.  However, since there are sometimes dependencies, this scheme allows them to be easily managed.

[7] For manual test cases, two flags control whether a Test Case is available for execution.  If the Runnable flag is FALSE (unchecked) OR the Suspended Flag is TRUE, the Test Case is deemed as not being available for execution.  This allows a user to control the testing proactively.

[8] Unhandled refers to a failed or a blocked test that has not yet been looked at or investigated as to why it did not pass.  Either an Automator or the test owner may look at the automation run result record and mark it as Handled if they understand (and react to) the failure reason.