The system test for DNM Prototype II will consist of the following things:
These tests should insure that the prototype meets 100% of the functionality specified in the Requirements for Prototype II. It will also insure that the system has acceptable levels of performance and quality. A full system test would include other areas, such as Stress and Environmental Testing.
The function of the following tests is to prove that the prototype provides 100% correct functionality as specified in the prototype II requirements document.
Test Case:
Enter invalid login name and any password at the
login prompt
login: xxxxxxxx
password: ********
Expected Result: Invalid Login error and prompts the user to
acknowledge with Return
Test Case:
Enter valid login name and incorrect password at the login prompt
login: sroliver
password: foobar
Expected Result:
Invalid login error and prompts the user to acknowledge with Return
Test Case: Enter Return after the node names are displayed
> Return
Expected Results: Exit to the DNM main menu
Test Case: Execute Link Utilization
> 2 Return
Expected Results: Link utilization is displayed.
See section 2 for link utilization verification.
Test Case: Lock the DNM Priviledged User Interface
> 3 Return
Expected Results: The Main menu and command inputs are
no longer active. The DNM should re-display the password prompt.
See test cases 1-3
Test Case: Exit the DNM
> 4 Return
Expected Results: Exit the DNM and return to unix command prompt
Test Case: Enter an invalid menu item.
> a Return
Expected Results: Redisplay the DNM main menu
Test Case: Collect Link Utilization between 2 machines on Cobra
Cluster.
Expected Results: The UI should display a value for the link utilization
for the specified machines. To determine the "correctness" of the value
returned, the Lan Analyser or HP Internet Advisor should be used to
measure the Link Utilization and the values compared. DNM should return
a value with a value agreeing within 5% of the value measured with the
network tools.
To test the Protocol Module a configuration file must be coded. This file will be available in the ~coram account for the PPC to read. This file will designate the name or IP address of the node to monitor, the frequency of the monitoring, and what statistics to gather from the given machine. The expected results will be based on the configuration file. The exact values will be determined after the config file is admitted.
Multiple Configuration Files are to be tested :
129.65.98.1 cobra.csc.calpoly.edu 129.65.98.2 python.csc.calpoly.edu 129.65.98.3 adder.csc.calpoly.edu 129.65.98.4 boa.csc.calpoly.edu 129.65.98.5 anaconda.csc.calpoly.edu 129.65.98.6 mamba.csc.calpoly.edu 129.65.98.7 krait.csc.calpoly.edu 129.65.98.8 hognose.csc.calpoly.edu 129.65.98.9 rattler.csc.calpoly.edu 129.65.98.10 garter.csc.calpoly.edu 129.65.98.11 moccasin.csc.calpoly.edu 129.65.98.100 phoenix.csc.calpoly.eduThe output may be sorted in other orders, but must include all and only these nodes.
Currently two ideas are presented for testing security.
We use the term performance loosely, to include a broad range of measurable aspects of the system. Included in Performance Testing is:
An important part of the requirements for any system are the quality considerations. It is quite possible that certain quality considerations will be un-important, but they should at least be thought about, and a conscious decision made. Quality should never "just happen".
The following list of quality attribues is incomplete but a good place to start. Only a select few of these attributes will be tested for prototype II (the ones with the links).
| Attribute | Definition | Requirements |
|---|---|---|
| Adaptability | the ability for the system to adapt to changes in the environment. | |
| Availability | the amount or percent of time which the system is usable. | The system will be available 100% of the time. |
| Cohesiveness | the degree to which the functions in the system perform single specific duties. | There will be no global variables. |
| Configurability | the degree to which the system can be configured to perform in a different manner. | All configurable options will be placed in one configuration file. |
| Consistency | the degree to which the interfaces (user and module) are consistant. | All function names will adhere to the guidelines outline in the coding standards AND prototype II design document. |
| Correctness | the extent to which the software satisfies its specification. | The code will be 100% correct. |
| Installability | the ease in which the system can be installed. | The DNM and its process components can be installed on any machine on the Cobra cluster. |
| Localizability | the ease in which the system can be changed to use a different language. | None. |
| Maintainability | the ease with which a software system can be modified to correct faults. | The cyclomatic complexity of all function will be less than or equal to 10. |
| Modifiability | the effort required to modify or add new features to the system. | |
| Portability | the ability of the system to run on multiple platforms without code changes. | All RPC and Thread calls will use DCE versions of these calls. |
| Readability | the ease in which the code or documentation may be read and understood. | Every function will have a plain English description of its purpose |
| Reliability | the degree to which the system will not fail. | The mean time between failures will be greater than 200 hours. |
| Reusability | the degree to which existing work (code, design, etc) may be used to solve similiar problems in the future. | SNMP functionality will be recoded only where 100% unavoidable. |
| Serviceability | the ease in which a system may be maintained in the field after installation. | None. |
| Security | the degree to which system is "secure". | All process components will accept requests only from the priviledged node. All such requests will be encryped. |
| Testability | the ease in which the system may be verified as correct and matching the specification. | Every requirement will be 100% testable, meaning a test can be ran against the requirement, and there will be no question as to whether or not it passed. |
| Traceability | the degree to which decisions (and/or faults) maybe traced back to previous stages in the life-cycle. | Every function will include a comment in its prototype, stating which requirement number the function addresses. |
| Understandability | the ease in which a system (its code, design, documentation, etc) may be comprehended. | Every function will have a plain english description of its purpose and assumptions. |
| Usability | the degree to which a system is benificial. | The priviledged user interface component can be executed on any Cobra machine. |
* These requirements are stated here for the first time. As a test designer, you must have something to test. I am taking the authority to state these as testable requirements; though, they are not clearly stated elsewhere in the specification or requirements documents.
The testing strategy for this is still under investigation. It will not be tested until Prototype III.