Much like every site on the internet, we use cookies to help analyze traffic and improve our website. As outlined in our privacy policy, any information is only used internally and is not shared with outside organizations.
Learn More

What Happened?

We woke up to a nice little surprise a few days ago… our web host of 10 years had mysteriously started turning off our servers!  First to go was e-mail delivery, and that’s what tipped us off to the problem.  It turns out our web host had migrated our account to a new platform a couple of months ago, but failed to tell us.  Not only did communication fall apart, their migration was a total failure.  They copied some files… that’s about all the credit they get.  None of our web services worked, the server was configured incorrectly, our database was empty, and their control panel tools were useless!

After juggling support from multiple contacts, we quickly realized this was a situation we never wanted to be in again.  We abandoned any effort to get our site working on their new platform and looked for greener pastures.  And boy did we find them!

A Brave New World

A lot can change in 10 years.  When it comes to technology, 10 years is like a lifetime.  Needless to say, the landscape has improved greatly!  We settled on building all new web apps on Microsoft’s cloud computing platform, Azure.  The service is amazing and highly recommended for anyone looking for web hosting.  We’ve also migrated our email handling to new Microsoft-powered cloud services, and everything is working great!

How Does This Impact You?

For the most part, there is no impact.  The same web address gets automagically ported to our new servers.  We’ve tried to re-write any old URL’s that were no longer valid, so those bookmarks will keep working.  Two important aspects did change, however.

We needed to relocate some of our web services into stand alone web apps.  This is a much better design, but does break compatibility with prior applications.  Most importantly, this impacts web-based license activation.  The “check for updates” feature will also stop working, but you will continue to get news alerts on the Start Page.

Test Design Studio v3.0.7020 and higher will support the new server, and you can download it now.  All users who have ever owned a license to v3.0 will be able to upgrade to this release even if your maintenance has expired.  **There is not an upgrade path for Test Design Studio v2.5 or prior releases!**  You will still be able to activate your licenses, but the activations will need to be performed manually.  Contact support@patterson-consulting.net if you have concerns about applying any legacy licenses or if you want to explore options to reinstate your maintenance.

The Concurrent License Server is also impacted by the change to the licensing service, and we will be working on a fix in the near future.  Concurrent licenses of Test Design Studio will continue to operate without issue on an already activated Concurrent License Server instance.  If you have immediate license activation needs, please contact support@patterson-consulting.net and we will make sure your request is handled.

Overview

Some users may receive an error message about an 'OutOfMemory' exception while building documentation.  The error message will be similar to the following:

Unable to build documentation.  An error was encountered while merging XML documenation.  Exception of type 'System.OutOfMemoryException' was thrown.

This error is typical when large projects (or solutions with multiple projects) are being documented and the XML file that is generated for the documenter contains too much information.  To prevent the error, the size of the merged XML file must be reduced.

Solution

The primary solution is to remove source code from the generated document.  The inclusion of source code can cause signficant bloat to the size of the XML file used for documenting.

The Default setting is to include source code, so you will need to use the Custom setting to turn off the source code.  When using the Documenter Wizard, you will need to select 'Custom settings' on the 'Configuration Style' page.  On the 'General Options' page, you will then need to clear the box labeled 'Include source code' under the 'Other Settings' section.  This option is also available on the 'Documenter' tab of the Property Pages for the project.

Overview

The Network License Monitor must be installed on a machine that will be accessible from other machines on the network that will need licenses managed by the Network License Monitor.  It may be installed either on a workstation or a server.

Installation Requirements

The Network License Monitor is built using Microsoft .NET Framework 3.0, so you must have that version of the framework or newer installed.  Any operating system that support that version of the .NET Framework may be used (i.e. Windows XP, Windows Vista, Windows 7, Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, and newer versions of Client and Server OS).

A user with administrator access will need to be used to install the software and configure the license.  Elevated privileges will be required on operating systems with UAC enabled.

Installing the Software

The current release of the Concurrent License Monitor application should be downloaded from our Downloads page

To install the software, simply execute the ConcurrentLicenseMonitor.msi installer package and follow the on-screen prompts.

After the installation is complete, you will need to manually copy the license file (*.lic) to the installation folder of the Network License Monitor (i.e. C:\Program Files\Patterson Consulting\Concurrent License Monitor on 32-bit operating system, or C:\Program Files (x86)\Patterson Consulting\Concurrent License Monitor on 64-bit operating system).  Contact 'support@patterson-consulting.net' if you have not received your license file.  This file is typically called 'monitor.lic' or 'monitor.x.x.lic' (where the 'x' values represent a version of the monitor software, e.g. 'monitor.1.1.lic').

