An Internet Protocol Testing Framework - Cashman, John (Trinity College Dublin. Department of Computer Science, 1998)
As the Internet expands and proliferates it gives rise to new technologies that require supporting Internet protocols. Some recent examples include HTTP, POP, IMAP and IIOP. Internet applications are generally based on a client server model. This results in protocols being developed to support communication between the client and server. Additionally many existing protocols are updated regularly to support new and enhanced features. There is a user requirement for software products that include native support for both new and upgraded Internet protocols as they become available. Software development organizations seek to meet this demand by including new protocol implementations into their software products. Many companies now support multiple Internet Protocol implementations as standard in their communication products. For example products such as Lotus Domino communication server currently include support for several Internet Protocols. (SMTP, HTTP, IIOP, IMAP4, POP3). As new protocols mature and they become generally available, corresponding implementations are added to the communications server. Developers need to ensure that their protocol implementation can communicate/inter-operate with other products that implement the protocol. This is achieved by having the implementation conform to the protocol specification. Considerable resources are spent on the design and implementation of test applications that check protocols for conformance to specification. To date the general approach used in testing Internet Protocols is to design protocol specific test applications. As the number of new protocols increases and existing protocols are revised a common methodology for testing Internet Protocols would substantially reduce the time spent on developing protocol test applications. Internet protocols are normally specified in RFCs. Other than this general procedural requirement there is no set of rules or guidelines that must be followed for specifying an Internet protocol. This lack of formality allows developers to design new protocols in an efficient and flexible manner but results in each Internet protocol having unique syntax and semantics. Designing a common protocol testing application is therefore difficult. The goal of this dissertation is to examine the feasibility of applying a common method to testing multiple Internet Protocols. Object-oriented framework technology and design patterns were used to design a set of related classes both abstract and concrete that can be used as a basis for creating an Internet protocol testing application. To create a new application the Internet Protocol Test Framework (ipTF) is extended through inheritance and object composition. A sample implementation of the framework was completed using the DSG Mobile IIOP and Telnet protocols. The framework is evaluated against the criteria of re-usability, simplicity and efficiency. The factoring out of common design structure and behavior of Internet protocols provides the basis for framework design. Syntactic or semantic similarities in protocols are used at a lower level to help refine the framework. Some additional improvements and refinements are suggested which could make the framework more black-box in nature.
Keywords: Computer Science