Testing/ARC-Core

From NorduGrid
Jump to: navigation, search

Coordination effort for each RC will be performed at the links shown in the Testing page.

Test report

To be attached here.

EMI Component Description and Version

ARC-Core is represented by components responsible for hosting web services, allowing the set up of different security layers and higher-levels of information transfer. Apart from the HED, ARC Core module also contains all the common, shared utilities of ARC software. On these components we will try to test the usage of different MCCs and security layers (using the echo service). Additionally we will use the perftest utility to test the stability of the components.

Deployment tests

CO-D1: clean installation

  • Tester: Marek
  • due for every RC

CO-D2: upgrade installation

  • Tester: Marek
  • due: postponed

Code analysis

  • Tester: Marek
  • due for every RC
  • Sloccount:
  • CCCC metrics:

Later the results will be split between components.

Unit tests

  • Tester: Anders
  • due for every RC

Specify link for Results of unit test code coverage for entire ARC.

The text description of results will come later.

Later the results will be split between components.

System Tests

Regression tests

  • Tester: Marek
  • due for every RC

Verification of resolved bugs, see RfCs in the tracker


Functionality tests

CO-F1: ARCHED daemon

  • Deployment of an echo service using arched container and different MCC types
  • Test of authentication, responses and stability of deployed service using arcecho command

CO-F1.1: Without TLS

  • Description of the test:

We create this ( tcp->http->soap->plexer->echo ) MCC chain on server side and after we use the arcecho command on client side.

arcecho http://localhost:66000/Echo message
  • Testbed:

Specify testbed details

  • Expected result:

We will get the follows response from the server.

[message]
  • Result: PASSED/FAILED

CO-F1.2: Without TLS and Plexer

  • Description of the test:

We create this ( tcp->http->soap->echo ) MCC chain on server side and after we use the arcecho command on client side.

arcecho http://localhost:66000/Echo message

arcecho http://localhost:66000/ message
  • Testbed:

Specify testbed details

  • Expected result:

We will get the follows response from the server.

[message]
[message]
  • Result: PASSED/FAILED

CO-F1.3: With TLS

  • Description of the test:

We create this ( tcp->tls->http->soap->plexer->echo ) MCC chain on server side and after we use the arcecho command on client side.

arcecho https://localhost:66000/Echo message
  • Testbed:

Specify testbed details

  • Expected result:

We will get the follows response from the server after the authentication.

ERROR: Can not access proxy file: /tmp/x509up_u500
Enter PEM pass phrase:
[message]
  • Result: PASSED/FAILED

CO-F1.4: With TLS and without Plexer

  • Description of the test:

We create this ( tcp->tls->http->soap->echo ) MCC chain on server side and after we use the arcecho command on client side.

arcecho https://localhost:66000/Echo message

arcecho https://localhost:66000/ message
  • Testbed:

Specify testbed details

  • Expected result:

We will get the follows response from the server after the authentication.

ERROR: Can not access proxy file: /tmp/x509up_u500
Enter PEM pass phrase:
[message]
ERROR: Can not access proxy file: /tmp/x509up_u500
Enter PEM pass phrase:
[message]

Result: PASSED/FAILED

CO-F1.5: Username token authentication together - unexisting username/password file

  • Description of the test:

We create this ( tcp->tls->http->soap->plexer->echo ) MCC chain on server side and after we use the arcecho command on client side.

arcecho https://localhost:66000/Echo message

In case of configured but unexisting username/password file. (With and without TLS.)


  • Testbed:

Specify testbed details

  • Expected result:

We will get the follows response from the server after the authentication.

ERROR: Can not access proxy file: /tmp/x509up_u500
Enter PEM pass phrase:
Not existing credentials.
  • Result: PASSED/FAILED

CO-F1.6: Username token authentication together - wrong username/password

  • Description of the test:

We create this ( tcp->tls->http->soap->plexer->echo ) MCC chain on server side and after we use the arcecho command on client side.

arcecho https://localhost:66000/Echo message

In case of configured and existing but invalid username/password. (With and without TLS.)

  • Testbed:

Specify testbed details

  • Expected result:

We will get the follows response from the server after the authentication.

ERROR: Can not access proxy file: /tmp/x509up_u500
Enter PEM pass phrase:
Invalid username/password.
  • Result: PASSED/FAILED

CO-F1.7: Username token authentication together - with valid credentials

  • Description of the test:

We create this ( tcp->tls->http->soap->plexer->echo ) MCC chain on server side and after we use the arcecho command on client side.

arcecho https://localhost:66000/Echo message
  • Testbed:

Specify testbed details

  • Expected result:

We will get the follows response from the server after the authentication.

ERROR: Can not access proxy file: /tmp/x509up_u500
Enter PEM pass phrase:
[message]
  • Result: PASSED/FAILED

CO-F1.8: Username token authentication together without Plexer

  • Description of the test:

We create this ( tcp->tls->http->soap->echo ) MCC chain on server side and after we use the arcecho command on client side.

arcecho https://localhost:66000/ message
  • Testbed:

