Document

Ben-Gurion University of the Negev
The Software Engineering Program
Access Layers
Automatic Software Testing Tool
for Computer Networks
Application
Requirements
Document
Team Members
Adi Shachar
Yaniv Cohen
Dudi Patimer
Academic Advisor
Technical Advisor
Dr. Mayer Goldberg
Dan Zamir
Automatic Software Testing Tool for Computer Networks
ARD
Revision Control
Rev.
Detailed Description
Paragraph Reference
Approved by
Date
-
-
20/11/2007
1.0
Initial Version
1.1
Update diagrams
4.2. Use Cases
-
22/11/2007
1.2
Separate the software context
of the ATS and Agent
1.4. Software Context
-
25/11/2007
1.3
Database type change to SQL
Server Express 2005
Dan Zamir
30/11/2007
1.5.2 Software Interfaces
3.2. Platform Constrains
2
Automatic Software Testing Tool for Computer Networks
ARD
Table of Contents
1.Introduction
.................................................................................................................... 4
1.1.Vision
.................................................................................................................... 4
1.2.The Problem Domain
.............................................................................................. 4
1.3.Stakeholders .............................................................................................................. 6
1.4.Software Context
...................................................................................................... 7
1.4.1.Inputs
........................................... 7
1.4.2.Major Functionality
........................................... 7
1.4.3.Processing
........................................... 7
1.4.4.Outputs
........................................... 7
1.5.System Interfaces
..................................................................................................... 8
1.5.1.Hardware Interfaces
........................................... 8
1.5.2.Software Interfaces
........................................... 8
1.5.3.Events
........................................... 8
2.Functional Requirements
................................................................................................ 9
2.1.Establish Connection & Getting General Information
........................................ 9
2.2.Assembling a TSC
................................................................................................... 9
2.3.Creating Additional Actions
................................................................................... 9
2.4.Executing TSC or Single Action
.......................................................................... 10
2.5.Generating Reports & Logs
.................................................................................. 10
3.Non-Functional Requirements
...................................................................................... 11
3.1.Performance Constrains
........................................................................................ 11
3.1.1.Speed, Capacity & Throughput
......................................... 11
3.1.2.Reliability
......................................... 11
3.1.3.Safety & Security
......................................... 11
3.1.4.Portability
......................................... 11
3.1.5.Usability
......................................... 11
3.1.6.Availability
......................................... 12
3.2.Platform Constrains
............................................................................................... 12
3.3.SE Project Constrains
............................................................................................ 12
3.4.Special Restrictions & Limitations
...................................................................... 12
4.Usage Scenarios
.............................................................................................................. 13
4.1.User Profiles – The Actors
................................................................................... 13
4.2.Use Cases
.............................................................................................................. 13
4.2.1.UC1: Establish Connection
......................................... 14
4.2.2.UC2: Assembling a TSC
......................................... 16
4.2.3.UC3: Load TSC
......................................... 19
4.2.4.UC4: Modify TSC
......................................... 20
4.2.5.UC5: Create Additional Action from file
......................................... 24
4.2.6.UC6: Create Additional Action
......................................... 26
4.2.7.UC7: Execute a Single Action
......................................... 28
4.2.8.UC8: Execution of TSC
......................................... 30
4.2.9.UC9: Generate Reports
......................................... 33
4.3.Special Usage Considerations
.............................................................................. 34
5.Appendices
.................................................................................................................. 35
5.1.I/O Formats
............................................................................................................. 35
5.2.Glossary
.................................................................................................................. 35
3
Automatic Software Testing Tool for Computer Networks
ARD
1. Introduction
Access Layers' flagship product, Portnox, is a natural extension of existing
security policies and methodologies, allowing network administrators to
configure access parameters for physical network ports, and proceed to monitor,
control, and manage LAN entities, including devices, switches, ports, access slots,
and more.
Portnox represents a new approach to LAN protection, providing complete
online control of end-point access to the corporate network.
Portnox allows networks administrators to determine which devices are allowed
LAN access by:
 Identifying if devices connected to the network are "part" of the network
(a company known device and not a rogue device).
 Ensuring that each applicable device complies with the company network
