SandStorm supports the following platforms, technologies and protocols
Platforms - Windows 7, 8, Server 2008, Server 2012, Linux (RHEL, CentOS, Ubuntu)
Protocols - Http, Https, SOAP, XML, REST, AJAX, Flex, Silverlight, Applets
Mobile - Android, iOS, BlackBerry OS, WAP, OMA-IMPS
NoSQL - Cassandra, HBase, MongoDB, OracleNoSQL
Message queues - RabbitMQ, ActiveMQ, Kafka, Qpid
Other Big data - Hadoop, Solr, Elastic Search
Client server - JDBC, RMI IIOP, SMTP, POP3
Components
Recording Tool
SandStorm’s Recording Tool is used to record the business processes to create a test script. The Recording Tool is a proxy server that captures the communication between the real client application and the server. After the recording process, a test script is generated, which can later be assigned to virtual users.
Controller
SandStorm’s Controller is responsible for configuring and controlling various aspects of virtual user execution on one or more hosts. The host is a machine on which the virtual user is run. These aspects include:
- Assigning virtual users to hosts
- Setting execution priority and runtime behavior, such as execution in a separate thread or Java Virtual Machine (JVM)
- Grouping virtual users based on certain policies
- Emulating connection bandwidth and user think time
- Other runtime parameters, such as length of script execution and delay between script executions
In addition, the Controller sends commands to the Command Launcher to run, pause, resume, and abort virtual user script execution.
Command Launcher
Responsible for executing the commands sent by the Controller, the Command Launcher receives these commands and decides whether the execution of the virtual user is to be done on a separate thread or a JVM. Accordingly, it loads virtual users and waits for further requests from the Controller for execution, suspension, or killing of virtual user scripts. It also sends details, such as virtual user status information and the results of the executed commands, back to the Controller.
Analyzer
The SandStorm Analyzer helps to identify the bottlenecks in test scenarios. It produces various graphs and reports that help in performance measurement, analysis and capacity planning issues. It produces various reports and corresponding graphs such as Running virtual user, Transaction/Sec (Passes and Failed both), Transaction Performance (Min, Max, and Average) and a detailed transaction performance by the virtual user