Blog
Try now

The power of the Dynamic Test List

Monday, June 28, 2010 by Christopher Eyhorn | Comments 0

The Test List is a great way to organize tests and get execution results summarized at the Test List level. WebUI Test Studio includes the standard “Static” Test List that allows you to add existing tests from your project, but there is a small maintenance penalty for using the static list because each time you add a new test to your project it must be added to one of the existing test lists.

One of the underlying principals of WebUI Test Studio is to decrease the overall maintenance cost traditionally associated with automated testing.  Within the world of test lists we have done this by creating the Dynamic Test List.  The dynamic test list does exactly as its name implies, it is dynamically generated when called to execute.

Let’s take a walkthrough the process of creating a dynamic test list in our project.  The first thing you do is navigate to the “Test Lists” tab within WebUI Test Studio QA Edition.

image

Next, click the “Dynamic List” button under the add section in the ribbon bar.

image

After opening the “Add Dynamic Test List” dialog, you will notice several fields.  Start with giving your dynamic test list a name.  For this example, I am going to use “Christopher’s Priority 1 Tests”.

image

The next two sections in the dialog are “Rules” and “Results”.  You will notice that by default under “Results” that all tests from our project are being shown in the grid.  This is because we have yet to define any “Rules” for the dynamic test list. 

For this test list I want it to execute all tests that have “Christopher” as the owner and have a priority of “1”.  Under rules we are going to select “Owner” and type in “Christopher” and select the plus button to add.  One thing to notice here is that we can actually use a variety of conditional statements to make our rule even more flexible.  For example, we could specify that our “Owner” “Starts With” “Chris” so that if anyone on the team created a test and put in only “Chris” this list would include all “Chris” and “Christopher” as part of the test list during execution.

image

As soon as you click the add button, notice the results are filtered real time to show us what tests in our project currently meet the rules we have created.  After adding our “Owner” rule, let’s add a rule that further limits our test list to tests that also have a priority of “1”.  Notice below that since “Priority” is a numerical value we get conditional statements that allow us to define ranges.

image

 

Once we add the priority rule, our “Results” are further refined to only test that match both rules.

image

Now that we have defined our Dynamic Test List, each time this test list is executed, it will dynamically query all the tests in our project, based on the rules setup, and execute them rolling the execution results up to the test list level.

Another powerful feature of the dynamic test list is the ability to use your own custom test property as part of the rules of the test list.  For example, let’s say that you want assign each test in your project to a named business requirement.  If you go to the “Project” tab and select the test you can assign the custom property in the “Properties” window as shown below.  In this example, I have given the “DatePicker” test CustomProperty1 value “Business Requirement Foo”.

image

If we move back to our dynamic test list add screen, we can now use this value as a rule.

image

 

The Dynamic Test List adds a tremendous amount power and flexibility in defining what gets executed on your build server or locally.  For large teams that have multiple members building automation, the Dynamic Test List really decreases test list maintenance cost by allowing each team member to only have to modify properties of their tests instead of all the static tests lists in the project.

Stay tuned for more WebUI Test Studio news and features. 

And as always, let us know if you have questions or comments about any of our Automated Testing Tools.

Best Regards,
Christopher

Add comment

  1. Formatting options
       
      
     
     
       
  2. (optional, emails won't be shown on public pages)
  3. (optional)