access security policy.
1.1. Vision
The goal of the project is to create a reliable and efficient tool for
automatic software testing on computer networks, which includes
managing settings for end-stations.
The tool will provide the ability for Access Layers testers to perform tests
on their product easily and efficiently by changing settings and execute
actions from a central computer over a group of end-stations. Moreover,
the tool will enable them to perform tests that they could not perform
before, such as simultaneously executing actions on group of end-stations
or by a given schedule.
The actions will be composed of basic actions that predefined in the tool
and scripts that can be written by the user and added to the system.
1.2. The Problem Domain
When Access Layers QA's testers execute tests on their software they
need to change the settings of an end-stations and to perform different
actions, for example: turning on/off the computer, changing the IP
address, enable/disable Ethernet card, changes in the network settings of
the end-station, login/logoff with users, etc.
Nowadays, in order to execute the actions and the setting changes, they
should execute all the necessary actions manually in the end-stations.
Our project allows performing all the above actions automatically from a
central station with simple GUI, and in addition to view the status of the
end-stations at any step. Furthermore, our project will be able to add and
execute new scripts that were written by the testers on the end-stations,
manage the scheduling of these actions, meaning to execute actions in
chosen order, and to schedule the execution order of the end-stations.
4
Automatic Software Testing Tool for Computer Networks
ARD
The tool will be composed of the following components:
1. Agents – this component will be placed on the end-stations; its
responsibilities are to receive and execute commands on the endstation, and to send results and end-station state back to the ATS.
2. TSC (Test Set & Configuration) – it contains a set of actions that the
user chooses to run and also configuration settings such as choosing
the end-stations for the test and scheduling the execution of the
tests.
3. ATS (Automatic Testing Server) – the main component of the project;
its responsibilities are to:
a. Establish connection to the end-stations.
b. Remote executing commands/TSC on the end-stations,
receiving results and end-stations state.
c. Create, modify and save TSC.
d. Define and validate the pre-conditions and the post-conditions
for each action in the TSC.
e. Generate reports and logs.
4. Database – this component stores the following data:
a. Basic actions – definition of the pre-conditions, the postcondition and the commands/script for the execution for each
basic action. The basic actions are depending on the operating
system, meaning the scripts should use the commands of the
operating system.
b. Additional actions – scripts that are written by the user, their
pre-conditions and post-conditions.
c. TSC.
d. Executions results, which contains the state of the endstations before and after execution of each action.
e. Logs – events that occur due to the use of the tool.
5. GUI – friendly and easy to use interface.
5
Automatic Software Testing Tool for Computer Networks
ARD
End-Stations
TSC
Database
ATS
GUI
Figure 1: High level overview
1.3. Stakeholders



Access Layers Testers - the specialization of the company is to secure
private networks, to monitor the activity in the private network and
to inform of any violation access problems. Today the testers need to
run actions and to change the setting of each end-station manually,
therefore, they are spending a lot of time in executing this actions and
setting on each end-station. Our tool will help them saving a lot of
time and effort by the ability to perform all the actions and settings
automatically over all the stations. Furthermore, the tool will provide
them report that contains the state of the end-stations after each
action, and also to manage the timing of the executions between the
stations and between the actions on each station.
Administrators - using this tool will provide them the ability to
execute various of commands on group of end-stations in the
network, for example the ability to shutdown all the computers in the
network, or to install a critical update to a group of computers in the
network just by writing the script to execute the installation, and
some more useful scenarios.
Other Testers - by writing the appropriate script for their test, they
can execute the test on a group of computers simultaneously or by
given schedule.
6
Automatic Software Testing Tool for Computer Networks
ARD
1.4. Software Context
1.4.1. Inputs
ATS:
 TSC - the creation process of the TSC.
 Scripts - script files that were written by the user (tester).
 User requests - such as execute, load, save, etc.
Agents:
 Scripts and commands that were received from the ATS.
1.4.2.
Major Functionality
ATS:
 Establish connection to the chosen end-stations.
 Run action set on the chosen end-stations by the configuration.
 Receive results from the agents that are placed on the end-stations.
 Get status of station.
