Features
Holodeck's powerful environment simulation and extensibility
allows testers to create hundreds of high value, fuzz and fault
driven scenarios that test organizations would otherwise not
have the means, time or capability to perform.
Data sheet>>
Automated Point-and-Click Fault Scenarios
:: more>>
Holodeck offers several out of the box fault scenarios that
realistically simulate real world, hostile conditions. These
pre-configured faults will fail certain API function calls to
simulate Operating System faults such as File in Use, Insufficient
Memory, or Network Down.
|
|
File Fuzzing File streams are virtualized and fuzzed [randomly corrupted] in-line and in real-time and fed to the application under test as the file it opened. The fuzzed file streams are randomized and allow testers to force applications to consume a different corruption pattern on every file access. Microsoft SDL requires that applications successfully open 100,000 fuzzed files, and Holodeck virtualized file fuzzing provides a simple path to success. |
|
|
Network Fuzzing Network streams are virtualized and fuzzed [randomly corrupted] or injected with patterns aimed at causing specific behaviors in the application under test. Holodeck network fuzzing enables well known testing techniques such as SQL Injection and allows testers to clearly understand how an application will behave when presented with corrupted data streams. Microsoft SDL requires that applications successfully open 100,000 fuzzed files, however most of today’s applications don’t consume file streams directly, and instead consuming streams from servers as input. Holodeck virtualized network fuzzing provides a simple path to uncovering network based data issues as simply as it does for files. |
|
|
Resource Faults Calls to a specific process, library, file, folder, registry key, registry value or COM object are intercepted and their return values overridden by the tester, allowing simulation of key resource faults such as File not found, [Registry] Key is Corrupt, [Resource] Access Denied, [Resource] Process Not Found etcetera. Any resource available to the application may be intercepted and overridden enabling testers to understand application behavior when presented with specific resource availability and return value conditions. |
|
|
System Faults Quickly virtualize and limit key resources, including the amount of disk, memory and network bandwidth, and allow testers to observe the results. Applications often assume they own all system resources and are free to consume as needed or wanted, and limiting quantities exposes defects that would normally go unnoticed in the test lab. |
|
|
Custom Faults Testers may modify any predefined fuzz pattern or fault or new ones may be created. |
Automatic Test and Fault Generation
Holodeck analyzes applications and automatically generates tests
to improve stress testing results and increases code coverage.
Application Function
Call Logging
Holodeck intercepts and logs all direct and indirect API calls
allowing testers to analyze the behavior leading to a failure.
Observing API call behavior allows testers to not only better
understand the patterns that lead to a failure and back to its root
cause, but to provide developers with the key trace information
needed to repair uncovered flaws.
:: more>>
API Interception
Holodeck allows testers to intercept calls to any system API
including its own DLL’s and any other Win32 or .NET resource,
and override call parameters and return values. Multiple wrap
applications may be intercepted simultaneously, and
automatically intercept any new processes that are spawned
during testing, allowing complete control over the behavior of
the application’s runtime environment.
Works with other automated test
frameworks
Holodeck can be used in conjunction with existing automated test
frameworks or regression test automation to increase the
probability of finding bugs, and increase the number of bugs
found. Forcing faults concurrent with automated test execution
adds a new dimension to the automated testing process. By
managing the runtime environment and resource availability,
applications are forced to run in less than perfect conditions
and expose their limitations.
::
more>>
Integrated debugger
Holodeck implements a debugger that catches all application crashes and
exceptions and creates a minidump file that can later be loaded into Visual
Studio for debugging. This helps to close the loop between tester and
developer, quickly providing the line of code where crash occurred and the
state of the machine at the time of failure.
:: more>>
Rapid Resource Limitation
Holodeck allows testers to view the level of disk, memory or network
resources consumed by the application under test and limit those resources
to simulate different host conditions without having to physically change
the memory or disk availability on the testing computer.
:: more>>
API Test Wizard
The Holodeck Test Wizard allows testers to create
scheduled
tests, those which occur at fixed intervals during a test
run. In addition to scheduled test execution, Holodeck enables pattern and
event based test execution, for example Fire based on call stack matching;
pause when a test fires, et al.
Complete application
control
Holodeck gives testers complete application
execution control, allowing them to pause, stop, or restart any
application in a project, enabling recovery after an application
crash, or restart from an undefined or frozen state. ::
more>>
Works with both Windows and
.NET Applications
Holodeck supports the complete Win32 API and .NET reference
parameters, private methods, and system reflection.
Automation-Ready
Holodeck exposes everything needed to completely automate its
functionality and instrument the application under test.
NT/XP Windows Services Support
Launch or attach to any service regardless of whether it is a standalone
service or part of a svchost process. ::
more>>
Custom Test Project
Creation
Holodeck can quickly generate .NET and
Win32 Microsoft® Visual Studio™ projects, allowing testers to create
their own logic for intercepted API functions. :: more
>>
Network Packet Logging
Holodeck captures and logs all network packet traffic from the
application under test and allows drill down into each packet. If
Holodeck executes a network corruption fault, the corrupted bytes are
highlighted in the Network Message Details Pane.
:: more>>
Code Coverage Test Generation
Holodeck varies when the test will be applied to more thoroughly test the
application. You can analyze your application and automatically apply resource
and corruption faults and tests that are most likely to cause failure. Holodeck
also includes
automatic
test generation for stress testing and testing for code
coverage of your application.
:: more>>
Fully-Extensible
Holodeck completely exposes its various APIs enabling the
development of custom imposter functions and complete applications
that provide Holodeck fuzzing and fault injection functionality.
API’s are available at various levels and to various development
languages, specifically:
![]() |
HEAT—A C/C++ API that provides low-level fault injection functionality |
![]() |
HoloScript. A managed language API that allows
high-level control of Holodeck features such as Set Limits,
Inject faults, Create scheduled tests, Examine log entries,
Attach to delegates (Thread created, Process created, Log
created) |