Applying the License and Verifying Functionality

To apply the license, you will need to start the Concurrent License Monitor GUI application.  You may do so by selecting the corresponding entry from the Program Files -> Patterson Consulting -> Concurrent License Monitor program files folder.

Upon launching the application, you will be prompted to register your software.  If you do not receive a registration prompt, your license is likely not configured properly or was not copied to the proper folder.

Complete the registration form by entering the serial number that was supplied along with your license and click Next.  This will display the activation screen.

The activation process will tie your serial number to the specific machine where you perform the activation.  In most cases, you may activate your software using our on-line activation server.  Otherwise, you will need to manually request an activation code.  Follow the prompts on the wizard interface to determine the 'Machine Code' for your installation.  E-mail that 'Machine Code' to 'support@patterson-consulting.net' and we will provide you with the corresponding 'Activation Code'.

Once registration is complete, you will see a log entry in the application indicating the status of the application monitor.  The log messages will include the TCP Port being used by the application and the details of the applications which are licensed to the monitor.  If you do not see this information along with entry 'Server Activated' in the log, your monitor is probably not working properly.  Ensure the TCP Port in the log is available for use.  Contact 'support@patterson-consulting.net' for additional assistance.

Changing the TCP Port

If you are unable to use the default TCP Port, you may change it.  Currently, the only way to modify the TCP Port is to edit the system registry.  Using a tool like 'regedit', locate the following registry key

HKEY_LOCAL_MACHINE\SOFTWARE\Patterson Consulting\Concurrent License Monitor

This key will have a string value called TcpPort.  Update the value in the registry and close the registry editing tool.  Stop/Restart the monitor using the Ribbon commands on the application and the monitor will use the newly defined port.

Firewall Protection

If your monitor is installed behind a software/hardware firewall, you will need to configure the TCP Port for access through the firewall.  Without access, clients will not be able to request a license.

Configuring the Client

You will be provided a license file for each client that will connect to the license monitor.  Follow the license instructions for the client to apply the license file.  When prompted, enter the name of the host running the network monitor and the TCP Port that has been configured for use (Default = 8085).

With the Concurrent License Monitor application running, attempt to launch a client application that is managed by the monitor.  The log will display connection attempts and license validation data.  If no request information is displayed in the log, verify the following:

  1. The client has been configured with the concurrent license file
  2. The client has been configured with the proper host name and TCP Port
  3. A firewall is not blocking the TCP Port on the server or the client

 

For more details on configuring the Client, refer to the following Knowledge Base article:

Configure Client for Concurrent License

Installing Monitor as a Service

While the Concurrent License Monitor application provides some useful information about the activity of the monitor, it must remain running for clients to be able to request a license.  In most cases, the application is used to verify the monitor is running properly.  Once proper operation is complete, you may install the application as a Windows Service.

To install the service, select 'Install Service' from the Program Files group where the Concurrent License Monitor was setup, or execute 'InstallService.bat' from the application installation folder.  This will configure Windows to recognize the service.  The service will be listed as Patterson Consulting Concurrent License Monitor.  You will need to start this service in order to process license requests.  If necessary, contact your Windows administration group for details on configuring a service to start automatically and/or use a specific account for authentication.  If you ever experience issues processing licenses from the service, stop the service and launch the GUI-based application.  The log data in the application will help debug the issue.

Uninstalling Monitor as a Service

To uninstall the service, select 'Uninstall Service' from the Program Files group where the Concurrent License Monitor was setup, or execute 'UninstallService.bat' from the application installation folder.

Some installations of the HTML Help Compiler will report the error code HHC6003 referencing file itircl.dll. In fact, QuickTest® Professional has a documented issue where this error is often received after installing QuickTest® Professional. This is typically caused by the itcc.dll file being missing or improperly registered. Check if the following file exists on your system:

C:\Windows\System32\itcc.dll

If it does not exist, use the links above to download and re-install the HTML Help Workshop. If it does exist, it probably just needs to be re-registered on your system. You can re-register the file by executing the following command from a Command prompt or the Run window.

regsvr32 C:\Windows\System32\itcc.dll

Note:   The exact path to the itcc.dll file may vary based on your system configuration.

Overview

Test Design Studio offers a concurrent license model.  Under this model, you configure a Concurrent License Monitor application that is responsible for tracking the total number of licenses that are in use.  Each Test Design Studio client is then configured to request a license from the monitor application.  The steps below define how to configure the license.

Information You Need