Agents:
 Run scripts or commands that were received from the ATS.
 Send results of the execution of the scripts to the ATS.
 Send status of end-station by the ATS request.
1.4.3.
Processing
ATS:
 Create the definition of the pre-conditions and the post-conditions for
a given TSC.
 Validate the pre-conditions and post-conditions on each action that
was executed.
 Process the results that were received from the agents.
 Making an intelligent decision about the next step in the TSC
according to results of the previous step.
1.4.4.
Outputs
ATS:
 Generate reports by the user request. The report will contain:
o Statistics information and analysis about the results.
o Detailed information about the results of each action on each
one of the end-stations.
o Extended information on each one of the end-stations, their
state before and after the execution of each action in the TSC.
 Generate logs and store them in the database.
7
Automatic Software Testing Tool for Computer Networks

ARD
Notification messages, such as success messages, error messages and
more.
Agents:
 End-station status and OS information.
 Results of the execution.
1.5. System Interfaces
1.5.1.
Hardware Interfaces
Does not apply.
1.5.2.
Software Interfaces
1.5.2.1.
1.5.2.2.
1.5.2.3.
1.5.2.4.
1.5.3.
Database – The system will use SQL Server Express 2005.
TCP/IP.
Operating Systems – All versions of Microsoft windows, their
system calls and commands.
We will define an interface that will support sending and
receiving information between the ATS and the Agents.
Events
1.5.3.1.
1.5.3.2.
1.5.3.3.
1.5.3.4.
1.5.3.5.
1.5.3.6.
1.5.3.7.
Agent receives request to establish connection.
Agent receives commands.
Agent receives results after command executing.
Agent receives status request.
ATS receives results of test.
ATS receives status information from Agent.
ATS receives request from user.
8
Automatic Software Testing Tool for Computer Networks
ARD
2. Functional Requirements
2.1. Establish Connection & Getting General Information




The ATS will be able to establish connection to Agents in the end stations
by IP address or by physical address.
The Agent will be able to get general information from the end-station,
such as information about the operating system, Ethernet card, state of
the station, etc.
The ATS will be able to receive general information from the Agent.
The ATS will be able to terminate connection.
2.2. Assembling a TSC







The user will be able to create a new TSC composed of the following
components:
1. Basic actions (built-in actions).
2. Additional actions (scripts).
3. TSC.
The user will be able to configure the following settings in the TSC:
1. The end-stations which the user selected to run the TSC on.
2. The scheduling policy of the components in the test set.
3. The scheduling policy of the execution of tests between the endstations that was selected (parallel, the order of the end-stations,
the time gap between each pair of end stations, etc).
4. The number of times to run this TSC.
The ATS will be able to generate a script from a TSC, which will include
the pre-conditions and post-conditions scripts before and after each
action in the test set, the scheduling policy and more.
The user will be able to save the TSC to the database.
The user will be able to load the TSC from the database.
The user will be able to modify a saved TSC.
The user will be able to delete saved TSC.
2.3. Creating Additional Actions





The user will be able to add actions to the system.
The additional actions will be composed of pre-conditions, postconditions scripts and the script of the actions.
The user will be able to load scripts from file or to write/edit script using
the editor in the ATS.
After additional action was added to the ATS, the user will be able to
assemble TSC that contains this new action.
The user will be able to delete saved additional action.
9
Automatic Software Testing Tool for Computer Networks
ARD
2.4. Executing TSC or Single Action






The ATS will check the state of the end-stations before executing the
TSC/single action.
The user will be able to execute the TSC/single action on the selected
end-stations.
The Agent on the end-station will receive action from the ATS, execute
the action on the station and send results to the ATS.
The ATS will receive results after each step in the execution and will
compare the results with the post-conditions.
The ATS will process the results and will act according to the results.
The ability to view the state of each end-station at any step of the
execution of the TSC.
2.5. Generating Reports & Logs


The user will be able to get reports of the last execution or other
executions that were saved on the database.
The ATS should log the results and other activities for debugging and
monitoring the behavior of the system, moreover to overcome
inconsistency in the database.
10
Automatic Software Testing Tool for Computer Networks
ARD
3. Non-Functional Requirements
3.1. Performance Constrains
3.1.1.
Speed, Capacity & Throughput




