Ipswitch, headquartered in Lexington, Massachusetts,
is a valued AutomatedQA customer, engineering solutions for file transfer, collaboration,
network monitoring and terminal emulation. Perhaps best known for their WS_FTP tools,
Ipswitch uses AutomatedQA's
TestComplete
and
Automated Build Studio. Tom Lewis from
Ipswitch recently took time from his busy schedule to tell us about how they added
Automated Build Studio to their development lifecycle:
AutomatedQA: What kind of challenges do you face in your
development environment?
There are several steps involved in building and releasing the many Ipswitch products.
These steps involve everything from the initial pull of source code from SourceSafe
to the final step of copying the installation files to a testing area and burning
the escrow CD.
In the past, these tasks were handled by multiple people on multiple computers in
multiple environments. We needed a tool that would allow us to initiate a build
process that would continue through every step and run these steps in a single,
stable environment.
Since we were already using the AutomatedQA testing tool, Test Complete, we looked
into Automated Build Studio. Interestingly enough, we were about midway through
development of our own web based configuration manager that would do what Automated
Build Studio would already do.
After some simple tests of the demo version of Automated Build Studio, it was apparent
that it would do everything that we needed in an automation tool.
Automated Build Studio has features to do just about everything we need. If there
isn't a direct plug-in for a step in our build process, we simply use the Execute
Program operation and that takes care of it.
When I first downloaded the demo, I created a macro without ever consulting the
online help. In fact, to this day, the only thing that I have needed to consult
the help on was the command line parameters for AutomatedMacroPlayer.
Speaking of AutomatedMacroPlayer… there's a nice feature. With the command line
utility, we are able to run a build macro at a command line so that users not familiar
with the studio are able to run a batch file that will complete the process.
We have created a few build macros for two of our products that are separated into
modular pieces. Each piece handles a set of related operations that make up a single
portion of the build. For example, there is a single macro for pulling the C++ source
code and compiling the source.
We also used a portion of the web-based build system that we were developing. We
wanted a way for users to logon to the system and request and/or schedule builds
from their desktop. We modified the system we were developing so that it would allow
the user to create product settings, which would run selected macros to build a
product. The user can select which macro(s) to run for each build. When the request
is processed, the requester's e-mail is sent to the macro as a variable. Once each
macro is built, an e-mail is sent back to the requester with the build result with
full output log attached.
Automated Build Studio has saved and will save countless hours in our build process.
What once was performed on multiple machines by multiple people taking multiple
hours is now performed in a matter of minutes by one person making a simple request
on the intranet.
One of the other major benefits is the ability to control the environment where
the build is created. One of our policies here at Ipswitch is to create an Escrow
CD at the time of product release. This CD is a copy of all of the source code required
to build a duplicate of the release version of the product. In the past, we would
copy the source from the multiple computers, recreate the build, install the product
and compare the output with the release version. This was very time consuming and
in most cases took more than a few days to recreate a product. With the Automated
Build Studio in place, we have created a final step in the build process that prepares
a data folder on the build machine that includes everything needed to create the
Escrow CD. Since the escrow folder is created at the same time the build takes place,
we can ensure that the source on the CD is a duplicate of what was used to create
the release version of the product.