In order to connect to the Concurrent License Monitor, you will need to know the host name of the monitor as well as the TCP port number that has been configured to listen to license requests.  The default port number is 8085.  You will also need a license file that was distributed to your company for use with the concurrent license monitor.  This file is typically called 'tds20.concurrent.lic'.
In summary, you will need:

  • Host Name of Concurrent License Monitor
  • TCP Port Number
  • License File

Step 1 - Install Test Design Studio

Install the latest release of the Test Design Studio application for which you have a license.  The same installer is used for any of the license models.  After installation is complete, launch Test Design Studio.

Step 2 - License Wizard


When you launch Test Design Studio without a license already configured, the License Wizard will be displayed.  Click the 'Next' button to continue.

Step 3 - Choose Your License Model


For the concurrent license model, you will be configuring the License File that was provided to your oganization.  Select the option for 'I Have a License File to Apply'.

Step 4 - Apply License File


In the space provided, specify the full path of the License File that was provided to your organization.  You may use the 'Browse...' button to help locate the file.  When the full path has been entered, click the 'Next' button to continue.

Step 5 - Concurrent License Configuration


Since your license file is based on a concurrent license model, you will need to provide the 'Host Name' and 'TCP Port' that correspond to your Concurrent License Monitor.  When the information has been entered, click 'Next' to continue.

Step 6 - License Validated


If all the information has been correctly entered, you will receive a 'License Validated' confirmation.  If you do not receive this confirmation, confirm that you entered the correct 'Host Name' and 'TCP Port' for your Concurrent License Monitor.

 

Overview

Since HTML Help files use HTML technology, there is a potential security risk opening and displaying the HTML content. Most newer releases of Internet Explorer will only allow you to open the file if it is stored locally on your machine (not on a remote drive). Unfortunately, the HTML Help system does not provide a meaningful error message.

When a file is being blocked, you will typically see a screen similar to the following:

To open the file, you will either need to copy it to your local hard drive or, if supported, unblock the file.

Unblocking a File

If supported by your system, you may be required to unblock a file before it can be viewed. To unblock a file, right-click the file icon and select Properties to display the Properties dialog for your file.

If your system supports it, you may see an Unblock button. Click this button to unblock the file.

If you are not already following Joe Colantonio's excellent automation podcast called Test Talks, Episode 103 is a great place to start.  This podcast featured noted automation expert and "Dark Arts Automation Engineer" Paul Grossman, and we were honored that Paul mentioned Test Design Studio and this company's founder, Boyd Patterson, in his list of mentors and recommendations.

What exactly did Paul have to say?  He highlighted Test Design Studio’s unique static code analysis feature for VBScript saying “Nobody else has that!  I’ve Googled it.  It’s not there.”  Thanks, Paul!  We’ve Googled it, too, and have to agree.

You can read more about static code analysis in Test Design Studio here if you want to see what has Paul so excited.

As our way of saying thanks to both Joe and Paul for this mention, we’re giving away a FREE seat license of Test Design Studio!  All you have to do to enter:

  1. Listen to Test Talks Episode 103
  2. Leave a comment at the bottom of the episode 103 page
  3. Joe will randomly pick someone from the comment list on June 20, 2016 to receive the free license (extended from previous date of June 13)

 

The seat license includes 1 year of maintenance and support and can be used for personal or commercial use.  The only restriction is the license cannot be sold or transferred.  Good luck!

It’s been a long journey, but we are pleased to announce the general availability of Test Design Studio 3.0!

tds_small

If you have not already, please read our post about the new focus for Test Design Studio to understand how we got here and where we are going.  That post also highlights the most significant change in functionality in this release; connecting to ALM\Quality Center servers.  This is a transformational release, so check our release notes about some functionality which, unfortunately, needed to be deprecated in order for us to move the product forward.

Download Now

The new release is available to download right now from our Downloads Page and all users are strongly encouraged to upgrade if you can.

How to Upgrade

Customers with an active maintenance agreement can upgrade to Test Design Studio 3.0 at no additional charge (see below for details on licenses)!  Customers without an active maintenance agreement are encouraged to evaluate the new release and our new focus for Test Design Studio to see if they want to come back.  Then you can contact sales@patterson-consulting.net to discuss options to upgrade to the latest version at promotional rates.

First and foremost, the requirements for running Test Design Studio have changed since the last release.  Primarily, this involves a shift to Microsoft .NET Framework 4.5, so you must first install the right version of .NET Framework before you can install and use Test Design Studio.  The newer .NET Framework also means Windows XP is no longer supported, so users on that operating system should continue to use v2.5.  Test Design Studio 3.0 will run on any system that is supported by .NET Framework 4.5.

Acquiring New Licenses

