Technical overview
Architecture

Click image to enlarge.
ForecastTM components
Studio
Create test scripts, define test scenarios and manage test data. Studio integrates with popular IDEs.
Test Controller Initiate, monitor and control test execution. Test controller monitors and displays real-time data including:
- Test status
- Detailed status and progress of individual Virtual Users
- Key performance statistics
- Server and network metrics that to identify "bottlenecks" and reveal application and infrastructure resource usage
Load Injectors Forecast
TM is distributed and highly scalable. Multiple Load Injector machines can be quickly deployed. Each load injector instance participating in a test is controlled by the Test Controller.
ForecastTM provides three core load injection engines:
- Native cross-platform, scripted in C++ (Windows, Linux and Unix varieties).
- Java, scripted in Java.
- .NET, scripted in C#.
Support for particular protocols and application frameworks is layered above these runtime engines. The engines present a near identical set of classes and a common API with only minimal language/platform specific differences.
Analyzer The Analyzer tool processes test results, including server and network metrics collected directly during the test by Forecast
TM or by external tools. Analyzer displays data in customisable charts, has flexible report creation features and an API for automated report production.
Design
We follow these key design principles:
- Flexible and open. ForecastTM is designed to be extensible and to inter-work with other tools. The runtime, script recorders, script generators and monitoring, indeed most of the product can be extended to target specific applications and technology frameworks. This not only increases productivity, it also enables more effective testing of challenging applications.
- Comprehensive technical coverage. ForecastTM is one of a small, select group of tools that targets a wide range of technologies. This is vital for users with a technology mix such as thick and thin clients that they wish to test simultaneously.
- Do not impose unnecessary constraints. If you wish to program scripts rather than record them then you can and you may use your favourite IDE. If you want to run tests as part of the daily build, ForecastTM can be easily automated.
- Work with industry standard IDEs. ForecastTM integrates with leading tools like Visual StudioTM, NetBeansTM and EclipseTM to provide optimal solutions for advanced test script development.
- Tackle the important issues. Our deep understanding of load testing combined with customer feedback means that we focus on functionality that makes a difference in the real world. For instance, we know that the effort of creating and maintaining scripts is often a major cost that impedes effective testing. Consequently, we have developed a framework for automating script production without compromise, enabling sophisticated tests to be created rapidly without requiring expensive programming skills.