Specify testbed details

  • Expected result:

We will get the follows response from the server.

ERROR: Can not access proxy file: /tmp/x509up_u500
Enter PEM pass phrase:
[message]
  • Result: PASSED/FAILED

CO-F1.9: Username token authentication together without TLS

  • Description of the test:

We create this ( tcp->http->soap->plexer->echo ) MCC chain on server side and after we use the arcecho command on client side.

arcecho http://localhost:66000/Echo message
  • Testbed:

Specify testbed details

  • Expected result:

We will get the follows response from the server.

[message]
  • Result: PASSED/FAILED

CO-F1.10: Username token authentication together without TLS and Plexer

  • Description of the test:

We create this ( tcp->http->soap->echo ) MCC chain on server side and after we use the arcecho command on client side.

arcecho http://localhost:66000/ message
  • Testbed:

Specify testbed details

  • Expected result:

We will get the follows response from the server.

[message]
  • Result: PASSED/FAILED

CO-F2: arched command line options

  • Tester: Jon

Description of the test:

Test the command line options of arched, if they work according to documentation.

  • -d, --config-dump dump generated XML config
    • check if ini config is correctly translated using different ini config files
  • -h, --help Show help options
  • -f, --foreground run daemon in foreground
  • -c, --xml-config=path full path of XML config file
  • -i, --ini-config=path full path of InI config file
  • -p, --pid-file=path full path of pid file
  • -u, --user=user user name
  • -g, --group=group group name
  • -s, --schema=path full path of XML schema file
  • -v, --version print version information

CO-F2.1: Dump generated XML config

Description of the test:

Create ini-files for all services available in /usr/share/arc/profiles/general.xml. Check if correct XML config is dumped.

Testbed:

Specify testbed details.

Expected result:

Dumped XML config can be used to start corresponding service.

Result: PASSED/FAILED

CO-F2.2: Show help options

Description of the test:

Run arched with help option.

Testbed:

arched deployed on resource described.

Expected result:

Help options are showed both with short and long option. Help options correspond to man page.

Result: PASSED/FAILED

CO-F2.3: Run daemon in foreground

Description of the test:

Run arched with foreground option.

Testbed:

arched deployed on resource described.

Expected result:

arched is run in the foreground both with long and short option.

Result: PASSED/FAILED

CO-F2.4: full path of XML config file

Description of the test:

Run arched with XML config file option. Give XML file as input.

Testbed:

arched deployed on resource described.

Expected result:

arched starts what is described in the given XML file and not in the default XML file.

Result: PASSED/FAILED

CO-F2.5: full path of Ini config file

Description of the test:

Run arched with Ini config file option. Give Ini file as input.

Testbed:

arched deployed on resource described.

Expected result:

arched starts what is described in the given Ini file and not the default Ini file.

Result: PASSED/FAILED

CO-F2.6: full path of of pid file

Description of the test:

Run arched with pid file option.

Testbed:

arched deployed on resource described.

Expected result:

Starting arched creates pid file on given path.

Result: PASSED/FAILED

CO-F2.7: user name

Description of the test:

Run arched with user name option.

Testbed:

arched deployed on resource described.

Expected result:

arched process is owned by given user.

Result: PASSED/FAILED

CO-F2.8: group name

Description of the test:

Run arched with group name option.

Testbed:

arched deployed on resource described.

Expected result:

arched process is owned by given group.

Result: PASSED/FAILED

CO-F2.9: full path of XML schema file

Description of the test:

Run arched with XML schema option on echo XML config.

Testbed:

arched deployed on resource described.

Expected result:

Given schema file is used and and XML config is validated .

Result: PASSED/FAILED

CO-F2.10: version

Description of the test:

Run arched with version option.

Testbed:

arched deployed on resource described.

Expected result:

Version 1.0.0b4 is printed and arched is not running.

Result: PASSED/FAILED

Performance tests

WILL NOT BE DONE FOR EMI 1.0.1 (Update 5)

CO-P1: service reliability

Services run by the component must maintain a good performance and reliability over long periods of time with normal operation. Long running unattended operation test measuring performance of the product. Service must not show performance degradation during a 3-day period.

  • Description of the test:

First time see the times to return 100 arcecho requests (simultaneous and sequential). Then repeat a following cycle for three days - every 5 minutes use the perftest utility with input parameters 50 threads, 30 seconds. After every day try to measure the times to return 100 arcecho requests (simultaneous and sequential) and make some conclusion when comparing the times to times from beginning of test.

Test.jpg

Package: EMIX {Update Y}

  • Results
    • CPU usage: PASSED/FAILED
    • Memory usage: PASSED/FAILED
    • Request time (sequential): PASSED/FAILED
    • Request time (simultaneous): PASSED/FAILED

Scalability tests

CO-S1: ws-layer response

Testing of stability and thoughtput of deployed echo service using perftest utility

Standard compliance/conformance tests

after EMI-1 the WS-layer should be tested against standard WS toolkits.

Inter-component tests

no plans for EMI-1