3.1.2.
The ATS should be able to handle as much as possible endstations.
The execution of TSC/single action should take at most as the
timeout defined in the TSC/single action (the timeout defines the
worst case).
Generating reports from the results will complete in less than 1
second.
All the GUI interactions, except actions that need communication,
will complete in less than 1 second.
Reliability



3.1.3.
The ATS will check the state of each end-station before executing
TSC on them, and will notify the user if the state isn't appropriate
to execute TSC.
The system relies on the end-stations while executing TSC, if one
end-station fails on executing an action the Agent will inform the
ATS about the failure.
The system will define timeout for each TSC. If an end-station
disconnects during executing TSC, the system will detect it and
send a message to the user.
Safety & Security
The system is an internal organization system. The data does not
need to be encrypted. No cryptographic protocols will be used.
3.1.4.
Portability


3.1.5.
The system will work on all of Microsoft Windows versions; the
design will support extension to communicate and execute
commands/actions on other operating systems in the future.
All the components in the system should be on the same LAN.
Usability


The system will be easy to use and the user will require several
hours to learn how to operate the system.
The user will have to be familiar with the script languages being
used in the system in order to create test descriptions via scripts.
11
Automatic Software Testing Tool for Computer Networks
3.1.6.
ARD
Availability
Does not apply.
3.2. Platform Constrains
The constraints on the platform are dictated by the Access Layers
standards. The system will be run on a Microsoft Windows operating
system. The language used will be English. The database will be SQL
Server Express 2005. The project will be developed in .NET and C# and the
scripts will be written in vb.
3.3. SE Project Constrains
The demonstration requires 2-3 simple PC's connected to a LAN, one with
the installation of the ATS, and the others with Agents.
3.4. Special Restrictions & Limitations
Does not apply.
12
Automatic Software Testing Tool for Computer Networks
ARD
4. Usage Scenarios
4.1. User Profiles – The Actors
Tester – the tester is the single user of the system. The tester can use all
the functionality that the system provides such as create the TSC, write
scripts and add them to the system, run TSC, get status, get reports,
load/save/edit TSC, etc.
4.2. Use Cases
13
Automatic Software Testing Tool for Computer Networks
4.2.1.
UC1: Establish Connection
Section
Name
Description
Goal
Pre-Condition
Post-Condition
Basic Course of Action
Alternative course (1)
Alternative course (2)
Alternative course (3)
ARD
Purpose
Establish connection.
Establish connection to end-station\s and getting information.
To connect to the end-station\s and get information about the state of
the end-station\s.
1. The ATS and the end-station\s should be connected to the same
LAN.
2. The Agent installed on the end-station\s.
1. The ATS and the end-station\s are connected and can
communicate.
2. The information about the state of the end-station\s was
received at the ATS.
1. The user requests a list of all available end-stations on the LAN.
2. The system returns a list of all available end-stations.
3. The user selects an end-station\s to connect to.
4. The ATS connects to the selected end-station\s.
5. The Agent on the end-station\s sends information about the OS
installed on the end-station\s.
6. The ATS receives the information.
7. The system generates log event and stores the log at the
database.
2.1 There aren't available end-stations on the network.
2.2 The system will display a message to the user to check whether
the ATS is connected.
4.1 The ATS fails to connect to an end-station.
4.2 The system will display appropriate message to the user.
4.3 The system will generate failure log event and store the log at the
database.
6.1 The ATS doesn't receive information from the Agent on the endstation.
6.2 The system will display appropriate message to the user with
retry or cancel options.
6.3 If the user selects 'retry', the system returns to step 4.
14
Automatic Software Testing Tool for Computer Networks
Sequence Diagram:
15
ARD
Automatic Software Testing Tool for Computer Networks
4.2.2.
UC2: Assembling a TSC
Section
Name
Description
Goal
Pre-Condition
Post-Condition
Basic Course of Action
Alternative course (1)
Alternative course (2)
ARD
Purpose
Assembling a TSC.
The creation process of a new TSC.
To create a new TSC for future use.
There exists at least one basic action or additional action on the
database.
A new TSC is created and stored on the database.
1. The user requests to create new TSC.
2. The system displays the 'new TSC' screen.
3. The user selects the basic actions he wants to include in the test.
4. The user selects the additional actions he wants to include in the
test.
5. The user selects the TSC's he wants to include in the test.
6. The system loads the selected TSC's from the database.
7. The user selects the end-stations on which to run the TSC.
8. The user selects the scheduling policy of the execution between
the end-stations.
9. The user selects the order of execution for the actions on the TSC.
10. The user requests to save the TSC.
11. The system saves the TSC on the database.
12. The system informs to the user about successfully creation of TSC
and presents information on the new TSC (estimated time of
execution, max time and more).
6.1 The system fails to load the TSC's from the database.
6.2 The system will display appropriate message to the user with
retry or cancel options.
6.3 If the user selects 'retry', the system returns to step 6.
6.4 If the user selects 'cancel', the system returns to step 5.
11.1 The system fails to store the TSC on the database.
11.2 The system will display appropriate message to the user with
retry or cancel options.
11.3 If the user selects 'retry', the system returns to step 11.
11.4 If the user selects 'cancel', the system returns to step 10.
16
Automatic Software Testing Tool for Computer Networks
Sequence Diagram:
17
ARD
Automatic Software Testing Tool for Computer Networks
18
ARD
Automatic Software Testing Tool for Computer Networks
4.2.3.
UC3: Load TSC
Section
Name
Description
Goal
Pre-Condition
Post-Condition
Basic Course of Action
Alternative course (1)
Alternative course (2)
ARD
Purpose
Load TSC.
Loading TSC from the database.
To load existing TSC from the database for modifying and executing.
The TSC exists on the database.
The TSC was loaded and displayed to the user.
1. The user requests a list of existing TSC's.
2. The system gets the list from the database.
3. The system displays the list to the user.
4. The user selects a TSC to load.
5. The system loads the selected TSC from the database.
6. The system displays the TSC.
2.1 The system fails to get the list from the database.
2.2 The system displays appropriate message to the user.
5.1 The system fails to load the TSC from the database.
5.2 The system displays appropriate message to the user.
Sequence Diagram:
19
Automatic Software Testing Tool for Computer Networks
4.2.4.
UC4: Modify TSC
Section
Name
Description
Goal
Pre-Condition
Post-Condition
Basic Course of Action
Alternative course (1)
Alternative course (2)
ARD
Purpose
Modify TSC.
Modify exists TSC.
To modify existing TSC that was previously loaded from the database.
1. The TSC exists on the database.
2. The TSC was loaded and displayed to the user (UC3).
The modified TSC stored in the database.
1. The user selects the basic actions he wants to add/remove.
2. The user selects the additional actions he wants to add/remove.
3. The user selects the TSC he wants to add/remove.
4. The system loads the selected TSC from the database.
5. The user adds/removes end-stations on which to run the TSC.
6. The user selects the scheduling policy of the execution between
the end-stations.
7. The user selects the order of execution for the actions on the TSC.
8. The user requests to save the modified TSC.
9. The system saves the modified TSC on the database.
4.1 The system fails to load the TSC's from the database.
4.2 The system will display appropriate message to the user with
retry or cancel options.
4.3 If the user selects 'retry', the system returns to step 4.
4.4 If the user selects 'cancel', the system returns to step 3.
9.1 The system fails to store the TSC on the database.
9.2 The system will display appropriate message to the user with
retry or cancel options.
9.3 If the user selects 'retry', the system returns to step 9.
9.4 If the user selects 'cancel', the system returns to step 8.
20
Automatic Software Testing Tool for Computer Networks
Sequence Diagram:
21
ARD
Automatic Software Testing Tool for Computer Networks
22
ARD
Automatic Software Testing Tool for Computer Networks
23
ARD
Automatic Software Testing Tool for Computer Networks
4.2.5.
Section
Name
Description
Goal
Pre-Condition
Post-Condition
Basic Course of Action
Alternative course (1)
Alternative course (2)
Alternative course (3)
ARD
UC5: Create Additional Action from file
Purpose
Create additional action from file.
Creating new additional action from existing file.
To create additional action that will be used in the system.
The file exists and contains the following scripts:
1. Pre-condition script.
2. The action script.
3. Post-condition script.
The additional action added to the system and stored in the DB.
1. The user requests to create additional action.
2. The system displays the 'New Additional Action' screen.
3. The user selects a name for the new additional action.
4. The user browses and selects the script file.
5. The file is loaded to the system.
6. The system stores the new additional action to the DB.
3.1 The user selects invalid name for the additional action.
3.2 The system will display appropriate message to the user and then
return to step 3.
5.1 The system fails to load the selected file.
5.2 The system will display appropriate message to the user and then
return to step 4.
6.1 The system fails to store the additional action.
6.2 The system will display appropriate message to the user with
retry or cancel options.
6.3 If the user selects 'retry', the system returns to step 6.
6.4 If the user selects 'cancel', the system returns to step 5.
24
Automatic Software Testing Tool for Computer Networks
Sequence Diagram:
25
ARD
Automatic Software Testing Tool for Computer Networks
4.2.6.
UC6: Create Additional Action
Section
Name
Description
Goal
Pre-Condition
Post-Condition
Basic Course of Action
Alternative course (1)
Alternative course (2)
ARD
Purpose
Create additional action.
Creating new additional action.
To create additional action that will be used in the system.
The additional action added to the system and stored in the DB.
1. The user requests to create additional action.
2. The system displays the 'New Additional Action' screen.
3. The user selects a name for the new additional action.
4. The user writes the pre-condition script for the additional
action.
5. The user writes the script for the additional action.
6. The user writes the post-condition script for the additional
action.
7. The system stores the new additional action to the DB.
3.1 The user selects invalid name for the additional action.
3.2 The system will display appropriate message to the user and
then return to step 3.
7.1 The system fails to store the additional action.
7.2 The system will display appropriate message to the user with
retry or cancel options.
7.3 If the user selects 'retry', the system returns to step 7.
7.4 If the user selects 'cancel', the system returns to step 6.
26
Automatic Software Testing Tool for Computer Networks
Sequence Diagram:
27
ARD
Automatic Software Testing Tool for Computer Networks
4.2.7.
UC7: Execute a Single Action
Section
Name
Description
Goal
Pre-Condition
Post-Condition
Basic Course of Action
Alternative course (1)
Alternative course (2)
Alternative course (3)
Alternative course (4)
ARD
Purpose
Execute a single action.
Executing a single action on selected end-station\s and getting results
and states.
To execute single command on the selected end-station\s, get the results
of the execution and the new state of the end-station\s.
The ATS is connected to the end-stations that were selected.
1. The single action was executed on all of the selected endstations.
2. The ATS received the results of the execution and the new state
of the end-station\s.
1. The user requests to execute a single action.
2. The system displays the 'Single Action Execution' screen.
3. The user selects action to execute from a list of all actions.
4. The user selects the end-stations to execute the action on.
5. The user requests to execute the action.
6. The system sends state request to the selected end-station\s.
7. The Agent sends the state back to the ATS.
8. The system receives the state of the end-station\s.
9. The system validates the state of each end-station\s.
10. The system sends the action to the Agents on the end-station\s.
11. The Agent runs the action on the end-station.
12. The Agent sends the results and the state of the end-station to
the ATS.
13. The system receives the execution results and state.
14. The system generates report.
15. The system presents the report to the user.
16. The system stores the execution results and the states of the endstations on the database.
6.1 There are end-stations that are disconnected.
6.2 The system will display appropriate message to the user and
return to step 4.
8.1 The system fails to receive state from end-station\s.
8.2 The system will display appropriate message to the user and
return to step 4.
16.1 The system fails to store the execution results.
16.2 The system will display appropriate message to the user with
retry or cancel options.
16.3 If the user selects 'retry', the system returns to step 16.
12.1 The system fails to receive the execution results from endstation\s.
12.2 The system will display appropriate message to the user with
retry or cancel options.
12.3 If the user selects 'retry', the system returns to step 10.
28
Automatic Software Testing Tool for Computer Networks
ARD
12.4 If the user selects 'cancel', the system returns to step 4.
Sequence Diagram:
29
Automatic Software Testing Tool for Computer Networks
4.2.8.
UC8: Execution of TSC
Section
Name
Description
Goal
Pre-Condition
Post-Condition
Basic Course of Action
Alternative course (1)
Alternative course (2)
Alternative course (3)
ARD
Purpose
Execution of TSC.
Executing a TSC on selected end-station\s and getting results.
To execute TSC on the selected end-station\s and to get the results of
the execution.
1. The TSC exists.
2. The ATS is connected to the end-stations that are defined on the
TSC.
3. The TSC was executed on all of the selected end-stations.
4. The ATS received the results of the execution.
1. The user requests to execute a TSC.
2. The system displays the 'TSC Execution' screen.
3. The user selects TSC to execute.
4. The system loads the selected TSC.
5. (Optional) The user selects the end-stations to execute the TSC on
(If the user skip on this step the end-stations to execute the TSC
on are as defined at the TSC).
6. The user requests to execute the TSC.
7. The system sends state request to the selected end-station\s.
8. The Agent sends the state back to the ATS.
9. The system receives the state of the end-station\s.
10. The system validates the state of each end-station\s.
11. The system sends the next action to the Agents on the endstation\s.
12. The Agent runs the action according to the scheduling defined in
the TSC.
13. The Agent sends the results and the state of the end-station to
the ATS.
14. The system receives the execution results and states.
15. The system validates the results and the states.
16. Return to step 11 until all the actions in the TSC done.
17. The system generates report.
18. The system presents the report to the user.
19. The system stores the execution results and the states of the endstations on the database.
4.1 The system fails to load the TSC's from the database.
4.2 The system will display appropriate message to the user with
retry or cancel options.
4.3 If the user selects 'retry', the system returns to step 4.
4.4 If the user selects 'cancel', the system returns to step 3.
7.1 There are end-stations that are disconnected.
7.2 The system will display appropriate message to the user and
return to step 5.
9.1 The system fails to receive state from end-station\s.
30
Automatic Software Testing Tool for Computer Networks
Alternative course (4)
Alternative course (5)
Alternative course (6)
ARD
9.2 The system will display appropriate message to the user and
return to step 5.
14.1 The system fails to receive the execution results from endstation\s.
14.2 The system will display appropriate message to the user with
retry or cancel options.
14.3 If the user selects 'retry', the system returns to step 11.
14.4 If the user selects 'cancel', the system returns to step 5.
19.1 The system fails to store the execution results.
19.2 The system will display appropriate message to the user with
retry or cancel options.
19.3 If the user selects 'retry', the system returns to step 19.
 In any step the connectivity can be lost.
 The system will display appropriate message to the user.
