Software Test & Performance Issue Nov 2008
Software Test & Performance Issue Nov 2008
We
PR Serv
BE CTIC es,
b
A ic
ST ES SO
: A
VOLUME 5 • ISSUE 11 • NOVEMBER 2008 • $8.95 • www.stpmag.com
Contents A Publication
14
COV ER STORY
Go Behind the Scenes At
The Testers Choice Awards
This year’s most celebrated products as selected by you, our audience of
testers in the mosh pit of corporate QA teams. By Edward J. Correia
13 • ST&Pedia
Industry lingo that gets you up to speed.
series on project auto- Sometimes performance problems are
mation failures, learn so obvious that they’re overlooked by
even the sharpest minds. Learn every- 37 • Best Practices
how to approach SOA testing is as much about business as it
these sometimes day techniques to determine if your net-
is about technology. By Joel Shore
delicate matters. work is the tortoise or the hare.
By Elfriede Dustin By Nels Hoenig 38 • Future Test
Take apart SOAs to prevent costly perform-
ance rework. By John Michelsen
Copy Desk
Adam LoBelia
Diana Scheben
[email protected]
Contributing Editors
Matt Heusser
Chris McMahon
Joel Shore
Your Thoughts
ART & PRODUCTION I’ve stumbled upon a Does your organization
Art Director resource that I believe employ telecommuters? Pe-
LuAnn T. Palazzo you’ll want to know about rhaps home-office workers
[email protected]
and use. It’s called the should read “Remote But
SALES & MARKETING Computer Measurement Not Forgotten – Working
Publisher Group (www.cmg.org), from Home Successfully,”
Ted Bahr and in essence, it’s where which contains advice for
+1-631-421-4158 x101
[email protected]
the world’s performance home-office workers about
data goes to retire. Well building and maintaining
Associate Publisher that’s the goal, at least. trust relationships with co-
David Karp
+1-631-421-4158 x102
According to CMG dir- workers and bosses.
ector Michael Salsburg, the Edward J. Correia People doing specific
[email protected]
non-profit CMG started as a group of types of testing might align themselves
Advertising Traffic Reprints
Liz Franklin Lisa Abelson
IBM mainframe users doing perform- with particular authors. “A person who
+1-631-421-4158 x103 +1-516-379-7097 ance analysis. It soon expanded into writes and presents a lot of software per-
[email protected] [email protected] Linux and Unix. “In a simple way, it formance engineering papers is Dr.
delivers a service to businesses. Connie Smith. Or when you look at soft-
List Services Accounting
Lisa Fiske Viena Ludewig Members of CMG have a reputation as ware test and quality assurance, it’s
+1-631-479-2977 +1-631-421-4158 x110 experts at making sure that levels of devoted to function testing,” Salsburg
[email protected] [email protected] service end-to-end are says. But at some point, he
what the business wants.” said, your department will
READER SERVICE
•
Director of Circulation Customer Service/
The site contains hun- have to guarantee a level
Agnes Vanek Subscriptions dreds of white papers, of quality of service for the
+1-631-443-4158 +1-847-763-9692 submitted by members, application. “That’s where
[email protected] [email protected]
chronicling their per- we come in. We see our-
Cover Photo Illustration by The Design Diva, NY
formance measurement ‘We’re a go-to selves as a go-to communi-
experiences. ty where you can see
“You can get any level
of performance you want
community’ for what’s out there and how
products are performing.
if you have enough
money,” says Salsburg.
performance People write papers and
they present them, and
“The real balance is to get their companies pay their
President most performance for
testers. way. We offer a community
BZ Media LLC
Ted Bahr 7 High Street, Suite 407 least money.” That’s what and that’s what we want
Executive Vice President
Alan Zeichick
Huntington, NY 11743
+1-631-421-4158
fax +1-631-421-4130
www.bzmedia.com
[email protected]
CMG aims to help compa-
nies do. For example, one
of this month’s most pop-
ular articles is called “Xen
• people to know about.”
More than the big pic-
ture, CMG also can help
testers get into the nuts
vs. VMware – The Battle of and bolts of testing. “We
Software Test & Performance (ISSN- #1548-3460) is Brands,” which compares performance would help you understand the tech-
published monthly by BZ Media LLC, 7 High Street,
Suite 407, Huntington, NY, 11743. Periodicals postage of the two. niques of how to instrument your
paid at Huntington, NY and additional offices.
Another is “Using ITIL Best Practices application, to understand perform-
Software Test & Performance is a registered trade-
mark of BZ Media LLC. All contents copyrighted to Create a Capacity Management ance and forecast how it would per-
2008 BZ Media LLC. All rights reserved. The price Process,” detailing the Information form on a production system and
of a one year subscription is US $49.95, $69.95 in
Canada, $99.95 elsewhere. Technology Infrastructure Library for under heavy load.” That’s something
POSTMASTER: Send changes of address to Software service management adopted by British you might not be able to create in your
Test & Performance, PO Box 2169, Skokie, IL 60076.
Software Test & Performance Subscribers Services Airways, Hewlett Packard, IBM, test environment and can’t afford to
may be reached at [email protected] or by
ment, he added. ý
calling 1-847-763-9692.
Microsoft, Proctor and Gamble and duplicate your production environ-
many other top-flight companies.
Gomez Monitors
Multimedia Web
Experience
Active Streaming XF is a new service for the Active
from that measures the speed and qual- Streaming XF serv-
ity of streamed video and audio deliv- ice include measur-
ered over the Web. Self-service featuring ing the perform-
a highly intuitive diagnostics interface ance and quality of
and Active Streaming XF rapidly identi- high-value streams
fies and troubleshoots streaming media as experienced by
performance issues so that businesses end users in differ-
like advertisers, broadcasters, retailers ent geographies. It
and social networks can deliver content can also be used for
without delay or disruption to audiences verifying if syndi-
around the world. cated or third party
Nikki Baird, managing partner at RSR content sources are Active Streaming XF can validate the effectiveness of content deliv-
Research, a research company run by negatively affecting ery networks and multimedia delivery infrastructure.
retailers for the retail industry, said: the end-user expe-
"Interest in video as part of the online rience; validating the performance Entirely self-serving users can set up,
commerce experience is definitely on claims of hardware vendors or content execute and analyze tests within min-
the rise. Between product demos and delivery networks prior to purchase; and utes, making the Active Streaming XF
reviews alone, the potential for the medi- objectively managing service level agree- service flexible and easy to administer,
um is huge. A solution, like Active ments with streaming service providers. and speeding time to resolution, said
Streaming XF, that can help sites ensure The company explained that the Gomez.
a high quality video experience for visi- Active Streaming XF interface provides The service is sold on an annual sub-
tors is very timely." actionable, near real-time insight into scription basis, with the price varying
According to Gomez, possible uses metrics such as start up and buffer time. depending on the features needed.
time, and in the case of changing versions and many generate and measure perform- Did you exhaustively test
over time, can lead to mistakes. To simplify ance under load. this? Are we doing an SVT
the process and minimize mistakes, compa- after our BVT? Does the
nies and testers have developed tools to do SOA/WEB SERVICES TEST tools help performance testing pass?
some of this work for you. evaluate a Web services stack, such as SOAP, What are your equivalence
This month’s issue of Software Test & XML, and WSDL, typically by sending (simu- classes? Which heuristics
Performance—the Testers Choice issue— lated) messages to the Web server and evalu- are you using?
describes the tools that readers like best and ating responses.
use most. And this month’s ST&Pedia is devot-
ed to some of the Testers Choice categories, to
help you understand how they’re defined and
SECURITY TEST tools identify potential
vulnerabilities of applications, generally by
A: ST&Pedia will help
you answer questions
like these and earn the
how they fit into your daily life as a tester. either hardening the application or operat- respect you deserve.
ing system (such as a firewall) or by generat-
Upcoming topics:
DATA TEST/PERFORMANCE tools allow ing multiple attacks on the system and listing
for setup, population, migration, testing, vulnerabilities. Some also spot “vulns” using December
performance measurement, and tuning of static code analysis. Test Automation
databases, Web servers and all forms of data-
driven services. TEST AUTOMATION tools execute com- January 2009
Change Management, ALM
puter programs and evaluate the results. The
FUNCTIONAL TEST tools evaluate appli- two most common approaches to GUI test
February
cations and components through executing automation are record/playback/compare
Tuning SOA Perfomance
code. They typically “run” automated tests, screenshots and drive/compare GUI through
which may drive code at the unit level, run object IDs, known as keyword driven testing. March
business logic at the acceptance level, or (More on test automation next month). Web Perf. Management
directly drive a userinterface.
EMBEDDED/MOBILE TEST/PERFOR- April
STATIC/DYNAMIC CODE ANALYSIS MANCE tools specialize in the testing of Security & Vuln. Testing
tools look at the code, either examining it as embedded or wireless applications and sys-
May
text looking for flaws (static), or providing tems, either with support for embedded oper-
Unit Testing
instrumentation on the code as it is execut- ating systems and/or with specific interfaces to
ed (dynamic). Instrumented code can pro- and features for testing mobile devices.
vide information about the software under Matt Heusser and Chris McMahon
test, such as the percentage of lines of code, SCM/BUILD MANAGEMENT tools are career software developers,
or possible code branches, that were cov- create an automated library of code testers and bloggers. They’re col-
ered by the tests and where uncovered changes, including differences. Build man- leagues at Socialtext, where they
(missed) spots lie. agement systems assist or automate builds, perform testing and quality assur-
integrate components, and automate the ance for the company’s Web-
based collaboration software.
TEST/QA MANAGEMENT tools provide
and automating buildtime tasks. ý
develop and deploy cycle by running builds
planning, organizing, and oversight tools for
By Edward J. Correia
Data/Tnecset
needed to adapt to different cases, data parameters (such as
for keyword-driven testing), correlation and error handling.
Performa
A controller module runs the scripts and can simulate large
numbers of users while the analysis module tracks and graphs
behavior and performance results.
If you’re new to LoadRunner or need to pick up a few new
techniques, you might refer to the March 2007 issue of
LOADRUNNER took the most votes in the data/test perform- Software Test & Performance for an excellent tutorial by con-
ance category, which groups products in terms of their ability sultant Francisco Sambade on using the tool to test multiple
to apply test data to an application or system and evaluate how protocols.
it handles the processing. Runners-up in this category were Compuware File-AID/CS
At the core of LoadRunner’s power is the Virtual User gen- and Red Gate’s SQL Data Generator. File-AID is an enterprise
erator (VuGen), which creates test scripts for playback and data management tool that permits testers to quickly build
www.stpmag.com • 15
test data environments across a multitude of systems, includ- tool spots memory leaks, profiles application performance
ing mainframes, MVS, DB2 and distributed systems (as the and analyzes code coverage. Supported languages include
finalist CS edition). C/C++, Java, the .NET languages, Visual Basic, and Visual C++.
Introduced just this past April, Red Gate’s SQL Data Versions are available for Linux, Unix and Windows.
Generator has generated enough attention from testers to Also unseated by this year’s runners-up—the Eclipse Test
and unseat Intel’s VTune Performance Analyzer, last year’s and Performance Tools Platform and HP’s DevInspect—were
runner-up in the category. The Red Gate tool’s claim to fame Compuware’s DevPartner Studio and Parasoft’s Jtest, last year’s
is the ability to populate “two million rows of intelligent data finalists in the category.
for 10 tables in less time that it takes to get a cup of coffee.” Eclipse’s TPTP project for Linux and Windows got an infu-
What’s more, it does so with a single mouse-click, according sion of new features last June as part of the Ganymede release
to the company. train. Major new capabilities include increased test coverage
through test creation, automation and expanded run time
execution; the ability to execute multiple instances of the tool
Functionalt
in parallel; simplified handling of test assets, including the
ability to cut, copy, paste and rename. Also new are an
Tes
improved thread profiler and new profiler API for Java 1.5
and above.
Inherited along with HP’s acquisition of SPI Dynamics near
the end of 2007, DevInspect was widely praised this year by
One again, HP’s QUICKTEST testers. The tool is intended primarily for automated securi-
PROFESSIONAL takes the top prize for functional testing. The ty testing and remediation during development.
2006 Grand Prize winner, QuickTest Pro is a Windows-
only record-and-playback tool for functional and regres-
sion GUI testing, and it includes a scripting language
based on VBScript that can control and manipulate
program objects and allow testers to script out test
ManagTeesmt/eQnA
procedures.
Leading it to victory in 2006 were enhamcements
to the tool’s team collaboration capabilities, a new
object repository manager and the ability to share function
libraries across tester workgroups. It also added keyword man-
agement and drag-and-drop test-step construction, XML out- HP is once again on top with
t
put for test-result reporting, and a new and more accurate TESTDIRECTOR FOR QUALITY CENTER, which testers
debugger that identifies errors while building or maintaining voted this year and last their favorite tool for test and QA man-
test cases. HP has released no major updates recently. agement. TestDirector for Quality Center includes modules
Runners-up on the functional test category were IBM for requirements management, test planning, test lab and
Rational Functional Tester and Borland Silk Test. Neither of defect management.
last year’s finalists—Parasoft SOAtest and Compuware Optimal TestDirector allows testers and managers to gather require-
Quality Management—came close this time. ments, design and schedule manual and automated tests, and
Functional Tester is an automated function and regression analyze the results, all through a browser. Also included are
test tool for GUI and data-driven testing. It allows scripting graphical reporting and integration with HP’s WinRunner
with its own ScriptAssure environment or can be driven by and QuickTest Professional tools. Options include extensions
Visual Basic .NET, Java from within Eclipse, or custom con- for Oracle, SAP and SOA.
trols built with Java or .NET through a proxy SDK. Finalists in this category were Borland’s SilkCentral Test
SilkTest is also an automated function and regression testing Manager (as last year) and IBM’s Optim Test Data Management
tool, with cross-platform testing capabilities for applications built Solution, kicking VMware Lab Manager from its third-place
for client/server, Java, .NET and the Web. It also includes a script- perch last year.
ing framework to help facilitate reuse of test assets. Since being acquired by Borland along with Segue Software
in February 2006, SilkCentral Test Manager has been inte-
grated with VMware Lab Manager to streamline cross-plat-
form testing, and with Eclipse to facilitate capturing of
e ct/Issu
Def nagemente sands of users with no licensing restrictions for controllers or
protocols. A visual script recorder enables script editing and
manipulation. A plug-in extends test creation to Eclipse. There’s
SOA/Web
Services Test
Last year there were two winners in the defect and
issue management category: HP TestDirector for Quality
Center and the Mozilla Foundation’s Bugzilla were tied. This
year, TESTDIRECTOR alone took the top spot and Bugzilla
moved to third, edged out by Microsoft’s Visual Studio Team
Edition for Software Testers. In the SOA and Web services testing category, last year’s winner
The defect tracking module in TestDirector automatically was this year’s no-show. LoadRunner has fallen out of favor for
checks its central defect database for similar defects each time testing these types of applications, replaced in 2008 by IBM’s
a new defect is logged, helping to reduce duplicates. The tool RATIONAL TESTER FOR SOA QUALITY.
tabulates defect statistics to aid management deployment deci- When your app relies on someone else’s Web service, you
sions and identify trends. can’t leave availability to chance. For example, if you’re depend-
A relative newcomer, Visual Studio Team Edition for ing on a credit authorization service that’s accessed via the Web,
Software Testers can perform functional and load testing on how can you ensure that it won’t fail on Black Friday, traditionally
Web applications and Web sites, and manages and permits America’s busiest shopping day? While you can’t control the
reuse of test cases, all without writing a single line of code. credit agency’s service, you can use Tester for SOA Quality to
Bugzilla began its life in 1998 and was originally written in simulate thousands of hits against its service and watch how your
Tcl by Terry Weissman. Thinking another language might get application behaves while simultaneously trying to conduct hun-
more traction within the community, Weissman decided to dreds or thousands of transactions. The tool also works with
port it to Perl, which resulted in Bugzilla 2.0. In April 2000, services that present no GUI.
the project was handed off to Tara Hernandez, who gained Runners-up in the category were HP’s QuickTest Professional
more developer participation, including that of its current and Parasoft SOA Quality Solution.
custodian, Dave Miller. Bugzilla last year won the top spot in A perennial favorite of testers, QuickTest Pro is an auto-
the free test/performance tools category, but this year slipped mated functional and regression testing tool for GUI applica-
to runner-up. tions that records and plays back user actions on Web or native
applications. Scripts are recorded in a proprietary scripting lan-
guage based on Microsoft’s VBScript and can be modified, played
back and reused.
Testn
source community.
One such rival system is Subversion, which again this year is
a runner up along with ElectricCommander from Electric Cloud.
.NET Test/ JUnit and the Eclipse Test and Performance Tools
Platform also received high marks.
rated Test/
Intergmance Suite
to the company.
LoadRunner permits hundreds of simulated users to
Perfo
be launched from one or several machines with the
LoadRunner agent installed. These load generators, or
“injectors,” are instructed on how and when to launch
scripts using LoadRunner scenarios so that simulations
can be ramped up.
The .NET version of Compuware DevPartner Studio
also was a runner-up in this category. The company also While awaiting Visual Studio Team System 2008, testers in
offers versions for C/C++ and Java. 2008 told us they are quite fond of VISUAL STUDIO TEAM
DevPartner analyzes quality and complexity of code and EDITION SOFTWARE TESTER, this year’s winner in the
can detect memory leaks, timing issues and coverage. The soft- Integrated Test and Performance Suite category. Meanwhile,
ware also can help with memory optimization, CPU, disk and much is already known of Rosario, code name for Visual Studio
network resource management, fault simulation, and error Team System 2010.
detection. Microsoft reportedly plans to build more application life-
Commercial Test/ manage, deploy and execute tests; and for application trace and
profiling.
Performance under $500/seat Runners up were JUnit and Bugzilla. It’s safe to say you’ve
succeeded when your name is widely used as a verb. For instance:
“Google that term and see what you get,” or “Be sure to JUnit your
The prime choice for sub-$500 commercial testing solutions was code before checking it in.” JUnit has become synonymous with
SOFTWARE PLANNER, making 2008 a peak in the roller coaster unit testing and has been built into Eclipse for years now. Its suc-
ride that was the past three years for Pragmatic. The SaaS tool cess has even exceeded the expectations of co-creator Kent Beck.
earned top marks this year, was a runner up in 2007 and took the Bugzilla, the open-source defect tracking system, celebrated
top spot in 2006. Software Planner is a Web-based hierarchical version 3.0 last year, nine years after v2. Chief among the enhance-
project planner that uses task linking to prevent one task from ments are huge performance gains, a Web services interface,
beginning before another is completed. and the ability to control and customize far more of the environ-
Project managers can use the system to set baseline dates, costs ment than in prior versions, according to project developers.
and track deviations as the project proceeds. Team members are
alerted to new tasks via e-mail; multi-level security limits access to
authorized people. Billed as an application life-cycle management
tion From
Best SAoluNew Player
tool, it helps IT departments manage requirements, project deliv-
erables, test cases, defects and trouble tickets. The tool inte-
grates a calendar, dashboards, document collaboration
and sharing, a knowledge base, and threaded discus-
sions. Software Planner also is available as a self-hosted
solution.
Runners-up were Mindreef SOAPscope Developer and VMLogix LABMANAGER 3.5
Shunra Virtual Enterprise Desktop Standard. took this year’s top spot for Best Solution from
Mindreef has been earning awards almost since coming a New Player, which we define as a company less than five years
onto the scene in 2002. SOAPscope 5.0, a tool for testing old. Released in May, version 3.5 added support for Citrix XenServer
SOAP-based apps was awarded best solution from a new compa- 4.1 to its existing support for virtualization systems from Microsoft
ny in 2006. SOAPscope Developer allows teams to create, test, deliv- and VMware. LabManager 3.5 also includes some major user inter-
er, support Web services and SOA components, and automate face enhancements and to virtual network management.
XML-oriented tasks. The tool is included with SOAPscope Server Last year’s winner in this category was Defender from Fortify
6.1, a server-based solution intended for use and collaboration by Software. This year the company reached runner-up with anoth-
all members of the SOA and Web services team, including analysts er new product: Fortify 360, which takes aim at the software devel-
and managers. opment life cycle with the ability to identify, prioritize and repair
Shunra Virtual Enterprise creates a virtual network for use as vulnerabilities during every phase of development.
a simulation environment for application testing. It permits testers Requirements management company Blueprint grabbed a run-
to determine application performance and user experience under ner-up slot with Requirements Center, which brings cloud-based
a variety of network conditions and “impairments,” such as high collaboration to application users and business analysts. As the
network load or traffic, excessive collisions, broadcast storms, and company puts it, the solution puts these people at the heart of the
other types of real-world production scenarios. Test results are dis- development process, “allowing them to collaboratively define,
•
formance, validate the qual- In my practice, full-scale
ity attributes (such reliabili- performance test consists of
ty, stability) of the system, the Response Time Test, the
expose the bottle neck, and Load Test, the Stress Test, the
measure the peak of loads. For stability, Stability Test and the Database
Many of today’s systems Volume Test. Many times peo-
can be considered huge—
such as those of Amazon
simulate work, ple use these terms inter-
changeably. But I don’t agree
and eBay—e-commerce that they are interchange-
Websites that service thou-
estimate growth, able. A few definitions:
sands of users simultaneous- System Performance: The
ly all over the world. How
validate versions degree to which a system or
do administrators of those component accomplishes its
sites ensure high efficiency and ramp up designated functions within
and stability? Of course, given constraints regarding
that’s done with perform- performance. processing time and through-
ance testing. But do you put rate.
know how to define the
testing scenario, which
functions should be includ-
ed, the approach and steps,
• Performance Test: A test to
determine how fast some
aspect of a system performs
under a particular work-
the areas of coverage, etc.? load; the validation and ver-
Do you know how to touch all system ification of other quality attributes of the
components and exercise its full-scale system, such as scalability, reliability and
performance? What follows is my method resource usage.
for doing that. Response Time Test: The basic perform-
Before you do any testing, please con- ance test and one of most concern by end-
sider some basic principles of perform- user. The response time test evaluates the
ance testing: compliance of a system or component
• Ensure the test environment is stable with specified performance require-
and that test conditions are as similar ments. It usually measures the end-to-end
timing of critical business processes
A ten-year software developer and QA profes-
and/or transactions. I sometimes refer to
sional, Keven Lui is test leader at Hong Kong
Air Cargo Terminals, Ltd. it as the end-to-end response time test, or
e2e time test, and often assign benchmark
www.stpmag.com • 23
PERFORMANCE TUNING
values. For example, the home page of TABLE 1: LOAD TIMES your system’s performance and stability.
your Website should display completely
Function Name Response Time(s)
in less than 5 seconds.
Min Max
Activity 1: Response Time Testing
Load Test: You can call this perform- Home 8.343 14.422 This is the narrow definition of per-
ance testing with loads. It tests an About 0.431 1.839 formance testing, and it focuses on
application under normal loads, such Contact Us 0.570 0.799 determining the application client’s
as testing of a Web site under a range News 0.721 6.002 response time.
of actual loads to determine the Available Position 0.656 1.926 Put simply, all you need to do is
Products & Services 0.527 9.440
response times for various critical launch the application and capture the
Online Support 0.566 3.849
transactions or business processes to response times for each function and
determine whether it meets a require- loading of all UI pages from a client
ment (or Service Level Agreements - after several large numbers of transac- machine. This testing should also be
SLA). It also tests the capability of the tions have been executed, and is espe- repeatable and consistent. If you re-exe-
application to function correctly under cially useful for servers intended to cute several times, you should get the
load by measuring transaction operate 24/7. same or similar response times for each
pass/fail/error rates. Database Volume Test: The database function. Of course, automation tools
Stress Test: This evaluates a system at volume test is designed specifically for can simplify this job, and should be
the specified limitation of load to deter- applications that access huge stores of used if available.
mine the load under which it fails and data. It’s important to know how the Traditionally, response time is
how. It is important to know in advance application will operate not only when defined as the interval between when a
if a ‘stress’ situation will result in a cata- it’s new, but also as the database user initiates a request to the server and
strophic system failure, or even “slow becomes populated and nears or when the first part of the response is
down.” exceeds its maximum capacity. received by the application. However,
Stability Test: Tests a system at differ- Problems over time might include there’s a sometimes a difference from
ent levels of loads for prolonged peri- degraded response times for searching the customer’s perspective, and long
delays should prompt a message. In
TABLE 2: KNOW WHAT TO TEST practice, you can define the response
time of a Web application system includ-
Candidate Function Comment
ing the processing time on the client
Critical Business Function The most important functions to the business; those
machine and the time taken to down-
that will impact revenue or profit.
Example: in a ticket sales system, the critical func-
load and display all contents. Table 1
tions might be pricing and discounts, revenue col- displays time specifications for typical
lection, statistical analysis and reporting. Web pages to display.
When defining response times, you
High Frequency Function The function or UI that is most frequently used. will find that some are unacceptable
Example: in a travel Website, the most frequently according the SLA. Generally, as the Web
used UI/functions might include airline, airport, cal-
system, in a single screen the time which
endar, flight schedules, resorts near destination and
prices. performs the business logic transaction
should be between five and 10 seconds,
Query Function The query function is the basic function of the appli- UI showing time limits of five to eight
cation. At least one query should be involved in the seconds. If you are the customer, will
selected list. you want to wait for the next page for
Example: in a human resources Website, “Search more than 15 seconds? Certainly there
Jobs” and “Search Candidates” are the basic query
are some principles that will help you to
functions.
make the decision of which components
Create or Update Function At least one create or update function should be or functions should be tuned:
included, and should verify correct behavior in cas- • Is it critical to the business?
es an update attempt is made when the database • Is there heavy throughput or func-
table (or record) is locked. tions on a the page?
• Is this a function or page with a
Heavy Throughput Function (Optional) Example: in a blog site,“Register” might be the first
step before submitting a comment is allowed.
large percentage of hits?
If the testing will be impacted by the network or • Is the function related to the data-
bandwidth, the Heavy Throughput Function should base?
be included. • Is this a most complex function?
Example: Streaming or downloading a video. • Is this a page with a large picture or
resource?
ods of time. It simulates normal execu- and report generation, added time or Also, the application should meet
tion and multiplies transactions by sev- resource requirements for backup and the SLA or otherwise satisfy the cus-
eral times in one day as would be restore functions, and an increase in tomer. This type of testing will help you
expected in a single day, week or other transaction errors. determine whether clients will be satis-
period. It is intended to identify per- Once you execute all these tests with fied or if functions should be tuned by
formance problems that might appear positive results, you can be confident in the developer.
Activity 2: Load Testing transactions are mission-critical, 0.01 system input or heavy database load.
Similar to Activity 1, load testing will cap- percent might be closer to optimal. With stress testing, we want to see
ture a series of response times under what happens when the “acceptable”
load (sometimes called background Activity 3: Stress Testing load is exceeded. Does the system crash?
loading or background noise). These are Following Activity 2, stress testing initi- How long does it take to recover once
various load levels below the daily maxi- ates the maximum expected system the load is reduced? Does it fail in a way
mum load expectation to determine if load, then raises it in an attempt to that causes loss of data or other damage?
the application still functions properly. reach the system’s absolute limit. In particular, the goals of such tests may
You will find there is no difference Typically, stress testing starts with load be to ensure the software doesn’t crash
between performance testing in conditions of insufficient
and load testing except the computational resources (such
level of background loading.
Although the methods are sim-
ilar, their goals are quite differ-
ent. At this testing, you will val-
• as memory or disk space),
unusually high concurrency, or
denial of service attacks.
When the system’s load limi-
idate that response times When excessive load tation is reached, the system
and transaction pass/fail/error performance will usually
rates under a range of loads is removed, performance degrade, and the system re-
meets the SLA. Usually, the sponds more and more slowly.
transactions per second (TPS), should return to normal. But when the excessive load is
HTTP connections, concurrent removed, the performance
•
user or throughput measure- should return to normal. So
ments are used to represent for when you execute the stress test-
the load level. For example, ing with initial loads, you can
one useful test might be done add additional users or activities
with a workload of 100 concur- with gradual ramp-up (e.g. add
rent users. testing, and then additional users or 1 more user after 5 minutes until the
From this testing, you will determine activities are gradually increased until system’s load stable), at the same time,
the performance thresholds of the appli- the application server “slows down” or monitor the CPU and memory usage in
cation and server resources such as begins to work abnormally. For data- the application server and database
memory, CPU utilization and disk usage. base applications, you can try more server. It’s also useful to monitor per-
Activity 1 performance testing gave complex database queries, continuous formance on the test clients and all
you the response times of every func-
tion. In Activity 2, we load-test a nucle- TABLE 3: SERVER PERFORMANCE COUNTERS
us of functions based on the judgments Object Indicator Reference Memo
in Table 2. % Total If the server’s processor utilization
Processor < 75%
You can separate the background Processor Time stays high for extended periods, it
loading into three levels of the maxi- might indicate a bottleneck and that
mum load expectation: none or lower more CPU power is needed.
than 1 percent, 50 percent and 100 per-
cent. As in performance testing, start Load Average <3 / per CPU core The average number of processes
waiting for execution, in general,
the background load first and measure
should be less than the number of
the response times after the background CPU cores. For a system with a sin-
load stabilizes. For efficiency, I suggest gle CPU core, a load average less
covering all functions, especially trivial than two is optimal; three is accept-
ones. You can perform the testing of the able; more than five is sub-optimal.
ten most important functions in order.
In this testing, the same important Memory Available bytes > 10% physical The amount of physical memory
(usually repre- memory available for use by the server. If the
thing should be done, that is checking
sented as a per- server does not have enough mem-
the transaction pass/fail/error rates. centage of phys- ory to handle its workload, it will
Load test tools such as HP Mercury ical memory) spend more time reading from disk.
LoadRunner, IBM Rational Perfor- Sometimes, Page Faults/sec could
mance Tester are useful here to simu- indicate a memory shortage.
late multiple users accessing the appli-
PhysicalDisk % Disk time < 80% Shows the percentage of elapsed time
cation concurrently. I have found that a
that the disk is busy with read/write
setting of 60-120 minutes for runtime activity. If this counter is high and
duration is good enough to ensure a the processor and network bandwidth
stable simulation environment. are not saturated, then there is like-
As for exit criteria for this testing, ly a disk bottleneck. A number con-
the transaction failure rates should be sistently above 80% may indicate a
lower than 3 percent for most systems. memory leak.
For financial systems or others in which
other Web servers and application TABLE 4: STRESSFUL RESULTS a large number of transactions over
servers touched by the application. a long period of time.
Object Indicator Reference Actual Result
Performance counter data is used The memory leak is generally the
Processor %Total <75% Max: Pass
to determine when a test client, Web Processor 86%, 6s most common issue. Gradual degra-
server or application server has Time Min: dation of response time of some
reached its maximum CPU or mem- 76%, 3s functions and reduction in efficien-
ory use. These performance coun- cy, serious memory leaks will almost
ters will be the easiest way to deter- Load <3 / per Max: Pass always eventually result in a larger
Average CPU core 1.324
mine where the bottleneck is occur- crisis or failure. This testing pro-
Min:
ring. For example, the total proces- 0.338
vides an opportunity to identify
sor time is the best counter for view- defects that load and stress tests may
ing processor saturation. A number PhysicalDisk %Disk <80% 34% Pass not due to their relatively short
consistently above 90 percent on Time duration.
one or more processors indicates A stability testing should run for as
that the test is too intense for the Memory Available > 10% Max: Pass long as possible, so the weekend is
Bytes Physical 102411
hardware. often an opportune time for this test.
Memory 3, 25%
Generally, there are four levels bot- Min: Of course, the stability test exe-
tleneck: application level, database 614408, cutes one of the performance tests,
level, operation system level and net- 15% but it is also important to measure
work level. Table 3 shows some typical CPU and physical memory utiliza-
counters used in server performance longed periods of time. tion, and system response times. If a
tests, and can be helpful when trying to Why should we do this testing? For particular server process needs to be
find less obvious causes of performance real-time and embedded systems, this available for the application to operate,
problems. Table 4 contains a stress-test can help ensure that systems will run it is necessary to record the server’s
results from a Web server test. normally through many days and memory usage at the start and the end,
nights. Simply put, this test simulates as well as the client’s (or JVM’s) memo-
Activity 4: Stability Testing more and varied workloads across a ry usage.
After Activities one to three, you will test whole day or longer period than would
the permanency of the system, that is sta- be expected in a working day. Stability Activity 5: Database Volume Test:
bility testing. In this testing, the system testing can identify problems that only If you’re deploying a database applica-
will be running at various loads for pro- occur after the system has been running tion, it’s recommended that you add the
O v e r P
Y o u r R o s t
2 , 8 9 5g s !
n
TO D
e s
AY
u m e
!
Jo b P o s ti
entire system. ý
running abnormally, slow or no mind when doing these types of tests: taken together to properly evaluate an
response, no disk space for writing the Concerns (or complaints) about
log file, no space in databases or data response time and application stability
files or complex searches with sorting typically come from end-users; inspec- REFERENCES
through many tables that lead to over- tion of the hardware system is where • Performance vs. load vs. stress testing http://
agiletesting.blogspot.com/2005/02/performance
flow, to name just a few. you’ll find network throughput and -vs-load-vs-stress-testing.html. Grig Georghiu,
Table 5 contains some results of a resource utilization bottlenecks; source February 28, 2005
• Patterns & Practices Performance Testing
test with various amounts of test data. code and database optimization are the Guidance for Web Applications by J.D. Meier, Scott
Of course, when you test a huge data- developer’s domain. But the tester has Barber, Carlos Farre, Prashant Bansode, Dennis
Rea
base system, you should try to generate responsibility for all these areas. And a • Software performance testing http://en.wikipedia
realistic data in all tables. For exam- full-scale performance test is the only .org/wiki/Software_performance_testing
ple, if the “customers” table involves way to ensure that the whole system is • Performance Testing for Ajax-based Applications
Aztecsoft Limited, May 14, 2008
over million records but 999,000 of healthy and will perform well over time. • General Functionality and Stability Test Procedure
those are identical, you will get unreal- Though the test activities explained James Bach
• Performance Testing Considerations. http://www
istic results when searching for a cus- here each have quite different mean- .visibleprogress.com/software_performance
tomer name. ings and scopes, there is no clear _testing.htm
www.stpmag.com • 29
AUTOMATION FACT AND FICTION
TABLE 1: TO AUTOMATE OR NOT TO AUTOMATE? process has been established and effec-
tively implemented, the project can
Yes No expect gains in productivity and turn-
Number of test executions: around time that can have a positive
• Is test executed more than once? effect on schedule and cost.
• Is test run on a regular basis, i.e. often reused, such as part
of regression or build testing? Automation Tools are Easy to Use
An automated tool requires new skills, and
Criticality of test: additional training is usually required.
• Does test cover most critical feature paths?
Plan for costs and time of training and a
• Does test cover most complex area (often most error-prone learning curve.
area)? Many tool makers market their tools
by exaggerating the ease of use of the
Cost of test:
• Is test impossible or prohibitively expensive to perform man- tool. They deny any learning curve that
ually, such as concurrency, soak/endurance testing, perform- is associated with the use of the new tool.
ance and memory leak detection testing? The vendors are quick to point out that
• Is test very time consuming, such as expected results analy-
the tool can simply capture (record) test
sis of hundreds or thousands of outputs? engineer keystrokes and (like magic) a
script is created in the background,
Type of test: which can then simply be reused for
• Does test require many data combinations using the same test
steps (i.e. multiple data inputs for same feature)? playback and edited as necessary.
Efficient automation is not that sim-
• Does test need to be verified on multiple software and hard- ple. The test scripts generated during
ware configurations?
recording need to be modified manual-
• Are the expected results constant, i.e. expected results do not ly to make them reusable and to allow
change with each test and don’t vary? playback under various application
states and with variable data. This
Application/System under Test:
• Is test run on a stable application, i.e. the features of the required language and scripting knowl-
application are not in constant flux? edge. Scripts also need to be modified
as to be maintainable. For a test engi-
• Uses compatible Technology and open architecture neer to be able to modify the scripts,
they need to be trained on the tool and
to the effective use of automated test- lifecycle, complete with the planning its built-in scripting language. New
ing. Test effort savings do not always and coordination issues that come training requirements and a learning
come immediately. Still, test or project along with a development effort. (To curve can be expected with the use of
managers have read the test tool litera- understand what a team has to learn any new tool.
ture and are anxious to realize the before an automated test tool can be
potential of the automated tools. effective, don’t miss part III of this arti- All Tests Can be Automated
There is a good chance that the test cle series.) Not all tests can be automated.
effort will actually increase initially Automated testing is an enhance-
when an automated test tool is first Schedules are Immediately ment to manual testing. It is unreason-
brought into an organization. When Compressed able to expect that 100 percent of the
introducing an automated test tool to a An automated test tool will not immediately tests on a project can be automated. For
new project, a whole new level of com- minimize the testing schedule, and will usu- example, when an automated GUI test
plexity is being added to the test pro- ally lengthen it at first. tool is first introduced, it is beneficial to
gram. And while there may be a learn- Another misconception is that auto- conduct some compatibility tests on the
ing curve for the test engineers to mated test tools will immediately mini- AUT to determine whether the tool will
become smart and efficient in the use of mize the test schedule. Since the testing be able to recognize all objects and
the tool, there are still manual tests to effort actually increases initially, the third party controls.
be performed on the project as well. testing schedule will not experience the The performance of compatibility
The reasons why an entire test effort anticipated decrease at first, and an tests is especially important for GUI test
generally cannot be automated are out- allowance for schedule increase should tools, because such tools have difficulty
lined later in this article. be built in whenever automation is recognizing some custom controls fea-
Initial introduction of automated introduced. This is because when tures within the application. These
testing also requires careful analysis of rolling out an automated test tool, an include the little calendars or spin con-
the application-under-test in order to entirely new testing process has to be trols that are incorporated into many
determine which sections of the appli- developed and implemented. The applications, especially in Windows
cation can be automated. Test automa- entire test team and possibly the devel- applications. These controls or widgets
tion also requires careful attention to opment team also needs to learn new are often written by third parties, and
automated test procedure design and skills and become familiar with (and fol- most test tool manufacturers can’t keep
development. The automated test effort low) this new automated testing up with the hundreds of clever controls
can be viewed as a mini-development process. Once an automated testing churned out by various companies.
It might be that the test tool is com- When performing this cost analysis, procedures per day, it would still take
patible with all releases of C++ and Java, the test engineer will need to weed out 155 years to prepare and execute a com-
for example, but if an incompatible third redundant tests. The goal for test pro- plete test. Therefore, not all possible
party custom control is introduced into cedure coverage using automated test- inputs could be exercised during a test.
the application, the results will be that ing is for each single test to exercise With this rapid expansion it would be
the tool might not recognize the object multiple items, while avoiding duplica- nearly impossible to exercise all inputs
on the screen. It might be the case that tion of tests. For each test, an evaluation and in fact it has been proven to be
most of the application uses a third party should be performed to ascertain the impractical.
grid that the test tool does not recognize. value of automating the test. Let’s take for example the test of the
The test engineer will have to decide As a starting point, Table 1 provides telephone system in North America.
whether to automate this part of the a list of questions to ask when deciding The format of the telephone numbers
application by defining a custom object whether or not to automate a test. If the in the North America is specified by a
within the automation tool, finding a answers are “Yes” to most of the ques- numbering plan. A telephone number
work around solution or whether to test tions, chances are the test lends itself to consists of ten digits, which are split into
this control manually only. automation. a three-digit area code, a three-digit
There are other tests that are physi- central office code and a four-digit sta-
cally impossible to automate, such as Automation Provides 100 tion code. Because of signaling consid-
verifying a printout. The test engineer Percent Test Coverage erations, there are certain restrictions
can automatically send a document to Even with automation, not everything can be on some of these digits.
the printer, but then has to verify the tested. It is impossible to perform a 100 per- To specify the allowable format, let X
results by physically walking over to the cent test of all the possible simple inputs to a denote a digit that can take any of the
printer to make sure the document real- system. It is also impossible to exhaustively values of 0 through 9, let N denote a
ly printed. The printer could have been test every combination and path of a system. digit that can take any of the values of 2
off line or was out of paper. One of the major reasons why testing through 9. The formats of these codes
Neither can a test tool automate 100 has the potential to be an are NXX, NXX, and
percent of the test requirements of any infinite task is that in XXXX, respectively. How
given test effort. Given the endless num-
ber of permutations and combinations
of system and user actions possible
with n-tier (client/middle-layer/server)
order to know that there
are no problems with a
function, it must be tested
with all possible data,
• many different North
American telephone num-
bers do you think are pos-
sible under this plan?
architecture and GUI-based applica- valid and invalid. It is not feasable There are 8 x by 8 x by 10
tions, a test engineer or team does not Automated testing may = 640 office codes with for-
have enough time to test every possibili- increase the breadth and to approach the mat NNX and 8 x by 10 x
ty – manually or otherwise. depth of test coverage, yet by 10 = 800 with format
It also should be noted that no test with automated testing test effort NXX. There are also 10 x
team can possibly have enough time or there still isn’t enough 10 x 10 x 10 = 10,000 sta-
resources to support 100 percent test time or resources to per- with the goal tion codes with format
automation of an entire application. It form a 100 percent XXXX. Consequently it
is not possible to test all inputs or all exhaustive test. of testing follows that there are 800
combinations and permutations of all The sheer volume of x 800 x 10,000 =
inputs. It is impossible to test exhaus- permutations and combi- 100 percent 6,400,000,000 different
tively all paths of even a moderate sys- nations is simply too stag- numbers available. This
tem. As a result, it is not feasible to gering. Take for example of the number would only test
approach the test effort for the entire the test of a function that the valid numbers and
AUT with the goal of testing 100 per- handles the verification of application. inputs to the system, and
cent of the application. a user password. Each user hasn’t even touched on
Another limiting factor is cost. Some on a computer system has a the invalid numbers that
tests are more expensive to automate
than others, and it might make sense
simply to test those manually. A test that
is only executed once per development
password, which is general-
ly six to eight characters
long, where each character
is an uppercase letter or a
• could be applied. This is
another example, which
shows how it is impractical
based upon development
cycle is often not worth automating. For digit. Each password must contain at least costs versus ROI associated with play-
example, an end of year report of a one digit. How many possible password back - to test all combinations of input
health claim system might only be run character combinations do you think data for a system1.
once, because of all the setup activity there are in this example? According to In view of this, random code reviews
involved to generate this report. Since Kenneth H. Rosen in “Discrete of critical modules are often done. It is
this report is executed rarely, it’s more Mathematics and its Application” there also necessary to rely on the testing
cost effective not to automate it. When are 2,684,483,063,360 possible variations process to discover defects early. Such
deciding which test procedures to auto- of passwords. test activities, which include require-
mate, a test engineer needs to evaluate Even if it were possible to create a ments, design and code walkthroughs,
the cost-effectiveness of developing an test procedure each minute, or sixty test support the process of defect preven-
automated script. procedures per hour, equaling 480 test tion. Both defect prevention and detec-
tion technologies need to be part of an recorded, that “First Name” will be hard- testing versus those for automated
effective automated testing process. coded, rendering test scripts usable only software testing. In essence, an auto-
Given the potential magnitude of any for that “First Name.” If variables are to mated software tester needs software
test, the test team needs to rely on test be added, scripts must be modified. To development skills. Different skills are
procedure design techniques, such as read in more than one “First Name,” the required and a manual tester without
boundary, equivalence testing and com- ability to read data from a file or data- any training or background in soft-
binatorics, where only representative base would have to be added, as would ware development will have a difficult
data samples are used. the ability to include conditional state- time implementing successful auto-
ments or looping constructs. mated testing programs.
Test Automation is the Same As Additionally, capture/playback tools
Capture and Playback don’t implement software development Losing Site of the Testing Goal:
Hitting a record button doesn’t produce an best practices right out of the box; Finding Defects
effective automated script. scripts need to be modified to be main- Often during automated software test-
Many companies and automated tainable and modular. Additionally, ven- ing activities, the focus is on creating
testers still equate automated software dor-provided capture/playback tools the best automation framework and
testing with using capture/playback don’t necessarily provide all testing fea- the best automation software and we
lose sight of the testing goal: to find
defects. It’s important that testing
techniques, such as boundary value,
risk based testing, equivalence parti-
tioning, deriving the best suitable test
cases, etc. are applied.
You might have employed the latest
and greatest automated software devel-
opment techniques and used the best
developers to implement your automa-
tion framework. It performs fast with
tens of thousands of test case results,
and it’s getting rave reviews. No matter
how sophisticated your automated test-
ing framework is, if defects slip into pro-
duction and the automated testing
scripts didn’t catch the defects it was
supposed to, your automated testing
effort will be considered a failure.
tools. Capture/playback in itself is ineffi- tures required; code enhancements are The most successful automated test-
cient automated software testing at best, often required to meet testing needs. ing efforts require a mix of tools, frame-
usually creating non-reusable scripts. Finally, vendor-provided tools are not works and skills. Capture/playback solu-
Capture/playback tools record the necessarily compatible with system engi- tions get the biggest hype, but are only
test engineer’s keystrokes in the tool’s neering environment, and software test- one piece of the automated testing solu-
provided scripting language and allow ing frameworks need to be developed tion. There is no magic bullet to auto-
for script playback for baseline verifica- in-house to enhance some of the exist- mated testing and not one tool exists on
tion. Automated test tools mimic ing tools’ capabilities. the market that can help solve all your
actions of the test engineer. During test- automated testing vows. Automated
ing, the engineer uses the keyboard and Automated Software Testing is A frameworks developed in-house, various
mouse to perform some type of test or Manual Tester Activity scripting languages, skills and knowledge
action. The testing tool captures all key- Use of capture/playback tools and script of testing techniques, analytical skills and
strokes or images and subsequent recording does not an automated tester make. development experience are all required
results, which are baselined in an auto- While automated software testing for automated testing to be successful.
mated test script. During test playback, does not immediately replace the man-
scripts compare the latest outputs with ual testing and analytical skills required Next Time
previous baseline. Testing tools often for effective and efficient test case devel- In the next and final part of this series I’ll
provide built-in, reusable test functions, opment, automated testing skills discuss additional pitfalls to avoid such as
which can be useful and most test tools required are different skill from manual picking the wrong tool; how to better
provide for non-intrusive testing; i.e., software testing skills required. Often integrate tools, by asking for standards
they interact with the AUT as if the test however, companies buy into the ven- across tool vendors; and how an auto-
tool was not involved and won’t modi- dor and marketing hype that automated mated software testing process can help
ing effort. ý
fy/profile code used in the AUT. software testing is simply hitting a implement a successful automated test-
Capture/playback generated scripts record button to automate a script.
provide challenges. For example, the That is simply not the case.
REFERENCES
capture/playback record hard-coded val- It is important to distinguish be-
1. Rosen, Kenneth H. (1991) Discrete Mathematics
ues; i.e. if an input called “First Name” is tween the skills required for manual and Its Application.
ave you considered the impact of that the Internet is used for many things and
due to other traffic on the network. Native move data between the client and the server.
latency makes the assumption that the entire This article covers my recent experience imple-
network and Internet pipe is yours for the ask- menting a global Web-based solution and some
ing. The cold reality is that you share this pipe
with all the other users in your office and also Nels Hoenig is a lead software quality engineer for IT
consulting firm Princeton Information.
all the other traffic on the Internet. We know
•
Tracing route to stpmag.com [198.170.245.48]over
based on the other peo- We checked the server to a maximum of 30 hops:
ple copied, it was appar- see if it was having per-
ently the first one formance issues or if back- 1 1 ms <1 ms <1 ms 192.168.1.1
2 8 ms 9 ms 13 ms cpe-75-185-104-
opened. The message ups were running when
arrived just after we had
Automated tools the issue was reported. No
1.insight.res.rr.com [75.185.113.1]
3 7 ms 9 ms 9 ms network-065-024-192-
extended manual testing issues; keep looking. Next 197.insight.rr.com [65.24.192.197]
to users in India, after ran transactions check the users’ PCs for 4 10 ms 9 ms 9 ms pos13-2.clmboh1-rtr2.colum-
bus.rr.com [65.24.192.38]
testing using remote adequate resources or 5 10 ms 9 ms 9 ms pos13-1.clmboh1-rtr1.colum-
logins to machines in from India for unexpected constraints. bus.rr.com [24.95.86.165]
India. The remote testing No issues; keep looking. 6 20 ms 18 ms 19 ms tge5-3-0.ncntoh1-
was OK, but not as fast as 11 hours to see We had machines located
rtr0.mwrtn.rr.com [65.25.137.249]
7 118 ms 207 ms 203 ms te-3-
in the U.S. In manual in India that we could 4.car1.Cleveland1.Level3.net [64.156.66.97]
remote testing from this performance remote into. So we set the 8 21 ms 19 ms 19 ms ae-2-
4.bar1.Cleveland1.Level3.net [4.69.132.194]
location, processing time alarm for 3:00 am and test-
9 25 ms 35 ms 35 ms ae-6-
was longer than in U.S. flucuations... ed it ourselves. This testing 6.ebr1.Washington1.Level3.net [4.69.136.190]
locations, but the times confirmed the issue, but 10 40 ms 35 ms 36 ms ae-61-
had been acceptable. we had proof also showed that the prob- 61.csw1.Washington1.Level3.net [4.69.134.130]
11 27 ms 26 ms 28 ms ae-1-
So how were we to lem existed only in India 69.edge2.Washington4.Level3.net [4.68.17.19]
interpret this somewhat of a problem. and only during the India 12 40 ms 27 ms 28 ms 4.68.63.186
inflammatory message? working day (Figure 1). 13 30 ms 28 ms 29 ms ae-
To further understand 1.r21.asbnva01.us.bb.gin.ntt.net [129.250.2.180]
300
Step 4: Fix the Issue
Now that we understood that the net- 250
cation server. ý
top but they could be anywhere on the and 35 after the hour and
03 RZ Ad squish_Froglogic_SWTP:Layout 1 17.09.2008 13:44 Uhr Seite 1
the trace com- compared to going direct to the appli-
testing PC. mand run at 00, 10, 20,…every ten min-
Index to Advertisers
DONE RIGHT.
® Automated QA www.testcomplete.com/stp 10
SQUISH .
CROSS-PLATFORM
GUI TESTING Froglogic www.froglogic.com/evaluate 36
Hewlett-Packard hp.com/go/quality 40
Mu Dynamics www.mudynamics.com/voip 6
Seapine www.seapine.com/optiframe 4
every one.” ý
ly to manufacturers or other distributors. developers finding bugs in code they service, you need a strategy for testing
Of the 13 people on its development didn’t write but which still influence
team, two are dedicated to QA. application behavior dramatically.
“We are learning how to merge auto- At outsource developer TeraCode the Joel Shore is a 20-year industry veteran and
mated testing at build time as a way to has authored numerous books on personal com-
methodology is to test early and test often.
puting. He owns and operates Reference Guide,
smooth out our development cycle,” says “One of the advantages of SOA is that the a technical product reviewing and documenta-
technology director Craig Sutter. “We’re components are discreet and can be test- tion consultancy in Southboro, Mass.
a fast-moving group with a fairly large ed independently of the completed prod-
Getting a Grip
some of the hardships of trying to test
components early, be it virtualizing
server configurations for faster setups
and teardowns or simulating the
behavior of other components you
hardware
a test-enabled
model. For years, our
engineering
counterparts have under-
• Running a system on
faster hardware may buy
you a 10 percent increase
in response time, but the
solution with an expected service level stood the need for a test Buying additonal workflow will reach the
of a 2.1-second response time. The ini- harness. same choke points, just a
tial UI is finally ready for load testing, These test beds en- hardware and little faster. Changing
which means the app is already about abled electronics testers hardware rarely fixes
95 percent completed. to execute the instru- bandwidth is like threading issues, critical
If performance comes in at less mented device in a vari- process failures or bad
than 2.1 seconds fine. But if it doesn’t, ety of ways, and the adding oil to a coding.
the entire team has major concerns, as device itself reports its We can better manage
most of the connections within the failures such that engi- leaky engine; end-user performance
app are already integrated. Pin- neers can quickly under- adherence if we don’t
pointing the culprit service or compo- stand the failures and it buys time wait for a completed
nent is nearly impossible. correct them. application to test.
To move performance testing into For every order hitting without fixing Furthermore, there are
the lifecycle, each contributing devel- the application, thou- few, if any, enterprise sys-
opment team should be assigned a sands of lines of code the problem. tems that are still devel-
specific metric and must perform their from many different oped and tested by a sin-
own performance testing. A quality authors over years of gle team. Today’s distrib-
engineering resource should be tasked
with making that happen.
If my solution has an expected
response time of 2.1 seconds, I need to
deployments are execut-
ed. It isn’t feasible for
my solution-level per-
formance-testing team to
• uted applications offer
increased functionality
and flexibility, but that
comes with the cost of a
decompose that SLA into perform- prove that every possible error condi- higher degree of variability, and less
ance expectations at a component tion or performance issue that might predictable performance as a result.
level. In this example, the app server occur over time has been avoided. Here’s to getting the whole team
may take 0.1 seconds, while we give 0.3 Therefore, a test-enabled component signed up for better performance.
seconds to the Verify Order process, is needed for the test lab to provide
0.5 seconds to Order Lookup, and 1.2 value. John Michelsen is CTO of iTKO, a maker of
QA tools for SOA applications.
seconds to Order Response. The key is Virtualization has helped mitigate