In the coming days, all existing customers with an active maintenance will have updated license information sent to their primary contact.  If you have not received your new license or want to upgrade sooner, simply contact support@patterson-consulting.net to inquire about the new license.  You can go ahead and install Test Design Studio 3.0 today and use the included 20-day trial until your new license is available.

Users with seat licenses will receive new serial numbers that begin with “TDS30”.  The old serial numbers will not work with the latest version, so you must acquire, register, and activate the software with a new serial number.

Users with concurrent licenses will receive a new license file for use on each client, but your license server will not require any updates.

Wrap Up

We hope you enjoy this new release of Test Design Studio, and we are already working on the next round of feature updates due later this year.  We look forward to any and all feedback you might have about the release.

It is with great pleasure that we announce the pending arrival of Test Design Studio 3, and the following is a glimpse of what is to come:

image

A New Focus

Those who have been using Test Design Studio for a while know that the idea of what would be TDS 3 has shifted over time.  Our initial goal was to take TDS into the future with an entirely rebuilt user-interface and re-architected back-end services.  That undertaking proved to be bigger and more complicated than expected, and resulted in one delay after another.  As time wore on and we analyzed each part of the system, we realized what we already had was pretty great.  The passion and commitment to build a first-class editing experience for QuickTest Professional code authors was prevalent throughout, and could not be ignored.  Instead of making our loyal fans wait any longer for the new release, we decided to refocus our efforts on bringing the already great application forward into the expectations of today.

We started with the user interface.  While purely aesthetic, the appearance of an application is something that impacts every user during every moment they are using the software.  The moment the TDS splash screen goes away, you are presented with a clean and modern UI.  Gradient effects of yester-year have been replaced with a flat and clean appearance that result in fewer visual distractions and improved focus on your work.

What came next was a tremendous effort that, had we not told you, you may never have known.  We refactored our code.  A lot of code!  Test Design Studio was first built in the age of .NET Framework 1.1, and the .NET Framework has seen significant improvements since.  Design choices that had to be made based on the limitations of the early .NET Framework were no longer necessary.  There was functionality written for TDS v1.0 that had exceeded its relevancy or had eventually gone in a different direction through the iterations of our software.  We looked at everything with fresh eyes and adjusted the design as needed.  Even many of the rewritten subsystems for the new design were incorporated into the existing design where possible.  What was the result?  The code is now cleaner and more structured.  This translates to easier debugging, reduced maintenance, eradication of many existing bugs, and increased confidence to make changes without introducing regressions.

A New Integration

Perhaps the largest user-facing difference in this release over prior releases is a change to how we integrate with HP Quality Center or Application Lifecycle Management (ALM).  Many would be surprised to know that TDS 2.5 still fully works with Mercury TestDirector 8.0!  It is easy to forget that TestDirector did not support the single authentication point we have today.  A user switching projects would have to exit their current project, select a new project, and login again with potentially different credentials.  The server- and project-centric integration design within TDS was based on that original functionality from TestDirector.  As TestDirector changed names to Quality Center and beyond, we continued to support the previous versions while tweaking our integrations to support their evolved systems.  One such change was the authentication model shift which occurred in Quality Center 9.0.  While moving TDS forward, those decisions from the past and desire for backwards compatibility still influenced our integration.

Since use of those legacy systems has sunset, we have reached a point where no supported version of Quality Center or ALM requires that older design.  Today, we are happy to announce that TDS 3 has refocused and streamlined your integration with Quality Center and ALM into a single connection dialog.

image

You no longer have to step through the Connection Wizard to define a server and configure your account.  Instead, you are presented with a simple authentication window that is familiar to how other tools also integrate with ALM.  Changing ALM servers is now as easy as just changing your connection.  File references which are stored by TDS will still note the server from which they originated, but will always use the current server connection.  What hasn’t changed is the ability to interact with multiple projects after connecting to the server.  While ALM integrations like that found in Unified Functional Testing require you to build a connection to an individual project, TDS will still independently manage individual connections so that you can simultaneously work with content from multiple projects.

Even with our changes, we still maintain a high degree of backward compatibility and are happy to continue support for Quality Center 10 and all versions of Application Lifecycle Management.

Continuing with the theme of refocusing our efforts, this release of TDS will remove some functionality related to ALM that was not core to this product.  Test Design Studio has always been about coding tests.  It’s right there in the name.  Yet over time, the software became bloated with features related to ALM administration.  Most of this functionality required Site Administrator access in ALM which was managed through a completely separate API.  Other features, like interacting with ALM workflow scripts, required changing parameters on the server that could impact the security of your system.  To put TDS on a new track of growth and evolution, we had to leave those administrative features behind and focus our integration on that which was necessary for strong test design.

A New Commitment

