TestProNews Q2 - 2005
Software Distribution Strategies for Automated Test Systems in Design and Manufacturing
Design and manufacturing managers in a company face a daunting task when they need
to upgrade or update to newer versions of software for their automated test systems.
Managing the lifecycle for an automated test system begins when the new test system
is deployed and ends when the system is retired and replaced with a new system (Figure
1). Application and operating system software upgrades, updates and patches are
an important part of keeping the test system operating at peak efficiency. Software
upgrades and updates may be as simple as a minor tweak in a single test sequence
or as extreme as installing new versions of the test applications, run-time modules
and driver software. Engineers, whose time could be better used making design and
process improvements, often must take on the tedious task of sitting down at every
automated test system to manually load the latest version of the test application
and check for compatibility issues. The cost to upgrade each automated test system
individually can be enormous in both direct engineering time costs and opportunity
costs.
Many software distribution strategies and products are available that will automatically
update all the automated test systems from a central location, removing this tedious
update task and saving an organizations perhaps the largest cost associated with
test system updates. Some of the options support cross-platform distribution with
limited functionality, while others support one platform with rich functionality.
Some options ensure reliability while others rely on file copies over the network.
It is important to understand these technologies when selecting the software distribution
strategy that best fits your engineering lab or manufacturing department needs so
that you can decide if you require the best software distribution systems available,
or if a more simplistic approach is adequate for your needs.

|
Figure 1: Software upgrades and updates are a important factor in maintaining an automated test system over its lifecycle. |
History
The idea of "pushing" information to clients is not new. It was first introduced
as "Push Technology" in 1997. The original idea was that web content would be pushed
to the client rather than pulled from the Internet. The first widespread use of
this technology was "webcasting", in which a person could download software, set
up their desired filters or "channels", and then watch information come to them.
In more recent years, this technology has been more successfully used as a mechanism
for distributing information en masse over corporate intranets. For instance, it
may be used by IT to upgrade anti-virus software on all machines connected to a
corporate intranet, without needing any intervention by individual users on the
network. Other widely used software may also be easily upgraded in this manner,
so that all versions are in sync and up to date.
Technical Characteristics
Any system or product aimed at solving these problems has several issues to consider.
The most common considerations are:
- Reliability
- Decreased
Performance on Client
- Interfering with Station Operation
- Network Traffic Overloads
-
Server Overload
|
Reliability
Many problems can occur during the distribution process: the connection may be lost;
the process may be interrupted; and the client may stop responding. The most comprehensive
solutions can handle these situations to guarantee the successful distribution of
your updated test software. These solutions include "Checkpoint Restart" which ensures
that the download will resume where it previously stopped so that the server does
not have to resend the full package if the network connection is interrupted.
You can determine the level of reliability you need in your software distribution
strategy by asking the following questions:
- What do I want to happen if the installation fails?
- What do I want to happen if the station is booted in the
middle of the update process?
- What do I want to happen if the file(s) already exists
on the test station?
|
Client Performance
Many solutions require software to be installed on the clients before any software
distribution of updates can occur. This client software is usually a service that
is constantly running and periodically checks the server for updates or checks if
the server has initiated a "push" command. This service will use some of the client's
resources and degrade the overall performance of the client. This is especially
true when the updates are frequent. The level of this degradation of performance
depends vastly on the particular implementation of the solution.
You can determine the level of client performance you need by asking:
- How much resource usage can my test system tolerate?
- Can I allow the client service to degrade my station's
performance?
- What will the system do to reduce the
impact on the client performance?
|
Continuous Station Operation
Depending on the application, it may be important to ensure the non-interrupted
operation of the test station. Some common methods a software distribution system
can operate without interrupting the test station are by scheduling the updates
for times when the client is known to be idle, or allowing the test station users
to delay or reschedule the update if the server tries to initiate the update while
the test station is in use.
Additionally, the most comprehenesive software distribution solutions can provide
a way to rollback the test station software to the previous known good state. This
is very useful to restore the station when installation fails or when the software
installed does not perform as expected. This is especially important in remote manufacturing
environments where the cost for any debugging is very high. Availability of qualified
personnel at the remote location, and interrupted production add to these costs.
You can determine the level of continuous station operation you need strategy by
asking:
- What do I want the system to do if the user is using the
test station being updated?
- How do I want the system
to prevent interruption on unattended stations?
- What
rollback capability do I want the solution to provide?
|
Network Traffic
A very common problem for enterprise software distribution is that it can create
excessive network traffic. Some updates may be several megabytes in size. A system
attempting to distribute updates concurrently can cause a considerable amount of
traffic and ultimately bring the network down. The most comprehensive solutions:
- Include tools to schedule tasks at low traffic times
- Compress software being distributed in order to minimize
the traffic
- Send as little data as possible by first comparing new
files to old files, and sending only what is needed to create new from old
- Provide "Checkpoint Restart" to avoid resending full package
if an error occurs
|
You can determine the level of network traffic optimization you need by asking:
- What do I want the system to do if the traffic on my network
is high?
- How do I want the system to minimize the network
traffic?
- How much do I need the system to efficiently
use my network?
|
Server Load Capacity
When updates are being distributed concurrently, there is a risk of overloading
and bringing down the server. The best solutions allow administrators to efficiently
"load-balance" distributions across the network. This allows the software to be
distributed from different locations, not just the server.
You can determine the level of server load capacity optimization you need by asking:
- Do I need the system to balance the load of my server?
- Do I need the system to redirect distribution to execute
from other points on my network?
- What load will my server be able to handle?
|
Software Distribution Options for Your Automated Test Systems
In answering the questions from the previous section, you may have found that a
basic software distribution strategy is suitable for your application. A basic solution
will provide a secured, easily managed location to maintain the versions of your
test software. This solution will rely on the network to copy the files to the test
stations without adding fail-safe and loading protection capabilities.
The lowest-cost solution that solves these basic needs is to use data management
capabilities of your enterprise test data management (TDM) software, such as
Arendar,
to manage the locations and versions of your test software. With this strategy,
the test station uses the TDM software to verify version and to retrieve the required
software prior to test execution by copying the updates to the test software over
the network. Whenever you want newer versions of your test sequences or test programs
to execute on your test systems, you simply upload the appropriate versions into
the server by using the enterprise TDM software.
If, however, by answering the questions in the previous section, you find that you
need a more sophisticated solution including multi-server, multi-site management
and replication, your best option is to use a product that specializes in enterprise
software distribution. Table 1 lists twelve products from companies that are leaders
in enterprise software distribution.

|
Table 1: Enterprise software distribution products and companies |
These products integrate easily with enterprise TDM software so that you can manage
your test data through the enterprise TDM software, and keep your test stations
updated through enterprise distribution software. You may find that your company
has already standardized on one of these products to keep all the computers in your
company up-to-date on latest versions of other types of software, like your virus
protection and office productivity software.
Summary
There are many different factors to consider when choosing your strategy for distributing
software to your test systems. It is important to understand your needs as well
as the limitations of the various approaches available. Understanding the characteristics
of a software distribution system will help you select the product that best fits
your needs. Software management tools deliver the capability to manage and automate
deployment of software updates to automated test systems throughout a geographically-dispersed
organization and save you time and money.
Ask the Expert
Email questions concerning this article to:
expert.testpronews@vi-tech.com
|
|
|
|
Read about the latest information for integrating automated test systems throughout the enterprise. |
|
|
|
 |
Download PDF |
|
|