Test engine and method for verifying conformance for server...

Electrical computers and digital processing systems: multicomput – Computer network managing – Computer network monitoring

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C709S223000, C714S039000

Reexamination Certificate

active

06260065

ABSTRACT:

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to servers, for example personal computer servers, and more particularly to a system and method for verifying protocol conformance of servers, for example, to Client/Server protocol compliance.
2. Description of the Related Art
The rapid increase in popularity of the World Wide Web (WWW or web) has created a need for a set of standards, commonly defined in Request For Comments (RFC) documents. These documents describe communication protocols for web-based applications, such as electronic mail, file transfer, mail transfer, network management and many others things.
Web-based applications operate in a Client and Server model, where the client will communicate with the server based on the defined standards, for example, the IMAP4 (Internet Massaging Access Protocol). E-mail Client and Server communicate according to the protocol defined in RFC2060, and the SMTP (Simple Mail Transfer Protocol) Client and Server communicate according to the protocol defined in RFC821.
Specifications in an RFC document define rules of the base protocol, and provide for certain requirements and freedom from the rules. The requirements state rules that must be followed, whereas a less restricted rule should be followed but there may exist valid reasons in particular circumstances to ignore a particular aspect of such a rule, or perhaps the entire rule may be optional. Consequently, each implementation of protocol can differ from each other, resulting in interoperability issues between implementations.
Once a protocol is widely used by the Internet community, the need for improvements and enhancements results in extensions to the base protocol, and therefore the existing implementations of the protocol may choose to integrate some or all of the extensions while retaining interoperability requirements.
The conventional approaches to ensuring conformance and interoperability of an implementation include:
1. Testing with real clients requires that a user interact manually with the clients, and requires that the testers obtain a wide variety of clients to test with. This restricts what can be tested to those functions that are used by those specific clients, or
2. Telnet, which allows specific protocol sequences to be tested, but which requires manual work (typing commands and checking the responses by hand), or
3. A developer may have a custom, protocol-specific program that performs some level of automated testing.
Once the conformance and the interoperability issues are resolved, the server implementation faces an entirely different set of issues, such as durability and scalability. The conventional approach disadvantageously includes a test lab that employs many resources (humans, machines and software) to accomplish durability and scalability tests.
Therefore, a need exists for a generic test engine to automate the process of conformance, interoperability, durability and scalability of servers. A further need exists for a system and method for protocol-specific tests and expected test results which are described and executed with no need for human intervention nor customized software.
SUMMARY OF THE INVENTION
A method to verify standards conformance for a server application, in accordance with the present invention includes the steps of providing configuration information and a sequence of test commands to the server application with response requirements for expected responses associated with each of the commands, issuing at least one of the commands from the sequence to the server application, receiving at least one response from the server application and comparing the at least one response with expected responses for performing compliance testing based on the response requirements.
A program storage device readable by machine, tangibly embodying a program of instructions executable by the machine to perform method steps for verifying standards conformance for a server application, the method steps include providing configuration information and a sequence of test commands from the server application with response requirements for expected responses associated with each of the commands, issuing at least one of the commands from the sequence to the server application, receiving at least one response from the server application and comparing the at least one response with expected responses for performing compliance testing based on the response requirements.
In other methods which may be executed by a program storage device, the at least one response may include a plurality of responses, each response including at least one component and the method may further include the steps of permitting non-deterministic ordering of the responses and permitting ordering of components within each response. The method may further include the step of performing a stress test with stopping criteria to test durability of the server application. The method may further include the step of specifying responses associated with the at least one command to be saved and used for subsequent commands and comparisons to the expected responses. The method may further include the step of grouping commands such that a failure of compliance of any command in the group results in exiting the group and continuing in subsequent commands outside the group. The grouping may be hierarchical. The method may further include the step of generating a test sequence from a state machine. The test sequence may be based on probabilistic transitions. The expected responses may be marked as one of a mandatory response, an optional response, a forbidden response, several mandatory responses and several optional responses for permitting testing of various types of responses, various types of test data and varied implementations of the server application. The expected responses may include pattern symbols. The method may further include the step of performing a scalability test.
A test engine for verifying standard conformance for server applications includes a test processor and a protocol component for communicating with a server having the server application. The test processor further includes parser means for parsing and checking test instructions input to the test processor, the parser means for converting parsed test instructions into objects and an execution engine for executing the objects output from the parser means and analyzing the results of the execution of the instructions such that responses of the server application upon execution of the instructions are compared to expected responses included in the test instructions to determine conformance.
In alternate embodiment of the system, the execution engine may include a response analyzer for non-deterministic ordering of responses and ordering of components within the responses. The response analyzer preferably provides a mechanism for testing in a multi-way coordination among client sessions. The response analyzer may include a test generator component for generating multiple request sessions to the server application according to an input specification. The test generator may provide a stress test with stopping criteria for testing durability of the server application. The test generator may include a test sequence derived from a state machine. The test sequence may be derived from the state machine based on probabilistic transitions. The response analyzer may includes mean for specifying if a response from a command is saved and used in subsequent commands. The response analyzer may include a grouping mechanism for grouping commands wherein a failure of any command in the group results in exiting the group and continuing in subsequent commands outside the group. The grouping mechanism is preferably hierarchical. The expected responses are preferably marked as one of a mandatory response, an optional response, a forbidden response, several mandatory responses and several optional responses for permitting testing of various types of responses, various types of test data and varied implementations of

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Test engine and method for verifying conformance for server... does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Test engine and method for verifying conformance for server..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Test engine and method for verifying conformance for server... will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2532458

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.