r3 - 25 Aug 2009 - 08:55:45 - AndriyMayevskyyYou are here: Wiki >  AppLogic27 Web > CatGatewayInTp
ALERT! AppLogic 2.7/2.8 Documentation The latest production release is AppLogic 3.0.30

IN - Input Gateway Appliance - Test Plan

Preparation

Host platform

The automated tests described here for the IN appliance are designed to run on a Linux system and are verified to work on CentOS 5. They don't need anything CentOS-specific and should work on other Linux distros.

These tests must be launched from a remote host, that has an SSH access to the AppLogic controller.

Tools

All necessary tools are supplied within the test suite. You need SSH installed and ssh-key file for your AppLogic grid to perform the tests.

Tests Summary

Configuration Tests

  • Configuration propagation test: verify that configuration files are updated according to IN configuration
  • Memory management test: test with different memory configurations

Functional Tests

  • Protocol/port pass-through test: verifies ability to pass allowed traffic only
  • Net/host pass-through test: verifies ability to access by allowed hosts only

Resource Tests

  • CPU/Memory resource tests: tests IN performance under various CPU/Memory configurations.

Endurance Tests

  • Start-Stop test: verifies that appliance can be started and shut down multiple times

Running the Tests

To run the tests on AppLogic2.AppLogic grid, copy and un-compress the tests archive file to a directory of your choice. Launch the test suite running the in-test.sh file. Test suite imports the test application, or prompt you to use an existing, created previously, one.

Example test aplication:

IN_testapp.png
If you choose to create a new test application, the test suite will import a new application and configure it, assuming that the IN instance that you want to test is located in the /proto/ catalog and in named IN. If you want to test another instance of IN, you can either copy it to the /proto/ catalog or open the test suite application in AppLogic GUI and manually drag the necessary IN instance over an existing one.

Design

Structure

The test application is built from from the following:

  • target appliance (based on LINUX5) used for testing IN functionality

The test script is fully automated and includes the ability to install the necessary test software on the LINUX5 instances. The user does not need to install any software on any of the appliances; the test script takes care of everything.

Test Details

All tests use default configuration unless otherwise specified. During every test messages containing test details and progress will be displayed. If an error occur during any step, an error message " = Test failed = " will be displayed, with error details. After every successful test a message " = Test passed = " is displayed.

  • ALERT! For successful operation, test suite must be the only application running on the grid, or some tests, mainly performance ones, may fail.

  • ALERT! Some tests, especially resource-intensive ones, may fail if you do not have enough resources available. This is not a IN fault.

  • ALERT! Most of the tests should not be interrupted by a user. If it happened that you had to interrupt the test, stop the test application with "application stop" before proceeding to the next test.

Configuration propagation test

Reconfigures IN with different settings and verifies that all settings in its configuration files are updated accordingly

Test changes multiple properties of IN, launches the application, verifies successful changes in configuration and verifies that IN is operational with these settings. Every possible value of every property is tested.

Memory management test

Tests IN configuration under various memory resources available

Test detects the amount of free memory available on the grid where the test application is running, and verifies proper updates to the Java memory settings values. IN is tested with 64Mb, 128Mb, 256Mb, 384Mb, 512Mb, 1Gb, 1.5Gb, 2Gb, 3Gb, 4Gb, 8Gb, 16Gb, 32Gb of memory, subject to available free memory on the grid. Any mismatches between reported property values and reference values are reported.

This test may fail at some point when there are not enough free resources available. This is not a IN fault.

Protocol/port pass-through test

Verifies IN firewall operation. Test IN to serve allowed protocol/port pairs requests only

Net/host pass-through test

Verifies IN firewall operation. Test IN to serve requests from allowed host (or subnet) only. Also, verifies that requests from hosts listed under denied_hosts are prohibited.

Start-Stop test

Verifies that IN could be safely started and stopped multiple times.

This test verifies that the IN can be successfully started and stopped multiple times. It is an important test that verifies that all log rotation is performed properly. Amount of start/stop cycles may be specified and be unlimited (in this case the test can be interrupted using control-c).

Performance test

Verifies IN appliance performance

Endurance test of the IN appliance

Verifies that IN appliance could work on heavy load during long time periods

Connection limit test

Measures the count of established active connections

Perform ALL Tests

Run all important tests in automated mode without any details except success/failure messages.

-- OlegSmolov - 13 May 2009

 
Copyright © CA 2005-2011. All Rights Reserved.
%