Our new commitment starts with an admission.  Our choice to execute a complete rebuild of Test Design Studio was wrong.  While our hearts were in the right place and we had the right goal in mind, we simply charted the wrong path.  We still believe in that future for TDS, but will use a more iterative approach to get there.  A new plan has already been put in place to make that happen, and it starts with more frequent application updates.  In this new day of continuous improvement, we are letting go of the idea of a “major release”.  Instead of holding back new features in an effort to group them into a major release, we will release those features as they are ready.  Our goal is to provide a new release of TDS every 4-6 months.  The first release of a new year will receive a major version number increase, while subsequent releases that year will receive a minor version number increase.  TDS 3.0 will be released very soon and followed later this year by TDS 3.1 or even TDS 3.2.  Next year will bring TDS 4.0, 4.1, and so on.  Customers will receive these new releases at no additional charge as part of their ongoing maintenance agreement.  As needed, maintenance releases will be provided between release cycles to address issues that might arise in the software.

All these years of working on the rebuild of TDS are not in vain.  We still have that code and are very pleased with the results of what we have built so far.  Much of that work has already made its way into TDS 3.0, and more will be integrated over time.  Each new release of TDS will bring us one step closer to the future we always imagined.  We are committed to this product and look forward to the journey ahead.

A New Invitation

We want to thank all of our many devoted users of TDS who have shared their ideas and experiences with us over the years.  We build this software for you, not for ourselves.  Your voice has a direct impact on the software we develop and put into your hands, and we want to hear your ideas.  Don’t leave us guessing about how you want to use the software.  Your exact individual feedback will be directly read by every person working on this software and not simply aggregated into metrics or reports.  You have a real opportunity to directly influence a piece of software you use every day and further improve your own productivity.

And now, we would like to invite you to try out the Technology Preview of TDS 3.0.  The pre-release is currently invite-only, so please contact us if you are interested in evaluating the software.  It has been too long since a major release of Test Design Studio, and we are anxious to step into this new era.  You can install TDS 3.0 on the same machine as TDS 2.5, so you can evaluate the pre-release while continuing to use the last official release.

The foundation has been set to continue to iterate on TDS and carry it into the future.  The new journey begins now with the technology preview, and we hope you will join us.

One of the most beneficial features of Test Design Studio is its ability to statically analyze your code and warn you of potential pitfalls.  We want to highlight two of the new rules that are coming to the next release of Test Design Studio.

The error handling capabilities in VBScript are pretty limited, but still necessary.  Using the statement ‘On Error Resume Next’ within your code is often unavoidable, and this statement is easy to abuse.  We have added two rules to assist with the use of this statement:

CA0120 – Close error handlers in routines

CA0121 – Use error handling with caution

The “Use error handling with caution” rule is very simple.  Any use of ‘On Error Resume Next’ will be flagged as a warning by code analysis and you will need to manually suppress it.  Ideally, your suppression comment will also indicate why you used the statement.  This rule will help raise awareness to the dangers of not using the statement properly.

The “Close error handlers in routines” rule attempts to make sure that if you turn on error handling in a routine (using “On Error Resume Next”), you also turn off error handling before exiting the routine (using “On Error Goto 0”).  It is not uncommon for a code author to turn on error handling within their routine to deal with a specific usage scenario, and then forget to turn it off before leaving the routine.  Any calls to this routine will inadvertently turn on error handling without the callers knowledge.  This can lead to unexpected code execution.

Already a Success Story

I was recently working with a client to help determine why a certain test was running in an infinite loop after a replay error.  Not only was the script not failing gracefully, it was delaying the entire test suite by not freeing the lab machine for other tests to execute.  I loaded the test and it’s relevant libraries into Test Design Studio with these new rules enabled, and Test Design Studio quickly located the needle within a haystack of over 100,000 lines of code.

A custom user function registered on a test object had set “On Error Resume Next” without turning it off.  Later in the test, a “While” loop was processing that was encountering an error with the condition statement of the loop.  Instead of failing the loop, “Resume Next” meant it continued with the next line of execution… the first line within the body of the loop!  The errors continued through the loop until the “Wend” token instructed execution to return to the top of the loop and reevaluate the condition.

This process repeated until remote execution of the test was forced to terminate, but not until after more than 30,000 steps had been sent back to Quality Center/ALM for the last run.  Since QC/ALM likes to show you the steps of the last run when you select a test instance in Test Lab, it also locked up QC/ALM while it attempted to process all those steps and eventually failed due to an out of memory condition.  The steps had to be manually deleted from the database to restore functionality.

All this work because someone forgot to restore error handling functionality!  With these new rules, hopefully that will never happen again!