31
Automatic Software Testing Tool for Computer Networks
Sequence Diagram:
32
ARD
Automatic Software Testing Tool for Computer Networks
4.2.9.
UC9: Generate Reports
Section
Name
Description
Goal
Pre-Condition
Post-Condition
Basic Course of Action
Alternative course (1)
ARD
Purpose
Generate reports.
Generate a report about a test result from the DB.
To create a test result report from the DB.
Test finished executing and the results are stored on the DB.
A Report is created and displayed to the user.
1. The user requests to get a report about results.
2. The system displays the 'Generate Reports' screen.
3. The user selects a result to get the report on.
4. The system loads the result from the DB.
5. The system generates the requested report.
6. The system displays the report to the user.
4.1 The system fails to load the result from the database.
4.2 The system will display appropriate message to the user with
retry or cancel options.
4.3 If the user selects 'retry', the system returns to step 4.
4.4 If the user selects 'cancel', the system returns to step 3.
33
Automatic Software Testing Tool for Computer Networks
Sequence Diagram:
4.3. Special Usage Considerations
Does not apply.
34
ARD
Automatic Software Testing Tool for Computer Networks
ARD
5. Appendices
5.1. I/O Formats
The language of the additional actions will be written in vb-script
language.
5.2. Glossary




ATS – Automatic Testing Server.
TSC – Test Set & Configurations.
Basic action – action that predefined in the system.
Additional action – action that the user wrote and was added to
the system.
35