Twist Workflow names and brittle tests

Comments

3 comments

  • Avatar
    Andy Kemp

    Hi Hazi,


     


    1) The text you are refering to as a "workflow" name is actually the name of the "workflow fixture". I can see how this can sound confusing, there is a important difference that I shall try to explain.


    A "Workflow" is a set of test steps that you create as part of you test scenario.
    A "Workflow Fixture" is a grouping of tests steps that relates to a java file where the java code for these test steps is held. It is good practice to group test steps for releated areas or pages in the same fixture. For example two approaches are that you could store any test steps that relate to a specific page or a specific area of functionality in a specific "workflow fixture", so you might have a fixture called "Login Page" or "Shopping Cart" depending on your approach.
    In order to give your workflow a name and/or a description, you can add this in free text above the workflow.


    2) One key point here is that Twist encourages DRY (don't repeat yourself) principles when you create you tests. When you create a test step in Twist and automate it, you will then reuse that test step in multiple places in your test suite. When the application changes and the tests break you will only have to change the code in a small number of places. If you a describing you tests at the intent level, as per the test in the example, your test suite will break in less places and less code changes will need to be made.


    I also noticed you are linking to the help for a very old version of Twist. The latest Twist help online can be found at http://www.thoughtworks-studios.com/twist-agile-test-automation/2.3/help (the help you get from the help menu in Twist will also be upto date).


    I hope this helps,


    Andy

    0
    Comment actions Permalink
  • Avatar
    Andrew Lee

    The difference between workflow name and workflow fixture name is one of the things that is putting me off Twist.

    This is just the metadata glue that binds a fixture to a workflow but they are given a really prominent emphasis in the scenario editor.

    Having a comma separated list of fixture names plastered across the top of the workflow seems to be distract from the idea that these are tests written for non-technical people- they are a technical implementation detail that is irrelevant to non-technical users.

    Alternatively, having a unique workflow name would be very relevant for non-technical folk.

    0
    Comment actions Permalink
  • Avatar
    Chad Wathington

    Andrew, how are you grouping things into your fixtures?  The best pattern I've seen is to separate conceptual parts of the workflow with line breaks so that the fixture names don't pile up on one line.  In other words:

    OnHomePage:

    • Do X
    • Do Y
    • Validate A

    OnSearchPage:
    • Do C
    • Do Z
    Instead of....

    OnHomePage, OnSearchPage::

    • Do X
    • Do Y
    • Validate A
    • Do C
    • Do Z
    0
    Comment actions Permalink

Please sign in to leave a comment.