This test plan is intended to prescribe the scope, approach, types of performance testing, resources and high-level schedule of the testing activities to be performed in the Touchstone project. This plan will identify the use cases, data, and related systems to be included in the testing process.
The following documents were used as sources of information for this test plan:
The objective of this test plan is to outline the performance testing effort to be undertaken for the Touchstone project.
MIT Touchstone is a new suite of technologies for authenticating a variety of web applications, being introduced by IS&T. MIT Touchstone does provide a single sign-on solution for applications that have been coded and configured to use the system. Within the context of Touchstone enabled applications, users will be able to seamlessly transition between systems without being prompted for additional authentication information.
The intended audience of this document includes all IT personnel involved in the development, testing, and support of Touchstone.
MIT Touchstone utilizes/integrates with the following technologies:
Each of the following business processes (user flows) will be tested under load:
The following modules and types of tests are considered to be outside the scope of this test effort and will not be tested by Questcon:
The following risks have been identified, which may impact the testing effort.
Risk |
Contingency |
Production-like test environment not available |
Utilize development or production environment. Results may not be indicative of production and therefore cannot be used as a benchmark. Production performance issues may not be identified during testing. |
Production-like setup and settings not available. |
Use the closest setup and settings we can. Results may not be indicative of production and therefore cannot be used as a benchmark. Production performance issues may not be identified during testing. |
Fully operational test tools not available. |
Wait until the test tools are availalbe or find and use another test tool(s). This will extend the time required to perform testing. |
Test time increases due to changes in scope requiring additional test analysis and/or test case creation |
If test time cannot be increased, reduce/cut performance testing scenarios and execute highest priority scenarios initially followed by lower priority tests until test time runs out |
Involvement of subject matter experts (SMEs) for all stages of the testing effort not sufficient. |
If test time cannot be increased, reduce/cut performance testing scenarios and execute highest priority scenarios initially followed by lower priority tests until test time runs out |
Inadequate Non-functional Requirements |
Missing pass/fail criteria invalidates benchmarking. Missing load modeling invalidates all scenarios. Perform only a brute stress test to try and flush out major bottlenecks and functionality under load issues. Additionally an endurance tet can be run to attempt to identify memory leaks. All tests will be less indicative of real world usage scenarios. |
Insufficient access to systems in order monitor (This includes any necessary server side scripts which may need to be developed in order to capture desired metrics.) |
Root cause analysis will be difficult is possible. Testing time will most likely need to be extended and scenarios may be abbreviated due to time constraints. |
Substantial issue(s) which requires significant modifications to the application or re-configuration of the system are encountered. |
Some testing may need to be re-done, possibly including re-scripting etc. This would extend testing time. |
Excessive number of bottlenecks encountered and/or issue correction time. |
Extend testing time. |
Test time increases due to changes in scope requiring additional test analysis and/or test script/scenario creation |
If test time cannot be increased, reevaluate priorities and risk and test according to new priorities. |
The overall strategy for performance testing the Touchstone project is goal based. There are four main goals whe hope to acheive:
Scripts will be designed to model various user interactions with the system. While most of the user interactions will be scripted, some may be omitted according to the 80/20 rule and/or any time constraints which may exist.
The tools we will employ are yet to be determined. A proof of concept (PoC) is under way on a performance tseting tool. If it is acceptable to MIT then this tool will be identified here. Otherwise furhter PoCs may need to be conducted until a satisfactory tool is identified and accepted by MIT.
We will need the following:
The following scripts will be used during the performance testing effort. When the design steps have been provided by MIT all of the to be determined (TBD) values will be replaced with the actual values.
Precondition: TBD
Data Needed: TBD
Transaction Name |
Step(s) |
Expected Result |
95th % Response Time |
---|---|---|---|
TBD |
|
|
|
Precondition: TBD
Data Needed: TBD
Transaction Name |
Step(s) |
Expected Result |
95th % Response Time |
---|---|---|---|
TBD |
|
|
|
Precondition: TBD
Data Needed: TBD
Transaction Name |
Step(s) |
Expected Result |
95th % Response Time |
---|---|---|---|
TBD |
|
|
|
Precondition: TBD
Data Needed: TBD
Transaction Name |
Step(s) |
Expected Result |
95th % Response Time |
---|---|---|---|
TBD |
|
|
|
Precondition: TBD
Data Needed: TBD
Transaction Name |
Step(s) |
Expected Result |
95th % Response Time |
---|---|---|---|
TBD |
|
|
|
Precondition: TBD
Data Needed: TBD
Transaction Name |
Step(s) |
Expected Result |
95th % Response Time |
---|---|---|---|
TBD |
|
|
|
Precondition: TBD
Data Needed: TBD
Transaction Name |
Step(s) |
Expected Result |
95th % Response Time |
---|---|---|---|
TBD |
|
|
|
Precondition: TBD
Data Needed: TBD
Transaction Name |
Step(s) |
Expected Result |
95th % Response Time |
---|---|---|---|
TBD |
|
|
|
Precondition: TBD
Data Needed: TBD
Transaction Name |
Step(s) |
Expected Result |
95th % Response Time |
---|---|---|---|
TBD |
|
|
|
Precondition: TBD
Data Needed: TBD
Transaction Name |
Step(s) |
Expected Result |
95th % Response Time |
---|---|---|---|
TBD |
|
|
|
Precondition: TBD
Data Needed: TBD
Transaction Name |
Step(s) |
Expected Result |
95th % Response Time |
---|---|---|---|
TBD |
|
|
|
Precondition: TBD
Data Needed: TBD
Transaction Name |
Step(s) |
Expected Result |
95th % Response Time |
---|---|---|---|
TBD |
|
|
|
A performance test is designed to benchmark the system under test under a realistic load scenario that mimics what we anticipate real world usage will be at its peak. References to non-functional requirements marked as TBD will be updated once the non-functional requirements are provided by MIT.
The objective of this scenario is to benchmark just the internal IDP.
Desired Transaction Rate: TBD
Script |
% of Load |
---|---|
Site Access - Kerberos w/ticket |
TBD |
Site Access - Web Auth |
TBD |
The objective of this scenario is to benchmark just the exzternal IDP.
Desired Transaction Rate: TBD
Script |
% of Load |
---|---|
CAMS Account Creation |
TBD |
CAMS Association - OpenID |
TBD |
CAMS Association - Kerberos |
TBD |
Site Access - CAMS Account |
TBD |
Site Access - OpenID |
TBD |
The objective of this scenario is to benchmark both IDPs concurrently.
Desired Transaction Rate: TBD
Script |
% of Load |
---|---|
CAMS Account Creation |
TBD |
CAMS Association - OpenID |
TBD |
CAMS Association - Kerberos |
TBD |
Site Access - CAMS Account |
TBD |
Site Access - OpenID |
TBD |
Site Access - Kerberos w/ticket |
TBD |
Site Access - Web Auth |
TBD |
The objective of this scenario is to stress only the internal IDP. We plan to push it gradually up to its breaking point and then beyond to determine how and at what load it fails.
Desired Transaction Rate: OPEN
Script |
% of Load |
---|---|
Site Access - Kerberos w/ticket |
TBD |
Site Access - Web Auth |
TBD |
The objective of this scenario is to stress only the external IDP. We plan to push it gradually up to its breaking point and then beyond to determine how and at what load it fails.
Desired Transaction Rate: OPEN
Script |
% of Load |
---|---|
CAMS Account Creation |
TBD |
CAMS Association - OpenID |
TBD |
CAMS Association - Kerberos |
TBD |
Site Access - CAMS Account |
TBD |
Site Access - OpenID |
TBD |
The objective of this scenario is to stress both IDPs concurrently. We plan to push it gradually up to its breaking point and then beyond to determine how and at what load it fails.
Desired Transaction Rate: OPEN
Script |
% of Load |
---|---|
CAMS Account Creation |
TBD |
CAMS Association - OpenID |
TBD |
CAMS Association - Kerberos |
TBD |
Site Access - CAMS Account |
TBD |
Site Access - OpenID |
TBD |
Site Access - Kerberos w/ticket |
TBD |
Site Access - Web Auth |
TBD |
The objective of this scenario is to run both IDPs concurrently for a protracted period of time (multiple days) to determine stability and check for memory leaks. We plan to load the system with 80% of the capacity as determined by the integrated stress test scenario and hold it. During this time special attention wil be paid to memory and general system stability. There should also not be any appreciable deterioration in end-user response times.
Desired Transaction Rate: 80% of capacity
Script |
% of Load |
---|---|
CAMS Account Creation |
TBD |
CAMS Association - OpenID |
TBD |
CAMS Association - Kerberos |
TBD |
Site Access - CAMS Account |
TBD |
Site Access - OpenID |
TBD |
Site Access - Kerberos w/ticket |
TBD |
Site Access - Web Auth |
TBD |
The objective of this scenario is to check how both IDPs handle a sudden iteruption in connectivity by pulling the network plug from 1 of the servers (at a time)
Desired Transaction Rate: TBD
Script |
% of Load |
---|---|
CAMS Account Creation |
TBD |
CAMS Association - OpenID |
TBD |
CAMS Association - Kerberos |
TBD |
Site Access - CAMS Account |
TBD |
Site Access - OpenID |
TBD |
Site Access - Kerberos w/ticket |
TBD |
Site Access - Web Auth |
TBD |
The following metrics will be collected from each Touchstone server during the performance tests to assit in diagnostics
MIT has not yet provided the non-functional Requirements. The link below will be udated if a web page is created to house them, otherwise they will be specified here.
Touchstone Non-functional Requirements
Architectural diagrams will be refenced here as MIT proved them.
Touchstone Production Physical Architecture
Touchstone Production IdPi Logical Architecture
Touchstone Production IdPe Logical Architecture